2007 Mar 29 12:48 PM
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.
2007 Mar 29 12:54 PM
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.
2007 Mar 29 12:50 PM
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
2007 Mar 29 12:53 PM
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.
2007 Mar 29 12:54 PM
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
2007 Mar 29 12:58 PM
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_statusBest Regards,
Phani
2007 Mar 29 1:09 PM
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'.
2007 Mar 29 1:34 PM
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
2007 Mar 29 2:13 PM
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.
2007 Mar 30 8:04 AM
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
2007 Mar 30 8:10 AM
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.
2007 Mar 30 8:34 AM
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
2007 Mar 30 8:33 AM
Hi..
Dont use this in ur fieldcat structure..
WA_FIELDCAT-EDIT = 'X'.
Regards
bala..
2007 Mar 30 9:34 AM
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