Issue 112771

Summary: Open Office RTD development
Product: Calc Reporter: kaplalwani <kaplalwani>
Component: programmingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: elish, glen.a.whitehead, issues, orcmid
Version: 4.1.0-dev   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---

Description kaplalwani 2010-06-28 20:23:57 UTC
i need the RTD like functionality with open office which is available in MS 
office.MS office has its own formulas (RTD formulas) to provide this
kind of feature but its still not available with OO. So i wish to implement 
some similar functionality

As per my R&D i can't find the alternative for open office like RTD in MS Excel 
Now i am trying to build the same functionality through DDE in OpenOffice, so i 
need your help.
please let me know how to implement our own server for DDE in Open Office other 
than soffice.
Comment 1 Edwin Sharp 2013-12-06 12:40:59 UTC
Function missing in Calc.

AOO410m1(Build:9750)  -  Rev. 1543812
Rev.1543812
Win 7
Comment 2 Glen 2015-07-16 09:57:16 UTC
Missing critical feature
Comment 3 orcmid 2015-07-16 15:52:43 UTC
(In reply to kaplalwani from comment #0)
> i need the RTD like functionality with open office which is available in MS 
> office.MS office has its own formulas (RTD formulas) to provide this
> kind of feature but its still not available with OO. So i wish to implement 
> some similar functionality

To be specific, the functionality requested is as described here: <https://support.office.com/en-us/article/RTD-function-E0CC001A-56F0-470A-9B19-9455DC0EB593>.

This function is *not* part of the ODF 1.2 OpenFormula specification, one that was produced with the participation of Microsoft.  I do not know why this function was omitted.  Perhaps because it was not implemented/known in Excel at the time the set of functions was defined for OpenFormula.  Perhaps it was thought that other database-access provisions covered the use case.

ANALYSIS

It seems that the biggest difference is that changes in values provided by the service are into the spreadsheet as they are made available, providing a form of real-time tracking.  (That is, a recalculate happens automatically, if automatic recalculation on changes is enabled.)

It is not clear whether there is a way to produce the equivalent behavior using a script and available database functions within OpenOffice Calc.  In particular, notice that this involves access to a COM Automation service registered on the local COM-supporting platform (usually Microsoft Windows).

If you could get that to work in DDE in Microsoft Excel, there is the possibility that it could be done in a similar way using OpenOffice Calc.  That might be the first way to see if one can work without RTD.  According to the OpenFormula specification, there is no automatic recalculation or detection of changes in the DDE source.  

If relying on some existing COM Automation service is not essential, there may be more flexibility, but that is going to be a custom implementation beyond what OpenOffice Calc provides.

For the time-being, one should assume that the RTD function is not going to be added to OpenOffice Calc in any currently-planned updates.  

This issue is changed to an Enhancement request.  It is not about a defined feature for OpenOffice Calc or for ODF 1.2 OpenFormula.
Comment 4 orcmid 2015-07-16 16:01:06 UTC
(In reply to kaplalwani from comment #0)

> please let me know how to implement our own server for DDE in Open Office
> other 
> than soffice.

This request is not understood.  If you want to implement an application that can be registered as a server that receives DDE requests from OpenOffice Calc, I think you need to dig into the Microsoft technology for that.

What is meant by "other than soffice?"  Of course, using OpenOffice as a DDE server is not going to solve the problem.  You need a server of your own devising, or that is already available from some party, such as a provider of the data stream.

I believe the big issue is that the Calc DDE function does not notice changes at the server, it just gets what there is at the time the function is evaluated, whether on loading of the spreadsheet or some other trigger of recalculation.  Even then, it might not be triggered by a change elsewhere in the spreadsheet.

More information is needed about the particular use case to see what avenues might satisfy its requirements.