Bapi_po_create1

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • gusrgc
    Junior Member
    • mar
    • 9

    #1

    Bapi_po_create1

    Amigos necesito de su ayuda; estoy usando la BAPI BAPI_PO_CREATE1 para la creacion de pedidos de servicios, pero al usarla me retorna el sgte mensaje: Actualice servicios o limites; no logro dar con la solucion al mensaje de error; estoy llenando las tablas POITEM, POITEMX, POSCHEDULE, POSCHEDULEX, POACCOUNT, POACCOUNTX, POSERVICES ademas del POHEADER y POHEADERX si estoy olvidadno alguan tabla o alguien que uso esta bapi para la creacion de estos pedido me pueda ayudar le estare muy agradecido.

    Gracias.
    GGC.
  • sap2006
    Senior Member
    • mar
    • 134

    #2
    Te recomendaria que metieras un pedido con los valores que usas en la bapi en la transaccion me21n , i intentar asi saber que es lo que falla. Aqui te dejo un ejemplillo sencillo que hize...por si te sirve de ayuda


    FORM llamada_bapi_compras.

    CLEAR return.
    REFRESH return.
    DATA:v_datum TYPE sy-datum.
    DATA: pos TYPE i VALUE 1.


    CONCATENATE sy-datum+6(2) sy-datum+4(2) sy-datum(4) INTO v_datum.


    account-tax_code = space.
    APPEND account.

    accountx-tax_code = 'X'.
    APPEND accountx.



    * READ TABLE i_compras INDEX 1.
    * READ TABLE i_compras_aux INDEX 1.
    LOOP AT i_compras_aux.
    poitem-po_item = pos.
    poitem-material = i_compras_aux-matnr.
    poitem-quantity = i_compras_aux-menge.
    poitem-po_unit = 'ST'. " Unidad de medida de pedido.
    poitem-gr_to_date = v_datum.
    poitem-net_price = i_compras_aux-netpr.
    poitem-plant = zcompras_04-werks.
    poitem-tax_code = ''.
    APPEND poitem.
    pos = pos + 1.
    ENDLOOP.

    pos = 1.

    LOOP AT i_compras_aux.
    poitemx-po_item = pos.
    poitemx-material = 'X'.
    poitemx-quantity = 'X'.
    poitemx-po_unit = 'X'.
    poitemx-gr_to_date = 'X'.
    poitemx-net_price = 'X'.
    poitemx-plant = 'X'.
    poitemx-tax_code = 'X'.
    APPEND poitemx.
    pos = pos + 1.
    ENDLOOP.

    poheaderx-doc_type = 'X'.
    poheaderx-creat_date = 'X'.
    poheaderx-vendor = 'X'.
    poheaderx-purch_org = 'X'.
    poheaderx-pur_group = 'X'.
    poheaderx-currency = 'X'.

    *zcompras_04-bsart = 'NB'.
    poheade-doc_type = zcompras_04-bsart.
    poheade-creat_date = v_datum.
    poheade-vendor = zcompras_04-lifnr.
    poheade-purch_org = zcompras_04-ekork. "EKORG
    poheade-pur_group = zcompras_04-ekgrp.
    poheade-currency = 'EUR'. "waers.


    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = poheade
    poheaderx = poheaderx
    IMPORTING
    exppurchaseorder = n_compra
    TABLES
    return = return
    poitem = poitem
    poitemx = poitemx.

    Comentario

    • Teitum
      Junior Member
      • sep
      • 5

      #3
      Para crear los servicios asociados al pedido de compras debe tener la misma estructura que la tabla ESLL.

      En la tabla POITEM debes añadir el dato POITEM-PCKG_NO = 0000000001 en la tabla POITEMX se debe marcar el dato correspondiente.

      En la tabla POSERVICES se han de realizar 2 entradas mínimo.
      La primera va relacionada con la tabla POITEM:
      POSERVICES-PCKG_NO = 0000000001.
      POSERVICES-LINE_NO = 0000000001.
      POSERVICES-OUTL_IND = 'X'.
      POSERVICES-SUBPCKG_NO = 0000000002.

      El resto de entradas que corresponde a los servicios relacionados con el pedido han de relacionarse con la entrada anterior de la tabla POSERVICES dónde el dato LINE_NO corresponde a la posición de los servicios dentro del pedido:
      POSERVICES-PCKG_NO = 0000000002.
      POSERVICES-LINE_NO = 0000001.

      La tabla POILIMITS tanbién debe hacer referencia al PCKG_NO del item.

      Espero haberte ayudado.

      Comentario

      • nsmabap
        Junior Member
        • mar
        • 1

        #4
        Como puedo crear un pedido de serivicio sin paquetes ya que me sale el error "Actualizar Sericio limites"

        Comentario

        Trabajando...