REXEC

Top  Previous  Next

This command is used to invoke a remote plugin on terminal.

REXEC   PLUGIN (plugin)
NAMELENGTH (plugin-length)
FROM (area)
LENGTH (arealen)

Options

FROM(area)

writes value of the specified data area, which must be a valid area.

LENGTH(arealen)

specifies the length (halfword binary) of the data area specified in the FROM option.

NAMELENGTH(plugin-length)

specifies the length (halfword binary) of the area passed in PLUGIN parameters.

PLUGIN(plugin)

Plugin to run.  We provides two runnable plugin :

com.hite.x4j.plugin.Execute

Used to run on Windows platform all commands available on Command Prompt (cmd.exe)

com.hite.x4j.plugin.ShowMessage

Used to show a message on terminal.

An example

I.e. the following program invokes a browser on the remote system (explorer or netscape depending on the system) providing an URL as argument, and then shows a message on the terminal

WORKING-STORAGE SECTION.
01 PLUGIN-EXECUTE PIC X(256)
             VALUE "com.hite.x4j.plugin.Execute".
01 PLUGIN-SHOW-MESSAGE PIC X(256)
             VALUE "com.hite.x4j.plugin.ShowMessage".
01 PLUGIN-DATA.
  03 BROWSER-NAME PIC X(8).
  03 FILLER PIC X(1) VALUE SPACE.
  03 PAGE-URL PIC X(247) VALUE SPACES.
01 PLUGIN-NAME-LENGTH PIC S9(4) COMP.
01 PLUGIN-DATA-LENGTH PIC S9(4) COMP.
01 OS-NAME PIC X(64).
PROCEDURE DIVISION.
  EXEC XCICS RQUERY OSNAME(OS-NAME) END-EXEC
  IF OS-NAME(1:7) = "Windows"
     MOVE "explorer" TO BROWSER-NAME
  ELSE
     MOVE "netscape" TO BROWSER-NAME
  END-IF
  MOVE LENGTH OF PLUGIN-EXECUTE TO PLUGIN-NAME-LENGTH
  MOVE "http://www.google.com" TO PAGE-URL
  MOVE LENGTH OF PLUGIN-DATA TO PLUGIN-DATA-LENGTH
  EXEC XCICS REXEC
       PLUGIN(PLUGIN-EXECUTE)
       NAMELENGTH(PLUGIN-NAME-LENGTH)
       FROM(PLUGIN-DATA)
       LENGTH(PLUGIN-DATA-LENGTH)
  END-EXEC.
  MOVE SPACES TO PLUGIN-DATA
  MOVE "Browser invoked by XCICS" TO PLUGIN-DATA
  MOVE LENGTH OF PLUGIN-SHOW-MESSAGE
       TO PLUGIN-NAME-LENGTH
  EXEC XCICS REXEC
             PLUGIN(PLUGIN-SHOW-MESSAGE)
             NAMELENGTH(PLUGIN-NAME-LENGTH)
             FROM(PLUGIN-DATA)
             LENGTH(PLUGIN-DATA-LENGTH)
  END-EXEC.
  GOBACK.