2005 Dec 14 8:33 AM
hi friends,
like this i am displaying 30 columns in the ALV Grid.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-FIELDNAME = 'MVGR2'.
WA_FIELDCAT-seltext_l = 'Prod. Mgr.'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-FIELDNAME = 'BEZEI'.
WA_FIELDCAT-seltext_l = 'Prod. Mgr. Desc.'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
.
.
.
can any one suggest to avoid 30 times like this. i need a subroutine to call this 30 times.
adavance thanks
regards
KBS REDDY
2005 Dec 14 8:40 AM
PERFORM POPULATE_FIELD_CATALOG USING 'LOCK' 'IT_DISPLAY'
TEXT-007 'X' 'M'
2 '' ''
CHANGING L_POS.FORM POPULATE_FIELD_CATALOG USING FIELD LIKE IT_FIELDCAT_DATA-FIELDNAME
TNAME LIKE IT_FIELDCAT_DATA-TABNAME
SEL_M LIKE IT_FIELDCAT_DATA-SELTEXT_M
FIX LIKE IT_FIELDCAT_DATA-FIX_COLUMN
DTXT LIKE IT_FIELDCAT_DATA-DDICTXT
O_LEN LIKE IT_FIELDCAT_DATA-OUTPUTLEN
COLOR LIKE IT_FIELDCAT_DATA-EMPHASIZE
N_ZERO LIKE IT_FIELDCAT_DATA-NO_ZERO
CHANGING P_POS. IT_FIELDCAT_DATA-FIELDNAME = FIELD.
IT_FIELDCAT_DATA-TABNAME = TNAME.
IT_FIELDCAT_DATA-SELTEXT_M = SEL_M.
IT_FIELDCAT_DATA-FIX_COLUMN = FIX.
IT_FIELDCAT_DATA-DDICTXT = DTXT.
IT_FIELDCAT_DATA-OUTPUTLEN = O_LEN.
IT_FIELDCAT_DATA-NO_ZERO = N_ZERO.
IT_FIELDCAT_DATA-EMPHASIZE = COLOR.
IT_FIELDCAT_DATA-COL_POS = P_POS.
* it_fieldcat_data-key = ' '.
APPEND IT_FIELDCAT_DATA.
CLEAR IT_FIELDCAT_DATA.ENDFORM.
PERFORM POPULATE_FIELD_CATALOG USING 'LOCK' 'IT_DISPLAY'
TEXT-007 'X' 'M'
2 '' ''
CHANGING L_POS.FORM POPULATE_FIELD_CATALOG USING FIELD LIKE IT_FIELDCAT_DATA-FIELDNAME
TNAME LIKE IT_FIELDCAT_DATA-TABNAME
SEL_M LIKE IT_FIELDCAT_DATA-SELTEXT_M
FIX LIKE IT_FIELDCAT_DATA-FIX_COLUMN
DTXT LIKE IT_FIELDCAT_DATA-DDICTXT
O_LEN LIKE IT_FIELDCAT_DATA-OUTPUTLEN
COLOR LIKE IT_FIELDCAT_DATA-EMPHASIZE
N_ZERO LIKE IT_FIELDCAT_DATA-NO_ZERO
CHANGING P_POS. IT_FIELDCAT_DATA-FIELDNAME = FIELD.
IT_FIELDCAT_DATA-TABNAME = TNAME.
IT_FIELDCAT_DATA-SELTEXT_M = SEL_M.
IT_FIELDCAT_DATA-FIX_COLUMN = FIX.
IT_FIELDCAT_DATA-DDICTXT = DTXT.
IT_FIELDCAT_DATA-OUTPUTLEN = O_LEN.
IT_FIELDCAT_DATA-NO_ZERO = N_ZERO.
IT_FIELDCAT_DATA-EMPHASIZE = COLOR.
IT_FIELDCAT_DATA-COL_POS = P_POS.
* it_fieldcat_data-key = ' '.
APPEND IT_FIELDCAT_DATA.
CLEAR IT_FIELDCAT_DATA.ENDFORM.
2005 Dec 14 8:37 AM
Hi,
Look at this sample code...
refresh gt_fieldcat.
perform gt_fieldcat_fill using
'OBJNR' 1 'Object number' 'Obj #' 'Object no'
'OBJNR' 'COSP' 20.
perform gt_fieldcat_fill using
'GJAHR' 2 'Fiscal year' 'Year' 'Fiscal year'
'GJAHR' 'COSP' 5.
&----
*& Form gt_fieldcat_fill
&----
form gt_fieldcat_fill using value(p_fieldname)
value(p_col_pos)
value(p_seltext_l)
value(p_seltext_s)
value(p_seltext_m)
value(p_ref_fieldname)
value(p_ref_tabname)
value(p_outputlen).
clear gt_fieldcat.
gt_fieldcat-fieldname = p_fieldname .
gt_fieldcat-col_pos = p_col_pos.
gt_fieldcat-seltext_l = p_seltext_l.
gt_fieldcat-seltext_s = p_seltext_s.
gt_fieldcat-seltext_m = p_seltext_m.
gt_fieldcat-ref_fieldname = p_ref_fieldname.
gt_fieldcat-ref_tabname = p_ref_tabname.
gt_fieldcat-outputlen = p_outputlen.
append gt_fieldcat .
endform. " gt_fieldcat_fill
Thanks.
If this helps u reward with points.
2005 Dec 14 8:40 AM
PERFORM POPULATE_FIELD_CATALOG USING 'LOCK' 'IT_DISPLAY'
TEXT-007 'X' 'M'
2 '' ''
CHANGING L_POS.FORM POPULATE_FIELD_CATALOG USING FIELD LIKE IT_FIELDCAT_DATA-FIELDNAME
TNAME LIKE IT_FIELDCAT_DATA-TABNAME
SEL_M LIKE IT_FIELDCAT_DATA-SELTEXT_M
FIX LIKE IT_FIELDCAT_DATA-FIX_COLUMN
DTXT LIKE IT_FIELDCAT_DATA-DDICTXT
O_LEN LIKE IT_FIELDCAT_DATA-OUTPUTLEN
COLOR LIKE IT_FIELDCAT_DATA-EMPHASIZE
N_ZERO LIKE IT_FIELDCAT_DATA-NO_ZERO
CHANGING P_POS. IT_FIELDCAT_DATA-FIELDNAME = FIELD.
IT_FIELDCAT_DATA-TABNAME = TNAME.
IT_FIELDCAT_DATA-SELTEXT_M = SEL_M.
IT_FIELDCAT_DATA-FIX_COLUMN = FIX.
IT_FIELDCAT_DATA-DDICTXT = DTXT.
IT_FIELDCAT_DATA-OUTPUTLEN = O_LEN.
IT_FIELDCAT_DATA-NO_ZERO = N_ZERO.
IT_FIELDCAT_DATA-EMPHASIZE = COLOR.
IT_FIELDCAT_DATA-COL_POS = P_POS.
* it_fieldcat_data-key = ' '.
APPEND IT_FIELDCAT_DATA.
CLEAR IT_FIELDCAT_DATA.ENDFORM.
2005 Dec 14 8:43 AM
Hi,
define fields of your internal table with like
and use fm REUSE_ALV_FIELDCATALOG_MERGE
-you get back a fieldcatalog and can treat it
but best and simplest solution is to define the fields in a structure with se11 and use prameter I_STRUCTURE_NAME
regards Andreas
Message was edited by: Andreas Mann
2005 Dec 14 8:51 AM
Hello KBS,
You could avoid calling the code 30 times by using an internal table containing the fields you require as i_structure_name, specifing the field texts required as IS_LAYOUT in FM REUSE_ALV_LIST_DISPLAY ar <b>REUSE_ALV_GRID_DISPLAY</b>
2005 Dec 14 9:09 AM
Hi,
Create a structure in SE11 and pass in the Function module you are using.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |