Page 1 of 1

Anwenderstatus zu einem Vorgang via ABAP setzen....

PostPosted: Mon Dec 19, 2005 7:06 pm
by Linnea897
Hallo liebe Forumuser,

ich habe eine Simple Aufgabe, dachte ich. Vorgang XY mit status "offen" soll auf status "geschlossen" gesetzt werden.

ich benutzte zuerst den CRM_ORDER_MAINTAIN und die guten input_fields struktur, sy-subrc war 0 jedoch passierte nichts, commit wurde abgesetzt.

dann kam ich auf den CRM_STATUS_CHANGE_EXTERN, jedoch hier das selbe, ich gebe ihm eine guid + status, bekomme jedoch die meldung status darf nicht gesetzt werden.

Ich setze den Orginalstatus auf inaktiv, und dann einen neuen:

Hier mein code snippet, ich wäre für jede hilfe dankbar:

CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN'
EXPORTING
objnr = ls_orderadm_h
user_status = 'E001'
set_inact = 'X'
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
COMMIT WORK.

CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN'
EXPORTING
objnr = ls_orderadm_h
user_status = 'E003'
set_inact = ' '
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
ENDIF.

Ich bekomme jedoch die Meldung Status not allowed,
wie kann das sein ? Arbeitet man hier im Puffer und das zeug wird nicht verbucht?

Viele Grüße,
Coae

PostPosted: Wed Dec 21, 2005 9:42 am
by Alva1590
Hi,

schau dir mal 'BAPI_ACTIVITYCRM_CREATEMULTI' an, dort kannst du den Status setzen. Nach Ausführung des genannten BAPIs musst du noch 'BAPI_TRANSACTION_COMMIT' ausführen. Dann sollte das funzen!

Gruß,
Ralf

PostPosted: Wed Dec 21, 2005 9:45 am
by Miray1112
...ich bin's nochmal! Lass' mal eine Berechtigungsprüfung laufen! Evtl. fehlt dir da was!

Gruß,
Ralf

P.S. ich meinte natürlich den BAPI 'BAPI_ACTIVITYCRM_CHANGEMULTI'.

BAPI

PostPosted: Wed Dec 21, 2005 10:24 am
by Alva1590
Hi,

erstmal vielen dank für die Antwort. Den BAPI kannt ich noch gar nicht, werde ich mir jetzt mal anschauen.

Ich habe authorizations gecheckt, ist aber kein problem, also sie sind alle vorhanden.

Ich habe den CRM_STATUS_CHANGE genommen, ist zwar kritisch wenn man nicht vorher alle prüfungen selbst macht aber funktioniert auch wunderbar :)

danke dir und merry xmas,
cheers
Coae

Re: BAPI

PostPosted: Wed Dec 21, 2005 11:48 am
by Christopher1784
Hi Coae,

ich kenn mich mit den Funktionen zwar nicht aus, koennte es aber sein, dass es damit etwas zu tun hat, dass du beim setzen des Status auf inaktiv als user_status E001 nimmst und beim setzen auf aktiv den user_status E003 ?

Gruss,
Gwildor