Skip to Content
0
Oct 24, 2006 at 12:21 PM

About BAPI_MATPHYSINV_COUNT

224 Views

Hi all!!

Im trying to use this BAPI, but it don´t update the ISEG... This is my code.

FORM grabartabla .

DAta: begin of tabapi occurs 0.

include structure BAPI_PHYSINV_COUNT_ITEMS.

DATA end of tabapi.

DATA taberror like BAPIRET2 occurs 0.

LOOP AT itabaux3.

  • Meto en una wa para poder insertar correctamente en ZMM002

wa_aux-docinv = itabaux3-ndoc.

wa_aux-nref = itabaux3-nref.

  • Sin UNPACK no tira bien la SLECT

UNPACK itabaux3-matnr TO itabaux3-matnr.

UNPACK itabaux3-ndoc TO itabaux3-ndoc.

  • BSTAR igual a 1 es stock EN ALMACEN!! Tiene que ser = A 1

  • SELECT SINGLE menge zeili INTO v_menge v_zeili FROM iseg

SELECT SINGLE * FROM iseg

WHERE iblnr = itabaux3-ndoc

AND matnr = itabaux3-matnr

AND bstar = '1'.

v_menge = iseg-menge.

v_zeili = iseg-zeili.

  • Sumo el stock de la DBtab y de la Itab

v_menge = v_menge + itabaux3-cantidad.

  • Lo inserto en la tabla sobreescribiendo el anterior

*BAPI!!

  • UPDATE iseg

  • SET menge = v_menge

  • WHERE iblnr = itabaux3-ndoc

  • AND matnr = itabaux3-matnr

  • AND bstar = '1'.

*Si hemos llegado hasta aqui es porque el doc y la ref no están en la

*ZMM002, solo lo meto una vez

SELECT SINGLE * FROM zmm002 WHERE docinv = itabaux3-ndoc

AND nref = itabaux3-nref.

IF sy-subrc = 4.

INSERT INTO zmm002 VALUES wa_aux.

  • values docinv nref.

ENDIF.

tabapi-ITEM = v_zeili.

tabapi-MATERIAL = itabaux3-matnr.

tabapi-ENTRY_UOM = 'UN'."esto hay que cambiarlo

tabapi-ENTRY_QNT = itabaux3-cantidad.

APPEND tabapi.

CLEAR v_menge.

CLEAR wa_aux.

ENDLOOP.

CALL FUNCTION 'BAPI_MATPHYSINV_COUNT'

EXPORTING

physinventory = itabaux3-ndoc

fiscalyear = '2006' "Esto hay k cambiarlo

  • PERCENTAGE_VARIANCE =

  • COUNT_DATE =

tables

items = tabapi

return = taberror

  • SERIALNUMBERS =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

Thanks a lot