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

Issue with ALV Display

PS_1978
Active Participant
0 Likes
1,666

Hi,

I have done a report which shows its output in ALV Grid format. In the display I don't want to display the first column of the grid (which is used to select a row). Please suggest me how can i avoid that column.

Regards,

Phani.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,630

Hi,

If your structure is LVC_S_FCAT...

then use field

NO_ROWMARK = 'X'.

and structure is SLIS...

wa_fieldcat-NO_OUT = 'X' for the field you do not wish to display......

Thanks and Regards,

Kunjal Patel

Hi,

I have done a report which shows its output in ALV Grid format. In the display I don't want to display the first column of the grid (which is used to select a row). Please suggest me how can i avoid that column.

Regards,

Phani.

12 REPLIES 12
Read only

Former Member
0 Likes
1,630

If your fieldcatalog is of structure LVC_S_FCAT , then there is an option NO_ROWMARK = 'X'.

wa_fieldcat-NO_ROWMARK = 'X'.

If ur fieldcat is of struture SLIS...

then try this

Add 1 more field to ur itab say BOX(1).

wa_fieldcat-NO_OUT = 'X' for that field

Message was edited by:

Chandrasekhar Jagarlamudi

Read only

Former Member
0 Likes
1,630

Hi,

Check this example

&----


*& Report ZLAXMI_ALVEXER1 *

*& *

&----


PROGRAM TO PRINT THE REPORT IN ALV LIST FORMAT AND GRID FORMAT *

&----


REPORT ZLAXMI_ALVEXER1 MESSAGE-ID ZZ .

&----


*& TABLES DECLARATION *

&----


TABLES:LFA1, LFB1, LFM1.

&----


*& TYPE POOLS DECLARATION *

&----


TYPE-POOLS: SLIS.

&----


*& INTERNAL TABLE DECLARATION *

&----


DATA: BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR, " VENDOR

BUKRS LIKE LFB1-BUKRS, " COMPANY CODE

EKORG LIKE LFM1-EKORG, " PURCHASING ORG

KTOKK LIKE LFA1-KTOKK, " ACCOUNT GROUP

NAME1 LIKE LFA1-NAME1, " VENDOR NAME

STRAS LIKE LFA1-STRAS, " STREET

ORT01 LIKE LFA1-ORT01, " CITY

REGIO LIKE LFA1-REGIO, " REGION

PFORT LIKE LFA1-PFORT, " PO BOX

PSTLZ LIKE LFA1-PSTLZ, " PO CODE

PSTL2 LIKE LFA1-PSTL2, " PO ZIP

TELF1 LIKE LFA1-TELF1, " TELEPHONE

END OF ITAB.

*INTERNAL TABLE FOR FIELD CATALOG

DATA: IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV

WITH HEADER LINE,

*INTERNAL TABLE FOR EVENTS

IT_EVENT TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT,

*INTERNAL TABLE FOR SORTING

IT_SORT TYPE SLIS_T_SORTINFO_ALV,

WA_SORT TYPE SLIS_SORTINFO_ALV,

*INTERNAL TABLE FOR LAYOUT

WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

&----


*& VARIABLE DECLARATION *

&----


DATA : V_REPID TYPE SY-REPID,

V_PAGNO(4) TYPE N,

V_DATE(8) TYPE C.

&----


*& CONSTANTS *

&----


CONSTANTS: C_X TYPE C VALUE 'X'.

&----


*& SELECTION SCREEN *

&----


SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR,

S_BUKRS FOR LFB1-BUKRS,

S_EKORG FOR LFM1-EKORG,

S_KTOKK FOR LFA1-KTOKK.

SELECTION-SCREEN: END OF BLOCK B1.

SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

SELECTION-SCREEN : BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(20) TEXT-003.

PARAMETERS: P_LIST RADIOBUTTON GROUP RAD1 DEFAULT 'X'.

SELECTION-SCREEN : END OF LINE.

SELECTION-SCREEN : BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(20) TEXT-004.

PARAMETERS: P_GRID RADIOBUTTON GROUP RAD1.

SELECTION-SCREEN : END OF LINE.

SELECTION-SCREEN: END OF BLOCK B2.

&----


*& AT SELECTION SCREEN *

&----


AT SELECTION-SCREEN.

PERFORM VALIDATE_SCREEN.

&----


*& START OF SELECTION *

&----


START-OF-SELECTION.

CLEAR: ITAB, ITAB[].

V_REPID = SY-REPID.

PERFORM GET_DATA.

&----


*& END OF SELECTION *

&----


END-OF-SELECTION.

*--DO ALV Process

V_REPID = SY-REPID.

*--Sort the Output Fields

PERFORM SORT_FIELDS.

*--Build Field catalog for the Output fields

PERFORM BUILD_FIELDCAT.

*--Set the Layout for ALV

PERFORM SET_LAYOUT.

&----


*& Form GET_DATA

&----


  • text

----


  • TO GET THE DATA FROM TABLES INTO ITAB

----


FORM GET_DATA .

SELECT

A~LIFNR

B~BUKRS

C~EKORG

A~KTOKK

A~NAME1

A~STRAS

A~ORT01

A~REGIO

A~PFORT

A~PSTLZ

A~PSTL2

A~TELF1

INTO TABLE ITAB

FROM LFA1 AS A JOIN LFB1 AS B

ON ALIFNR = BLIFNR

JOIN LFM1 AS C

ON ALIFNR = CLIFNR

WHERE A~LIFNR IN S_LIFNR AND

B~BUKRS IN S_BUKRS AND

C~EKORG IN S_EKORG AND

A~KTOKK IN S_KTOKK.

ENDFORM. " GET_DATA

&----


*& Form validate_screen

&----


FORM VALIDATE_SCREEN .

DATA: LV_LIFNR LIKE LFA1-LIFNR,

LV_BUKRS LIKE LFB1-BUKRS,

LV_EKORG LIKE LFM1-EKORG,

LV_KTOKK LIKE LFA1-KTOKK.

IF NOT S_LIFNR[] IS INITIAL.

SELECT LIFNR

UP TO 1 ROWS

INTO LV_LIFNR

FROM LFA1

WHERE LIFNR IN S_LIFNR.

ENDSELECT.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH 'Invalid vendor'(005).

ENDIF.

ENDIF.

IF NOT S_BUKRS IS INITIAL.

SELECT BUKRS

UP TO 1 ROWS

INTO LV_BUKRS

FROM T001

WHERE BUKRS IN S_BUKRS.

ENDSELECT.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH 'Invalid company code'(006).

ENDIF.

ENDIF.

IF NOT S_EKORG IS INITIAL.

SELECT EKORG

UP TO 1 ROWS

INTO LV_EKORG

FROM T024E

WHERE EKORG IN S_EKORG.

ENDSELECT.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH 'Invalid purchasing org'(007).

ENDIF.

ENDIF.

IF NOT S_KTOKK IS INITIAL.

SELECT KTOKK

UP TO 1 ROWS

INTO LV_KTOKK

FROM T077K

WHERE KTOKK IN S_KTOKK.

ENDSELECT.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH 'Invalid acct group'(008).

ENDIF.

ENDIF.

ENDFORM. " validate_screen

&----


*& Form sort_fields

&----


FORM SORT_FIELDS .

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'LIFNR'.

WA_SORT-SPOS = '1'.

WA_SORT-UP = 'X'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'BUKRS'.

WA_SORT-SPOS = '2'.

WA_SORT-UP = 'X'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'EKORG'.

WA_SORT-SPOS = '3'.

WA_SORT-UP = 'X'.

APPEND WA_SORT TO IT_SORT.

ENDFORM. " sort_fields

&----


*& Form build_fieldcat

&----


FORM BUILD_FIELDCAT .

IT_FIELDCAT-COL_POS = '1'.

IT_FIELDCAT-FIELDNAME = 'LIFNR'.

IT_FIELDCAT-KEY = 'X'.

IT_FIELDCAT-OUTPUTLEN = '10'.

IT_FIELDCAT-SELTEXT_L = 'VENDOR'(009).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '2'.

IT_FIELDCAT-FIELDNAME = 'BUKRS'.

IT_FIELDCAT-KEY = 'X'.

IT_FIELDCAT-OUTPUTLEN = '4'.

IT_FIELDCAT-SELTEXT_L = 'COMPANY CODE'(010).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '3'.

IT_FIELDCAT-FIELDNAME = 'EKORG'.

IT_FIELDCAT-KEY = 'X'.

IT_FIELDCAT-OUTPUTLEN = '4'.

IT_FIELDCAT-SELTEXT_L = 'PURCHASING ORG'(011).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '4'.

IT_FIELDCAT-FIELDNAME = 'KTOKK'.

IT_FIELDCAT-OUTPUTLEN = '4'.

IT_FIELDCAT-SELTEXT_L = 'ACCOUNT GRP'(012).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '5'.

IT_FIELDCAT-FIELDNAME = 'NAME1'.

IT_FIELDCAT-OUTPUTLEN = '12'.

IT_FIELDCAT-SELTEXT_L = 'VENDOR NAME'(013).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '6'.

IT_FIELDCAT-FIELDNAME = 'STRAS'.

IT_FIELDCAT-OUTPUTLEN = '12'.

IT_FIELDCAT-SELTEXT_L = 'STREET'(014).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '7'.

IT_FIELDCAT-FIELDNAME = 'ORT01'.

IT_FIELDCAT-OUTPUTLEN = '12'.

IT_FIELDCAT-SELTEXT_L = 'CITY'(015).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '8'.

IT_FIELDCAT-FIELDNAME = 'REGIO'.

IT_FIELDCAT-OUTPUTLEN = '2'.

IT_FIELDCAT-SELTEXT_L = 'REGION'(016).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '9'.

IT_FIELDCAT-FIELDNAME = 'PFORT'.

IT_FIELDCAT-OUTPUTLEN = '10'.

IT_FIELDCAT-SELTEXT_L = 'PO BOX'(017).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '10'.

IT_FIELDCAT-FIELDNAME = 'PFTLZ'.

IT_FIELDCAT-OUTPUTLEN = '10'.

IT_FIELDCAT-SELTEXT_L = 'POST CODE'(018).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '11'.

IT_FIELDCAT-FIELDNAME = 'PSTL2'.

IT_FIELDCAT-OUTPUTLEN = '10'.

IT_FIELDCAT-SELTEXT_L = 'PO ZIP'(019).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

IT_FIELDCAT-COL_POS = '12'.

IT_FIELDCAT-FIELDNAME = 'TELF1'.

IT_FIELDCAT-OUTPUTLEN = '16'.

IT_FIELDCAT-SELTEXT_L = 'TELEPHONE'(020).

APPEND IT_FIELDCAT.

CLEAR IT_FIELDCAT.

ENDFORM. " build_fieldcat

&----


*& Form set_layout

&----


FORM SET_LAYOUT .

IF P_LIST = C_X .

WA_LAYOUT-WINDOW_TITLEBAR = 'LIST DISPLAY'(021).

*-- ALV LIST DISPLAY

PERFORM LIST_DISPLAY TABLES ITAB.

*-- ALV GRID DISPLAY

ELSEIF P_GRID = C_X.

WA_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'(022).

PERFORM GRID_DISPLAY TABLES ITAB.

ENDIF.

ENDFORM. " set_layout

&----


*& Form list_display

&----


FORM LIST_DISPLAY TABLES P_ITAB .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT[]

IT_SORT = IT_SORT[]

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.

ENDFORM. " list_display

&----


*& Form GRID_DISPLAY

&----


FORM GRID_DISPLAY TABLES P_ITAB .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT[]

IT_SORT = IT_SORT[]

IT_EVENTS = IT_EVENT

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.

ENDFORM. " GRID_DISPLAY

Hope it helps,

Laxmi.

Read only

Former Member
0 Likes
1,631

Hi,

If your structure is LVC_S_FCAT...

then use field

NO_ROWMARK = 'X'.

and structure is SLIS...

wa_fieldcat-NO_OUT = 'X' for the field you do not wish to display......

Thanks and Regards,

Kunjal Patel

Read only

0 Likes
1,630

Hi,

I have not defined any field for that. But it is coming automatically.

Please have a look at my program for more details.


REPORT  z_xxv_set_delflag_zero_stock MESSAGE-ID zxxxsd.

TYPE-POOLS: slis.

*----------------------------------------------------------------------*
* Global structure declaraion
*----------------------------------------------------------------------*
TYPES:
       BEGIN OF t_mchb,
         matnr LIKE mchb-matnr,             " Material Number
         werks LIKE mchb-werks,             " Plant
         lgort LIKE mchb-lgort,             " Storage Location
         charg LIKE mchb-charg,             " Batch Number
         laeda LIKE mchb-laeda,             " Date of Last Change
       END   OF t_mchb.

*----------------------------------------------------------------------*
* Global table declaraion
*----------------------------------------------------------------------*
DATA: i_mchb TYPE STANDARD TABLE OF t_mchb.

*----------------------------------------------------------------------*
* Global constant declaraion
*----------------------------------------------------------------------*
CONSTANTS: c_x TYPE c VALUE 'X'.

*----------------------------------------------------------------------*
* Global variable declaraion
*----------------------------------------------------------------------*
DATA: v_flag  TYPE c,
      v_matnr LIKE mara-matnr.

*----------------------------------------------------------------------*
* Selection Screen Declaration
*----------------------------------------------------------------------*
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-h01.  " Selection
SELECT-OPTIONS  s_matnr FOR  v_matnr.                 " Material Number
PARAMETERS:     p_werks LIKE t001l-werks OBLIGATORY,  " Plant
                p_lgort LIKE t001l-lgort OBLIGATORY,  " Storage Location
                p_laeda LIKE mchb-laeda  OBLIGATORY.  " Date of Last Change
SELECTION-SCREEN: END   OF BLOCK b1.

*----------------------------------------------------------------------*
* Selection-Screen Validation
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON s_matnr.

  IF NOT s_matnr[] IS INITIAL.
*   Routine to validate material number
    PERFORM f_validate_material TABLES s_matnr.
  ENDIF.

AT SELECTION-SCREEN ON p_werks.

* Routine to validate plant
  PERFORM f_validate_plant USING p_werks.

AT SELECTION-SCREEN ON p_lgort.

* Routine to validate storage location
  PERFORM f_validate_slocation USING p_werks
                                     p_lgort.

START-OF-SELECTION.

* Routine to get data from MCHB
  PERFORM f_get_data   TABLES s_matnr
                              i_mchb
                        USING p_werks
                              p_lgort
                              p_laeda
                     CHANGING v_flag.

  IF NOT v_flag IS INITIAL.
*   No data matches the entered selection criteria
    MESSAGE e001.
  ENDIF.

END-OF-SELECTION.

* Routine to display the data
  PERFORM f_display_data TABLES i_mchb.

*&---------------------------------------------------------------------*
* Subroutines start from here
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  f_validate_material
*&---------------------------------------------------------------------*
* Routine to validate material number
*----------------------------------------------------------------------*
*      -->P_S_MATNR  Select option for material number
*----------------------------------------------------------------------*
FORM f_validate_material  TABLES    p_s_matnr STRUCTURE s_matnr.

* Local variable
  DATA: lv_matnr LIKE mara-matnr.                           "#EC NEEDED

  SELECT matnr
    FROM mara
    INTO lv_matnr
      UP TO 1 ROWS
   WHERE matnr IN p_s_matnr.
  ENDSELECT.

  IF sy-subrc NE 0.
    MESSAGE e034.       " Enter a valid material.
  ENDIF.

  CLEAR: lv_matnr.
ENDFORM.                    " f_validate_material

*&---------------------------------------------------------------------*
*&      Form  f_validate_plant
*&---------------------------------------------------------------------*
* Routine to validate plant
*----------------------------------------------------------------------*
*      -->P_P_WERKS  Parameter for plant
*----------------------------------------------------------------------*
FORM f_validate_plant  USING    p_p_werks LIKE t001w-werks.

* Local variable
  DATA: lv_werks LIKE t001w-werks.

  SELECT SINGLE werks
    INTO lv_werks BYPASSING BUFFER
    FROM t001w
   WHERE werks EQ p_p_werks.

  IF sy-subrc NE 0.
*   Plant & is not valid. Enter a valid plant.
    MESSAGE e035 WITH p_p_werks.
  ENDIF.
  CLEAR: lv_werks.
ENDFORM.                    " f_validate_plant
*&---------------------------------------------------------------------*
*&      Form  f_validate_slocation
*&---------------------------------------------------------------------*
* Routine to validate storage location
*----------------------------------------------------------------------*
*      -->P_P_WERKS  Parameter for plant
*      -->P_P_LGORT  Parameter for storage location
*----------------------------------------------------------------------*
FORM f_validate_slocation  USING    p_p_werks LIKE t001w-werks
                                    p_p_lgort LIKE t001l-lgort.

* Local variable
  DATA: lv_lgort LIKE t001l-lgort.

  SELECT SINGLE lgort
    INTO lv_lgort
    FROM t001l BYPASSING BUFFER
   WHERE werks EQ p_p_werks
     AND lgort EQ p_p_lgort.

  IF sy-subrc NE 0.
*   Storage Location & is not valid for plant &.
*   Enter a valid storage locaiton.
    MESSAGE e036 WITH p_p_lgort p_p_werks text-m01.
  ENDIF.
  CLEAR: lv_lgort.
ENDFORM.                    " f_validate_slocation

*&---------------------------------------------------------------------*
*&      Form  f_get_data
*&---------------------------------------------------------------------*
* Routine to get data from MCHB
*----------------------------------------------------------------------*
*      -->P_S_MATNR  Select option for material number
*      -->P_I_MCHB   Internal table for batch details
*      -->P_P_WERKS  Parameter for plant
*      -->P_P_LGORT  Parameter for storage location
*      -->P_P_LAEDA  Parameter for last change date
*      <--P_V_FLAG   Flag to check data existence
*----------------------------------------------------------------------*
FORM f_get_data  TABLES   p_s_matnr STRUCTURE s_matnr
                          p_i_mchb  LIKE      i_mchb
                  USING   p_p_werks LIKE      t001w-werks
                          p_p_lgort LIKE      t001l-lgort
                          p_p_laeda LIKE      mchb-laeda
                 CHANGING p_v_flag  TYPE      c.

* Selects batch data from MCHB and MCHA
  SELECT a~matnr  a~werks  a~lgort  a~charg
    FROM mchb AS a INNER JOIN mcha AS b
      ON a~matnr EQ b~matnr
     AND a~werks EQ b~werks
     AND a~charg EQ b~charg
     INTO TABLE p_i_mchb
   WHERE a~matnr IN p_s_matnr
     AND a~werks EQ p_p_werks
     AND a~lgort EQ p_p_lgort
     AND a~laeda LE p_p_laeda
     AND a~clabs EQ space
     AND a~cumlm EQ space
     AND a~cinsm EQ space
     AND a~ceinm EQ space
     AND a~cspem EQ space
     AND a~cretm EQ space
     AND a~cvmla EQ space
     AND a~cvmum EQ space
     AND a~cvmin EQ space
     AND a~cvmei EQ space
     AND a~cvmsp EQ space
     AND a~cvmre EQ space
     AND b~lvorm EQ space.

  IF sy-subrc NE 0.
    p_v_flag = c_x.
  ELSE.
    SORT p_i_mchb BY matnr.
  ENDIF.

ENDFORM.                    " f_get_data
*&---------------------------------------------------------------------*
*&      Form  f_display_data
*&---------------------------------------------------------------------*
* Routine to display data
*----------------------------------------------------------------------*
*      -->P_I_MCHB  Internal table for batch details
*----------------------------------------------------------------------*
FORM f_display_data  TABLES   p_i_mchb LIKE i_mchb.

* Local Variables
  DATA: lv_user_comm TYPE slis_formname VALUE 'USER_COMMAND',
        lv_pf_status TYPE slis_formname VALUE 'SET_PF_STATUS'.

* Local Workareas
  DATA: lwa_layout TYPE slis_layout_alv.

* Local Internal tables
  DATA: li_fieldcat TYPE slis_t_fieldcat_alv.

  REFRESH li_fieldcat.
  CLEAR: lv_user_comm,  lwa_layout.

* Routine to prepare field catalog
  PERFORM f_prepare_fieldcat: TABLES li_fieldcat               " CB  " Editable
                               USING 1 'WERKS' 'WERKS' 'T001W' space space,
                              TABLES li_fieldcat
                               USING 2 'LGORT' 'LGORT' 'T001L' space space,
                              TABLES li_fieldcat
                               USING 3 'LAEDA' 'LAEDA' 'MCHB' space space,
                              TABLES li_fieldcat
                               USING 4 'MATNR' 'MATNR' 'MARA' space space,
                              TABLES li_fieldcat
                               USING 5 'CHARG' 'CHARG' 'MCHB' space space,
                              TABLES li_fieldcat
                               USING 6 'LVORM' 'LVORM' 'MCHB' c_x   c_x.

  lwa_layout-zebra = c_x.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = sy-repid
      it_fieldcat              = li_fieldcat
      is_layout                = lwa_layout
*      it_sort                  = t_sort
      i_callback_pf_status_set = lv_pf_status
*      i_callback_user_command  = w_comm
*      i_save                   = 'X'
*      it_events                = t_event
*      i_grid_title             = w_title
    TABLES
      t_outtab                 = p_i_mchb
    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.                    " f_display_data
*&---------------------------------------------------------------------*
*&      Form  f_prepare_fieldcat
*&---------------------------------------------------------------------*
* Routine to prepare field catalog
*----------------------------------------------------------------------*
*      -->P_LI_FIELDCAT     Internal table for field catalog
*      -->P_COLPOS          Variable for column position
*      -->P_FIELDNAME       Variable for fieldd name
*      -->P_REF_FIELDNAME   Variable for reference field name
*      -->P_REF_TABNAME     Variable for reference table name
*      -->P_CHECKBOX        Variable to check whether the field to be
*                           displayed is a check box or not
*      -->P_EDIT            Variable to decide whether the field to be
*                           displayed should be in editable mode or not
*----------------------------------------------------------------------*
FORM f_prepare_fieldcat  TABLES   p_li_fieldcat TYPE slis_t_fieldcat_alv
                          USING   p_colpos
                                  p_fieldname
                                  p_ref_fieldname
                                  p_ref_tabname
                                  p_checkbox
                                  p_edit.

* Local work area
  DATA: lwa_fieldcat TYPE slis_fieldcat_alv.

* General settings
  lwa_fieldcat-fieldname     = p_fieldname.
  lwa_fieldcat-col_pos       = p_colpos.
  lwa_fieldcat-checkbox      = p_checkbox.
  lwa_fieldcat-ref_fieldname = p_ref_fieldname.
  lwa_fieldcat-ref_tabname   = p_ref_tabname.

* Set as editable or not.
  IF p_edit IS NOT INITIAL.
    lwa_fieldcat-input       = c_x.
    lwa_fieldcat-edit        = c_x.
  ENDIF.

  APPEND lwa_fieldcat TO p_li_fieldcat.
  CLEAR: lwa_fieldcat.

ENDFORM.                    " f_prepare_fieldcat

*&---------------------------------------------------------------------*
*&      Form  f_prepare_fieldcat
*&---------------------------------------------------------------------*
* Routine to set PF-Status
*----------------------------------------------------------------------*
*      -->rt_extab Table for excluding status
*----------------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.

* Local variable
  DATA: lv_pf_status(18) TYPE c VALUE 'ZSTATUS_ZERO_STOCK'.

  SET PF-STATUS lv_pf_status.

ENDFORM. "set_pf_status

Best Regards,

Phani

Read only

0 Likes
1,630

my suggestion is use FM 'REUSE_ALV_GRID_DISPLAY_LVC' and for that the fieldcatalog is LVC_S_FCAT , then you can use

wa_fieldcat-NO_ROWMARK = 'X'.

Read only

Former Member
0 Likes
1,630

Hi,

for this requirement you can simple remove the first column being appended to the fieldcatalog.

or else....

add property...

FIELDCAT-NO_OUT = 'X'.

in the first column's fieldcatalog [population.

<b>Reward Poitns if useful,</b>

Regards,

Tejas

Read only

0 Likes
1,630

Hi Tejas,

If i see the fieldcatalog in debug mode, no extra column has been added to it. Only the required fields are there in the field catalog. I think its the problem with layout.

Regards,

Phani.

Read only

0 Likes
1,630

This is coming as you are making the rows editable.

As ALV need a place to trigger the selection event so it is automatcally putting the block for that selection to provide you editable facility.

If you want to check just comment this line in your code -

LWA_FIELDCAT-EDIT = C_X.

Regards,

Amit

Read only

0 Likes
1,630

S Amit,

You are correct. But it is making the check box to Non-Editable mode.

Is there any way to make the check box to Editable mode and make the block invisible or no-display?

Thanks & Best Regards,

Phani.

Read only

0 Likes
1,630

On a screen everything changes on the trigger of an event.

You can do that but what will be the trigger you have to decide that first.

Since on that trigger only you can make it editable or non-editable.

This will require recalling of the REUSE functionmodule with different fieldcatalog everytime.

But a very tedious and messy job to do so.

Regards,

Amit

Read only

Former Member
0 Likes
1,630

Hi..

Dont use this in ur fieldcat structure..

WA_FIELDCAT-EDIT = 'X'.

Regards

bala..

Read only

Former Member
0 Likes
1,630

just check in layout any box_fieldname is defined or not if it is so just comment that and check.

ilayout-box_fieldname = 'BOX'. just comment that ype of line in your prog.

regards

shiba dutta