Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Run bat file from FDM custom webscript

SRINGELMONov 20 2013 — edited Nov 20 2013

Hello,

I''m an essbase/planning guy being introduced to the world of FDM and I have a basic custom webscript that runs a bat file that needs to copy some files, no maxl commands, just a plain MSDOS COPY. The script is as follows:

Dim strCMD

strCMD = "\\<servername>\FDMAPP\COPYFILES.bat"

API.DataWindow.Utilities.mShellAndWait strCMD, 0

When I run the script FDM displays that "The script ran successfully" with no error in log but the files are not copied.

I know the file is found as I've added some script that prints the bat script.

Will the mShellAndWait command only work to execute maxl commands or all sorts of external processes?

Thanks for your help

Santiago Ruiz Ingelmo

This post has been answered by SRINGELMO on Nov 20 2013
Jump to Answer

Comments

jsmith
A few methods:
a) style borders of the individual cells (and ensure that they fill their entire grid position) or
b) you style the background of the whole grid leaving gaps between cells which fill their entire grid position as is shown below or
c) add new grid nodes with lines and then style the added lines.

I chose method b (styling the grid background) for the code below:
import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
 
public class GridPaneStyle extends Application {
  @Override public void start(final Stage stage) {
    // create a grid with some sample data.
    GridPane grid = new GridPane();
    grid.addRow(0, new Label("1"), new Label("2"), new Label("3"));
    grid.addRow(1, new Label("A"), new Label("B"), new Label("C"));
    
    // make all of the Controls and Panes inside the grid fill their grid cell, 
    // align them in the center and give them a filled background.
    // you could also place each of them in their own centered StackPane with 
    // a styled background to achieve the same effect.
    for (Node n: grid.getChildren()) {
      if (n instanceof Control) {
        Control control = (Control) n;
        control.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        control.setStyle("-fx-background-color: cornsilk; -fx-alignment: center;");
      }
      if (n instanceof Pane) {
        Pane pane = (Pane) n;
        pane.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
        pane.setStyle("-fx-background-color: cornsilk; -fx-alignment: center;");
      }
    }

    // style the grid so that it has a background and gaps around the grid and between the 
    // grid cells so that the background will show through as grid lines.
    grid.setStyle("-fx-background-color: palegreen; -fx-padding: 2; -fx-hgap: 2; -fx-vgap: 2;");
    // turn layout pixel snapping off on the grid so that grid lines will be an even width.
    grid.setSnapToPixel(false);

    // set some constraints so that the grid will fill the available area.
    ColumnConstraints oneThird = new ColumnConstraints();
    oneThird.setPercentWidth(100/3.0);
    oneThird.setHalignment(HPos.CENTER);
    grid.getColumnConstraints().addAll(oneThird, oneThird, oneThird);
    RowConstraints oneHalf = new RowConstraints();
    oneHalf.setPercentHeight(100/2.0);
    oneHalf.setValignment(VPos.CENTER);
    grid.getRowConstraints().addAll(oneHalf, oneHalf);
    
    // layout the scene in a stackpane with some padding so that the grid is centered 
    // and it is easy to see the outer grid lines.
    StackPane layout = new StackPane();
    layout.setStyle("-fx-background-color: whitesmoke; -fx-padding: 10;");
    layout.getChildren().addAll(grid);
    stage.setScene(new Scene(layout, 600, 400));
    stage.show();
    
    // can be uncommented to show the grid lines for debugging purposes, but not particularly useful for styling purposes.
    //grid.setGridLinesVisible(true);
  }
  public static void main(String[] args) { launch(); }
}
934225
This example is very very helpful.
1 - 2
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 18 2013
Added on Nov 20 2013
1 comment
395 views