‎2012 Sep 24 3:46 PM
Hello Experts,
Iam using the transaction MR8m to cancel documents.Have around 50,000 invoices to cancel.
Iam reading the 50,000 Invoice numbers from a file and filling an internal table.
Iam declaring the itab as follows and loop through the itab and call the MR8m TO generate a batchInput map.Then afterwards the batchInput map is processed in SM35.
TYPES: BEGIN OF gty_tab,
belnr TYPE rbkp-belnr,
gjahr TYPE rbkp-gjahr,
storno TYPE uf05a-stgrd,
END OF gty_tab.
DATA : gt_belege TYPE TABLE OF gty_tab,
wa_belege LIKE LINE OF gt_belege,
My question is there a maximum limit for itab and can i do any perfomance optimizations here.
Thanks
K
‎2012 Oct 03 8:13 PM
Internal tables can take way more than 50k records.
I do not know the exact upper limit value.
‎2012 Oct 04 12:19 PM
Hello,
50.000 records in the internal table is not a very big deal.
The size of the table is limited to the memory that can be occupied by one work process. You normally have some parameters to control that.
Regards,
Yuri
P.S. General advice: normally BAPIs are faster that batch input. Please check if function BAPI_INCOMINGINVOICE_CANCEL is doing the same as transaction MR8M. If yes, I strongly advise you using this BAPI.
‎2012 Oct 04 6:49 PM
No problem with the internal table size (if your records are not so large), if you want yo use BDC, then create BDC in package of 500-1000 transactions in order to parallelize the execution in background.
Usually BAPI when available, as Yuri Ziryukin, wrote, are faster (no screen management) but there is no tool to manage errors, you will have to store somewhere the failed updates.
Regards,
Raymond