0% found this document useful (0 votes)
227 views5 pages

BDC For mb1b Storage Location Transfer

This document contains code for submitting a transaction called ZMB1B_311 using BDC programming. It imports delivery data from a memory ID, then loops through the data to perform fields on various screens to create delivery documents. Any error messages are collected and displayed at the end.

Uploaded by

abap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
227 views5 pages

BDC For mb1b Storage Location Transfer

This document contains code for submitting a transaction called ZMB1B_311 using BDC programming. It imports delivery data from a memory ID, then loops through the data to perform fields on various screens to create delivery documents. Any error messages are collected and displayed at the end.

Uploaded by

abap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

EXPORT IT_DEL TO MEMORY ID 'TD'.

SUBMIT ZMB1B_311 and RETURN.

report ZMB1B_311.
TABLES : ZTAG_DELIVERY.
TYPES : BEGIN OF TY_ERROR ,
TEXT(250),
END OF TY_ERROR.
DATA: LT_ERROR TYPE STANDARD TABLE OF TY_ERROR,
LS_ERROR TYPE TY_ERROR,
LV_MESSAGE(100) TYPE C,
DATE TYPE SY-DATUM.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
LT_MESSTAB TYPE TABLE OF BDCMSGCOLL,
LS_MESSTAB TYPE BDCMSGCOLL,
LV_PARAMS
TYPE CTU_PARAMS,
L_MSTRING(480),
L_SUBRC LIKE SY-SUBRC,
MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : POST_DATE TYPE SY-DATUM,
DOC_DATE TYPE SY-DATUM,
MTYPE(3) TYPE N ,
PLANT(4) TYPE N,
ST_LOC(4) TYPE N,
TR_LOC(4) TYPE N,
UNIT(2) TYPE C.
DATA : IT_DEL TYPE STANDARD TABLE OF ZTAG_DELIVERY,
WA_DEL TYPE ZTAG_DELIVERY.
DATA : QTY TYPE p,
p_qty type char3.

*&----------------------------------------------------------------------------*
*& BDC RECORDING
*&----------------------------------------------------------------------------*
IMPORT IT_DEL FROM MEMORY ID 'TD' .
CLEAR
: BDCDATA , LS_MESSTAB.
REFRESH : BDCDATA , LT_MESSTAB.

WRITE SY-DATUM TO POST_DATE DDMMYY.


WRITE SY-DATUM TO DOC_DATE DDMMYY.
MTYPE = '311'.
PLANT = '6010'.
ST_LOC = '6130'.
loop at it_del INTO WA_DEL.
perform bdc_dynpro
using 'SAPMM07M' '0400'.
perform bdc_field
using 'BDC_CURSOR'
PLANT.
"'RM07M-WERKS'.
perform bdc_field
using 'BDC_OKCODE'
'/00'.
perform bdc_field
using 'MKPF-BLDAT'
POST_DATE.
" '02.08.2016'.
perform bdc_field
using 'MKPF-BUDAT'
DOC_DATE.
" '02.08.2016'.
perform bdc_field
using 'RM07M-BWARTWA'
MTYPE.
" '311'.
perform bdc_field
using 'RM07M-WERKS'
PLANT.
" '6010'.
perform bdc_field
using 'RM07M-LGORT'
ST_LOC.
"'6121'.
perform bdc_field
using 'XFULL'
'X'.
perform bdc_field
using 'RM07M-WVERS2'
'X'.
TR_LOC = '6131'.
UNIT
= 'EA'.

MOVE WA_DEL-DEL_BINQTY TO QTY.


move qty to p_qty.
CONDENSE p_qty.

perform bdc_dynpro
perform bdc_field
perform bdc_field

perform bdc_field
.'6131'.
perform bdc_field

using 'SAPMM07M' '0421'.


using 'BDC_CURSOR'
'MSEG-CHARG(01)'.
using 'BDC_OKCODE'
'/00'.
using 'MSEGK-UMLGO'
TR_LOC .

" storage location '6105'

using 'MSEG-MATNR(01)'
WA_DEL-CUS_PARTNO.

" PART NO '1T0741-

13'.'112101HC3C'.
perform bdc_field
QTY '50'.'27'.
perform bdc_field
perform bdc_field
521'.
*perform bdc_field
*

perform bdc_dynpro
perform bdc_field
*perform bdc_field
*

using 'MSEG-ERFMG(01)'
P_QTY.
using 'MSEG-ERFME(01)'
UNIT.
using 'MSEG-CHARG(01)'
WA_DEL-DEL_TCARDNO.

'EA'.'EA'.

" BATCH 'c180515'.'CA21C1

using 'SAPLKACB' '0002'.


using 'BDC_OKCODE'
'=ENTE'.
using 'DKACB-FMORE'
'X'.
using 'SAPLKACB' '0002'.
using 'BDC_OKCODE'
'=ENTE'.

perform bdc_dynpro
perform bdc_field

using 'SAPMM07M' '0421'.


using 'BDC_CURSOR'
'MSEG-ERFMG(01)'.
using 'BDC_OKCODE'
'=BU'.

*perform bdc_field
*

"

"

using 'DKACB-FMORE'
'X'.

perform bdc_dynpro
perform bdc_field

perform bdc_field

"WA_DEL-DEL_BINQTY.

using 'DKACB-FMORE'
'X'.

perform bdc_dynpro
perform bdc_field

using 'SAPLKACB' '0002'.


using 'BDC_OKCODE'
'=ENTE'.
*
'/00'.
CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'A' UPDATE 'A' MESSAGES INTO LT_MES
STAB.
ENDLOOP.
*CALL TRANSACTION 'MB1B' USING BDCDATA MODE 'E' UPDATE 'S MESSAGES INTO LT_M
ESSTAB.
LOOP AT LT_MESSTAB INTO LS_MESSTAB.
CLEAR LV_MESSAGE.
IF LS_MESSTAB-MSGTYP = 'E' OR LS_MESSTAB-MSGTYP = 'S' .

CALL FUNCTION 'FORMAT_MESSAGE'


EXPORTING
ID
= LS_MESSTAB-MSGID
LANG
= 'IN'
NO
= LS_MESSTAB-MSGNR
V1
= LS_MESSTAB-MSGV1
V2
= LS_MESSTAB-MSGV2
V3
= LS_MESSTAB-MSGV3
V4
= LS_MESSTAB-MSGV4
IMPORTING
MSG
= LV_MESSAGE
EXCEPTIONS
NOT_FOUND = 1
OTHERS
= 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
CONCATENATE 'Condition record saved for' '-' W_RECORD-AGKON LV_MESSA
GE INTO LS_ERROR-TEXT.
*
APPEND LS_ERROR TO LT_ERROR.
ENDIF.
ENDLOOP.
*&-----------------------------------------------------------------------------------------------*
*& ERROR DISPLAY
*-------------------------------------------------------------------------------------------------*
LOOP AT LT_ERROR INTO LS_ERROR.
WRITE : / LS_ERROR-TEXT.
ENDLOOP.
*--------------------------------------------------* START NEW SCREEN
*--------------------------------------------------FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO
= DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "bdc_dynpro
*--------------------------------------------------* INSERT FIELD
*--------------------------------------------------FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.

CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
* ENDIF.
ENDFORM. "bdc_field

You might also like