Creating Drill-Downs From a Report to a Map

In this section:

How to:

When you are developing your REPORT type procedure using a WebFOCUS desktop product, you can define drill-down actions for different areas within the report.


Top of page

x
Procedure: How to Create Drill-Downs From a Report to a Map

To create drill-downs from a report to a map:

  1. In a WebFOCUS desktop product, such as App Studio or Developer Studio, create a WebFOCUS FOCEXEC that will be used for the Report procedure.
  2. In the ESRI Configuration Utility, create the FOCEXEC binding for the Report procedure to drill-down from. For more information on how to create the FOCEXEC binding, see Configuring FOCEXECs.
  3. In a WebFOCUS desktop product, such as App Studio or Developer Studio, create a WebFOCUS FOCEXEC that will be used for the Map procedure. You must also include a GIS filter. For more information on how to include a GIS filter, see Incorporating the GIS Filter.

    Note the name that you specified for the GIS filter in step 9 of How to Incorporate the GIS Filter for Amper as String and Amper as Number Styles in a WebFOCUS Desktop Product .

  4. In the ESRI Configuration Utility, create the FOCEXEC binding for the Map procedure to drill-down to. For more information on how to create the FOCEXEC binding, see Configuring FOCEXECs. Define an inbound layer. For more information on how to define an inbound layer, see Configuring Inbound Layers.
  5. Click the Javascript tab located at the top of the ESRI Configuration Utility.

  6. Click Add new Javascript Function in the Code Section tab, which is located in the left pane.

    A new JavaScript section (for example, Section 1) is added, as shown in the following image.

  7. Add the following JavaScript function named RunMyMapOutput with an input value for fexId.
    function RunMyMapOutput(fexId)
    {
    for( var i = 1; i < arguments.length; i += 2 )
    {
    parms[arguments[i]] = arguments[i + 1];
    }
    //var getMapViewerWindowWindow = window.opener;
    debugger;
    var getMapViewerWindowWindow = getMapViewerWindow("mapWindowLEAflex");
    getMapViewerWindowWindow.jsClearMap(null,null,true,true);
    getMapViewerWindowWindow.jsRunFex(fexId,false,parms);
    getMapViewerWindowWindow.focus();
    }

    For example:

  8. Within the same Javascript section (Section 1), add the following JavaScript function, getMapViewerWindow, to refer to the map window.
    function getMapViewerWindow(windowName)
    {
    var getMapViewerWindowWindow = window.top.frames[windowName];
    debugger;
    if(getMapViewerWindowWindow)
    getMapViewerWindowWindow = getMapViewerWindowWindow.window;
    return getMapViewerWindowWindow;
    }

    For example:

  9. In the Report FOCEXEC, call the RunMyMapOutput JavaScript function on the drill-down column. The first parameter for the RunMyMapOutput function will be the ID of the Map procedure fex binding, the second parameter is the name of the GIS filter, and the third parameter is the name of the column in the Report FOCEXEC that is to be passed into the filter. Refer to the example in the graphic below.


Top of page

x
Creating Drill-Downs Between Reports

How to:

When developing your REPORT type procedure with a WebFOCUS desktop product, such as App Studio or Developer Studio, you can define drill-down actions for different areas within the report.



x
Procedure: How to Create Drill-Downs From a Report to a Report in WebFOCUS App Studio
  1. On the Report tab, in the Links group, click Hyperlink.

    The Drill Down dialog box opens.

  2. Click Add.
  3. Select JavaScript from the drop-down list within the Drill Down Type column.

    You have the choice of using two JavaScript functions provided by the WebFOCUS GIS Adapter.

    • BuildReportAmpVars. Creates generic AMPER variable names in the order in which they are encountered in the function call.
      BuildReportAmpVars(fexId,value1,...,valueN)

      where:

      fexId

      Is the ID value in ESRIINFO.xml of the FOCEXEC you wish to invoke.

      value1,...,valueN

      Are the parameter values to be passed to the FOCEXEC as AMPER variables. Each value is assigned a generic name beginning with &ESRI0001.

    • BuildReportNamedVars. Creates specific AMPER variable names. The format of the call requires the variable name and value to be provided in pairs.
      BuildReportNamedVars(fexId,name1,value1,...,nameN,valueN)

      where:

      fexId

      Is the ID value in ESRIINFO.xml of the FOCEXEC you wish to invoke.

      name1,value1,...,nameN,valueN

      Are the parameter names and value pairs that are passed to the FOCEXEC as AMPER variables. Each value is assigned to the name provided.



x
Procedure: How to Create Drill-Downs From a Report to a Report in WebFOCUS Developer Studio
  1. Select the Options panel for the particular column where you want to add a drill-down.
  2. Click the Drill Down tab.
  3. Select Javascript from the drop-down list within the Drilldown Definition area.

    You have the choice of using two JavaScript functions provided by the WebFOCUS GIS Adapter.

    • BuildReportAmpVars. Creates generic AMPER variable names in the order in which they are encountered in the function call.
      BuildReportAmpVars(fexId,value1,...,valueN)

      where:

      fexId

      Is the ID value in ESRIINFO.xml of the FOCEXEC you wish to invoke.

      value1,...,valueN

      Are the parameter values to be passed to the FOCEXEC as AMPER variables. Each value is assigned a generic name beginning with &ESRI0001.

    • BuildReportNamedVars. Creates specific AMPER variable names. The format of the call requires the variable name and value to be provided in pairs.
      BuildReportNamedVars(fexId,name1,value1,...,nameN,valueN)

      where:

      fexId

      Is the ID value in ESRIINFO.xml of the FOCEXEC you wish to invoke.

      name1,value1,...,nameN,valueN

      Are the parameter names and value pairs that are passed to the FOCEXEC as AMPER variables. Each value is assigned to the name provided.


WebFOCUS