2007 Nov 06 8:25 AM
what is type-pools: slis and why we use this in alv ?
2007 Nov 06 8:28 AM
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
2007 Nov 06 8:34 AM
how we import the data , and wt type of data we import ,
can u give me a detailed explanation, please....
2007 Nov 06 8:42 AM
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
2007 Nov 06 8:32 AM
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.
2007 Nov 06 8:32 AM
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..
2007 Nov 06 8:34 AM
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
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |