OOPS ALV in SAP ABAP

Aféierung

Den OO ALV ass ALV benotzt objektorientéiert ABAP. ALV steet fir ABAP List Viewer a bitt de Standard Lëschtformat a User Interface fir all ABAP Programmer. De Virdeel fir OOPS ALV an SAP ABAP ze benotzen ass dat flexibel ass a benotzt fir interaktiv a modern designt Lëscht ze bauen. SAP huet eng Klass (Klassennumm: CL_GUI_ALV_GRID) zur Verfügung gestallt, déi als Wrapper Klass d'ALV GRID Funktionalitéit ëmkapselt.

D'Basis Komponente fir ALV Grid sinn:

  • Lëschtdaten: Lëschtdaten sinn déi intern Tabelldaten déi opgelëscht ginn.
  • Feld Katalog: De Feldkatalog ass den internen Dësch, deen d'Spezifikatioun um Display vun de Felder definéiert. Fir Feldkatalog ze generéieren ginn et dräi Methoden: Automatesch Generatioun, semi-automatesch Generatioun a manuell Generatioun. Déi intern Dësch muss op LVC_T_FCAT bezeechent ginn.
  • Layoutstruktur: D'Layoutstruktur muss vum Typ "LVC_S_LAYO" sinn. Dëst kann benotzt ginn fir de Layout z'änneren inklusiv Faarfanpassungen, Gitterpersonaliséierung etc.
  • Event Handler: Fir Eventer déi vun ALV ausgeléist ginn ze handhaben, soll Event Handler Klass definéiert an ëmgesat ginn.
  • Zousätzlech Donnéeën: Fir zousätzlech Donnéeën am ALV Grid ze stimuléieren, sollten zousätzlech Donnéeën als Parameter passéiert ginn.

Beispill

Follegt d'Schrëtt fir en OOPS ALV an SAP ABAP ze kreéieren:

  1. Erstellt en Objet vun der Klass CL_GUI_CUSTOM_CONTAINER a Klass CL_GUI_ALV_GRID.
  2. Bevëlkerung intern Dësch.
  3. Call Écran an deem Dir d'Lëscht ze weisen wëllt.
  4. Erstellt Custom Container vum Layoutlabo
  5. Call Method vun Klass CL_GUI_ALV_GRID a Passë déi néideg Parameteren.

Programm

"SCARR ass de SAP Standard Dësch déi Airlines Daten späichert DATA: t_flight TYPE TABLE VUN SCARR. DATA: cust_container TYPE REF BIS CL_GUI_CUSTOM_CONTAINER, cust_grid TYPE REF BIS CL_GUI_ALV_GRID. Wielt * aus SCARP_100 Ecran an den Dësch SCARP 0100 MOD 1 aus SCARP 0100 Écran SCARR. PF-STATUS 'SCREEN0'. SETZT TITLEBAR 'AIRLINES LIST'. ENDMODULE. MODULE USER_COMMAND_XNUMX INPUT. CASE SY-UCOMM. WANN 'BACK'. LEAVE TO SCREEN XNUMX. ENDCASE. ENDMODULEOUT. CONTAINER'. CREATE OBJECT CUST_GRID EXPORTING I_PARENT = CUST_CONTAINER. CALL METHOD CUST_GRID->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING i_structure_name = 'SCARR' Änneren it_outtab = t_flight. ENDMODULE.

Nodeems Dir den uewe genannte Code paste, musst Dir op "CALL Écran 100" duebelklicken. sou datt Dir en Écran erstellen kënnt. Wann Dir probéiert auszeféieren ouni en Écran ze kreéieren, da kritt Dir eng Ausnam déi d'selwecht ernimmt, dh "Keen Écran 100 verfügbar."

Nodeems Dir um Écran duebelklickt hutt, gesitt Dir déi ënnen Vue, Update Informatioun wéi hei ënnendrënner:

OO ALV Écran

Duebelklick op "SET PF-STATUS 'SCREEN1'. " a gitt dës:

Écran 1 Status

Füügt e Knäppchen andeems Dir op Écran 100 Duebelklickt an hei ënnen ausféiert:

Füügt e Knäppchen

Back Code

Aktualiséieren an aktivéieren den Ecran nodeems Dir de folgende geännert hutt:

Flow Logik am Écran

Elo ännert de Layout wéi hei ënnendrënner:

1. Klickt op Layouten

Layout

2. Erstellt e personaliséierte Container wéi hei ënnendrënner, wielt de Knäppchen an zitt eng rechteckeg Form:

Écran Moler

3. Et wäert eppes schafen, wéi ënnendrënner gewisen. Duebelklick op et a gitt dann den Numm als "CONTAINER"

CONTAINER

5. Elo Aktivéiert den Ecran, gitt zréck op de Programm, aktivéiert de Programm a lafen de Programm, Dir gesitt den OO ALV Bildschierm wéi hei ënnendrënner:

OO ALV Ausgang

 

Hannerlooss eng Bemierkung

Dëse Site benotzt Akismet fir Spam ze reduzéieren. Léiert wéi Är Kommentarfaten veraarbecht ginn.