Page 1 of 1

BAPI_OPPORTUNITY_CREATEMULTI

PostPosted: Wed Feb 08, 2006 11:07 am
by Mechthild4112
Hallo Ihr Lieben,

der Funktionsbaustein BAPI_OPPORTUNITY_CREATEMULTI wird in einem existierenden Programm, jedoch ohne Produkte, benutzt.

Jetzt soll ich Produkte hinzufügen :-(


Ich habe die Tabellen CUSTOMER_I, SCHEDLIN_I und ITEM wie folgt gefüllt um Sie dann dem BAPI mitzugeben.

lv_handle_i = 100. "Itemhandle
iv_handle = 1. "Headerhandle
lv_log_key = 101.

MOVE: ls_itab-ztest1 TO ls_customer_i-ztest1,
ls_itab-ztest2 TO ls_customer_i-ztest2,
lv_handle_i TO ls_customer_i-ref_handle.
APPEND ls_customer_i TO et_customer_i.

ls_input_fields-ref_handle = iv_handle.
ls_input_fields-ref_guid = iv_task_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-objectname = 'CUSTOMER_I'.
ls_input_fields-logical_key = lv_log_key.
ls_input_fields-fieldname = 'REF_HANDLE'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'ZTEST1'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'ZTEST2'.
APPEND ls_input_fields TO et_input_fields.
CLEAR ls_input_fields.

MOVE: iv_handle TO ls_schedlin-handle,
lv_handle TO ls_schedlin-item_handle,
'100' TO ls_schedlin-quantity.
APPEND ls_schedlin TO et_schedlin.

ls_input_fields-ref_handle = iv_handle.
ls_input_fields-ref_guid = iv_task_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = lv_log_key.
ls_input_fields-objectname = 'SCHEDLIN'.
ls_input_fields-fieldname = 'HANDLE'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'ITEM_HANDLE'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'QUANTITY'.
APPEND ls_input_fields TO et_input_fields.
CLEAR ls_input_fields.

MOVE: iv_handle TO ls_item-header_handle,
lv_handle TO ls_item-handle,
'0000123456' TO ls_item-ordered_prod,
'000010' TO ls_item-number_int,
'000010' TO ls_item-number_ext.


SELECT SINGLE product_guid FROM comm_product
INTO lv_guid_p
WHERE product_id EQ '0000123456'.

ls_item-product = lv_guid_p.
APPEND ls_item TO et_item.

ls_input_fields-ref_handle = iv_handle.
ls_input_fields-ref_guid = iv_task_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = lv_log_key.
ls_input_fields-objectname = 'ORDERADM_I'.
ls_input_fields-fieldname = 'HEADER_HANDLE'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'HANDLE'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'ORDERED_PROD'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'NUMBER_INT'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'NUMBER_EXT'.
APPEND ls_input_fields TO et_input_fields.
ls_input_fields-fieldname = 'PRODUCT'.
APPEND ls_input_fields TO et_input_fields.

Das Ergebnis ist das das Produkt nicht angelegt wurde. Eine vergleichende Verarbeitung mit dem 'CRM_ORDER_MAINTAIN' hat geklappt.

Den Order_Maintain einzubauen würde zu weit gehen.

Es erfolgt keine Fehlermeldungsausgabe, beim Debugging stoße ich immer wieder auf die Handles, kennt jemand, und will es mir mitteilen, die korrekte Handle für die Anlage von Produkten oder den korrekten log_key. Für die Anlage von Partnern ist der Inhalt von log_key im Format '0001' vorzugeben, ich hoffe für die Produkte gibt es was ähnliches einfaches.

liebe grüße
Sanna

BAPI_OPPORTUNITY_CREATEMULTI

PostPosted: Wed Feb 08, 2006 7:14 pm
by Mechthild4112
Hallo nochmal,

habe herausgefunden wie ich das erste Produkt integrieren kann. ABER das Zweite will er nicht :-((


HELP
HELP

Muß ich irgendwo einen Flag setzen um mehrere Produkte in meine Opportunity zu bekommen

Gruß
Sanna

PostPosted: Wed Feb 15, 2006 9:24 am
by Alen3085
Hast du dich eventuell mit den Handles vertan?

Meex