You are on page 1of 3

Code listing for: ZPY_DELETE_9031

Description: delete Infotype 15


*&---------------------------------------------------------------------*
*& Report ZPY_DELETE_558C *
*& *
*& Project ANAND SAP IMPLEMENTATION PROJECT *
*&---------------------------------------------------------------------*
*& author : Manish Srivastava *
*& *
*&---------------------------------------------------------------------*

REPORT ZPY_DELETE_9031 .
TABLES: PA9031.

DATA: IT_9031 LIKE PA9031 OCCURS 0 WITH HEADER LINE.

TABLES: PA0001,PA0000.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS:
P_PERNR FOR PA9031-PERNR.
SELECTION-SCREEN END OF BLOCK B1.

DATA: IT_MAIN LIKE PA0001 OCCURS 0 WITH HEADER LINE.


DATA: BEGIN OF IT_MAIN1 OCCURS 0 ,
PERNR LIKE PA0001-PERNR,
END OF IT_MAIN1.

SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MAIN


FROM PA0001 AS A
INNER JOIN PA0000 AS B
ON A~PERNR = B~PERNR.

***WHERE A~WERKS IN P_PERSA .


***
IF P_PERNR IS INITIAL.

CALL FUNCTION 'TH_POPUP'


EXPORTING
CLIENT = SY-MANDT
USER = SY-UNAME
MESSAGE = 'Beware !!! THis Deletes all the Data in
the Related Table'
* MESSAGE_LEN = 0
* CUT_BLANKS = ' '
* EXCEPTIONS
* USER_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.
IF NOT IT_MAIN[] IS INITIAL.
SELECT * FROM PA9031
INTO CORRESPONDING FIELDS OF TABLE IT_9031
FOR ALL ENTRIES IN IT_MAIN
WHERE PERNR = IT_MAIN-PERNR .
ENDIF.
ELSE.
LOOP AT IT_MAIN .
IF IT_MAIN-PERNR IN P_PERNR.
IT_MAIN1-PERNR = IT_MAIN-PERNR.
APPEND IT_MAIN1.
ENDIF.
ENDLOOP.

CALL FUNCTION 'TH_POPUP'


EXPORTING
CLIENT = SY-MANDT
USER = SY-UNAME
MESSAGE = 'Beware !!! This Deletes the Data of the
Selected personnel numbers.'
* MESSAGE_LEN = 0
* CUT_BLANKS = ' '
* EXCEPTIONS
* USER_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.
IF NOT IT_MAIN1[] IS INITIAL.
SELECT * FROM PA9031
INTO CORRESPONDING FIELDS OF TABLE IT_9031
FOR ALL ENTRIES IN IT_MAIN1
WHERE PERNR = IT_MAIN1-PERNR .
ENDIF.

ENDIF.

IF NOT IT_9031[] IS INITIAL.


DELETE PA9031 FROM TABLE IT_9031.
MESSAGE I899(MM) WITH 'Data Has Been Deleted and saved.'.
ENDIF.

*Selection texts
*----------------------------------------------------------
* P_BEGDA Date Of Origin
* P_PERNR Personnel No.
* P_PERSA Personnel Area
* P_WAGE Wage type

*Messages
*----------------------------------------------------------
*
* Message class: MM
*899 & & & &
Extracted by Direct Download Enterprise version 1.2 - E.G.Mellodew. 1998-2004 UK.

You might also like