01-08-2004 2:00 PM
Hi experts.
I have programmed a nice ABAP program, that is used to extract all materials
in our system and write them to a Excel Sheet. Why have I prgrammed my own ABAP??
Because the Excel sheet consists of three tabs. And a lot of macroes.
The second tab holds the materials. The first tab, the user is able to create the data needed to
make reservations (via MB21)
That meens that I have also programmed a ABAP program that reads the Excel data.
So far so good.
The problem is PERFORMANCE!! When I am writing the Material Master data to the
excel, via Call Methods, it takes a VERY LONG TIME to write about 8000 rows!!
Does anyone have any good idea to speed up this process??
Best regards
And have a nice day
Carsten
01-09-2004 5:07 PM
Do you use OLE automation to steer the Excel from within ABAP to fill the rows indivudually by single calls? Maybe it's faster to download the table at once to the file system in a simpe text format and upload it in excel again.
Just a guess, since I'm no expert and it's long ago that I played with this OLE stuff.
Dirk
01-12-2004 2:07 PM
Also you might want to try DOI - Desktop Office Integration tools. This is a set of ABAP OO classes which can exchange data with Excel by bulk of data (not cell by cell). There some demo programs. DOI is available from 4.6.
Sergei
05-04-2004 8:41 AM
Sergei,
can you tell me where can i find some example programs in DOI?
Thnx in advance
05-04-2004 9:41 AM
Hi Balaji,
-> device class : SOFFICEINTEGRATION
e.g. SAPRDEMO_PIVOTINTERFACE
regards
Andreas
01-12-2004 2:13 PM
Hello Carsten
I would like to give you a warning.
If you use OLE from a fancy ABAP program to build the excel with 3 sheets (tabs) and a lot of macrocs, - you will probably face some serius future problems.
The program will probably not work if you:
1) Upgrade your SAP system
2) Upgrade your excel (office)
My experience is that its better to just download simple data structures from SAP and than build the fancy stuff in EXCEL.
On a 46C or higher system, I think I would do it with a combination of ALV and an excel template ( se transaction OAOR - Class = alvlayouttemplates - type = OT ).
With best regards
Thomas Madsen Nielsen