Ver Mensaje Individual
  #3  
Viejo 02/12/09, 19:48:13
Avatar de Edd_401
Edd_401 Edd_401 is offline
Senior Member
 
Fecha de Ingreso: may 2007
Mensajes: 119
CON LA INFORMACION QUE PROPORCIONA ESTA UN POCO DIFICIL . . .

EN FIN TE PASO EL CODIGO DE UNA VEZ QUE UTILICE LA FUNCION . . OJALA Y TE SIRVA


* fill bapi header
ty_bapisdhd1-doc_type = lv_auart.
ty_bapisdhd1-sales_org = ty_data-vkorg.
ty_bapisdhd1-distr_chan = ty_data-vtweg.
ty_bapisdhd1-division = ty_data-spart.
ty_bapisdhd1-purch_no_c = ty_data-final_des.
ty_bapisdhd1-ct_valid_f = ty_data-datab.
ty_bapisdhd1-ct_valid_t = ty_data-datbi.
ty_bapisdhd1-cust_grp4 = space.
ty_bapisdhd1-pp_search = ty_data-promo_des.
ty_bapisdhd1-price_date = sy-datum.
ty_bapisdhd1-ord_reason = lv_augru.

* Fill BAPI Item
CLEAR lv_vrkme.
SELECT SINGLE vrkme
INTO lv_vrkme
FROM mvke
WHERE matnr = ty_data-matnr
AND vkorg = ty_data-vkorg
AND vtweg = ty_data-vtweg.

it_bapisditm-material = ty_data-matnr.
it_bapisditm-itm_number = '000010'.
IF ty_data-contract_qty <= 0.
it_bapisditm-target_qty = 1.
ELSE.
it_bapisditm-target_qty = ty_data-contract_qty.
ENDIF.
it_bapisditm-price_date = sy-datlo.
APPEND it_bapisditm.

it_bapisditmx-itm_number = '000010'.
it_bapisditmx-updateflag = 'I'.
it_bapisditmx-material = 'X'.
it_bapisditmx-target_qty = 'X'.
it_bapisditmx-price_date = 'X'.
APPEND it_bapisditmx.

* FILL BAPI Partners
CLEAR it_bapiparnr.
it_bapiparnr-partn_role = 'AG'.
it_bapiparnr-partn_numb = ty_data-kunnr.
APPEND it_bapiparnr.

CLEAR it_bapiparnr.
it_bapiparnr-partn_role = 'WE'.
it_bapiparnr-partn_numb = ty_data-kunnr.
APPEND it_bapiparnr.

* FILL BAPI extension.
CASE lv_promidtype.
WHEN c_h.
CLEAR: ls_bape_vbak,ls_bape_vbakx.
it_bapiparex-structure = 'BAPE_VBAK'.
ls_bape_vbak-/bay3/hpromid = ty_data-/bay3/promid.
WRITE ls_bape_vbak TO it_bapiparex-valuepart1.
APPEND it_bapiparex.

it_bapiparex-structure = 'BAPE_VBAKX'.
ls_bape_vbakx-/bay3/hpromidx = c_x.
WRITE ls_bape_vbakx TO it_bapiparex-valuepart1.
APPEND it_bapiparex.

WHEN c_i.
CLEAR: ls_bape_vbap,ls_bape_vbapx.
it_bapiparex-structure = 'BAPE_VBAP'.
ls_bape_vbap-/bay3/ipromid = ty_data-/bay3/promid.
WRITE ls_bape_vbap TO it_bapiparex-valuepart1.
APPEND it_bapiparex.

it_bapiparex-structure = 'BAPE_VBAPX'.
ls_bape_vbapx-/bay3/ipromid = c_x.
WRITE ls_bape_vbapx TO it_bapiparex-valuepart1.
APPEND it_bapiparex.

ENDCASE.

CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
sales_header_in = ty_bapisdhd1
sales_header_inx = ty_bapisdhd1x
convert_parvw_auart = c_x
business_object = 'BUS2034'
IMPORTING
salesdocument_ex = v_new_contract
TABLES
return = it_bapiret2
sales_items_in = it_bapisditm
sales_items_inx = it_bapisditmx
sales_partners = it_bapiparnr
extensionin = it_bapiparex.
Responder Con Cita