Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

alv

Former Member
0 Kudos

what is kkblo and slis in alv

9 REPLIES 9

Former Member
0 Kudos

Hi Abhay ,

They are type gropus , that contain all the decleartions of structure and tables used for creating ALV.

Regards

Arun

Former Member
0 Kudos

SLIS: is a type group (pool of predefined data types)

SLIS_T_FIELDCAT_ALV --> field catalog internal table

SLIS_FIELDCAT_ALV --> structure of field catlog

SLIS_T_EVENT ---> capture the events inside the ALV

SLIS_ALV_EVENT ---> event structure

SLIS-SELFIELD -


> will capture the selected field in a row.

Message was edited by:

chandrasekhar jagarlamudi

Former Member
0 Kudos

Hi

kkblo and slis are TYPE GROUPS. You can goto SE11 -> enter these values in the Type Group and view the declarations. The main use is that when we create application that repeatedly some common TYPE declarations, then we can create one common type group and use them across programs.

Hope this clarifies your doubt.

Regards

Kathirvel

Former Member
0 Kudos

Hi Abhay ,

<b>SLIS and KKBLO</b> are type groups for displaying ALV grids .

<b>SLIS : it is global type of general list type groups .

KKBLO : Type of dynamic list type group .</b>

example program for explaining SLIS ***************************************

<b>TYPE-POOLS : slis .</b>

TABLES : mbew .

TYPES : BEGIN OF value ,

si_no TYPE i ,

bwkey TYPE mbew-bwkey ,

matnr TYPE mara-matnr ,

maktx TYPE makt-maktx ,

laeng TYPE marm-laeng ,

hoehe TYPE marm-hoehe ,

END OF value .

DATA : it_value TYPE TABLE OF value ,

wa_value TYPE value ,

si_no TYPE i VALUE 1 .

DATA : it_field TYPE slis_t_fieldcat_alv ,

wa_field TYPE slis_fieldcat_alv .

SELECTION-SCREEN BEGIN OF BLOCK material WITH FRAME TITLE text-009.

PARAMETERS value TYPE mbew-bwkey .

SELECTION-SCREEN END OF BLOCK material .

IF value IS INITIAL .

MESSAGE s002(zginni) .

ELSE .

SELECT mbew~bwkey

mara~matnr

makt~maktx

marm~laeng

marm~hoehe

FROM mbew

INNER JOIN makt ON mbewmatnr = maktmatnr

INNER JOIN mara ON mbewmatnr = maramatnr

INNER JOIN marm ON mbewmatnr = marmmatnr

INTO CORRESPONDING FIELDS OF TABLE IT_VALUE

WHERE mbew~bwkey = value AND spras = 'EN' .

ENDIF .

LOOP AT it_value INTO wa_value .

MOVE sy-tabix TO wa_value-si_no .

MODIFY it_value FROM wa_value TRANSPORTING si_no .

ENDLOOP.

<u><i><b>***** In SLIS col_pos , fieldname , tabname , ref_fieldname , ref_tabname , etc....

there are many parameters of 'slis_fieldcat_alv ' *****************************</b></i></u>wa_field-col_pos = 1.

wa_field-fieldname = 'SI_NO'.

wa_field-tabname = 'IT_VALUE'.

wa_field-ref_fieldname ='SI_NO'.

wa_field-ref_tabname ='SI_NO'.

APPEND wa_field TO it_field.

CLEAR wa_field.

<b>wa_field-col_pos = 2.</b>

<b>col_pos -


></b> for mentioning the position of the column....

<b>wa_field-fieldname = 'BWKEY'</b>.

<b>fieldname -


></b> for mentioning the field name which shld be displayed to the column

<b>wa_field-tabname = 'IT_VALUE'.</b>

<b>tabname ---></b> for mentioning the internal table name which should be referred for the field name .

<b>wa_field-ref_fieldname ='BWKEY'</b>.

<b>ref_fieldname -


></b> for mentioning the referred field name .

<b>wa_field-ref_tabname ='MBEW'.</b>

<b>ref_tabname -


></b> for mentioning the referred transparent table name from which the field name is referred .

APPEND wa_field TO it_field.

CLEAR wa_field.

<b>there are many fields of these structure which can be used to design ur grid displays....can be sed in diferrent manners</b> ....

<b>wa_field-col_pos = 3.

wa_field-fieldname = 'MATNR'.

wa_field-tabname = 'IT_VALUE'.

wa_field-ref_fieldname ='MATNR'.

wa_field-ref_tabname ='MARA'.</b>APPEND wa_field TO it_field.

CLEAR wa_field.

wa_field-col_pos = 4.

wa_field-fieldname = 'MAKTX'.

wa_field-tabname = 'IT_VALUE'.

wa_field-ref_fieldname ='MAKTX'.

wa_field-ref_tabname ='MAKT'.

APPEND wa_field TO it_field.

CLEAR wa_field.

wa_field-col_pos = 5.

wa_field-fieldname = 'LAENG'.

wa_field-tabname = 'IT_VALUE'.

wa_field-ref_fieldname ='LAENG'.

wa_field-ref_tabname ='MARM'.

APPEND wa_field TO it_field.

CLEAR wa_field.

wa_field-col_pos = 6.

wa_field-fieldname = 'HOEHE'.

wa_field-tabname = 'IT_VALUE'.

wa_field-ref_fieldname ='HOEHE'.

wa_field-ref_tabname ='MARM'.

APPEND wa_field TO it_field.

CLEAR wa_field.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_grid_title = 'Material Master Details'

it_fieldcat = it_field[]

TABLES

t_outtab = it_value

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Former Member
0 Kudos

Hi abhay,

KKBLO - Group of types for dynamic expenditure for list

SLIS - Global types for generic cunning components

kkblo is also a type group which can be used to scrool down options in list, to change colors, to mark a column in alv , do other minor operations in alv..

for instance we can use

ROWNO_CHANGE(1) TYPE C, " number of rows changeable

NO_STATIC_SUBTOT,

COLORS TYPE KKBLO_COLTYPES, " description of colors

SUPPRESS_DYNPRO(1) TYPE C, " no call screen

INTERNET_PREPARE(1) TYPE C, " for processing via internet

INTERFACE_COMPLETE(1) TYPE C, " just display.

NO_FILTER_CONFIRM(1) TYPE C, " filter on cell without confirm.

in our work area and do changes using this type group..

slis can be used to display header values in alv grid display..

we have SLIS_T_FIELDCAT_ALV for internal table declaration

and SLIS_FIELDCAT_ALV for work area declaration

wa_fc-col_pos = 2.

wa_fc-fieldname = 'WERKS'.

wa_fc-tabname = 'IT_MM'.

wa_fc-ref_fieldname ='WERKS'.

wa_fc-ref_tabname = 'MARC'.

wa_fc-hotspot = 'X'.

APPEND wa_fc TO it_fc.

CLEAR wa_fc.

using this simple code repeatedly for all fields we can get the field catalog..

mention the fieldcatalog internal table name in alv module.

hope u got idea of wat kkblo and slis is used for

thanks and regards

Rajkumar.

Former Member
0 Kudos

slis and kkblo are type groups,which are user-defined data type

data types are

user-defined,which are created by the user ,predefined or system defined have created data types

type-groups are used to defined the user-defined data types

example:

goto t'code = se11

type_group = zxxx (xxx = any letters)

then click create

in editor

types : zxxx_a type i.

types : begin of zxxx_itab,

v1 type i,

v2 type c,

end of zxxx_itab.

save an active.

then go to se38 programe

here

programe

type-pools : zxxx.

data : c type zxxx_a.

data : itab type zxxx_itab.

here zxxx_itab structure assined to itab.

type-pools are gloabal decalration values of the se38 programs

Former Member
0 Kudos

Former Member
0 Kudos

All the predefined data types are defiend (which are used for ALV) are stored in Type-pools: SLIS.

Former Member
0 Kudos

Hi

<b>TYPE-POOLS</b> TYPE-POOLS tpool.

In order to use the definitions of a type group, you have to integrate the type group into the program.

The TYPE-POOLS statement integrates the type group tpool into the current context. You can specify it in the global data declarations of an ABAP program or in the declaration section of a class or interface. The data types and constants of the type group are visible as of this statement in the current context.

For ALV:

YOu need defined in types pool SLIS.

The reason is,

TYPE-POOLS SLIS.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

The type SLIS_T_FIELDCAT_ALV is defined in type pools SLIS.

Type-pools are just a way of modulerizing code, The code that is held in a type pools are just a bunch of TYPES statements, Then when you say TYPE-POOLS statement in your program, you can then use any TYPE which as been defined in the type-pool.

Types-pools: slis.

For example, you can now use any type which is defined in SLIS. The SLIS Type Pool holds all of the types used when programming the ALV grid using the REUSE function modules.

SLIS is a type group or type pool. All it is is a development object which contains a bunch of TYPES statements. IN this case, it contains all of the TYPEs that you would need to use when doing ALV programming. So for example, you want to have an internal table for your field catalog, then you want to use the TYPE slis_t_fieldcat_alv. So in order to use this type, you will need to "include" the type group.

Type-pools: SLIS.

Now you can reference the type.

data: ifc type slis_t_fieldcat_alv..