Download: Good evening from London Wilmer.
I have one good and one bad news for you. This is fixed in DataEase 8.

For fun I created a database with 11.000.000 records, and export the lot. Worked a breeze, but Write struggled with opening the document ;-).
The bad news is that we are not in charge of DataEase 7.x, so any bug fixes etc prior to DataEase 8, you will need to discuss with Sapphire/DIL (www.sapphiregroup.com).
If you cannot wait till DataEase 8 is released, you can try to use the method described in the Sample: DQL Export in 7.2
This is a much better way of doing it if you want to do it automatically and flexibly.
Define temp "expo" number .
Define temp "telle" number .
For All Companies2 with CompanyName between getarray(1) to getarray(2) ;
telle := telle +1 .
list records
CompanyName in order;
pUKMarketingDatabaseID ;
Address ;
Address2 ;
Locality ;
Field 7 ;
Postcode ;
fRegionID ;
PremiseType ;
NoOfEmployees ;
fBusinessTypeID ;
SICCode ;
FinancialYearEnd ;
Turnover ;
ProfitBeforeTax ;
NetWorth ;
TelephoneNumber ;
WebsiteAddress ;
ContactFullName ;
ContactJobTitle ;
EmailAddresses ;
fCountyID ;
getarray(1) ;
getarray(2).
if telle = 1 then
Expo := DataExport ("DQLEXP.DBE") .
exit
end
In 7.2 we fixed the DataExport() function so you could include a export definition.
The method shown in the DQL Export example is exploiting the actual functionality of DataEase, not the one emulated in the DQL implementation done in DFW.
DataEase create a multiview i.e a dynamic joined view for any query. This view contain all the columns and data for the query.
Amy FRM, Report etc is reverse engineered from an expected dynamic Multiview that is created when you search. I.e the multiview just end up containing all the columns represented in a form, but it is not limited to it.
The DQL implementation in DFW is basically "ruining" the real functionality in the multiview, because they tried to make it "behave" the same way it did in DFD. What we ended up with was one that got the worst from both worlds.
The reason you cannot run an export the same way as an import definition from anywhere, is due to the multiview. An export definition need a queried multiview to export, and in DFW this can only be done from the current active document.
A DBE doesn't export a Table or a Form, it exports the current multiview, so that is why the only thing stored in it is field names. Another limit is that you can only add existing field names to a DBE, so you need to create it on a multiview that contain all the columns you want to export.
The good bit however, is that you can use it anywhere later, and it will export the columns that exist in both the Multiview and the DBE.
So what I do in the example is as follows:
I create the DQL with a list record of all the fields I want to export. I then compile it and go to the DQL body. Here I "export" i.e. I create a DBE based on the mutltiview created by the DQL. I then go back to the DQL, and add this:
if telle = 1 then
Expo := DataExport ("DQLEXP.DBE") .
exit
end
Now the DQL will use the built in Export functionality that exports directly from the multiview, rather than the slow and cumbersome EXPORT TO. The reason I exit after I have exported it, is that this way I don't have to wait for the DQL to finish, because it already is!
In the meaningless DQL implementation done in DFW, the DQL actually run through the data twice. One the modern and hyper effective real DataEase way, and then again in single step to do all the DFD emulation stuff.
So we can't be bothered with the last bit so we simply chop it's leg off.
If you don't understand a word of what I have said above, don't worry. The example is in the DataEase 7.2 samples, and by studying it, you will get what I mean.