Application Development and Automation 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: 
Read only

about SLIS

Former Member
0 Likes
901

what is type-pools: slis and why we use this in alv ?

what is type-pools: slis and why we use this in alv ?

6 REPLIES 6
Read only

Former Member
0 Likes
867

Hi,

with that statement you can import type of data to build an alv list, like slis_t_fieldcat_alv , slis_t_sortinfo_alv etc..

That's all.

rgs

Read only

0 Likes
867

how we import the data , and wt type of data we import ,

can u give me a detailed explanation, please....

Read only

0 Likes
867

Hi,

with

type-pool slis.

you allow your report to use the "type pool" declared in the slis file.

The data type that u import are all that are in the slis file (double click on the slis word).

So when you write something of this:

DATA i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.

the report search the type slis_t_fieldcat_alv in slis file where is specificated.

rgs

Read only

Former Member
0 Likes
867

Hi TYPE-POOL is a collection of data types and internal tables..etc with generic data declarations.

the type-pool will contain a set of related data declarations which will support standard programs and function modules.

for example in ALV you will use Field-catalog. SLIS will contain declaration for standard field-catalog. just click on that SLIS .. that will take you to type-pool. by having a look you will get basic understanding.

in ALV we will use SLIS because it will contain declarations for all most all the strucutures we will need in ALV.

Read only

Former Member
0 Likes
867

hi,

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: filedcat_alv type slis_t_fieldcat_alv..

plz reward if useful..

Read only

paruchuri_nagesh
Active Contributor
0 Likes
867

hi

in abap datatypes are three types

1) predefined data types

n,c,i etc

2)user defined data types.

by using types statement we can declare these

3)abap/4 types

by using type pools we can declare these

type pool slis is nothing but global declaration of variables & internal tables

so that we can use in our abap\4 programs

we can design field catalog ,events and some other functionality it provides

see below example

REPORT ZPRG8 .

TABLES: LFA1, EKKO, EKPO.

SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR.

DATA: BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

END OF ITAB.

DATA: BEGIN OF JTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

END OF JTAB.

DATA: BEGIN OF KTAB OCCURS 0,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

END OF KTAB.

TYPE-POOLS:SLIS.

DATA: REPID LIKE SY-REPID,

F_LFA11 TYPE SLIS_T_FIELDCAT_ALV,

F_LFA1 TYPE SLIS_FIELDCAT_ALV,

F_EKKO1 TYPE SLIS_T_FIELDCAT_ALV,

F_EKKO TYPE SLIS_FIELDCAT_ALV,

F_EKPO1 TYPE SLIS_T_FIELDCAT_ALV,

F_EKPO TYPE SLIS_FIELDCAT_ALV,

I_EVENTS TYPE SLIS_T_EVENT,

S_EVENTS TYPE SLIS_ALV_EVENT.

REPID = SY-REPID.

PERFORM COL_HEAD.

START-OF-SELECTION.

SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN S_LIFNR.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = F_LFA11

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = I_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

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.

FORM COL_HEAD.

F_LFA1-FIELDNAME = 'LIFNR'.

*F_LFA1-TABNAME = 'ITAB'.

F_LFA1-REF_TABNAME = 'LFA1'.

F_LFA1-REF_FIELDNAME = 'LIFNR'.

APPEND F_LFA1 TO F_LFA11.

F_LFA1-FIELDNAME = 'NAME1'.

*F_LFA1-TABNAME = 'ITAB'.

F_LFA1-REF_TABNAME = 'LFA1'.

F_LFA1-REF_FIELDNAME = 'NAME1'.

APPEND F_LFA1 TO F_LFA11.

F_EKKO-FIELDNAME = 'EBELN'.

*F_EKKO-TABNAME = 'JTAB'.

F_EKKO-REF_TABNAME = 'EKKO'.

F_EKKO-REF_FIELDNAME = 'EBELN'.

APPEND F_EKKO TO F_EKKO1.

F_EKKO-FIELDNAME = 'AEDAT'.

*F_EKKO-TABNAME = 'JTAB'.

F_EKKO-REF_TABNAME = 'EKKO'.

F_EKKO-REF_FIELDNAME = 'AEDAT'.

APPEND F_EKKO TO F_EKKO1.

F_EKPO-FIELDNAME = 'EBELP'.

*F_EKPO-TABNAME = 'KTAB'.

F_EKPO-REF_TABNAME = 'EKPO'.

F_EKPO-REF_FIELDNAME = 'EBELP'.

APPEND F_EKPO TO F_EKPO1.

F_EKPO-FIELDNAME = 'MATNR'.

*F_EKPO-TABNAME = 'KTAB'.

F_EKPO-REF_TABNAME = 'EKPO'.

F_EKPO-REF_FIELDNAME = 'MATNR'.

APPEND F_EKPO TO F_EKPO1.

S_EVENTS-NAME = 'USER_COMMAND'.

S_EVENTS-FORM = 'VAL'.

APPEND S_EVENTS TO I_EVENTS.

ENDFORM.

FORM VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.

DATA: V_LIFNR(10) TYPE N,

V_EBELN(10) TYPE N,

V_MATNR(10) TYPE C.

IF SEL-FIELDNAME = 'LIFNR'.

V_LIFNR = SEL-VALUE.

SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = V_LIFNR.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

IT_FIELDCAT = F_EKKO1

IT_EVENTS = I_EVENTS

TABLES

T_OUTTAB = JTAB.

ENDIF.

IF SEL-FIELDNAME = 'EBELN'.

V_EBELN = SEL-VALUE.

SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = V_EBELN.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

I_TITLE = 'ITEM DETAILS'

I_SCREEN_START_COLUMN = 10

I_SCREEN_START_LINE = 10

I_SCREEN_END_COLUMN = 36

I_SCREEN_END_LINE = 16

I_TABNAME = 'EKPO'

IT_FIELDCAT = F_EKPO1

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE =

IMPORTING

ES_SELFIELD = SEL

  • E_EXIT =

TABLES

T_OUTTAB = KTAB.

ENDIF.

IF SEL-FIELDNAME = 'MATNR'.

V_MATNR = SEL-VALUE.

SET PARAMETER ID 'MAT' FIELD V_MATNR.

CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM.

reward for use ful points

regards

Nagesh.Paruchuri