Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC

Former Member
0 Likes
432

HI

IN TABLE CONTROL MY SCREEN WILL HOLD TILL 18 ENTRIES. IF I UPLOAD 25 RECORDS 18 RECORDS SAVED SUCESSFULLY. 19TH AND 20TH RECORD UPLOADED AGAIN ON 18TH ROW ITSELF. SO I AM LOOSING 2 RECORDS FINBALLY..

CAN ANYBODY TELL ME WHAT TO DO?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
399

Hi,

To avoid that problem increment page number after 19 the record, this is BDC for ME41 refere that code

REPORT ZUDAY_BDC_ME41 NO STANDARD PAGE HEADING LINE-SIZE 255.

INCLUDE BDCRECX1.

TABLES:EKPO.

DATA: BEGIN OF ITAB OCCURS 0,

NUMBER(3) TYPE C,

EMATN LIKE EKPO-EMATN,

TXZ01 LIKE EKPO-TXZ01,

ANMNG(13) TYPE C,

MEINS LIKE EKPO-MEINS,

EEIND LIKE RM06E-EEIND,

MATKL LIKE EKPO-MATKL,

END OF ITAB.

DATA: TEMP(30),

COUNT TYPE C VALUE 0,

ZERO TYPE C VALUE 0,

LVALUE TYPE I,

CTRL(10) TYPE C,

PAGE(5) TYPE C .

START-OF-SELECTION.

PERFORM START.

PERFORM OPEN_GROUP.

LOOP AT ITAB.

IF ITAB-NUMBER <> LVALUE.

ctrl = 0.

PAGE = 10.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0300'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-EKGRP'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RM06E-ASART'

'AN'.

PERFORM BDC_FIELD USING 'EKKO-SPRAS'

'EN'.

PERFORM BDC_FIELD USING 'RM06E-ANFDT'

'20.07.2007'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

PERFORM BDC_FIELD USING 'EKKO-EKORG'

'4500'.

PERFORM BDC_FIELD USING 'EKKO-EKGRP'

'017'.

PERFORM BDC_FIELD USING 'RM06E-LPEIN'

'T'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0301'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-SUBMI'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'EKKO-EKGRP'

'017'.

PERFORM BDC_FIELD USING 'EKKO-PINCR'

'10'.

PERFORM BDC_FIELD USING 'EKKO-SUBMI'

'3'.

PERFORM BDC_FIELD USING 'EKKO-SPRAS'

'EN'.

PERFORM BDC_FIELD USING 'EKKO-UPINC'

'1'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0320'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RM06E-EEIND(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

LOOP AT ITAB WHERE NUMBER = ITAB-NUMBER.

CTRL = CTRL + 1.

IF CTRL >= 19.

PAGE = PAGE + 10.

ctrl = '19'.

ENDIF.

IF CTRL > 9.

ZERO = ''.

ENDIF.

PERFORM BDC_FIELD USING 'RM06E-EBELP'

PAGE.

CONCATENATE 'EKPO-EMATN(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-EMATN.

CONCATENATE 'EKPO-TXZ01(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-TXZ01.

CONCATENATE 'RM06E-ANMNG(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-ANMNG.

CONCATENATE 'EKPO-MEINS(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-MEINS.

CONCATENATE 'RM06E-EEIND(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-EEIND.

CONCATENATE 'EKPO-MATKL(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-MATKL.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0320'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-ANGDT'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=LS'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

CONCATENATE 'EKPO-EMATN(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING 'BDC_CURSOR' TEMP.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

ENDLOOP.

lvalue = itab-number.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0140'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-LIFNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'EKKO-LIFNR'

'70000'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0140'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-LIFNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BU'.

PERFORM BDC_FIELD USING 'EKKO-LIFNR'

'70000'.

PERFORM BDC_FIELD USING 'SZA1_D0100-TITLE_MEDI'

'Company'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-NAME1'

'IBM Store'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-SORT1'

'IBM'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-STREET'

'2526 Yonge Street'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-POST_CODE1'

'M4P 2H7'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-CITY1'

'Toronto'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-COUNTRY'

'CA'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-REGION'

'ON'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-TIME_ZONE'

'CST'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-LANGU'

'EN'.

PERFORM BDC_FIELD USING 'SZA1_D0100-TEL_NUMBER'

'416-486-3006'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=YES'.

PERFORM BDC_TRANSACTION USING 'ME41'.

REFRESH BDCDATA.

ENDIF.

ENDLOOP.

PERFORM CLOSE_GROUP.

&----


*& Form START

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM START.

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = ' '

FILETYPE = ' '

TABLES

DATA_TAB = ITAB

EXCEPTIONS

CONVERSION_ERROR = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " START

IF USEFULL REWARD

3 REPLIES 3
Read only

Former Member
0 Likes
400

Hi,

To avoid that problem increment page number after 19 the record, this is BDC for ME41 refere that code

REPORT ZUDAY_BDC_ME41 NO STANDARD PAGE HEADING LINE-SIZE 255.

INCLUDE BDCRECX1.

TABLES:EKPO.

DATA: BEGIN OF ITAB OCCURS 0,

NUMBER(3) TYPE C,

EMATN LIKE EKPO-EMATN,

TXZ01 LIKE EKPO-TXZ01,

ANMNG(13) TYPE C,

MEINS LIKE EKPO-MEINS,

EEIND LIKE RM06E-EEIND,

MATKL LIKE EKPO-MATKL,

END OF ITAB.

DATA: TEMP(30),

COUNT TYPE C VALUE 0,

ZERO TYPE C VALUE 0,

LVALUE TYPE I,

CTRL(10) TYPE C,

PAGE(5) TYPE C .

START-OF-SELECTION.

PERFORM START.

PERFORM OPEN_GROUP.

LOOP AT ITAB.

IF ITAB-NUMBER <> LVALUE.

ctrl = 0.

PAGE = 10.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0300'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-EKGRP'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RM06E-ASART'

'AN'.

PERFORM BDC_FIELD USING 'EKKO-SPRAS'

'EN'.

PERFORM BDC_FIELD USING 'RM06E-ANFDT'

'20.07.2007'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

PERFORM BDC_FIELD USING 'EKKO-EKORG'

'4500'.

PERFORM BDC_FIELD USING 'EKKO-EKGRP'

'017'.

PERFORM BDC_FIELD USING 'RM06E-LPEIN'

'T'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0301'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-SUBMI'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'EKKO-EKGRP'

'017'.

PERFORM BDC_FIELD USING 'EKKO-PINCR'

'10'.

PERFORM BDC_FIELD USING 'EKKO-SUBMI'

'3'.

PERFORM BDC_FIELD USING 'EKKO-SPRAS'

'EN'.

PERFORM BDC_FIELD USING 'EKKO-UPINC'

'1'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0320'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RM06E-EEIND(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

LOOP AT ITAB WHERE NUMBER = ITAB-NUMBER.

CTRL = CTRL + 1.

IF CTRL >= 19.

PAGE = PAGE + 10.

ctrl = '19'.

ENDIF.

IF CTRL > 9.

ZERO = ''.

ENDIF.

PERFORM BDC_FIELD USING 'RM06E-EBELP'

PAGE.

CONCATENATE 'EKPO-EMATN(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-EMATN.

CONCATENATE 'EKPO-TXZ01(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-TXZ01.

CONCATENATE 'RM06E-ANMNG(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-ANMNG.

CONCATENATE 'EKPO-MEINS(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-MEINS.

CONCATENATE 'RM06E-EEIND(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-EEIND.

CONCATENATE 'EKPO-MATKL(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING TEMP ITAB-MATKL.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0320'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-ANGDT'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=LS'.

PERFORM BDC_FIELD USING 'EKKO-ANGDT'

'21.07.2007'.

CONCATENATE 'EKPO-EMATN(' ZERO CTRL ')' INTO TEMP.

CONDENSE TEMP NO-GAPS.

PERFORM BDC_FIELD USING 'BDC_CURSOR' TEMP.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

ENDLOOP.

lvalue = itab-number.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0140'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-LIFNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'EKKO-LIFNR'

'70000'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0140'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EKKO-LIFNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BU'.

PERFORM BDC_FIELD USING 'EKKO-LIFNR'

'70000'.

PERFORM BDC_FIELD USING 'SZA1_D0100-TITLE_MEDI'

'Company'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-NAME1'

'IBM Store'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-SORT1'

'IBM'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-STREET'

'2526 Yonge Street'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-POST_CODE1'

'M4P 2H7'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-CITY1'

'Toronto'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-COUNTRY'

'CA'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-REGION'

'ON'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-TIME_ZONE'

'CST'.

PERFORM BDC_FIELD USING 'ADDR1_DATA-LANGU'

'EN'.

PERFORM BDC_FIELD USING 'SZA1_D0100-TEL_NUMBER'

'416-486-3006'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=YES'.

PERFORM BDC_TRANSACTION USING 'ME41'.

REFRESH BDCDATA.

ENDIF.

ENDLOOP.

PERFORM CLOSE_GROUP.

&----


*& Form START

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM START.

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = ' '

FILETYPE = ' '

TABLES

DATA_TAB = ITAB

EXCEPTIONS

CONVERSION_ERROR = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " START

IF USEFULL REWARD

Read only

Former Member
0 Likes
399

ANSWERED

Read only

Former Member
0 Likes
399

Hi,

while uploading 19 and 20 records u upload 18 record again as the link of records need to be maintained.

Pls reward points.

Regards,

Ameet