‎2008 Mar 12 4:40 AM
HOW TO SELECT A ROW FROM A SCREEN TABLE CONTROL.THE SCENARIO IS THAT I HAVE TO DELETE A ROW FROM THE TABLE CONTROL SUCH THAT THE RESULT SHOULD B REFLECTED IN THE DATABASE TABLE TO WHICH THE ELEMENTS OF THIS TABLE CONTROL ARE LINKED.I.E A CORRESPONDING ROW FROM DB TABLE SHOULD ALSO BE DELETED.
‎2008 Mar 12 4:44 AM
Hi,
Chk this code..
IN PAI,
Module user command:
WHEN 'DELETE'.
delete1 = '1'.
CALL FUNCTION 'POPUP_TO_CONFIRM' "Function Call For Popup Window - confirmation for deletion
EXPORTING
titlebar = 'DELETION CONFIRMATION'
text_question = 'ARE YOU SURE YOU WANT TO DELETE THE SELECTED RECORD?'
text_button_1 = 'YES'(001)
icon_button_1 = 'ICON_OK'
text_button_2 = 'NO'(002)
icon_button_2 = 'ICON_CANCEL'
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = answer1
EXCEPTIONS
text_not_found = 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.
MODULE DELETE:
WHEN 'DELETE'.
GET CURSOR LINE line1.
IF answer1 = '1'.
IF delete1 = '1'.
IF table1-current_line = line1.
IF wi_zcust-status = 'INACTIVE'.
MESSAGE e024(zbank1msg). "DELIMITED RECORDS CANNOT BE DELETED OR MODIFIED
ENDIF.
CLEAR wi_zcust-status.
wi_zcust-status = 'INACTIVE'.
SELECT * FROM zacc_master2 WHERE customerid = wi_zcust-customerid.
IF sy-subrc = 0.
IF zacc_master2-status = 'INACTIVE'.
MODIFY wi_zcust INDEX table1-current_line.
MODIFY zcust_master2 FROM TABLE wi_zcust.
DISABLE1 = 1.
ELSE.
MESSAGE e023(zbank1msg). "ACCOUNTS EXIST DELETION NOT ALLOWED
ENDIF.
ENDIF.
ENDSELECT.
IF sy-subrc = 0.
MESSAGE s020(zbank1msg). "RECORD DELETED
ELSE.
MESSAGE e021(zbank1msg). "RECORD NOT DELETED
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
Regards,
Arunsri
‎2008 Mar 12 4:42 AM
‎2008 Mar 12 4:44 AM
Hi,
Chk this code..
IN PAI,
Module user command:
WHEN 'DELETE'.
delete1 = '1'.
CALL FUNCTION 'POPUP_TO_CONFIRM' "Function Call For Popup Window - confirmation for deletion
EXPORTING
titlebar = 'DELETION CONFIRMATION'
text_question = 'ARE YOU SURE YOU WANT TO DELETE THE SELECTED RECORD?'
text_button_1 = 'YES'(001)
icon_button_1 = 'ICON_OK'
text_button_2 = 'NO'(002)
icon_button_2 = 'ICON_CANCEL'
default_button = '1'
display_cancel_button = 'X'
IMPORTING
answer = answer1
EXCEPTIONS
text_not_found = 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.
MODULE DELETE:
WHEN 'DELETE'.
GET CURSOR LINE line1.
IF answer1 = '1'.
IF delete1 = '1'.
IF table1-current_line = line1.
IF wi_zcust-status = 'INACTIVE'.
MESSAGE e024(zbank1msg). "DELIMITED RECORDS CANNOT BE DELETED OR MODIFIED
ENDIF.
CLEAR wi_zcust-status.
wi_zcust-status = 'INACTIVE'.
SELECT * FROM zacc_master2 WHERE customerid = wi_zcust-customerid.
IF sy-subrc = 0.
IF zacc_master2-status = 'INACTIVE'.
MODIFY wi_zcust INDEX table1-current_line.
MODIFY zcust_master2 FROM TABLE wi_zcust.
DISABLE1 = 1.
ELSE.
MESSAGE e023(zbank1msg). "ACCOUNTS EXIST DELETION NOT ALLOWED
ENDIF.
ENDIF.
ENDSELECT.
IF sy-subrc = 0.
MESSAGE s020(zbank1msg). "RECORD DELETED
ELSE.
MESSAGE e021(zbank1msg). "RECORD NOT DELETED
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
Regards,
Arunsri