Page 1 of 1

Geschäftspartner-Beziehung anlegen

PostPosted: Thu Jun 14, 2007 10:27 am
by Evelina3479
Hallo zusammen!
Erstmal vorweg, ich weiss nicht ob ich hier im richtigen Unterfourm bin...wenn nicht, einfach verschieben bitte! :oops:

Zu meinem Problem:
Ich habe eine Schleife gebastelt, die nach und nach die selektierten Partner abarbeitet und zu jedem Partner eine neue Beziehung anlegen soll. Dafür habe ich den FB "BUPR_RELATIONSHIP_CREATE" verwendet. Da ja die Daten in die Datenbank geschrieben werden müssen, muss man dies mit einem "COMMIT WORK" machen. Jedoch kann ich das "COMMIT WORK" nur einmal pro Programmaufruf ausführen...leider reicht das nicht, da ich etwa 6000 Partner anlegen muss, und er bei ca. 2000 Partnern dumpt. Es wäre also schön, wenn ich immer ca. 1500 Datensätze aufs Mal mit dem Commit updaten könnte...
Meine Frage: Gibt es einen FB, der das Ganze wieder initialisiert? Bei den Vorgängen wäre das ja der FB "CRM_ORDER_INITIALIZE".

Danke für eure Hilfe, ich hoffe ich hab mich verständlich ausgedrückt :D

cu

PostPosted: Thu Jun 14, 2007 1:32 pm
by Evelina3479
Kommt schon Leute! Nur nicht so schüchtern^^
Weiss wirklich niemand etwas?

BAPI_TRANSACTION_COMMIT

PostPosted: Tue Dec 11, 2007 3:47 pm
by Joseline3764
Hallo

Wir haben just das gleiche problem gehabt - du wirst es schon gelöst haben, denke ich:

Es geht anstelle von COMMIT WORK mit 'BAPI_TRANSACTION_COMMIT'.

Mit Gruss Peter

* Beziehung nicht vorhanden=>anlegen
CALL FUNCTION 'BUPR_RELATIONSHIP_CREATE'
EXPORTING
iv_partner_1 = ls_dest_part-partner
iv_partner_2 = ls_dest_part-excl_partner
iv_relationship = pa_relt
TABLES
et_return = lt_return.

LOOP AT lt_return INTO ls_return
WHERE type = 'E' OR type = 'A'.
IF sy-tabix = 1.
WRITE:/ text-005, ls_dest_part-partner, ls_dest_part-excl_partner.
ENDIF.

WRITE:/ ls_return-message.
lv_error = 'X'.
ENDLOOP.

IF lv_error = 'X'.
WRITE:/ sy-uline.
CLEAR lv_error.
ENDIF.

lv_clines = lv_clines + 1.
ENDIF.

IF lv_clines >= pa_size.
*.... Commit work
* COMMIT WORK.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.

lv_all_bp = lv_all_bp + lv_clines.
lv_clines = 0.
ENDIF.

FREE lt_return.