Problema con BAPI SD_SALESDOCUMENT_CREATE
Hola, ante todo aclaro que soy principiante.
Estoy llamando a la función SD_SALESDOCUMENT_CREATE con los mismos parámetros que la estoy probando en la SE37. CALL FUNCTION 'SD_SALESDOCUMENT_CREATE' EXPORTING * SALESDOCUMENT = sales_header_in = le_sales_header_in sales_header_inx = le_sales_header_inx * SENDER = * BINARY_RELATIONSHIPTYPE = ' ' * INT_NUMBER_ASSIGNMENT = ' ' * BEHAVE_WHEN_ERROR = ' ' * LOGIC_SWITCH = ' ' * BUSINESS_OBJECT = ' ' testrun = 'X' * CONVERT_PARVW_AUART = ' ' * STATUS_BUFFER_REFRESH = 'X' IMPORTING salesdocument_ex = lv_salesdocument_ex * SALES_HEADER_OUT = * SALES_HEADER_STATUS = TABLES return = lt_return sales_items_in = lt_sales_items_in sales_items_inx = lt_sales_items_inx sales_partners = lt_sales_partners. En la SE37 latabla RETURN me da "procesadas las tas tablas con éxito". En mi programa hasta probé hardcodeando los mismos parámetros de la SE37 y obtengo: la primer tabla procesada con éxito ( SALES_HEADER_IN procesado con éxito ) y luegolos siguiente errores: - Indicar un material o un tipo de posición, SALES_ITEM_IN. - Error en SALES_ITEM_IN 000010. - El doc. de ventas está aún incompleto -> Por favor, completar. - El documento de venta no se modifica. Como puede ser que no reconoce el material cuando le estoy pasando el mismo que en la SE37 ??!! Si le cambio el valor a ese mismo campo (material) me cambia el error por "material inexistente", o sea que lo verifica... no entiendo.. Desde ya muchas gracias por cualquier dato. Saludos.- |
Encontré el problema
Antes de la mencionada función yo recuperaba algunos datos utilizando la BAPI 'BAPISDORDER_GETDETAILEDLIST'. Al dejar de utilizar esta última, empezó a funcionar correctamente la que me interesaba.
Realmente nose que conflicto generan. Saludos! |
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. |
puede ser na rutina de conversion...
Hola, tal vez solo te falte utilizar una rutina de conversion para el material, intenta con esta
CONVERSION_EXIT_MATN1_RANGE_I Saludos. |
Problema con BAPI SD_SALESDOCUMENT_CREATE
Hola Buenas Tardes,
Estoy teniendo problemas al igual que tú... a mi da error al momento de procesar las condiciones... el error que me da es: "Falta la condición PB00 en el esquema de cálculo A V" Paso todos los parámetros y están correctos pero no me genera los documentos... si me puedes ayudar lo agradezco gracias... |
Husos Horarios son GMT. La hora en este momento es 01:19:59. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web