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.
"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.