The example provided in this document is provided “as-is” to the user and assumes that the user:
PREREQUISITES:
For the sample to work, the Strategy Web JAR files must be accessible by the Java Runtime
Environment. The Strategy Web JAR files can be found under:
Note:
More elaborate programs will require additional library files and are out of the scope of this document.
The sample code below illustrates how to execute prompted report with default prompt answers without waiting for end user's input or supplying prompt answer XML in Strategy Web SDK 9.x. This can be accomplished by setting execution flag EnumDSSXMLExecutionFlags.DssXmlExecutionDefaultPrompt on WebReportSource object, as shown below:
import com.Strategy.web.objects.WebIServerSession;
import com.Strategy.web.objects.WebObjectsException;
import com.Strategy.web.objects.WebObjectsFactory;
import com.Strategy.web.objects.WebReportData;
import com.Strategy.web.objects.WebReportInstance;
import com.Strategy.web.objects.WebReportSource;
import com.Strategy.webapi.EnumDSSXMLAuthModes;
import com.Strategy.webapi.EnumDSSXMLExecutionFlags;
import com.Strategy.webapi.EnumDSSXMLResultFlags;
public class RunPromptedReport {
public static void main(String[] args) throws WebObjectsException {
WebObjectsFactory objectFactory = WebObjectsFactory.getInstance();
WebIServerSession serverSession = objectFactory.getIServerSession();
serverSession.setServerPort(0);
serverSession.setAuthMode(EnumDSSXMLAuthModes.DssXmlAuthStandard);
serverSession.setProjectName("Strategy Tutorial");
serverSession.setLogin("administrator");
serverSession.setPassword("");
serverSession.setServerName("test");
WebReportSource reportSource = objectFactory.getReportSource();
reportSource.setExecutionFlags(EnumDSSXMLExecutionFlags.DssXmlExecutionUpdateCache | EnumDSSXMLExecutionFlags.DssXmlExecutionUseCache | EnumDSSXMLExecutionFlags.DssXmlExecutionDefaultPrompt);
reportSource.setResultFlags(EnumDSSXMLResultFlags.DssXmlResultGrid | EnumDSSXMLResultFlags.DssXmlResultStatusOnlyIfNotReady);
WebReportInstance reportInstance = reportSource.getNewInstance("500B9C4E4A96FE5FDE4F1FBD602D1C0A");
reportInstance.setMaxWait(-1);
int status = reportInstance.pollStatus();
WebReportData reportData = reportInstance.getResults();
serverSession.closeSession();
}
}