BAPI_PO_CREATE "Petición de Traslado" UB

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • coloso
    Senior Member
    • feb
    • 110

    #1

    BAPI_PO_CREATE "Petición de Traslado" UB

    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
    Junior Member
    • may
    • 9

    #2
    BAPI_PO_CREATE "Petición de Traslado"

    Lo que te falta es cambiar la V por un 7, es un rutina de conversión para visualizar la V en la ME21.

    Comentario

    • BAEZAPEREZ
      Member
      • nov
      • 38

      #3
      Estimado,
      Podrías indicar el mapeo en la BAPI_PO_CREATE para pedidos de traslado?
      gracias

      Comentario

      Trabajando...