‎2008 Jul 29 8:23 AM
Hi all,
here is my coding for deleting selected row.
But it is not working correctly.
I am able to delete seleced row.
Can anyone can help me plz...
CONTROLS rowdeleting TYPE TABLEVIEW USING SCREEN 100.
TABLES zdetails.
data : begin of itab occurs 0,
NAME TYPE ZDETAILS-NAME,
ADDRES TYPE ZDETAILS-ADDRES,
CONTACTNO TYPE ZDETAILS-CONTACTNO,
INIT TYPE C,
end of itab .
DATA OK_CODE LIKE SY-UCOMM.
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'BACK'.
IF ITAB-INIT IS INITIAL.
SELECT NAME ADDRES CONTACTNO FROM ZDETAILS
INTO CORRESPONDING FIELDS OF TABLE ITAB.
DESCRIBE TABLE ITAB LINES rowdeleting-LINES.
ITAB-INIT = 'X'.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
MODULE CHANGE_SDYN_CONN OUTPUT.
READ TABLE itab INTO ZDETAILS INDEX rowdeleting-current_line.
ENDMODULE. " CHANGE_SDYN_CONN OUTPUT
MODULE READ_TABLE_CONTROL INPUT.
IF ITAB-INIT = 'X' AND OK_CODE = 'DELETE'.
DELETE ITAB index rowdeleting-current_line ."FROM ZDETAILS.
DESCRIBE TABLE ITAB LINES rowdeleting-LINES.
ENDIF.
ENDMODULE. " READ_TABLE_CONTROL INPUT
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'DELETE'.
IF ITAB-INIT = 'X' AND OK_code = 'DELETE'.
DELETE ITAB index rowdeleting-current_line .
ENDIF.
ENDCASE.
ENDMODULE.
regards ,
ranjith.
‎2008 Jul 29 8:28 AM
‎2008 Jul 29 8:28 AM
‎2009 Dec 01 6:47 AM
Hello!!!
Try this!!
This works fine..!!
Top Include for definitions:
TABLES: SCARR.
TYPES: BEGIN OF S_TAB,
MANDT TYPE SCARR-MANDT,
CARRID TYPE SCARR-CARRID,
CARRNAME TYPE SCARR-CARRNAME,
CURRCODE TYPE SCARR-CURRCODE,
URL TYPE SCARR-URL,
SEL TYPE C, " This field will be used to delete rows and later transporting back the results to the internal table
END OF s_tab.
DATA: WA TYPE S_TAB,
MYTAB TYPE TABLE OF S_TAB,
OK_CODE TYPE SY-UCOMM,
SEL TYPE C
.
CONTROLS: TC TYPE TABLEVIEW USING SCREEN '6556'.Now create a screen and create your table control. Then there in the Table control in w/ SelColumn write the name WA-SEL (The field to select), Check Multiple Radio Button. Activate.
In the flow Logic
Write:
PROCESS BEFORE OUTPUT.
MODULE STATUS_6556.
LOOP AT MYTAB INTO WA WITH CONTROL TC.
MODULE FETCH_DATA.
ENDLOOP.
*
PROCESS AFTER INPUT.
MODULE NAVIGATE_BACK.
LOOP AT MYTAB.
FIELD WA-SEL MODULE MODIFY_RECORD ON REQUEST.
ENDLOOP.
* FIELD WA-SEL MODULE DELETE_RECORD ON REQUEST.
MODULE USER_COMMAND_6556.Create Respective PBO and PAI Modules
and Write:
*&---------------------------------------------------------------------*
*& Module Pool YTC
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
INCLUDE YTCTOP . " global Data
* INCLUDE YTCO01 . " PBO-Modules
* INCLUDE YTCI01 . " PAI-Modules
* INCLUDE YTCF01 . " FORM-Routines
*&---------------------------------------------------------------------*
*& Module FETCH_DATA OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE FETCH_DATA OUTPUT.
MOVE-CORRESPONDING WA TO SCARR.
ENDMODULE. " FETCH_DATA OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_6556 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_6556 OUTPUT.
SET PF-STATUS 'SCREEN'.
* SET TITLEBAR 'xxx'.
IF MYTAB IS INITIAL.
SELECT * FROM SCARR INTO WA.
WA-SEL = ' '.
APPEND WA TO MYTAB.
ENDSELECT.
ENDIF.
ENDMODULE. " STATUS_6556 OUTPUT
*&---------------------------------------------------------------------*
*& Module NAVIGATE_BACK INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE NAVIGATE_BACK INPUT.
CASE OK_CODE.
WHEN 'BACK' OR 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " NAVIGATE_BACK INPUT
*&---------------------------------------------------------------------*
*& Module MODIFY_RECORD INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE MODIFY_RECORD INPUT.
DATA: W_TABIX TYPE SY-TABIX.
W_TABIX = tc-current_line.
* IF MYTAB IS NOT INITIAL.
* WA-SEL = 'X'.
* ENDIF.
MODIFY MYTAB INDEX W_TABIX FROM WA TRANSPORTING SEL.
ENDMODULE. " MODIFY_RECORD INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_6556 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_6556 INPUT.
CASE OK_CODE.
WHEN 'DELETE'.
LOOP AT MYTAB INTO WA.
IF WA-SEL = 'X'.
DELETE MYTAB INDEX SY-TABIX.
ENDIF.
ENDLOOP.
IF SEL EQ 'X'.
DELETE MYTAB WHERE SEL = 'X'. "LW_TABIX.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_6556 INPUTRegards
Amit
Edited by: Smokiefog on Dec 1, 2009 7:47 AM
Edited by: Smokiefog on Dec 1, 2009 8:28 AM
Edited by: Smokiefog on Dec 1, 2009 8:29 AM
‎2009 Dec 01 7:30 AM
null
Edited by: Smokiefog on Dec 1, 2009 8:30 AM
Edited by: Smokiefog on Dec 1, 2009 8:30 AM