2007 Feb 03 3:33 AM
Hi Everybody,
For Field Catlog Usaully I use the work area. For Example,
FORM f_cat1 USING text fname.
wa_fcat1-fieldname = fname.
wa_fcat1-scrtext_l = text.
APPEND wa_fcat1 TO f_cat1.
ENDFORM.
My Doubt is How will I create a field catlog with Internal Table ?
Thanks in Advance.
2007 Feb 03 3:59 AM
Hi Vijay,
Use FM 'REUSE_ALV_FIELDCATALOG_MERGE' to create field catalog using an internal table or structure. See the sample code below:
DATA: p_repid type sy-repid,
p_repid = sy-repid.
Using Internal Table name:
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = p_repid
i_internal_tabname = 'ITAB'
i_inclname = p_repid
changing
ct_fieldcat = it_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
Using Structure name:
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = p_repid
i_structure_name = <Structure Name>
i_inclname = p_repid
changing
ct_fieldcat = it_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
Hi Everybody,
For Field Catlog Usaully I use the work area. For Example,
FORM f_cat1 USING text fname.
wa_fcat1-fieldname = fname.
wa_fcat1-scrtext_l = text.
APPEND wa_fcat1 TO f_cat1.
ENDFORM.
My Doubt is How will I create a field catlog with Internal Table ?
Thanks in Advance.
2007 Feb 03 3:41 AM
data : ifieldcat type slis_tfieldcat_alv,
wfieldcat type slis_fieldcat_alv.
here ifieldcat is without header line int table so you have to use explicit wa wfieldcat to appending the ifieldcat. actually you are passing aznd appending data in int table through wa only.
regards
shiba dutta
2007 Feb 03 3:45 AM
Hi,
Use the field catalog as follows to display the no. of fields you want & display them with FM 'REUSE_ALV_GRID_DISPLAY' by mentioning the internal table there.
*For Field cat.
SFLD-FIELDNAME = 'SWERK'.
SFLD-SELTEXT_L = 'Division'.
SFLD-OUTPUTLEN = 9.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'MSGRP'.
SFLD-SELTEXT_L = 'Depot'.
SFLD-OUTPUTLEN = 10.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'BEZDT'.
SFLD-SELTEXT_L = 'Date'.
SFLD-OUTPUTLEN = 10.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'EQUNR'.
SFLD-SELTEXT_L = 'Pole No.'.
SFLD-OUTPUTLEN = 16.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'ATFLV1'.
SFLD-SELTEXT_L = 'Size(M)'.
SFLD-OUTPUTLEN = 7.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'PLTXT'.
SFLD-SELTEXT_L = 'Location'.
SFLD-OUTPUTLEN = 30.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'ATWRT2'.
SFLD-SELTEXT_L = 'Authority'.
SFLD-OUTPUTLEN = 16.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'KURZTEXT'.
SFLD-SELTEXT_L = 'Reason for change'.
SFLD-OUTPUTLEN = 17.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'ATFLV3'.
SFLD-SELTEXT_L = 'Wattage(W)'.
SFLD-OUTPUTLEN = 11.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'ATWRT4'.
SFLD-SELTEXT_L = 'Lamp Type'.
SFLD-OUTPUTLEN = 9.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
SFLD-FIELDNAME = 'COMMENTS'.
SFLD-SELTEXT_L = 'Comments'.
SFLD-OUTPUTLEN = 25.
SFLD-KEY = 'X'.
APPEND SFLD TO ITFLD.
CLEAR SFLD.
PERFORM BUILD_LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = 'ZRPMSLM'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'TOP'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = ITFLD[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_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 =<b> ITABMEL1</b> " internal table
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
Hope this helps.
Reward if helpful.
Regards,
Sipra .
2007 Feb 03 3:59 AM
Hi Vijay,
Use FM 'REUSE_ALV_FIELDCATALOG_MERGE' to create field catalog using an internal table or structure. See the sample code below:
DATA: p_repid type sy-repid,
p_repid = sy-repid.
Using Internal Table name:
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = p_repid
i_internal_tabname = 'ITAB'
i_inclname = p_repid
changing
ct_fieldcat = it_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
Using Structure name:
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = p_repid
i_structure_name = <Structure Name>
i_inclname = p_repid
changing
ct_fieldcat = it_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
2007 Feb 03 4:34 AM
Hi,
Herewith i am sending simple ALV report it will clear all your doubts man.
REPORT CODING:
REPORT YMS_TESTALV .
TYPE-POOLS: SLIS.
DATA: REPID LIKE SY-REPID,
X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT type slis_layout_alv,
x_events type slis_alv_event,
it_events type slis_t_event with header line. "SLIS_T_EVENT.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
MALE type i,
female type i,
PLANE(10),
ACTUAL(10),
PLANE1(10),
ACTUAL1(10),
END OF ITAB.
START-OF-SELECTION.
REPID = SY-REPID.
SELECT VBELN POSNR FROM VBAP UP TO 20 ROWS INTO TABLE ITAB.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = text-020. "'Planned cost'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-OUTPUTLEN = 10 .
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = text-053. "'Actual cost '.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2."1.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MALE'.
X_FIELDCAT-SELTEXT_L = 'MALE'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'FEMALE'.
X_FIELDCAT-SELTEXT_L = TEXT-T01. "'FEMALE'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
it_events-NAME = SLIS_EV_TOP_OF_PAGE.
it_events-FORM = 'TOP_OF_PAGE'.
APPEND iT_EVENTS.
CLEAR it_events .
L_LAYOUT-NO_COLHEAD = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
it_events = it_events[]
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 TOP_OF_PAGE.
*-To display the headers for main list
FORMAT COLOR COL_HEADING.
WRITE: / SY-ULINE(143).
WRITE: / SY-VLINE,
(8) 'LAST YEAR' ,
SY-VLINE,
(10) ' ' ,
SY-VLINE,
(19) 'CURRENT YEAR'(020) centered,
(19) 'CURRENT YEAR'(020),
sy-vline.
WRITE: / SY-VLINE,
(8) 'PLANE'(053) ,
SY-VLINE,
(8) 'ACTUAL'(054) ,
SY-VLINE,
(8) 'MALE'(056) ,
sy-vline,
(9) 'FEMALE'(057) ,
sy-vline.
FORMAT COLOR OFF.
**
ENDFORM.
Thanks,
Shankar
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |