11-20-2009 2:26 PM
Hi together,
I want to post a goods issue on an process order (some of them are networks) but I have some problem with filling the structures.
Could you please help me?
Book material
ls_bapi_head-pstng_date = ls_booking-budat.
ls_bapi_head-doc_date = sy-datum.
ls_bapi_head-pr_uname = sy-uname.
ls_bapi_item-material = ls_booking-idnrk.
ls_bapi_item-plant = p_werks.
ls_bapi_item-stge_loc = ls_booking-lgort.
ls_bapi_item-entry_qnt = ls_booking-dmeng.
ls_bapi_item-entry_uom = ls_booking-meins.
ls_bapi_item-orderid = ls_booking-aufnr.
ls_bapi_item-mvt_ind = gc_mvt_ind.
IF ls_bapi_item-entry_qnt > 0.
ls_bapi_item-move_type = '261'.
ELSE.
ls_bapi_item-move_type = '262'.
ENDIF.
APPEND ls_bapi_item TO lt_bapi_item.
CLEAR: lt_bapi_ret, ls_bapi_item.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = ls_bapi_head
goodsmvt_code = '03'
testrun = p_test
IMPORTING
materialdocument = ls_mat_bel
TABLES
goodsmvt_item = lt_bapi_item
return = lt_bapi_ret.
11-20-2009 5:03 PM
Here send a example:
DATA: RTR LIKE BAPIRET2.
DATA: G_HEADER LIKE BAPI2017_GM_HEAD_01,
G_CODE LIKE BAPI2017_GM_CODE,
TESTRUN LIKE BAPI2017_GM_GEN-TESTRUN,
G_HEADRET LIKE BAPI2017_GM_HEAD_RET,
MATDOCUMENT TYPE BAPI2017_GM_HEAD_RET-MAT_DOC,
MATYEAR TYPE BAPI2017_GM_HEAD_RET-DOC_YEAR,
G_ITEM TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE WITH HEADER LINE,
RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.
TOMO DATOS DE LA TABLA Z
SELECT * FROM ZCOTT_ACT_VOLUM
INTO CORRESPONDING FIELDS OF TABLE TI_VOLUMEN.
CLEAR: RETURN. REFRESH: RETURN.
CLEAR: WA_MJES.
WA_MJES-ICONID = '@DH@'.
WA_MJES-TYPE = 'S'.
WA_MJES-MSGTXT = 'Errores del Proceso Nro 2'.
APPEND WA_MJES TO TI_MJES.
LOOP AT TI_VOLUMEN INTO WA_VOL.
CLEAR: G_HEADER, G_CODE, TESTRUN, G_HEADRET, MATDOCUMENT,
MATYEAR, G_ITEM.
REFRESH: G_ITEM.
G_HEADER-PSTNG_DATE = WA_VOL-BUDAT. " Fecha de contabilización en el documento
G_HEADER-DOC_DATE = WA_VOL-BLDAT. " Fecha de documento en documento
G_HEADER-REF_DOC_NO = 'REF NRO:'. " Número de documento de referencia
G_HEADER-PR_UNAME = SY-UNAME. " Nombre de usuario
G_HEADER-HEADER_TXT = WA_VOL-BKTXT. " Texto de cabecera de documento
G_CODE = '04'. " Traspaso
Emisor
G_ITEM-MATERIAL = WA_VOL-DE_MATNR. " Nro de Material
G_ITEM-PLANT = WA_VOL-DE_WERKS. " Centro
G_ITEM-STGE_LOC = WA_VOL-DE_LGORT. " Almacen
G_ITEM-MOVE_TYPE = WA_VOL-BWART. " Clase de Mov.
G_ITEM-COSTCENTER = WA_VOL-KOSTL. " Centro de Costo.
G_ITEM-ENTRY_QNT = WA_VOL-MENGE. " Cantidad en unidad de medida de entrada
G_ITEM-ENTRY_UOM = WA_VOL-UNIT. " Unidad de medida de entrada
G_ITEM-ENTRY_UOM_ISO = WA_VOL-UNIT. " Código ISO p.unidad de medida
G_ITEM-BATCH = WA_VOL-DE_LGORT. " Lote
Receptor
G_ITEM-MOVE_MAT = WA_VOL-A_MATNR. " Nro de Material.
G_ITEM-MOVE_PLANT = WA_VOL-A_WERKS. " Centro
G_ITEM-MOVE_STLOC = WA_VOL-A_LGORT. " Almacen
G_ITEM-MOVE_BATCH = WA_VOL-A_LGORT. " Lote
APPEND G_ITEM.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = G_HEADER
GOODSMVT_CODE = G_CODE
TESTRUN = ' ' "TESTRUN
IMPORTING
GOODSMVT_HEADRET = G_HEADRET
MATERIALDOCUMENT = MATDOCUMENT
MATDOCUMENTYEAR = MATYEAR
TABLES
GOODSMVT_ITEM = G_ITEM
RETURN = RETURN.
CLEAR: RTR.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = RTR.
LOOP AT RETURN.
CLEAR: WA_MJES.
WA_MJES-TYPE = RETURN-TYPE.
CASE WA_MJES-TYPE.
WHEN 'S'.
WA_MJES-ICONID = '@08@'.
WHEN 'W'.
WA_MJES-ICONID = '@09@'.
WHEN 'E'.
WA_MJES-ICONID = '@0A@'.
ENDCASE.
WA_MJES-MSGTXT = RETURN-MESSAGE.
APPEND WA_MJES TO TI_MJES.
ENDLOOP.
ENDLOOP.
11-26-2009 12:33 PM
I´ve got it.
The problem was that I should not use mvt_ind for process orders. But I used the order for accounting.