Anwenderstatus zu einem Vorgang via ABAP setzen....
Posted: Mon Dec 19, 2005 7:06 pm
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
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