ABAP-Problem! Hilfe!

Liebe/-r Experte/-in,

ich habe ein ABAP-Problem: beim Starten des Programms erscheint folgende Fehlermeldung:

-> Kein ergebnisrelevantes Profit-Center eingeben (Gruppe PROC_PRCTR)
-> Meldungsnr. ZBR025

Ich glaube die Meldung kommt aus dem Code-Abschnitt:

LOOP AT lt_accit INTO ls_accit.
ld_accit_real = con_x. "there are not only stat. lines
ls_accit-belnr = ls_accit-awref.
IF ls_accit-bukrs p_bukrs.
*------------------ Begin of note 702210 -------------------------------
* first check if customizing of asset master record (transaction
* AOCO) allows cross-company code postings
IF t093c-bkrakt IS INITIAL AND NOT ls_accit-kostl IS INITIAL.
ld_msgv1 = ls_accit-kokrs.
ld_msgv2 = ls_accit-kostl.
ld_msgv3 = ls_accit-bukrs.
* cross-company code postings not allowed
PERFORM message_store USING ‚E‘ ‚KI‘ ‚223‘ ld_msgv1 ld_msgv2
ld_msgv3 c_space.
ld_new_errs = con_x.
flg_err_line_item = con_x.
flg_rwin_error = con_x.
CLEAR: ld_msgv1, ld_msgv2, ld_msgv3.
ENDIF.
*------------------ End of note 702210 ---------------------------------
* The document type to be used for postings in a different
* coco is taken from the BLART entry of the transaction type
* to be used for depr. posting.
*** begin of changes note 890976
* With internal document number range, own document type for
* for cross-company code postings is not necessary. If tabw-blart
* for transaction type 500 is empty, take document type for RAPOST
* from customizing
IF NOT tabw-blart IS INITIAL.
* TABW for transaction type 500 -> maintained in IMG
ls_accit-blart = tabw-blart.
ELSE.
ls_accit-blart = t093c-afblrt.
ENDIF.
PERFORM check_extern USING ls_accit-bukrs
ls_accit-blart
CHANGING ld_externid
ld_new_errs.
IF ld_externid IS INITIAL.
* document type has internal numbers
* document number has to be cleared.
CLEAR ls_accit-belnr.
ENDIF.
*** end of changes note 890976
ENDIF.
ls_accit-sgtxt = ls_acchd-bktxt.
MODIFY lt_accit FROM ls_accit.
* have there any accounting objects been changed?
* ls_acc_objs_new contains the complete set of all acc. obj.
CLEAR ld_num.
MOVE-CORRESPONDING ls_accit TO ls_acc_objs.
DO.
ADD 1 TO ld_num.
ASSIGN COMPONENT ld_num OF STRUCTURE ls_acc_objs TO .
ASSIGN COMPONENT ld_num OF STRUCTURE ls_acc_objs_new TO .
IF sy-subrc 0.
EXIT.
ELSE.
IF IS INITIAL.
= .
ENDIF.
ENDIF.
ENDDO.
* copy the order manually because the names in accit (aufnr) and
* on the asset master data (caufn) are different.
IF ls_acc_objs_new-caufn IS INITIAL.
ls_acc_objs_new-caufn = ls_accit-aufnr.
ENDIF.
* also have to copy manually the project
IF ls_acc_objs_new-ps_psp_pnr2 IS INITIAL.
ls_acc_objs_new-ps_psp_pnr2 = ls_accit-ps_psp_pnr.
ENDIF.

ENDLOOP.

Könnten Sie mir helfen???

Vielen Dank im Voraus!!!

Viele Grüße,

Hallo Nadine_2706,

ich würde erst mal nachschauen, wo die Meldung herkommt:
Transaktion SE91, Nachrichtenklasse ZBR, Nummer 025 und dann einen Verwendungsnachweis durchführen.
Die Codingstelle, die hier angegeben ist, spuckt nämlich eine andere Meldung aus:

PERFORM message_store USING ‚E‘ ‚KI‘ ‚223‘ ld_msgv1

Nachrichtenklasse KI, Nummer 223 (kann man auch mit SE91 nachprüfen).

Viele Grüße

Peter

Hallo Nadine,
was ist das für ein Programm Standard oder Eigenentwicklung? Die Fehlermeldung ist auf jeden Fall kein Standard? die Stelle woher die Meldung kommt ist nicht ersichlich!! Bitte Stelle suchen wo die Meldung entsteht(Verwendungsnachweis). Eine Ferndiagnose ist sehr schwer. Könnte fehledes Customizing(eigen oder Standard) ??? Sorry das ich nicht mehr helfen konnte.

Viele Grüße Wolf-Dieter

Hallo Nadine_2706,
ich denke es ist nicht der Codeabschnitt denn da wird keine Meldung ausgegeben.
Ich kenne das Programm auch nicht aber vielleicht hilft es Ihnen ja wenn Sie sich mal http://help.sap.com/saphelp_afs64/helpdata/de/eb/137…
näher ansehen.
Viele Grüße
Django1956

Hallo Nadine,

aus meiner Sicht liegt hier kein ABAP-Fehler vor, sondern ein Fehler in den Stamm- und Bewegungsdaten.
Bitte sprich die FI-CO-Experten vor Ort an: sie sollen die Profit-Center der Profit-Center-Gruppe PROC_PRCTR überprüfen ob diese dem richtigen Buchungskreis zugeordnet sind, ob da kein Kennzeichen gesetzt (Dummy oder Sperrkennzeiche) usw.
Oder, noch wahrscheinlicher, sollen sie die Belege überprüfen, bei denen die Fehlermeldung ausgegeben wird.
Ich gehe davon aus, dass der Parameter p_bukrs immer gefüllt ist (Muss-Feld). Warum werden dann in die interne Tabelle lt_accit die Belege aus anderen Buchungskreisen selektiert?

IF ls_accit-bukrs p_bukrs.

Auch wenn p_bukrs kein Muss-Feld ist, bitte trotzdem immer füllen!

Viele Grüße

Nicolai

Hallo Nadine,

ich bin mehr im SAP-HR zu Hause. Aber was ich hier so erkennen kann ist, dass es wahrscheinlich nicht die Stelle. Es gibt in Deinem Coding nur eine Stelle mit einer Fehlernachricht:
PERFORM message_store USING ‚E‘ ‚KI‘ ‚223‘ ld_msgv1 ld_msgv2
und dort steht etwas von Fehlernummer 223 und Du hast Fehlernummer 025 beschrieben. Außerdem deutet bei Deiner Fehlermeldung das ZBR auf eine Kundennachrichtenklasse hin.
Ich weiss, das hilft Dir nicht , aber mehr kann ich erstmal nicht sagen.

Viele Grüße
Karsten