‎2007 Nov 01 10:09 AM
hi friends,
<b> i am working on alv controls. I am facing problem when i am trying display the
field which is user defined(which is not refering any Z or standard tables) for that
field heading is not displaying.
how to set that field in field catlog.which attributes i have to use.
followed is the code that i have used to display
</b>
please kindly guide me what to do
wa_field_cat-fieldname = 'QTYRQ'.
wa_field_cat-tabname = 'int_comp_out2'.
wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-seltext = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
CLEAR wa_field_cat.
‎2007 Nov 01 10:17 AM
wa_field_cat-fieldname = 'QTYRQ'.
*wa_field_cat-tabname = 'int_comp_out2'.
*wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-coltext = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
CLEAR wa_field_cat.
regards
shiba dutta
‎2007 Nov 01 10:14 AM
FLDCAT-FIELDNAME = 'MATNR'.
FLDC<b>AT-SELTEXT_L = 'Material Number.</b>
FLDCAT-COL_POS = 5.
FLDCAT-OUTPUTLEN = 60.
FLDCAT-DO_SUM = 'X'.
FLDCAT-DATATYPE = 'CURR'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
TABLES VBAK,VBAP.
TYPE-POOLS SLIS.
Data Declaration
TYPES: BEGIN OF T_VBAK,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
AUDAT TYPE VBAK-AUDAT,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
LINE_COLOR(4) TYPE C,
END OF T_VBAK.
DATA: IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0,
WA_VBAK TYPE T_VBAK.
ALV Data Declaration
DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID TYPE SY-REPID,
I_EVENTS TYPE SLIS_T_EVENT,
W_EVENTS LIKE LINE OF I_EVENTS.
START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BLD_FLDCAT.
PERFORM BLD_LAYOUT.
PERFORM DISPLAY_ALV_REPORT.
Build Field Catalog for ALV Report
FORM BLD_FLDCAT.
FLDCAT-FIELDNAME = 'VBELN'.
FLDCAT-SELTEXT_M = 'Sales Document'.
FLDCAT-COL_POS = 0.
*FLDCAT-EMPHASIZE = 'C411'.
FLDCAT-OUTPUTLEN = 20.
FLDCAT-KEY = 'X'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
FLDCAT-FIELDNAME = 'ERDAT'.
FLDCAT-SELTEXT_L = 'Record Date created'.
FLDCAT-COL_POS = 1.
FLDCAT-KEY = 'X'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
FLDCAT-FIELDNAME = 'ERNAM'.
FLDCAT-SELTEXT_L = 'Cteated Object Person Name'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
FLDCAT-FIELDNAME = 'AUDAT'.
FLDCAT-SELTEXT_M = 'Document Date'.
FLDCAT-COL_POS = 3.
FLDCAT-EMPHASIZE = 'C110'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
FLDCAT-FIELDNAME = 'POSNR'.
FLDCAT-SELTEXT_L = 'Sales Document item'.
FLDCAT-COL_POS = 4.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
FLDCAT-FIELDNAME = 'MATNR'.
FLDCAT-SELTEXT_L = 'Material Number.
FLDCAT-COL_POS = 5.
FLDCAT-OUTPUTLEN = 60.
FLDCAT-DO_SUM = 'X'.
FLDCAT-DATATYPE = 'CURR'.
APPEND FLDCAT TO FLDCAT.
CLEAR FLDCAT.
ENDFORM.
Build Layout for ALV Grid Report
FORM BLD_LAYOUT.
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
ENDFORM.
Display report using ALV grid
FORM DISPLAY_ALV_REPORT.
DATA T_EVENT TYPE SLIS_T_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = T_EVENT.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
IS_LAYOUT = GD_LAYOUT
I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'
IT_FIELDCAT = FLDCAT[]
I_SAVE = 'X'
TABLES
T_OUTTAB = IT_VBAK
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.
ENDFORM.
Retrieve data from VBAK table and populate itab IT_VBAK
FORM DATA_RETRIEVAL.
DATA LD_COLOR(1) TYPE C.
SELECT KVBELN KERDAT KERNAM KAUDAT PPOSNR PMATNR FROM VBAK AS K INNER JOIN VBAP AS P
ON KVBELN = PVBELN
INTO TABLE IT_VBAK.
LOOP AT IT_VBAK INTO WA_VBAK.
LD_COLOR = LD_COLOR + 1.
IF LD_COLOR = 8.
LD_COLOR = 1.
ENDIF.
CONCATENATE 'C' LD_COLOR '10' INTO WA_VBAK-LINE_COLOR.
MODIFY IT_VBAK FROM WA_VBAK.
ENDLOOP.
ENDFORM.
FORM TOP_OF_PAGE.
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
W_HEADER TYPE SLIS_LISTHEADER.
W_HEADER-TYP = 'H'.
W_HEADER-INFO = 'WELCOME HEADER LIST'.
APPEND W_HEADER TO T_HEADER.
W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'REPORT:'.
W_HEADER-INFO = SY-REPID.
APPEND W_HEADER TO T_HEADER.
W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'DATE:'.
CONCATENATE SY-DATUM4(2) ' / ' SY-DATUM6(2) ' / ' SY-DATUM(4) INTO W_HEADER-INFO.
APPEND W_HEADER TO T_HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.
FORM TOP_OF_PAGE_SPLIT USING R_TOP TYPE REF TO CL_DD_DOCUMENT.
DATA: S_TAB TYPE SDYDO_TEXT_TABLE,
C_AREA TYPE REF TO CL_DD_AREA,
TEXT TYPE SDYDO_TEXT_ELEMENT.
DATA: BEGIN OF TAB_TEXT OCCURS 0,
TEXT TYPE SDYDO_TEXT_ELEMENT,
END OF TAB_TEXT.
CALL METHOD R_TOP->INITIALIZE_DOCUMENT.
CALL METHOD R_TOP->VERTICAL_SPLIT
EXPORTING
SPLIT_AREA = R_TOP
SPLIT_WIDTH = '70%'
IMPORTING
RIGHT_AREA = C_AREA.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
TAB_TEXT-TEXT = 'GEMS TECHNO SOLUTIONS PVT LIMITED'.
APPEND TAB_TEXT.
TAB_TEXT-TEXT = 'PLOT NO.100,SECTOR 1'.
APPEND TAB_TEXT.
TAB_TEXT-TEXT = 'MVP DOUBLE ROAD'.
APPEND TAB_TEXT.
TAB_TEXT-TEXT = 'MVP COLONY,VIZAG'.
APPEND TAB_TEXT.
S_TAB[] = TAB_TEXT[].
CALL METHOD C_AREA->ADD_TEXT
EXPORTING
TEXT_TABLE = S_TAB
FIX_LINES = 'X'
SAP_FONTSIZE = CL_DD_DOCUMENT=>MEDIUM
SAP_EMPHASIS = CL_DD_DOCUMENT=>STRONG.
TEXT = 'REPORT:'.
CALL METHOD R_TOP->ADD_TEXT
EXPORTING
TEXT = TEXT
SAP_EMPHASIS = 'STRONG'.
CALL METHOD R_TOP->ADD_GAP
EXPORTING
WIDTH = 2.
TEXT = SY-REPID.
CALL METHOD R_TOP->ADD_TEXT
EXPORTING
TEXT = TEXT
SAP_STYLE = 'KEY'.
CALL METHOD R_TOP->NEW_LINE.
TEXT = 'DATE:'.
CALL METHOD R_TOP->ADD_TEXT
EXPORTING
TEXT = TEXT
SAP_EMPHASIS = 'STRONG'.
CALL METHOD R_TOP->ADD_GAP
EXPORTING
WIDTH = 8.
TEXT = SY-DATUM.
CALL METHOD R_TOP->ADD_TEXT
EXPORTING
TEXT = TEXT
SAP_STYLE = 'KEY'.
CALL METHOD R_TOP->NEW_LINE.
ENDFORM.
‎2007 Nov 01 10:16 AM
HI,
use the attributes.
wa_field_cat-col_pos = '<column number>'.
wa_field_cat-fieldname = 'QTYRQ'.
*wa_field_cat-tabname = 'int_comp_out2'.
*wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-datatype = '<data type of field>'.
wa_field_cat-intlen = '<length of the field>'.
wa_field_cat-seltext_m = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
CLEAR wa_field_cat.
rgds,
bharat.
‎2007 Nov 01 10:17 AM
wa_field_cat-fieldname = 'QTYRQ'.
*wa_field_cat-tabname = 'int_comp_out2'.
*wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-coltext = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
CLEAR wa_field_cat.
regards
shiba dutta
‎2007 Nov 01 10:38 AM
wa_field_cat-col_pos = <column position>
wa_field_cat-fieldname = 'QTYRQ'.
wa_field_cat-tabname = 'int_comp_out2'. " change the tabname into caps
wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-seltext = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
CLEAR wa_field_cat. " code this line before col_pos .
TRY THIS ONE AND CHECK WORKS OR NOT ..
CLEAR wa_field_cat.
wa_field_cat-col_pos = <column position>
wa_field_cat-fieldname = 'QTYRQ'.
wa_field_cat-tabname = 'INT_COMP_OUT2'
wa_field_cat-COLDDICTXT = 'X'.
wa_field_cat-seltext = 'QTYREQ'.
APPEND wa_field_cat TO gs_field_cat3.
THANX