La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ABAP Objects ALV Grid Mantova, 30 dicembre 2018.

Presentazioni simili


Presentazione sul tema: "ABAP Objects ALV Grid Mantova, 30 dicembre 2018."— Transcript della presentazione:

1 ABAP Objects ALV Grid Mantova, 30 dicembre 2018

2 Introduzione ALV grid control (ALV = ABAP List Viewer) è un tool flessibile per visualizzare liste Fornisce una serie di operazioni come generiche funzioni e può essere espanso con proprie definizioni Toolbar Output table nel grid control

3 Introduzione ALV grid utilizza la metodologia a oggetti per gestire la comunicazione con lo schermo ALV grid offre metodi attraverso un classe globale i quali possono essere usati per gestire il comportamento della lista

4 CL_GUI_ALV_GRID_BASE
ALV e ABAP Objects Come risultato dell’utilizzo di ABAP Objects, le liste sono visualizzate attraverso un istanza ALV, e, attraverso la gestione degli eventi di ABAP Objects, si può intervenire sul flusso del programma CL_GUI_OBJECT CL_GUI_CONTROL CL_GUI_ALV_GRID_BASE CL_GUI_ALV_GRID

5 Dichiarazione delle variabili di riferimento
Screen objects Dichiarazione delle variabili di riferimento DATA grid_1 TYPE REF TO cl_gui_alv_grid. DATA container_1 TYPE REF TO cl_gui_custom_container. Istanza e integrazione con lo screen CREATE OBJECT container_1 CONTAINER_NAME = ‘<screen_container_name>’. CREATE OBJECT grid_1 PARENT = container_1. Data display sullo screen control CALL METHOD grid_1->set_table_for_first_display Parametri di input: la tabella dei dati e il catalogo dei campi

6 Una tabella interna con i dati da visualizzare chiamata output table
Field catalog e dati Come minimo si devono fornire due tipi di informazioni per visualizzare i dati Una tabella interna con i dati da visualizzare chiamata output table parameter IT_OUTTAB Una descrizione della struttura della tabella interna attraverso un field catalog oppure attraverso la corrispondente struttura del Data Dictionary Parameter IT_FIELDCAT

7 Dichiarare le variabili per la lista ALV e il contenitore.
Esempio pratico Dichiarare le variabili per la lista ALV e il contenitore. DATA: grid1 TYPE REF TO cl_gui_alv_grid. DATA: g_custom_container TYPE REF TO cl_gui_custom_container. Dichiarare una tabella interna per i dati. DATA: gt_sflight TYPE TABLE OF sflight. Creare una dynpro standard e segnare l’area dove visualizzare la lista definendo un custom container assegnare un nome al custom container (es. CCONT).

8 Esempio pratico Nel modulo PBO della dynpro istanziare il container control e la lista ALV IF g_custom_container IS INITIAL. CREATE OBJECT g_custom_container EXPORTING CONTAINER_NAME = 'CCONT'. Creare un collegamento tra il container e lo schermo usando il nome del container creato nella dynpro e istanziare la lista utilizzando il parametro parent CREATE OBJECT grid1 EXPORTING I_PARENT = g_custom_container. ENDIF.

9 Riempire la tabella interna
Esempio pratico Riempire la tabella interna SELECT * FROM sflight INTO TABLE gt_sflight. Passare la tabella interna e la sua struttura al controllo ALV chiamare questo metodo solo dopo che la lista ALV sia stata instanziata. CALL METHOD grid1->set_table_for_first_display EXPORTING I_STRUCTURE_NAME = 'SFLIGHT‘ CHANGING IT_OUTTAB = gt_sflight. La struttura della tabella viene letta direttamente dal DDIC e non tramite un Field Catalog.

10 Selezione linee della ALV
Per intercettare una o più linee selezionate sulla ALV si deve chiamare il metodo CALL METHOD grid1->get_selected_rows IMPORTING et_index_rows = gi_index_rows. All’interno del modulo PAI per le elaborazioni, definendo una funzione apposita sullo status per lo screen Restituisce la tabella interna <et_index_rows>, di tipo LVC_T_ROWS e con struttura LVC_S_ROW. Il campo index è l’indice della linea selezionata nella tabella interna dei dati ROWTYPE ALV Control: tipo riga INDEX ALV Control: numero righe (indice della tabella interna) Esempio di definizione gi_index_rows TYPE lvc_t_row, g_selected_row LIKE lvc_s_row.

11 Selezione linee della ALV
Esempio pratico MODULE <user_command_0100> INPUT. CASE sy-ucomm. WHEN ‘SELE’. CALL METHOD grid1->get_selected_rows IMPORTING et_index_rows = gi_index_rows. IF NOT gi_index_rows[] IS INITIAL. LOOP AT gi_index_rows INTO g_selected_row. READ TABLE git_dati into gwa_dati INDEX g_selected_row-index. IF sy-subrc = 0. <elaborazione riga selezionata>


Scaricare ppt "ABAP Objects ALV Grid Mantova, 30 dicembre 2018."

Presentazioni simili


Annunci Google