Skip to Content
0

Unassigned Data Source and Mandatory Query Variables without Default Value

Jul 24, 2017 at 09:09 AM

206

avatar image
Former Member

Hallo experts,

i have question regarding query variables in Design Studio.

First off we are working with SAP BO DS 1.6 SP1 P1 on BIP 4.1.

I have created an application, which features an unassigned data source. This data sources is assigned to a query by user's choice at runtime. This assignment is done in the OnStartup script along with some other routines (e.g. Setting Icons and texts depending on the query). Everything is working fine unless the query contains a mandatory variable without Default value. In this case the the varible prompt is shown, displaying Errors

"Specify a value for variable ..." and error during the script processing. This leads to the termination of the OnStartup script resulting in a Kind of corrupt state of the application.

As the query is selected by the user at runtime it is hasd to set default values in the script at design time.

Do you know of any method to avoid this issue?

Kind regards

Christian

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Mustafa Bensan Jul 24, 2017 at 10:16 AM
0

Hi Christian,

Did you try setting the Application property Force Prompts on Startup to false? Although this may not impact dataSources loaded by script but you could check.

By the way, can you provide the script you are applying to load the user-selected data source?

Regards,

Mustafa.

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Jul 24, 2017 at 11:23 AM
0

Hi Mustafa,

Force Prompts on Startup has been set to false already. When a query with other variables is selected, I can force prompts without the script being terminated. Everything works fine there. The issue only occurs when mandatory variables without Default value are used.

Please find the script below. The URL Parameter "X_g_query" is passed to the application from another DS App. Depending on user's choice:

// set date in header

START_FUNCTIONS.set_date();

START_FUNCTIONS.get_user_name();

//start in bookmarks if needed

if (X_g_bm == "BM") {

g_actionsheet = "BM_LONG";

ACTIONSHEET_CONTAINER.setVisible(true);

BM_LONG.initiate();

}else {

//set icon according to report

if (X_g_icon !== "") {ICON_REPORT.setIconUri(X_g_icon);}

if (X_g_istyle !== "") {ICON_REPORT.setCSSClass(X_g_istyle);}

//set query

if (X_g_query !== "") {

DS_1.assignDataSource("cuid:AcjhszDsRMBOgzbwNugblhM", "QUERY", X_g_query);

}

DS_1.setVariableValueExt("SR_TCUR", X_g_curr);

DS_1.loadDataSource();

// set dropdown filters

FILTER_FUNCTIONS.set_fltr_dropd();

if (DS_1.isInitialized()) {

// check variables and disable Prompt Icon, if no input ready variables available

var variables = DS_1.getVariables();

var prompt_possible = false;

PROMPTS_DISABLED.setVisible(true);

variables.forEach(function(variable, index) {

if (variable.inputEnabled == true) {

prompt_possible = true;

PROMPTS_DISABLED.setVisible(false);

}

});

// get DataSource information for Header Title

if (DS_1.getInfo().queryDescription) {

TEXT_TITLE.setText(DS_1.getInfo().queryDescription);

TEXT_TITLE.setTooltip(DS_1.getInfo().queryTechnicalName);

}

elseif (DS_1.getInfo().queryTechnicalName) {

TEXT_TITLE.setText(DS_1.getInfo().queryTechnicalName);

}

}

// set initial mode

g_display_mode = "TABLE";

g_designer_mode_on = true;

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Christian,

Thanks for the details. I have looked into this and the only way to suppress the display of the mandatory variable prompt dialogue seems to be to assign a default variable value to the mandatory variable with setVariableValue() immediately after the assignDataSource() method.

Referring back to your earlier comment about the error: '"Specify a value for variable ..." and error during the script processing. This leads to the termination of the OnStartup script resulting in a Kind of corrupt state of the application.'. Doesn't the OnStartup script continue execution as expected after the user has selected a value from the prompt dialogue though?

Regards,

Mustafa.

0
Former Member

Hi Mustafa,

thank you very much for the clarification.

The behavior of the script is a little strange indeed. If you assign a default value or if the mandatory variable has a default value and force prompts is set true then the script continues as expected. However, if there is no value assigned to the mandatory variable, then the script is terminated and the application is not set to the proper state.

Best Regards,

Christian

0