Problema con BAPI SD_SALESDOCUMENT_CREATE

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javierlosa
    Junior Member
    • jul
    • 13

    #1

    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.-
  • javierlosa
    Junior Member
    • jul
    • 13

    #2
    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!

    Comentario

    • Edd_401
      Senior Member
      • may
      • 119

      #3
      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.
      Sapero prodigio ! ! !

      Comentario

      • vickxo
        Senior Member
        • nov
        • 118

        #4
        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.
        el tema esta en hacer la pregunta correcta...

        Comentario

        • mimo_0329
          Junior Member
          • ago
          • 2

          #5
          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...

          Comentario

          Trabajando...