Cerca nel blog

giovedì 20 febbraio 2025

Job workflow SWU3 non pianificati - job con stato "Rilasciato/Sospeso" in SM37

 

Job workflow SWU3 non pianificati - job 

con stato "Rilasciato/Sospeso" in SM37

Nella transazione SWU3 è presente un simbolo giallo fulmine e non è possibile attivare i job workflow.

I job workflow non vengono pianificati automaticamente dalla Transazione SJOBREPO.


Il problema è che ci sono i job, nella transazione SM37, che iniziano per SAP_WORKFLOW_* con stato "Rilasciato/Sospeso".

Se il sistema NON è in fase di upgrade o di copia, eseguire il report BTCTRNS2 per impostare lo stato dei 

background job su 'Rilasciato'. 


(Lo stato "Rilasciato/Sospeso" viene impostato prima dell'upgrade di un sistema o di una copia del sistema 

per evitare che i background job vengano eseguiti durante l'upgrade.)

L'output del report BTCTRNS2 sarà il seguente:


Rilanciando la tcode SWU3 si vedrà adesso la spunta verde





martedì 18 febbraio 2025

Elenco delle variabili di ambiente utilizzate in un programma

 

Elenco delle variabili di ambiente utilizzate in un programma

In SAP, esiste un modo standard per elencare le variabili di ambiente utilizzate in un programma. È accessibile tramite la transazione SE38, tramite Menu-Utilità-Variabili di ambiente.

Il programma seguente mostra un esempio di come elencare gli elementi dati e i moduli funzione utilizzati in un programma. L'elenco degli oggetti che possono essere inclusi per la visualizzazione è menzionato nel codice seguente.

In Input, oltre ad inserire i programmi, si può selezionare se vedere solo gli oggetti custom o tutti, e quali oggetti in particolare devono essere ricercati.



In output si ottiene il seguente risultato:




*&---------------------------------------------------------------------*
*& Report ZLISTA_VARIABILI
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Zlista_variabili.

************************************************************************
*variable declarations                                                 *
************************************************************************
TABLES: tadir.

DATA: environment_selection TYPE envi_types,
      gv_OBJECT_NAME        TYPE tadir-obj_name,
      source_searched       TYPE TABLE OF rsfind,
      output_list           TYPE TABLE OF senvi,
      gv_output_list        TYPE TABLE OF senvi.

DATA: gs_alv_layout   TYPE lvc_s_layo,
      gt_alv_fieldcat TYPE lvc_t_fcat,
      gt_alv_events   TYPE slis_t_event,
      gt_alv          TYPE ztt_qmel_alv,
      gs_alv          TYPE zclone_qmel_alv.


SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE TEXT-t01.
  SELECT-OPTIONS: s_prog FOR tadir-obj_name OBLIGATORY NO INTERVALS .

  SELECTION-SCREEN SKIP 1.

  PARAMETERS: p_custom AS CHECKBOX DEFAULT abap_false.

SELECTION-SCREEN END OF BLOCK b01.

SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE TEXT-t02.

*  SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN PUSHBUTTON 5(25) p_selall USER-COMMAND sel.
  SELECTION-SCREEN PUSHBUTTON 40(25) p_desel USER-COMMAND des.
*  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN SKIP 1.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_prog AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_prog.

    PARAMETERS: po_fugr AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_fugr.

    PARAMETERS: po_ldba AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_ldba.

    PARAMETERS: po_msag AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_msag.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_tran AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_tran.

    PARAMETERS: po_func AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_func.

    PARAMETERS: po_dial AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_dial.

    PARAMETERS: po_tabl AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_tabl.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_shlp AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_shlp.

    PARAMETERS: po_doma AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_doma.

    PARAMETERS: po_dtel AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_dtel.

    PARAMETERS: po_view AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_view.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_mcob AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_mcob.

    PARAMETERS: po_mcid AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_mcid.

    PARAMETERS: po_para AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_para.

    PARAMETERS: po_conv AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_conv.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_suso AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_suso.

    PARAMETERS: po_type AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_type.

    PARAMETERS: po_ttyp AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_ttyp.

    PARAMETERS: po_STRU AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_STRU.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_ENQU AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_ENQU.

    PARAMETERS: po_SQLT AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_SQLT.

    PARAMETERS: po_CLAS AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_CLAS.

    PARAMETERS: po_INTF AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_INTF.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_UDMO AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_UDMO.

    PARAMETERS: po_UENO AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_UENO.

    PARAMETERS: po_SHI3 AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_SHI3.

    PARAMETERS: po_CNTX AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_CNTX.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_TTAB AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_TTAB.

    PARAMETERS: po_IASP AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_IASP.

    PARAMETERS: po_IAMU AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_IAMU.

    PARAMETERS: po_IATU AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_IATU.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_CLIF AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_CLIF.

    PARAMETERS: po_SOBJ AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_SOBJ.

    PARAMETERS: po_WDYN AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_WDYN.

    PARAMETERS: po_WDYA AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_WDYA.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_xslt AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_xslt.

    PARAMETERS: po_enhs AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_enhs.

    PARAMETERS: po_ensc AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_ensc.

    PARAMETERS: po_enhc AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_enhc.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_enho AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_enho.

    PARAMETERS: po_sfbf AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_sfbf.

    PARAMETERS: po_sfsw AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_sfsw.

    PARAMETERS: po_devc AS CHECKBOX DEFAULT abap_true MODIF ID sp1.
    SELECTION-SCREEN COMMENT 65(15) FOR FIELD po_devc.
  SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: po_SQSC AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 5(15) FOR FIELD po_SQSC.

    PARAMETERS: po_STOB AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 25(15) FOR FIELD po_STOB.

    PARAMETERS: po_DDLS AS CHECKBOX DEFAULT abap_false MODIF ID sp1.
    SELECTION-SCREEN COMMENT 45(15) FOR FIELD po_DDLS.
  SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b02.



************************************************************************
*INITIALIZATION                                                        *
************************************************************************
INITIALIZATION.
  p_selall = 'Seleziona tutto'.
  p_desel = 'Deseleziona tutto'.

*ALV
  PERFORM set_alv_layout CHANGING gs_alv_layout.
  PERFORM set_alv_events CHANGING gt_alv_events.


************************************************************************
* AT SELECTION-SCREEN.                                                        *
************************************************************************
AT SELECTION-SCREEN.

  IF sy-ucomm = 'SEL'.
    po_prog = abap_true.
    po_fugr = abap_true.
    po_ldba = abap_true.
    po_msag = abap_true.
    po_tran = abap_true.
    po_func = abap_true.
    po_dial = abap_true.
    po_tabl = abap_true.
    po_shlp = abap_true.
    po_doma = abap_true.
    po_dtel = abap_true.
    po_view = abap_true.
    po_mcob = abap_true.
    po_mcid = abap_true.
    po_para = abap_true.
    po_conv = abap_true.
    po_suso = abap_true.
    po_type = abap_true.
    po_ttyp = abap_true.
    po_STRU = abap_true.
    po_ENQU = abap_true.
    po_SQLT = abap_true.
    po_CLAS = abap_true.
    po_INTF = abap_true.
    po_UDMO  = abap_true.
    po_UENO  = abap_true.
    po_SHI3  = abap_true.
    po_CNTX  = abap_true.
    po_TTAB  = abap_true.
    po_IASP  = abap_true.
    po_IAMU  = abap_true.
    po_IATU  = abap_true.
    po_CLIF  = abap_true.
    po_SOBJ  = abap_true.
    po_WDYN  = abap_true.
    po_WDYA  = abap_true.
    po_xslt  = abap_true.
    po_enhs  = abap_true.
    po_ensc  = abap_true.
    po_enhc  = abap_true.
    po_enho  = abap_true.
    po_sfbf  = abap_true.
    po_sfsw  = abap_true.
    po_devc  = abap_true.
    po_SQSC  = abap_true.
    po_STOB  = abap_true.
    po_DDLS  = abap_true.

  ELSEIF sy-ucomm = 'DES'.
    po_prog = abap_false.
    po_fugr = abap_false.
    po_ldba = abap_false.
    po_msag = abap_false.
    po_tran = abap_false.
    po_func = abap_false.
    po_dial = abap_false.
    po_tabl = abap_false.
    po_shlp = abap_false.
    po_doma = abap_false.
    po_dtel = abap_false.
    po_view = abap_false.
    po_mcob = abap_false.
    po_mcid = abap_false.
    po_para = abap_false.
    po_conv = abap_false.
    po_suso = abap_false.
    po_type = abap_false.
    po_ttyp = abap_false.
    po_STRU = abap_false.
    po_ENQU = abap_false.
    po_SQLT = abap_false.
    po_CLAS = abap_false.
    po_INTF = abap_false.
    po_UDMO  = abap_false.
    po_UENO  = abap_false.
    po_SHI3  = abap_false.
    po_CNTX  = abap_false.
    po_TTAB  = abap_false.
    po_IASP  = abap_false.
    po_IAMU  = abap_false.
    po_IATU  = abap_false.
    po_CLIF  = abap_false.
    po_SOBJ  = abap_false.
    po_WDYN  = abap_false.
    po_WDYA  = abap_false.
    po_xslt  = abap_false.
    po_enhs  = abap_false.
    po_ensc  = abap_false.
    po_enhc  = abap_false.
    po_enho  = abap_false.
    po_sfbf  = abap_false.
    po_sfsw  = abap_false.
    po_devc  = abap_false.
    po_SQSC  = abap_false.
    po_STOB  = abap_false.
    po_DDLS  = abap_false.
  ENDIF.



************************************************************************
*START OF SELECTION                                                    *
************************************************************************

START-OF-SELECTION.

  environment_selection-prog = po_prog. "Programa
  environment_selection-fugr = po_fugr. "Gruppo Funzioni
  environment_selection-ldba = po_ldba. "DB logico
  environment_selection-msag = po_msag. "Classe Messaggi
  environment_selection-tran = po_tran. "Transazioni
  environment_selection-func = po_func. "Function module
  environment_selection-dial = po_dial. "Modulo interattivo
  environment_selection-tabl = po_tabl. "Tabelle
  environment_selection-shlp = po_shlp. "Help di ricerca
  environment_selection-doma = po_doma. "Dominio
  environment_selection-dtel = po_dtel. "Elemento dati
  environment_selection-view = po_view. "View
  environment_selection-mcob = po_mcob. "Oggetti matchcode
  environment_selection-mcid = po_mcid. "ID matchcode
  environment_selection-para = po_para. "Param. SET/GET
  environment_selection-conv = po_conv. "Exit di conversione
  environment_selection-suso = po_suso. "Oggetti autorizzazione
  environment_selection-type = po_type. "Gruppi tipi
  environment_selection-ttyp = po_ttyp. "Tipi tabella
  environment_selection-stru = po_STRU. "Struttura
  environment_selection-enqu = po_ENQU. "Oggetti di blocco
  environment_selection-sqlt = po_SQLT. "Tabelle SQL
  environment_selection-clas = po_CLAS. "Classi
  environment_selection-intf = po_INTF. "Interfacce
  environment_selection-udmo = po_UDMO. "Modello dati
  environment_selection-ueno = po_UENO. "Tipo entità
  environment_selection-shi3 = po_SHI3. "Menu area
  environment_selection-cntx = po_CNTX. "contesto
  environment_selection-ttab = po_TTAB. "Tipi tabella
  environment_selection-iasp = po_IASP. "Servizi Internet
  environment_selection-iamu = po_IAMU. "Oggetti Mime
  environment_selection-iatu = po_IATU. "HTML template
  environment_selection-clif = po_CLIF. "Classe/interface
  environment_selection-sobj = po_SOBJ. "tipo di oggetto 'Business'
  environment_selection-wdyn = po_WDYN. "web dynpro component"
  environment_selection-wdya = po_WDYA. "Applicazione Web dynpro
  environment_selection-xslt = po_xslt. "programma XSL
  environment_selection-enhs = po_enhs. "Enhancement Spot
  environment_selection-ensc = po_ensc. "Enhancement Spot Composite
  environment_selection-enhc = po_enhc. "Enhancement Composite
  environment_selection-enho = po_enho. "Enhancement
  environment_selection-sfbf = po_sfbf. "Business Functions
  environment_selection-sfsw = po_sfsw. "Switch
  environment_selection-devc = po_devc. "pacchetto
  environment_selection-sqsc = po_SQSC. "Proxies procedura database
  environment_selection-stob = po_STOB. "Entità
  environment_selection-ddls = po_DDLS. "Sorgenti DDL

  FREE: gv_output_list[].
  LOOP AT s_prog ASSIGNING FIELD-SYMBOL(<lfs_prog>).
    FREE: output_list[], source_searched[].

    gv_OBJECT_NAME =  <lfs_prog>-low .
    TRANSLATE  gv_OBJECT_NAME TO UPPER CASE.
    CALL FUNCTION 'REPOSITORY_ENVIRONMENT_SET_RFC'
      EXPORTING
        obj_type          = 'PROG'
        environment_types = environment_selection
        object_name       = gv_OBJECT_NAME
      TABLES
        environment       = output_list
        source_objects    = source_searched.

    IF output_list IS NOT INITIAL.
      APPEND LINES OF output_list TO gv_output_list.
    ENDIF.

  ENDLOOP.

  IF gv_output_list[] IS NOT INITIAL.

    PERFORM vis_custom TABLES gv_output_list
                       USING p_custom.

    SORT gv_output_list BY call_obj.
    PERFORM set_alv_fieldcat CHANGING gt_alv_fieldcat.

    PERFORM display_alv USING gs_alv_layout
                              gt_alv_fieldcat
                              gt_alv_events
                              gv_output_list.
  ELSE.
    MESSAGE s000(db) WITH 'Nessun Dato estratto' DISPLAY LIKE 'E'.
  ENDIF.

*&---------------------------------------------------------------------*
*& Form set_alv_layout
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      <-- GS_ALV_LAYOUT
*&---------------------------------------------------------------------*
FORM set_alv_layout  CHANGING es_alv_layout TYPE lvc_s_layo.

  es_alv_layout-cwidth_opt = abap_true.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form set_alv_events
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      <-- GT_ALV_EVENTS
*&---------------------------------------------------------------------*
FORM set_alv_events  CHANGING ct_alv_events TYPE slis_t_event.

  DATA ls_alv_events TYPE slis_alv_event.

  ls_alv_events-name = slis_ev_top_of_page.
  ls_alv_events-form = slis_ev_top_of_page.
  APPEND ls_alv_events TO ct_alv_events.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form set_alv_fieldcat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      <-- GT_ALV_FIELDCAT
*&---------------------------------------------------------------------*
FORM set_alv_fieldcat  CHANGING ct_fieldcat TYPE lvc_t_fcat.

  DATA ls_alv_fieldcat TYPE lvc_s_fcat.
  DATA lt_fieldcat     TYPE lvc_t_fcat.
  DATA lv_col_pos      TYPE lvc_colpos.

  FIELD-SYMBOLS <fs_fieldcat> TYPE lvc_s_fcat.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
*     I_BUFFER_ACTIVE        =
      i_structure_name       = 'SENVI'
*     I_CLIENT_NEVER_DISPLAY = 'X'
*     I_BYPASSING_BUFFER     =
*     I_INTERNAL_TABNAME     =
    CHANGING
      ct_fieldcat            = ct_fieldcat
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form display_alv
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> GS_ALV_LAYOUT
*&      --> GT_ALV_FIELDCAT
*&      --> GT_ALV_EVENTS
*&      --> OUTPUT_LIST
*&---------------------------------------------------------------------*
FORM display_alv  USING is_alv_layout   TYPE lvc_s_layo
                       it_alv_fieldcat TYPE lvc_t_fcat
                       it_alv_events   TYPE slis_t_event
                       it_alv_out      TYPE table.

  DATA lv_repid TYPE syrepid.

  lv_repid = sy-repid.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program = lv_repid
*     i_callback_top_of_page = 'TOP_OF_PAGE'
      is_layout_lvc      = is_alv_layout
      it_fieldcat_lvc    = it_alv_fieldcat
    TABLES
      t_outtab           = it_alv_out
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.

  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form vis_custom
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> GV_OUTPUT_LIST
*&      --> P_CUSTOM
*&---------------------------------------------------------------------*
FORM vis_custom  TABLES   p_table STRUCTURE senvi
                 USING    pvcustom.

  CHECK pvcustom IS NOT INITIAL.

  LOOP AT p_table ASSIGNING FIELD-SYMBOL(<lfs_table>).
    IF <lfs_table>-object(1) NE 'Z' AND  <lfs_table>-object(1) NE 'Y'.
      CLEAR: <lfs_table>-object.
    ENDIF.
  ENDLOOP.

  DELETE p_table WHERE object IS INITIAL.

ENDFORM.