Overblog
Edit post Folge diesem Blog Administration + Create my blog
SAPManDoo - SAP Resource

Der vorliegende Blog enthält von mir im Laufe meiner beruflichen Tätigkeit als SAP-Berater zusammengetragene Informationen / Beispiel-Codings zum Themenkreis SAP, speziell FI/CO.

Massenlöschung von Kostenstellen

Veröffentlicht am 17. März 2016 von sapmandoo in CO

Mithilfe der KS04 lassen sich Kostenstellen löschen. Blöd nur, dass dabei immer nur eine spezifiziert werden kann und man aber z.B. 100 fehlerhaft angelegt (noch nicht bebuchte!) KST löschen will.

Anbei ein kleines Programm, welches sich des BAPIs BAPI_COSTCENTER_DELETEMULTIPLE bedient. Der Baustein durchläuft dabei die gleichen Prüfungen, die auch beim Löschen im Dialog (KS04) ausgeführt werden. Entsprechend lange wird die Laufzeit sein.

REPORT Z_KS04_MEHR_ALS_EINE.
* Löschen von mehreren Kostenstellen
TABLES: CSKS.
DATA: LT_CLIST TYPE TABLE OF BAPI0012_CCDELLIST.
DATA: LT_RETURN TYPE BAPIRET2_TAB.

PARAMETERS: pa_kokrs like csks-kokrs obligatory.
SELECT-OPTIONS: so_kostl for csks-kostl.
* hier ggf. noch weitere Selektionskriterien einfügen...

START-OF-SELECTION.
  SELECT * FROM CSKS INTO CORRESPONDING FIELDS OF TABLE LT_CLIST
     WHERE kokrs = pa_kokrs
     AND kostl in so_kostl.

CALL FUNCTION 'BAPI_COSTCENTER_DELETEMULTIPLE'
    EXPORTING
        controllingarea  = pa_kokrs
        testrun         = 'X'       "TESTLAUF-Kz. raus, wenn's ernst wird
      TABLES
        COSTCENTERLIST       = lt_clist
        return               = lt_return
    EXCEPTIONS
      error_message   = 1.
IF SY-SUBRC <> 0.
  MESSAGE 'Mind. eine KST muckt auf, Details s. Protokoll'.
ENDIF.

* Ausgabe Meldungen
 CALL FUNCTION 'C14ALD_BAPIRET2_SHOW'
    TABLES
      i_bapiret2_tab = lt_return.
Kommentiere diesen Post