PDA

Ver la Versión Completa : Bapi_po_create1


gusrgc
28/09/06, 21:33:01
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
29/09/06, 06:59:04
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.

Teitum
29/09/06, 07:39:40
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.

nsmabap
25/03/20, 23:53:32
Como puedo crear un pedido de serivicio sin paquetes ya que me sale el error "Actualizar Sericio limites"