‎2007 Aug 04 11:25 AM
Hi all,
Can any one you tell me exactly what are type pools? What happens when i declare lke this
TYPE-POOLS: slis.
TYPE-POOLS: list.
And what is the meaning of
DATA: fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
vcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
listhead TYPE slis_t_listheader WITH HEADER LINE,
event TYPE slis_t_event WITH HEADER LINE,
eventone TYPE slis_t_event WITH HEADER LINE,
i_layout TYPE slis_layout_alv.
Thanks in advance
Rakesh
‎2007 Aug 04 11:40 AM
Type pool is a collection of pre defined data types..
Frequently used data types in programming are clubbed into a type pool so that if u write in ur code:
TYPE-POOLS: slis.
the declarations in SLIS will apply to ur code also..
SLIS contains data definitions for ALV structures & internal tables. so that u dont need to declare alv data everytime in ur program..
check out type pools: ICON, etc.. In SE11, type groups..
‎2007 Aug 04 11:31 AM
Hi Ramesh,
The definition of a type group is a fragment of ABAP code which you enter in the ABAP Editor. The first statement for the type group <pool> is always:
TYPE-POOL <pool>.
After this came the definitions of data types using the TYPES statement, as described in Local Data Types in Programs. It was also possible to define global constants using the CONSTANTS statement. All the names of these data types and constants must begin with the name of the type group and an underscore:
Includes the types and constants of a type group. If the type group typepool has already been included, the statement is ignored. You can only maintain a type group via the ABAP/4 Dictionary (using Transaction SE11 ). You introduce a type group with the TYPE-POOL statement. Since the types and constants specified in a type group have global validity, you cannot use the statement within a FORM or FUNCTION .
Thanks,
Vinay
‎2007 Aug 04 11:39 AM
Hiii
We can use ABAP ALV LIST and GRID function modules to display Normal LIST and Hiearchical LISTS .
All the definitions TYPES and STRUCTURES and CONSTANTS are defined
in the TYPE-POOL 'SLIS' ,so it should be declared first.
TYPE-POOLS : 'SLIS' .
To display ALV LISTS the function module used are :
REUSE_ALV_LIST_DISPLAY "For Normal LIST
REUSE_ALV_HIERARCHICAL_LIST_DISPLAY "For Hierarchical LIST
To display ALV GRID the function module used are :
REUSE_ALV_GRID_DISPLAY . "For GRID display
The most important component of the ALV is the FIELDCATALOG which is of
TYPE SLIS_T_FIEDLCAT_ALV
or of
TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV .
The line items of the field catalog are of
TYPE SLIS_FIELDCAT_ALV .
FIELDCATALOG
To prepare field catalog certain fields are essential .There are various other fields allowing for vaarious possibilities and display options.
TABNAME
FIELDNAME
REF_TABNAME
SELTECT_M
e.g.
DATA: WS_FCAT TYPE SLIS_FIELDCAT_ALV . "LINE ITEM OF FCAT
DATA: IN_FCAT TYPE SLIS_T_FIELDCAT_ALV.
WS_FCAT-TABNAME = 'MARA'.
WS_FCAT-FIELDNAME = 'MATNR'.
WS_FCAT-SELTEXT_M = 'Material Number'.
APPEND WS_FCAT TO IN_FCAT .
CLEAR WS_FCAT.
WS_FCAT-TABNAME = 'MAKT'.
WS_FCAT-FIELDNAME = 'MAKTX'.
WS_FCAT-SELTEXT_M = 'Material Description'.
APPEND WS_FCAT TO IN_FCAT .
This will create fieldcatalog with two columns for displaying material and material description .
RESUSE_ALV_LIST_DISPLAY.
The following FM is used to display the data in the internal table in the form of ALV
LIST. The Event table is only required if event handling is being done.
CALL FUNCTION 'RESUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_REPID "of TYPE SY-REPID and
" value SY-REPID
IS_LAYOUT = W_LAYOUT "of TYPE SLIS_LAYOUT_ALV
IT_FIELDCAT = IN_FCAT "of TYPE SLIS_T_FIELDCAT_ALV
I_SAVE = W_SAVE "of TYPE C ,values A ,U ,' '
IT_EVENTS = IN_EVENTS " of TYPE SLIS_T_EVENT
TABLES
T_OUTTAB = IN_DATA "internal table conatining data
"corresponding to IN_FCAT
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC NE 0.
MESSAGE ENNN .
ENDIF.
REUSE_ALV_EVENTS_GET.
This FM is used to get the default event table of the ALV LIST DISPLAY.
The IN_EVENTS internal table is of TYPE SLIS_T_EVENT. This table contains
all the events wrapped up in the ALV LIST or ALV GRID and consistsof two fields
NAME and FORM .The NAME corresponds to names of the events like TOP_OF_PAGE and END_OF_PAGE ,USER_COMMAND and FORM will contain the name of the FORM ROUTINE that will be called dynamically through callback mechanism when the particular event will fire and is initial for all events bt default and has to be filled for
events for which handling is required.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IN_EVENTS[].
e.g.
DATA: W_EVENT TYPE SLSI_ALV_EVENT "LINE ITEM OF EVENT TABLE
DATA: IN_EVENTS TYPE SLSI_T_EVENT . "Internal table containing events
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IN_EVENTS[].
RTEAD TABLE IN_EVENTS WITH KEY NAME = 'TOP_OG_PAGE'
INTO W_EVENT.
IF SY-SUBRC EQ 0.
MOVE 'F3000_TOP_OF_PAGE' TO W_EVENT -FORM.
MODIFY IN_EVENTS FROM W_EVENT INDEX SY-TABIX.
ENDIF.
Here the FORM ROUTINE 'F3000_TOP_OF_PAGE' is being set up for the
event TOP_OF_PAGE which will fire when the ALV LIST will be displayed ,This form
will be called dynamically by th ALV LIST display during top_of_page event and for this the modified Events internal table has to be passed to the FM 'REUSE_ALV_LIST_DISPLAY' in the exporting parameter IT_EVENTS. Failing this the form '3000_TOP_OF_PAGE' will not be called . This event is used for placing heading information like Current date and time and the name of the report.
Regards
Hitesh
<b>Please Reward points</b>
‎2007 Aug 04 11:40 AM
Type pool is a collection of pre defined data types..
Frequently used data types in programming are clubbed into a type pool so that if u write in ur code:
TYPE-POOLS: slis.
the declarations in SLIS will apply to ur code also..
SLIS contains data definitions for ALV structures & internal tables. so that u dont need to declare alv data everytime in ur program..
check out type pools: ICON, etc.. In SE11, type groups..