Skip to Content
0
Former Member
Jan 02, 2008 at 03:37 AM

BDC MM01

60 Views

Can you please tell me error in this program.

Iam creating the New Material using the Existing material.

I have selected 12 views by clicking scroll button but when i run this program it is not picking that scroll button code.

Your valuable answers will be rewarded

REPORT ZTESTBDC

NO STANDARD PAGE HEADING LINE-SIZE 255.

*******************************************************************

  • PROGRAM ID :

*

  • PROGRAM TITLE : PROGRAM TITLE

*

  • AUTHOR :

*

  • DATE : DD/MM/YYYY

*

  • CHANGE REQUEST NUMBER:XXXXXXXXXX

*

  • DESCRIPTION : THE PURPOSE OF THIS PROGRAM IS TO XXXXXX

*

*

*==================================================================

  • COPIED FROM : (CLONED PROGRAM)

*

  • TITLE : (PROGRAM TITLE)

*

  • OTHER RELATED OBJ : (OBJECT NAMES)

*==================================================================

  • CHANGE HISTORY LOG

*----


*

  • MOD. NO.| DATE | NAME |CORRECTION NO.| CHANGE REFERENCE #

*

*----


  • MOD-001 |DD/MM/YY| XXXXXXXXXXXXXX | XXXXXXXXXX | XXXXXXXXXX

*

  • DESCRIPTION:

*----


  • |DD/MM/YYYY| XXXXXXXXXXXXXX | XXXXXXXXXX

*

  • DESCRIPTION:

*********************************************************************

INCLUDE BDCRECX1.

*********************************************************************

  • Internal Table T_BDCDATA to store BDC data

*********************************************************************

  • Batchinputdata of single transaction

DATA: T_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

*********************************************************************

  • Internal Table T_BDC_MSG to store BDC messages

*********************************************************************

DATA: T_BDC_MSG LIKE STANDARD TABLE OF BDCMSGCOLL INITIAL

SIZE 0 WITH HEADER LINE.

DATA: V_FILE LIKE RLGRAP-FILENAME ,

V_COUNT(5) TYPE C,

V_MESSAGE_CNT(5) TYPE C .

*DATA: TCODE LIKE TSTC-TCODE VALUE 'MM01'.

DATA : BEGIN OF IT_DATA OCCURS 0,

MATNR_1 LIKE MARA-MATNR,

MBRSH LIKE MARA-MBRSH,

MTART LIKE MARA-MTART,

MATNR_2 LIKE MARA-MATNR,

MAKTX LIKE MAKT-MAKTX,

WERKS_1 LIKE MARC-WERKS,

LGORT_1 LIKE AUFM-LGORT,

VKORG_1 LIKE KNVV-VKORG,

VTWEG_1 LIKE KNVV-VTWEG,

WERKS LIKE MARC-WERKS,

LGORT LIKE AUFM-LGORT,

VKORG LIKE KNVV-VKORG,

VTWEG LIKE KNVV-VTWEG,

END OF IT_DATA.

START-OF-SELECTION.

PERFORM OPEN_GROUP.

PERFORM DATA_UPLOAD.

PERFORM CALL_TRANSACTION.

PERFORM CLOSE_GROUP.

PERFORM WRITE_ERROR.

&----


*& Form DATA_UPLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DATA_UPLOAD.

*call function ws_upload to retrieve data from a flat file in the

*presentation server into an internal table

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = V_FILE

FILETYPE = 'DAT'

TABLES

DATA_TAB = IT_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7.

  • if ws_upload fails then display appropriate message

IF SY-SUBRC <> 0.

  • MESSAGE E000 WITH 'Data not Uploaded into internal table'.

ENDIF.

ENDFORM. " DATA_UPLOAD

&----


*& Form CALL_TRANSACTION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CALL_TRANSACTION.

DATA : V_IVDAT(10) TYPE C,

V_AKTIV(10) TYPE C,

V_MESSAGE(404) TYPE C.

REFRESH T_BDCDATA.

CLEAR T_BDCDATA.

V_COUNT = 0.

V_MESSAGE_CNT = 0.

LOOP AT IT_DATA .

V_COUNT = V_COUNT + 1.

*Intial screen

perform bdc_dynpro using 'SAPLMGMM' '0060'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1-MTART'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'RMMG1-MATNR'

IT_DATA-MATNR_1.

perform bdc_field using 'RMMG1-MBRSH'

IT_DATA-MBRSH.

perform bdc_field using 'RMMG1-MTART'

IT_DATA-MTART.

perform bdc_field using 'RMMG1_REF-MATNR'

IT_DATA-MATNR_2.

*selection of views

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(15)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MSICHTAUSW-KZSEL(04)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(05)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(06)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(07)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(08)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(09)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(10)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(11)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(12)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(13)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(14)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(15)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(15)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MSICHTAUSW-KZSEL(14)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(15)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(15)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'MSICHTAUSW-KZSEL(14)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(15)'

'X'.

*Org data

perform bdc_dynpro using 'SAPLMGMM' '0080'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1-VKORG'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'RMMG1-WERKS'

IT_DATA-WERKS.

perform bdc_field using 'RMMG1_REF-WERKS'

IT_DATA-WERKS_1. "'RMG1_REF-WERKS'.

perform bdc_field using 'RMMG1-LGORT'

IT_DATA-LGORT.

perform bdc_field using 'RMMG1_REF-LGORT'

IT_DATA-LGORT_1. " 'RMG1_REF-LGORT'.

perform bdc_field using 'RMMG1-VKORG'

IT_DATA-VKORG.

perform bdc_field using 'RMMG1_REF-VKORG'

IT_DATA-VKORG. " 'RMG1_REF-VKORG'.

perform bdc_field using 'RMMG1-VTWEG'

IT_DATA-VTWEG.

perform bdc_field using 'RMMG1_REF-VTWEG'

IT_DATA-VTWEG_1. "RMG1_REF-VTWEG'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

IT_DATA-MAKTX.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MARA-MATKL'

  • '000'.

*perform bdc_field using 'MVKE-SKTOF'

  • 'X'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MVKE-VERSG'

  • '1'.

*perform bdc_field using 'MVKE-KTGRM'

  • '09'.

*perform bdc_field using 'MVKE-MTPOS'

  • 'NORM'.

*perform bdc_field using 'MVKE-PROVG'

  • '06'.

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MARA-GEWEI'

  • 'KG'.

*perform bdc_field using 'MARC-MTVFP'

  • 'KP'.

*perform bdc_field using 'MARC-LADGR'

  • '0005'.

*perform bdc_field using 'MARA-MAGRV'

  • 'PACK'.

*perform bdc_dynpro using 'SAPLMGMM' '4004'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4040'.

*perform bdc_field using 'BDC_OKCODE'

  • '=SP09'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MARC-EKGRP'.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MARC-EKGRP'

  • 'sp3'.

*perform bdc_field using 'MARA-MATKL'

  • '000'.

*perform bdc_field using 'MARA-EKWSL'

  • 'I2'.

*perform bdc_field using 'MARC-WEBAZ'

  • '1'.

*perform bdc_field using 'MARC-USEQU'

  • '4'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4040'.

*perform bdc_field using 'BDC_OKCODE'

  • '=SP12'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MARC-EKGRP'

  • 'SP3'.

*perform bdc_field using 'MARC-DISMM'

  • 'X0'.

*perform bdc_field using 'MARC-DISPO'

  • 'ECM'.

*perform bdc_field using 'MARC-DISLS'

  • 'EX'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARC-BESKZ'

  • 'X'.

*perform bdc_field using 'MARC-USEQU'

  • '4'.

*perform bdc_field using 'MARC-WEBAZ'

  • '1'.

*perform bdc_field using 'MARC-FHORI'

  • '000'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARC-PERKZ'

  • 'M'.

*perform bdc_field using 'MARC-MTVFP'

  • 'KP'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MARA-IPRKZ'

  • 'D'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARA-GEWEI'

  • 'KG'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

*perform bdc_field using 'MARA-MEINS'

  • 'NO'.

*perform bdc_field using 'MBEW-BKLAS'

  • 'ZBOL'.

*perform bdc_field using 'MBEW-VPRSV'

  • 'V'.

*perform bdc_field using 'MBEW-PEINH'

  • '1'.

*perform bdc_field using 'MBEW-VERPR'

  • '1.00'.

*

*perform bdc_dynpro using 'SAPLMGMM' '4000'.

*perform bdc_field using 'BDC_OKCODE'

  • '/00'.

*perform bdc_field using 'BDC_CURSOR'

  • 'MAKT-MAKTX'.

*perform bdc_field using 'MAKT-MAKTX'

  • '"415V, 50Hz, 50kA, SDB # 2 I/c : 400A'

  • & 'MC'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_transaction using 'MM01'.

LOOP AT T_MESSTAB WHERE REC_NO IS INITIAL.

AT FIRST.

V_MESSAGE_CNT = V_MESSAGE_CNT + 1.

T_MESSTAB-REC_NO = V_COUNT.

ENDAT.

MODIFY T_MESSTAB TRANSPORTING REC_NO.

ENDLOOP.

REFRESH T_BDCDATA.

CLEAR T_BDCDATA.

ENDLOOP.

SKIP.

WRITE : /10 'Record Number ', 30 'Error Message'.

SKIP.

endform.

&----


*& Form WRITE_ERROR

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WRITE_ERROR.

LOOP AT T_MESSTAB.

WRITE : /10 T_MESSTAB-REC_NO , 30 T_MESSTAB-MESSAGE.

ENDLOOP.

ULINE /10(100).

WRITE : /10 'No of Records : ' , V_COUNT.

WRITE : /10 'No of Erroneous Records : ' , V_MESSAGE_CNT.

ULINE /10(100).

ENDFORM. " WRITE_ERROR

&----


*& Form CHECK_BDC

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CHECK_BDC.

DATA: L_CHECK LIKE YMMT_CHECK_BDC-YCHECK.

SELECT SINGLE YCHECK INTO L_CHECK FROM YMMT_CHECK_BDC

WHERE PROGRAMM EQ SY-REPID

AND YCHECK EQ 'X'.

IF SY-SUBRC NE 0.

MESSAGE S000(YM) WITH 'Execution not possible'.

STOP.

ENDIF.

ENDFORM. " CHECK_BDC

Thanks

Madhukar Reddy