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

deleting selected rows using table control

Former Member
0 Likes
3,741

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,210

Use MODIFY SCREEN.

after delete itab...

3 REPLIES 3
Read only

Former Member
0 Likes
2,211

Use MODIFY SCREEN.

after delete itab...

Read only

Former Member
0 Likes
2,210

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  INPUT

Regards

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

Read only

0 Likes
2,210

null

Edited by: Smokiefog on Dec 1, 2009 8:30 AM

Edited by: Smokiefog on Dec 1, 2009 8:30 AM