on 2023 Oct 05 1:48 PM
Hello friends
I have two Questions:
I want to create an alv report that has the ability to add an editable row and the output of this alv is supposed to be displayed in iw42 under the save button.
1) How can i add this screen to tcode iw42?
I selected fields from MARA to display in the alv output that these fields should not be editable, but the user should be able to add a new row to the alv so that all its cells are editable. I used REUSE_ALV_GRID_DISPLAY module function.
2) How can i add new editable row to this ALV?
You can see my code below:
DATA: IT_SPFLI TYPE TABLE OF MARA,
WA_SPFLI TYPE MARA.
DATA: IT_SPFLICP TYPE STANDARD TABLE OF MARA,
IT_CHANGES TYPE STANDARD TABLE OF MARA.
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT * FROM MARA INTO TABLE IT_SPFLI.
DATA : LV_INDEX TYPE INT1.
LV_INDEX = 0.
WA_FIELDCAT-FIELDNAME = 'FLAG'.
WA_FIELDCAT-SELTEXT_M = 'CHECK'.
WA_FIELDCAT-INPUT = 'X'.
* WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-EDIT = 'X'.
WA_FIELDCAT-checkbox = 'X'.
WA_FIELDCAT-COL_POS = 1.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-SELTEXT_M = 'MATNR'.
* WA_FIELDCAT-INPUT = 'X'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-JUST = 'C'.
* WA_FIELDCAT-EDIT = 'X'.
* WA_FIELDCAT-checkbox = 'X'.
WA_FIELDCAT-COL_POS = 2.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'VPSTA'.
WA_FIELDCAT-SELTEXT_M = 'VPSTA'.
* WA_FIELDCAT-INPUT = 'X'.
WA_FIELDCAT-OUTPUTLEN = 10.
* WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-JUST = 'C'.
* WA_FIELDCAT-EDIT = 'X'.
* WA_FIELDCAT-checkbox = 'X'.
WA_FIELDCAT-COL_POS = 3.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
IT_SPFLICP[] = IT_SPFLI[].
LS_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND '
IS_LAYOUT = LS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
t_outtab = IT_SPFLI
.
FORM PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD'.
ENDFORM.
FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM
P_SELFIELD TYPE SLIS_SELFIELD.
CASE P_UCOMM.
WHEN 'DATA_SAVE'.
PERFORM F_SAVE_DATA.
WHEN 'ADD'.
APPEND WA_SPFLI TO IT_SPFLI .
ENDCASE.
ENDFORM.
FORM F_SAVE_DATA.
DATA: WA_SPFLICP TYPE MARA,
WA_SPFLICP_TMP TYPE MARA.
CLEAR IT_CHANGES[].
LOOP AT IT_SPFLI INTO WA_SPFLI.
READ TABLE IT_SPFLICP INTO WA_SPFLICP INDEX SY-TABIX.
IF WA_SPFLICP NE WA_SPFLI.
APPEND WA_SPFLI TO IT_CHANGES.
MOVE-CORRESPONDING WA_SPFLI TO WA_SPFLICP_TMP.
MODIFY MARA FROM WA_SPFLICP_TMP.
ENDIF.
CLEAR WA_SPFLICP.
ENDLOOP.
ENDFORM.
Request clarification before answering.
User | Count |
---|---|
8 | |
4 | |
4 | |
3 | |
3 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.