Bapi_salesorder_createfromdat2

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Clara
    Senior Member
    • jul
    • 193

    #1

    Bapi_salesorder_createfromdat2

    Buenos días,
    Tenemos una RFC que llama a la BAPI_SALESORDER_CREATEFROMDAT2 para crear pedidos de venta.
    Ocurre que al ejecutarla desde un programa externo que le pasa los parámetros devuelve el error VP211 (El destinatario de mercancías 510001 no está asignado a ningún solicitante).
    La realidad es que ese destinatario si tiene un solicitante, y si manualmente ejecuto la función RFC desde la SE37, indicando los mismos valores que le pasa el programa, el pedido se crea sin problemas.

    Alguien tuvo este probema? saben si hay algo a nivel de la ejecución en fondo de la bapi que deba tener en cuenta?

    Muchas gracias
  • Clara
    Senior Member
    • jul
    • 193

    #2
    El problema estaba en que teníamos que enviar el código de cliente completando con ceros a la izquierda. Con eso se graban correctamente los pedidos usando la RFC que los parámetros que le pasa un programa externo.
    Saludos
    Clara

    Comentario

    • Junior Member
      • may
      • 3

      #3
      Re: Bapi_salesorder_createfromdat2

      Hola como estas

      Tengo tu mismo problema, genere un programa que crea pedido por esa BAPI cuando corro el programa no me devuelve el nro de pedido pero si lo ejecuto en la SE37 si me devuelve

      Verifique lo que indicabas de completar los ceros al codigo de cliente y si los tengo con cero
      Ing. Luis Alberto Rojas Ayllón

      Comentario

      • Junior Member
        • may
        • 3

        #4
        Re: Bapi_salesorder_createfromdat2

        Estos son los valores que envio a la BApi

        "ORDER_HEADER_IN
        CLEAR ORDER_HEADER_IN.
        ORDER_HEADER_IN-DOC_TYPE = 'ZC53'.
        ORDER_HEADER_IN-SALES_ORG = '4000'.
        ORDER_HEADER_IN-DISTR_CHAN = '41'.
        ORDER_HEADER_IN-DIVISION = '30'.
        ORDER_HEADER_IN-REQ_DATE_H = SY-DATUM.
        ORDER_HEADER_IN-PURCH_DATE = '20210222'.
        ORDER_HEADER_IN-PURCH_NO_C = 'CENCOSUD'.


        DATA LV_FECHA TYPE STRING.
        LV_FECHA = <FS_ARCHIVO>-BSTDK.
        REPLACE ALL OCCURRENCES OF '/' IN LV_FECHA WITH '.'.

        ORDER_HEADER_IN-DOC_DATE = LV_FECHA.
        APPEND ORDER_HEADER_IN.

        "ORDER_PARTNERS
        CLEAR ORDER_PARTNERS.
        ORDER_PARTNERS-PARTN_ROLE = 'SP'.

        DATA LV_STCD1 TYPE STRING.
        LV_STCD1 = <FS_ARCHIVO>-STCD1.
        REPLACE ALL OCCURRENCES OF '-' IN LV_STCD1 WITH ''.


        SELECT SINGLE KUNNR INTO LV_KUNNR
        FROM KNA1
        WHERE STCD1 = LV_STCD1"<FS_ARCHIVO>-STCD1.
        AND KTOKD = 'ZCO1'
        AND SPERR = ''.

        ORDER_PARTNERS-PARTN_NUMB = LV_KUNNR.
        APPEND ORDER_PARTNERS.


        ORDER_PARTNERS-PARTN_ROLE = 'RP'.
        ORDER_PARTNERS-PARTN_NUMB = LV_KUNNR.
        APPEND ORDER_PARTNERS.

        ORDER_PARTNERS-PARTN_ROLE = 'PY'.
        ORDER_PARTNERS-PARTN_NUMB = LV_KUNNR.
        APPEND ORDER_PARTNERS.

        ORDER_PARTNERS-PARTN_ROLE = 'SH'.
        ORDER_PARTNERS-PARTN_NUMB = LD_KUNNR.
        APPEND ORDER_PARTNERS.

        "ORDER_TEXT
        CLEAR ORDER_TEXT.
        ORDER_TEXT-DOC_NUMBER = ''.
        ORDER_TEXT-ITM_NUMBER = ''.
        ORDER_TEXT-TEXT_ID = '0002'.
        ORDER_TEXT-LANGU = SY-LANGU.
        APPEND ORDER_TEXT.

        "ORDER_ITEMS_IN
        CLEAR ORDER_ITEMS_IN.
        ORDER_ITEMS_IN-ITM_NUMBER = '000010'.
        SELECT SINGLE MATNR INTO LV_MATNR
        FROM MARA
        WHERE EAN11 = <FS_ARCHIVO>-EAN.
        ORDER_ITEMS_IN-MATERIAL = LV_MATNR.
        ORDER_ITEMS_IN-TARGET_QTY = <FS_ARCHIVO>-CANTD.
        ORDER_ITEMS_IN-TARGET_QU = 'PC'.
        APPEND ORDER_ITEMS_IN.

        "ORDER_SCHEDULES_IN
        CLEAR ORDER_SCHEDULES_IN.
        ORDER_SCHEDULES_IN-ITM_NUMBER = '000010'.
        ORDER_SCHEDULES_IN-SCHED_LINE = '0001'.


        ORDER_SCHEDULES_IN-REQ_DATE = LV_FECHA.
        ORDER_SCHEDULES_IN-REQ_QTY = <FS_ARCHIVO>-CANTD.
        APPEND ORDER_SCHEDULES_IN.

        "ORDER_CONDITION_IN
        CLEAR ORDER_CONDITIONS_IN.
        ORDER_CONDITIONS_IN-ITM_NUMBER = '000010'.
        ORDER_CONDITIONS_IN-COND_TYPE = 'Z001'.
        ORDER_CONDITIONS_IN-COND_VALUE = <FS_ARCHIVO>-CANTIVA.
        APPEND ORDER_CONDITIONS_IN.

        "ORDER_CFGS_REF
        CLEAR ORDER_CFGS_REF.
        ORDER_CFGS_REF-POSEX = '000010'.
        APPEND ORDER_CFGS_REF.

        CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
        EXPORTING
        ORDER_HEADER_IN = ORDER_HEADER_IN
        behave_when_error = space
        IMPORTING
        SALESDOCUMENT = SALESDOCUMENT_EX
        TABLES
        RETURN = RETURN
        ORDER_ITEMS_IN = ORDER_ITEMS_IN
        ORDER_ITEMS_INX = ORDER_ITEMS_INX
        ORDER_PARTNERS = TORDER_PARTNERS
        ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN
        ORDER_SCHEDULES_INX = ORDER_SCHEDULES_INX
        ORDER_CONDITIONS_IN = ORDER_CONDITIONS_IN
        ORDER_CFGS_REF = ORDER_CFGS_REF.

        IF SY-SUBRC EQ 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
        WAIT = 'X'.
        ENDIF.
        Ing. Luis Alberto Rojas Ayllón

        Comentario

        Trabajando...