MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Bapi_salesorder_createfromdat2 (foro/showthread.php?t=75247)

Clara 03/02/16 11:37:06

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 03/02/16 13:34:09

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

LROJASAYLLON 26/02/21 21:19:05

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

LROJASAYLLON 26/02/21 21:24:58

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.


Husos Horarios son GMT. La hora en este momento es 05:56:33.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web