2007 Jun 07 11:28 AM
Hello everyone,
I have 3 issues regarding OO abap ALV.
1) I am unable to display text (shot text, medium text,long text) when i amdispalying the alv even though i populated the fieldcatalog for the same.
2)PF-status of my alv grid. I have sub-scrren underneeth iam calling grid (after entry into selection-screen). Its outputting standard status with all the buttons. I like to just out put my own buttons.
3) how to make only certain fileds editable for a row after selecting particular row and pressing the edit button.
I am pasting the code i have written. Suggest the changes please.
REPORT zpp_lotsize_calc_temp.
*Tables
TABLES: zpp_lotsize_calc .
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'ZPP_LOTSIZE_CALC',
g_grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gt_fieldcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
g_max TYPE i VALUE 100.
DATA: gt_outtab TYPE TABLE OF zpp_lotsize_calc.
*DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: wa_fieldcat TYPE lvc_s_fcat,
fieldcatalog TYPE lvc_t_fcat.
SELECTION-SCREEN BEGIN OF SCREEN 0090 AS SUBSCREEN.
SELECT-OPTIONS : s_werks FOR zpp_lotsize_calc-werks,
s_matnr FOR zpp_lotsize_calc-matnr,
s_date FOR zpp_lotsize_calc-datef.
SELECTION-SCREEN END OF SCREEN 0090.
INITIALIZATION.
* gd_repid = sy-repid.
s_date-sign = 'I'.
s_date-option = 'BT'.
s_date-low = ''.
s_date-high = sy-datum.
APPEND s_date.
CALL SCREEN 0900.
*&---------------------------------------------------------------------*
*& Module STATUS_0900 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0900 OUTPUT.
SET PF-STATUS 'ZMADHU'.
* SET TITLEBAR 'xxx'.
CASE sy-ucomm.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " STATUS_0900 OUTPUT
*&---------------------------------------------------------------------*
*& Module user_command_0900 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0900 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.
CREATE OBJECT g_grid
EXPORTING
i_parent = g_custom_container.
gs_layout-edit = 'X'.
SELECT * FROM zpp_lotsize_calc INTO TABLE gt_outtab
WHERE werks IN s_werks AND
matnr IN s_matnr AND
datef IN s_date.
PERFORM build_fieldcatalog.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
* is_variant =
* i_save =
i_default = 'X'
is_layout = gs_layout
* is_print =
* it_special_groups =
* it_toolbar_excluding = GT_TOOLBAR
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = fieldcatalog.
*§2.Use SET_READY_FOR_INPUT to allow editing initially.
* (state "editable and ready for input").
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDIF.
ENDMODULE. " user_command_0900 INPUT
*&---------------------------------------------------------------------*
*& Form build_fieldcatalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
* werks
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext = 'PLANT'.
wa_fieldcat-col_pos = 0.
wa_fieldcat-outputlen = 6.
* wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*MATNR
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext = 'Material'.
wa_fieldcat-col_pos = 1.
* wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*DATEF
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'DATEF'.
wa_fieldcat-seltext = 'Date Valid From'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*DATBT
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'DATBT'.
wa_fieldcat-seltext = 'Date Valid To'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*AUFNR
wa_fieldcat-tabname = 'ZSD_SET_INV'.
wa_fieldcat-fieldname = 'AUFNR'.
wa_fieldcat-seltext = 'Order number'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*ERFMG
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'ERFMG'.
wa_fieldcat-seltext = 'Quantity in unit of entry'.
wa_fieldcat-col_pos = 5.
* wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*VRKME
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'MEINS'.
wa_fieldcat-seltext = 'Base Unit of Measure'.
wa_fieldcat-col_pos = 6.
* fieldcatalog-edit = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
ENDFORM. " build_fieldcatalog
Hello everyone,
I have 3 issues regarding OO abap ALV.
1) I am unable to display text (shot text, medium text,long text) when i amdispalying the alv even though i populated the fieldcatalog for the same.
2)PF-status of my alv grid. I have sub-scrren underneeth iam calling grid (after entry into selection-screen). Its outputting standard status with all the buttons. I like to just out put my own buttons.
3) how to make only certain fileds editable for a row after selecting particular row and pressing the edit button.
I am pasting the code i have written. Suggest the changes please.
REPORT zpp_lotsize_calc_temp.
*Tables
TABLES: zpp_lotsize_calc .
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'ZPP_LOTSIZE_CALC',
g_grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gt_fieldcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
g_max TYPE i VALUE 100.
DATA: gt_outtab TYPE TABLE OF zpp_lotsize_calc.
*DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: wa_fieldcat TYPE lvc_s_fcat,
fieldcatalog TYPE lvc_t_fcat.
SELECTION-SCREEN BEGIN OF SCREEN 0090 AS SUBSCREEN.
SELECT-OPTIONS : s_werks FOR zpp_lotsize_calc-werks,
s_matnr FOR zpp_lotsize_calc-matnr,
s_date FOR zpp_lotsize_calc-datef.
SELECTION-SCREEN END OF SCREEN 0090.
INITIALIZATION.
* gd_repid = sy-repid.
s_date-sign = 'I'.
s_date-option = 'BT'.
s_date-low = ''.
s_date-high = sy-datum.
APPEND s_date.
CALL SCREEN 0900.
*&---------------------------------------------------------------------*
*& Module STATUS_0900 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0900 OUTPUT.
SET PF-STATUS 'ZMADHU'.
* SET TITLEBAR 'xxx'.
CASE sy-ucomm.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " STATUS_0900 OUTPUT
*&---------------------------------------------------------------------*
*& Module user_command_0900 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0900 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.
CREATE OBJECT g_grid
EXPORTING
i_parent = g_custom_container.
gs_layout-edit = 'X'.
SELECT * FROM zpp_lotsize_calc INTO TABLE gt_outtab
WHERE werks IN s_werks AND
matnr IN s_matnr AND
datef IN s_date.
PERFORM build_fieldcatalog.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
* is_variant =
* i_save =
i_default = 'X'
is_layout = gs_layout
* is_print =
* it_special_groups =
* it_toolbar_excluding = GT_TOOLBAR
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = fieldcatalog.
*§2.Use SET_READY_FOR_INPUT to allow editing initially.
* (state "editable and ready for input").
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDIF.
ENDMODULE. " user_command_0900 INPUT
*&---------------------------------------------------------------------*
*& Form build_fieldcatalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
* werks
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext = 'PLANT'.
wa_fieldcat-col_pos = 0.
wa_fieldcat-outputlen = 6.
* wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*MATNR
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext = 'Material'.
wa_fieldcat-col_pos = 1.
* wa_fieldcat-key = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*DATEF
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'DATEF'.
wa_fieldcat-seltext = 'Date Valid From'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*DATBT
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'DATBT'.
wa_fieldcat-seltext = 'Date Valid To'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*AUFNR
wa_fieldcat-tabname = 'ZSD_SET_INV'.
wa_fieldcat-fieldname = 'AUFNR'.
wa_fieldcat-seltext = 'Order number'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*ERFMG
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'ERFMG'.
wa_fieldcat-seltext = 'Quantity in unit of entry'.
wa_fieldcat-col_pos = 5.
* wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
*VRKME
wa_fieldcat-tabname = 'ZPP_LOTSIZE_CALC'.
wa_fieldcat-fieldname = 'MEINS'.
wa_fieldcat-seltext = 'Base Unit of Measure'.
wa_fieldcat-col_pos = 6.
* fieldcatalog-edit = 'X'.
APPEND wa_fieldcat TO fieldcatalog.
CLEAR wa_fieldcat.
ENDFORM. " build_fieldcatalog
2007 Jun 07 11:34 AM
Hi,
Please check the program BCALV_EDIT_02 in the package SLIS,
you can make the cell level editing using the following constants;
CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
Regards,
Sesh
2007 Jun 07 2:49 PM
Thanks Sai,
what about the column txt. How do i get that?
Regards
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |