Resolve - OpenServer Overview
Resolve - OpenServer Overview
User Guide > Appendix > Further Technical Elements - OpenServer > Overview
Up Previous Next
OpenServer Overview
OpenServer is the mechanism by which external applications can interact and control all the
programs in the IPM suite (PROSPER, GAP, REVEAL, PVTP, MBAL, and RESOLVE)
For example a VBA macro in Excel can be used to open, interrogate, and run IPM programs.
The OpenServer functionality that is in RESOLVE operates on the same principles as other
programs.
For more information, see the OpenServer manual that is distributed with the IPM suite.
There follows a brief overview of the functionality of the OpenServer with specific reference
to RESOLVE.
External OpenServer macros can be written to control RESOLVE. These macros can be
written in any language that supports automation, for example: Visual Basic, VBA, VBScript,
C++, Java, Matlab.
Most typically they are written as VBA macros in an Excel spreadsheet; the "OpenServer
example macros" are in this form. An OpenServer macro can call three different functions /
subroutines on the program (RESOLVE) it is controlling.
These are:
· retval = DoGet("tagstring") : interrogates a variable in the application (for example,
the schedule start date).
· DoSet("tagstring", "value") : sets a variable to the value "value".
· DoCmd("tagstring") : performs a command (for example, load a file, perform a run).
In each case, tagstring is a "." delimited string that refers to the variable or command in
question.
For example, to get the start date in RESOLVE, the following string will be used:
retval = DoGet("Resolve.Schedule.StartDate.DateStr")
will return the date in the form of dd/mm/yy (depending on the international settings).
DoCmd("Resolve.Run"),
and so on.
In each case the tagstring starts with the application name (in this case, RESOLVE).
When getting or setting a variable, the rest of the string is a delimited list of child variables
until we get to the required variable (DateStr is a "child" variable of the "StartDate" property,
mk:@MSITStore:D:\Petroleum%20Experts\IPM%2010\resolve.chm::/open_server__overv... 1/14/2024
Overview Page 2 of 2
When executing a command, the string simply refers to the command to be executed: these
are documented in the "Commands" section.
There is a quick way to find an OpenServer tagstring if the variable is part of the user
interface.
In this case, go to the required screen and press <Ctrl> and Right Click over the variable in
question.
A screen will appear with the variable tagstring which can then be copied to the clipboard.
Empty variables
Ü Variables that are not set (or are blank) in RESOLVE return a large number (3.4e34)
when the OpenServer queries them
mk:@MSITStore:D:\Petroleum%20Experts\IPM%2010\resolve.chm::/open_server__overv... 1/14/2024