PDA

Ver la Versión Completa : BAPI_PO_CREATE "Petición de Traslado" UB


coloso
18/10/07, 07:09:22
Hola a todo el mundo tengo un problemilla creando una petición de traslado "UB" desde la BAP_PO_CREATE. Me está devolviendo el siguiente error....

"Tipo de posición no prevista en clase de documento UB"

Si le pongo el tipo de posición "V" me da el siguiente error.

* Tipo Posición
* MOVE 'V' TO TBAPIEKPOC-ITEM_CAT.

No existe el tipo de posición V (debe corregir)

Y ya no entiendo por que ???? Ya que se voy a la transacción ME21N
para crear a mano la petición de traspaso le pone automáticamente en
cada posición el tipo de posición "V".


function zcdk_pedido_traslado.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(BSART) LIKE ZDIPAR_CANAL_MF-BSART
*" VALUE(EKORG) LIKE ZDIPAR_CANAL_MF-EKORG
*" VALUE(EKGRP) LIKE ZDIPAR_CANAL_MF-EKGRP
*" EXPORTING
*" VALUE(RESULTADO) LIKE SY-SUBRC
*" VALUE(NUM_PED_COMPRA) LIKE BAPIEKKOC-PO_NUMBER
*" VALUE(MENSAJE) LIKE SY-MSGV1
*" TABLES
*" COMPRAS STRUCTURE ZDIC_TOT_COM_EF
*"----------------------------------------------------------------------
data: resultado_imp like sy-subrc,
mensaje_imp like sy-msgv1.
* Llamamos a la BAPI crear pedido de compra
clear bapiekkoc.
clear tbapiekpoc. refresh tbapiekpoc.
clear tbapieket. refresh tbapieket.
clear tbapireturn. refresh tbapireturn.
npos = 1.
loop at compras.
if sy-tabix = 1.
* Cabecera del pedido
move compras-fecha to bapiekkoc-doc_date.
move bsart to bapiekkoc-doc_type.
move ekorg to bapiekkoc-purch_org.
move ekgrp to bapiekkoc-pur_group.
move compras-lifnr to bapiekkoc-vendor.
move compras-werks to bapiekkoc-suppl_plnt.
move sy-uname to bapiekkoc-created_by.
endif.
* Añadimos la línea de pedido
clear tbapiekpoc.
move npos to tbapiekpoc-po_item.
move compras-matnr to tbapiekpoc-material.
move compras-matnr to tbapiekpoc-pur_mat.
move compras-werks to tbapiekpoc-plant.
move compras-meins to tbapiekpoc-unit.

*** ADD ***
* Tipo Posición
* MOVE 'V' TO TBAPIEKPOC-ITEM_CAT.
* Almacén
* TBAPIEKPOC-STORE_LOC = '24'. "Almacén
* Clase Valoración
tbapiekpoc-val_type = '01'.
*** ADD ***

append tbapiekpoc.

** Añadimos línea de Reparto
clear tbapieket.
move npos to tbapieket-po_item.
move compras-fecha to tbapieket-deliv_date.
move compras-cantidad to tbapieket-quantity.
append tbapieket.
* Incrementamos la posicion
npos = npos + 1.
endloop.
call function 'BAPI_PO_CREATE'
exporting
po_header = bapiekkoc
importing
purchaseorder = num_ped_compra
tables
po_items = tbapiekpoc
po_item_schedules = tbapieket
return = tbapireturn
exceptions
others = 1.

move sy-subrc to resultado.

if not ( tbapireturn is initial ) .
move tbapireturn-message to mensaje.
clear tbapireturn. refresh tbapireturn.
endif.

endfunction.


Alguna ayuda al respecto ?????

Muchas gracias por leer este mensaje y un saludo a todo el mundo.

rboswaldo
08/02/08, 03:29:14
Lo que te falta es cambiar la V por un 7, es un rutina de conversión para visualizar la V en la ME21.

BAEZAPEREZ
23/09/15, 18:37:40
Estimado,
Podrías indicar el mapeo en la BAPI_PO_CREATE para pedidos de traslado?
gracias