‎2007 Jul 06 12:35 PM
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?
‎2007 Jul 06 12:38 PM
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
‎2007 Jul 06 12:38 PM
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
‎2007 Jul 06 12:39 PM
‎2007 Jul 06 12:40 PM
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