Genelde ABAP ile kod yazınca elde ettiğimiz verileri ALV Grid ile gösteririz. Aşağıdaki örnek temel şablon olarak kullanılabilinecek bir ALV Grid kodudur.

REPORT YGECICI MESSAGE-ID 00
No Standard Page Heading
Line-Size 200
Line-Count 65.
Tables: Ekpo, Trdir.

Type-Pools: Slis.

Data:
I_Fieldcat_Alv Type Slis_T_Fieldcat_Alv,
I_Events Type Slis_T_Event,
I_Event_Exit Type Slis_T_Event_Exit,
I_List_Comments Type Slis_T_Listheader,
I_Excluding Type Slis_T_Extab.

Data: Begin Of I_Data Occurs 0,
Name Like Trdir-Name,
Clas Like Trdir-Clas,
Subc Like Trdir-Subc,
Cnam Like Trdir-Cnam,
Cdat Like Trdir-Cdat,
Myfield(1) Type C,
End Of I_Data.

Data:
W_Variant Like Disvariant,
Wx_Variant Like Disvariant,
W_Variant_Save(1) Type C,
W_Exit(1) Type C,
W_Repid Like Sy-Repid,
W_User_Specific(1) Type C,
W_Callback_Ucomm Type Slis_Formname,
W_Print Type Slis_Print_Alv,
W_Layout Type Slis_Layout_Alv,
W_Html_Top_Of_Page Type Slis_Formname,
W_Fieldcat_Alv Like Line Of I_Fieldcat_Alv,
W_Excluding Like Line Of I_Excluding,
W_Events Like Line Of I_Events,
W_Event_Exit Like Line Of I_Event_Exit,
W_List_Comments Like Line Of I_List_Comments.

Selection-Screen Begin Of Block Blk_Criteria With Frame Title Text-F01.
Select-Options: S_Name For Trdir-Name.
Selection-Screen End Of Block Blk_Criteria.

Selection-Screen Begin Of Block Blk_Params With Frame Title Text-F02.
Parameters: P_Vari Like Disvariant-Variant.
Selection-Screen Skip 1.
Parameters: P_Grid Radiobutton Group Rb01 Default ‘X’,
P_Html As Checkbox.
Selection-Screen Skip 1.
Parameters: P_List Radiobutton Group Rb01.
Selection-Screen End Of Block Blk_Params.

Initialization.
Perform Init_Variant.
Perform Variant_Default Using P_Vari.

Clear: S_Name[].
S_Name-Sign = ‘I’.
S_Name-Option = ‘CP’.
S_Name-Low = ‘Z*’.
Append S_Name.

At Selection-Screen Output.

At Selection-Screen On Value-Request For P_Vari.
Perform Variant_F4 Using P_Vari.

At Selection-Screen.
Perform Variant_Fill.

Start-Of-Selection.
Perform Get_Data.

End-Of-Selection.
Perform Fieldcat_Build.
Perform Event_Build.
Perform Event_Exit_Build.
Perform Exclude_Build.
Perform Print_Build.
Perform Layout_Build.
Perform Display_Data.

Top-Of-Page.

Top-Of-Page During Line-Selection.

At User-Command.

At Line-Selection.

Define Skip_1.
Write: /001 Sy-Vline,
At Sy-Linsz Sy-Vline.
End-Of-Definition.

Form Variant_F4 Using P_Variant.

Call Function ‘LVC_VARIANT_F4′
EXPORTING
Is_Variant = W_Variant
I_Save = W_Variant_Save
IMPORTING
E_Exit = W_Exit
Es_Variant = Wx_Variant
EXCEPTIONS
Not_Found = 1
Program_Error = 2
Others = 3.

If Sy-Subrc <> 0.
Message I000(Zz) With Text-G01.
Endif.

If W_Exit Is Initial.
W_Variant-Variant = Wx_Variant-Variant.
P_Variant = Wx_Variant-Variant.
Endif.

Endform. “Variant_F4

Form Init_Variant.

Clear: W_Variant.
W_Repid = Sy-Repid.
W_Variant-Report = W_Repid.
W_Variant-Username = Sy-Uname.
W_Variant_Save = ‘A’. “All Types

Endform. “Init_Variant

Form Variant_Default Using P_Variant.

Wx_Variant = W_Variant.

If Not P_Variant Is Initial.
Wx_Variant-Variant = P_Variant.
Endif.

Call Function ‘LVC_VARIANT_DEFAULT_GET’
EXPORTING
I_Save = W_Variant_Save
CHANGING
Cs_Variant = Wx_Variant
EXCEPTIONS
Wrong_Input = 1
Not_Found = 2
Program_Error = 3
Others = 4.

Case Sy-Subrc.
When 0.
P_Variant = Wx_Variant-Variant.
When 2.
Clear: P_Variant.
Endcase.

Endform. “Variant_Default

Form Variant_Fill.

Clear: W_Variant.

If P_Vari Is Initial.
W_Variant-Variant = ‘STANDARD’.
W_Variant-Report = W_Repid.
Else.

W_Variant-Variant = P_Vari.
W_Variant-Report = W_Repid.

Call Function ‘LVC_VARIANT_EXISTENCE_CHECK’
EXPORTING
I_Save = W_Variant_Save
CHANGING
Cs_Variant = W_Variant
EXCEPTIONS
Others = 01.
If Sy-Subrc Ne 0.
Message I000(Zz) With Text-G02.
Endif.
Endif.

Endform. “Variant_Fill

Form Fieldcat_Build.

Call Function ‘REUSE_ALV_FIELDCATALOG_MERGE’
Exporting
I_Program_Name = W_Repid
* I_Structure_Name = ‘TRDIR’
I_Internal_Tabname = ‘I_DATA’
I_Inclname = W_Repid
Changing
Ct_Fieldcat = I_Fieldcat_Alv.

* Modify Displayed Fields
Loop At I_Fieldcat_Alv Into W_Fieldcat_Alv.
Case W_Fieldcat_Alv-Fieldname.
When ‘NAME’.
W_Fieldcat_Alv-Hotspot = ‘X’.
When ‘MYFIELD’.
W_Fieldcat_Alv-Checkbox = ‘X’.
W_Fieldcat_Alv-Seltext_S = ‘Mychkbox’.
When Others.
Endcase.

Modify I_Fieldcat_Alv From W_Fieldcat_Alv.
Endloop.

Endform. “Fieldcat_Build

Form Display_Data.

W_Callback_Ucomm = ‘CALLBACK_UCOMM’.

Case ‘X’.
When P_Grid.
If P_Html = ‘X’.
W_Html_Top_Of_Page = ‘HTML_TOP_OF_PAGE’.
Endif.

Call Function ‘REUSE_ALV_GRID_DISPLAY’
Exporting
* I_Background_Id = ‘SIWB_WALLPAPER’
I_Background_Id = ‘SIWB_WALLPAPER’
I_Callback_Program = W_Repid
I_Callback_Html_Top_Of_Page = W_Html_Top_Of_Page
* I_Structure_Name = ‘TRDIR’
I_Default = ‘X’
I_Save = ‘A’
Is_Variant = W_Variant
Is_Layout = W_Layout
I_Callback_User_Command = W_Callback_Ucomm
It_Fieldcat = I_Fieldcat_Alv
It_Events = I_Events
It_Event_Exit = I_Event_Exit
It_Excluding = I_Excluding
Is_Print = W_Print
* I_Screen_Start_Column = 1
* I_Screen_Start_Line = 1
* I_Screen_End_Column = 70
* I_Screen_End_Line = 30
Tables
T_Outtab = I_Data.

When P_List.
Call Function ‘REUSE_ALV_LIST_DISPLAY’
Exporting
*I_Background_Id = ‘ALV_BACKGROUND’
I_Callback_Program = W_Repid
I_Default = ‘X’
I_Save = ‘A’
Is_Variant = W_Variant
Is_Layout = W_Layout
I_Callback_User_Command = W_Callback_Ucomm
It_Fieldcat = I_Fieldcat_Alv
It_Events = I_Events
It_Event_Exit = I_Event_Exit
Is_Print = W_Print
Tables
T_Outtab = I_Data.
Endcase.

Endform. “Display_Data

Form Callback_Ucomm Using R_Ucomm Like Sy-Ucomm
Rs_Selfield Type Slis_Selfield.

Message I000(Zz) With R_Ucomm.

Case R_Ucomm.
When ‘&IC1′.
Set Parameter Id ‘RID’ Field Rs_Selfield-Value.
Call Transaction ‘SE38′.
When Others.
Endcase.

Endform. “Callback_Ucomm

Form Get_Data.

Select * Up To 15 Rows From Trdir
Into Corresponding Fields Of Table I_Data
Where Name In S_Name.

Endform. “Get_Data

Form Alv_Top_Of_Page.

Clear: I_List_Comments[].

W_List_Comments-Typ = ‘H’. “H=Header, S=Selection, A=Action
W_List_Comments-Key = ”.
W_List_Comments-Info = ‘Info 1′.
Append W_List_Comments To I_List_Comments.

W_List_Comments-Typ = ‘A’. ” H = Header, S = Selection, A = Action
W_List_Comments-Key = ”.
W_List_Comments-Info = ‘Begin Of List’.
Append W_List_Comments To I_List_Comments.

Call Function ‘REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
I_Logo = ‘ENJOYSAP_LOGO’
It_List_Commentary = I_List_Comments.

Endform. “Alv_Top_Of_Page

Form Event_Build.

Call Function ‘REUSE_ALV_EVENTS_GET’
EXPORTING
I_List_Type = 0
IMPORTING
Et_Events = I_Events.

Read Table I_Events
With Key Name = Slis_Ev_Top_Of_Page
Into W_Events.
If Sy-Subrc = 0.
Move ‘ALV_TOP_OF_PAGE’ To W_Events-Form.
Modify I_Events From W_Events Index Sy-Tabix.
Endif.

Read Table I_Events
With Key Name = Slis_Ev_End_Of_List
Into W_Events.
If Sy-Subrc = 0.
Move ‘ALV_END_OF_LIST’ To W_Events-Form.
Modify I_Events From W_Events Index Sy-Tabix.
Endif.

Read Table I_Events
With Key Name = Slis_Ev_End_Of_Page
Into W_Events.
If Sy-Subrc = 0.
Move ‘ALV_END_OF_PAGE’ To W_Events-Form.
Modify I_Events From W_Events Index Sy-Tabix.
Endif.

Endform. “Event_Build

Form Alv_End_Of_List.

Clear: I_List_Comments[].

W_List_Comments-Typ = ‘A’. “H = Header, S = Selection, A = Action
W_List_Comments-Key = ”.
W_List_Comments-Info = ‘End Of List’.
Append W_List_Comments To I_List_Comments.

Call Function ‘REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
It_List_Commentary = I_List_Comments
I_Logo = ‘ZMYOBJECTKEY’
I_End_Of_List_Grid = ‘X’.

Endform. “Alv_End_Of_List

Form Alv_End_Of_Page.

Endform. “Alv_End_Of_Page

Form Print_Build.
W_Print-No_Print_Listinfos = ‘X’.
Endform. “Print_Build

Form Layout_Build.

W_Layout-Zebra = ‘X’.
W_Layout-No_Vline = ‘X’.
W_Layout-Colwidth_Optimize = ‘X’.
W_Layout-Detail_Popup = ‘X’.
W_Layout-Detail_Initial_Lines = ‘X’.
W_Layout-Detail_Titlebar = ‘Detail Title Bar’.

Endform. “Layout_Build

Form Event_Exit_Build.

Clear: I_Event_Exit[].

* Pick
W_Event_Exit-Ucomm = ‘&ETA’.
W_Event_Exit-Before = ‘ ‘.
W_Event_Exit-After = ‘X’.
Append W_Event_Exit To I_Event_Exit.

Endform. “Event_Exit_Build

Form Html_Top_Of_Page Using R_Top Type Ref To Cl_Dd_Document.

Data:
Text Type Sdydo_Text_Element,
S_Table Type Ref To Cl_Dd_Table_Element,
Col_Key Type Ref To Cl_Dd_Area,
Col_Info Type Ref To Cl_Dd_Area,
A_Logo Type Ref To Cl_Dd_Area.

* Split TOP-Document
Call Method R_Top->Vertical_Split
EXPORTING
Split_Area = R_Top
Split_Width = ‘30%’
IMPORTING
Right_Area = A_Logo.

* Fill TOP-Document
Call Method R_Top->Add_Text
EXPORTING
Text = ‘Example Of A Heading’
Sap_Style = ‘HEADING’.

Call Method R_Top->New_Line.
Call Method R_Top->New_Line.
Call Method R_Top->Add_Table
EXPORTING
No_Of_Columns = 2
With_Heading = ‘ ‘
Border = ‘1′
IMPORTING
Table = S_Table.

Call Method S_Table->Add_Column
IMPORTING
Column = Col_Key.
Call Method S_Table->Add_Column
IMPORTING
Column = Col_Info.

Text = ‘A Key Value Marked’.
Call Method Col_Key->Add_Text
EXPORTING
Text = Text
Sap_Emphasis = ‘Strong’.

Call Method Col_Info->Add_Gap
EXPORTING
Width = 6.

Text = ‘600′ .
Call Method Col_Info->Add_Text
EXPORTING
Text = Text
Sap_Style = ‘Key’.

Call Method Col_Info->Add_Gap
EXPORTING
Width = 3.

Text = ‘Block Brick Units’.
Call Method Col_Info->Add_Text
EXPORTING
Text = Text.

Call Method S_Table->New_Row.

Text = ‘Storage Bin’.
Call Method Col_Key->Add_Text
EXPORTING
Text = Text
Sap_Emphasis = ‘Strong’.

Call Method Col_Info->Add_Gap
EXPORTING
Width = 7.

Text = ‘C-A-004′.
Call Method Col_Info->Add_Text
EXPORTING
Text = Text.

Call Method S_Table->New_Row.

Text = ‘Warehouse Number’ .
Call Method Col_Key->Add_Text
EXPORTING
Text = Text
Sap_Emphasis = ‘Strong’.

Call Method Col_Info->Add_Gap
EXPORTING
Width = 6.

Text = ‘200′ .
Call Method Col_Info->Add_Text
EXPORTING
Text = Text
Sap_Style = ‘Success’.

Call Method Col_Info->Add_Gap
EXPORTING
Width = 3.

Text = ‘Marked Success’.
Call Method Col_Info->Add_Text
EXPORTING
Text = Text.

Call Method S_Table->New_Row.

Call Method R_Top->New_Line.
Text = ‘This Last Line Is A Comment In Italics.’.
Call Method R_Top->Add_Text
EXPORTING
Text = Text
Sap_Emphasis = ‘EMPHASIS’.

Call Method R_Top->New_Line.
Call Method A_Logo->Add_Picture
* Exporting Picture_Id = ‘ZZTESTBMP’.
Exporting Picture_Id = ‘ENJOYSAP_LOGO’.

Endform. “Html_Top_Of_Page

Form Exclude_Build.

W_Excluding = ‘&GRAPH’. “Graphic
Append W_Excluding To I_Excluding.

Endform. ” Exclude_Build