Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV Grid

Former Member
0 Likes
791

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
761
   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.

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

5 REPLIES 5
Read only

Former Member
0 Likes
761

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.

Read only

Former Member
0 Likes
762
   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.

Read only

andreas_mann3
Active Contributor
0 Likes
761

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

Read only

Former Member
0 Likes
761

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>

Read only

jayanthi_jayaraman
Active Contributor
0 Likes
761

Hi,

Create a structure in SE11 and pass in the Function module you are using.