Job-System Hilfe

Overview

Information

Job manager
 Program items
 Menus of the job manager
 View bar
 Folder view
 Job lists
 Controlled jobs
 Started jobs
 Log file archive
 Computer
 Options
 User management
 Options

Jobs
 Properties
 Start
 Execution
 Command editor
 Table editor
 Check log
 Documentation

Batch run module

PC commands

FTP commands

Telnet commands

Parameter
 Parameter functions

Control commands

Others


General
Next

The Job-System is used to manage and execute working processes which normally are done manually and mostly are documented laboriously.

The Job-System consists of three main program units:

The Job-Manager, the Jobs and the Batchrun-Module.

Through the implementation of commands necessary in PC environments to handle files and a direct connection to processes on a remote host it is possible to execute and store complete production flows as a job.

With the logging of processes it is possible to review every single step of production.


How does the Job-System work
Back Next

The jobs used for data processing are command files stored in text format on a storage media. Only its names are managed by the Job-System.

These command files contain command lines which are executed by the Job-System.

The command lines can contain definitions of parameter, control commands, connection commands, file commands and program calls.

If a command file contains parameter (included in delimiters; e.g., %) this file is only executable by the Job-System.

This happens normally by entering the necessary parameters and then starting the job.

The Job-System will create then a executable command file where all parameter will be replaced by the values the user entered. The command file then also does no longer contain programming logics like e.g., conditions, loops etc.

With this executable command file the batch run module will work.

It is also possible to save a executable command file as a normal file in order to be able to execute this job without using the Job-System (for example in order to put a job onto the desktop or if you want to let a scheduling program start a job).


Notation of the syntax
Back

Command words are written upper case and in BOLD FONT.

Italian font indicates parameter text which can be choosen free.

Words in UPPER CASE are optional key words.

Square brackets [ ] indicate that the subsequent term can be specified optionally.

The pipe sign | indicates that subsequent terms can be used instead of the previous term.

Example:
Description=%parameter%=FORMAT([UCASE] | [LCASE] | [0] [,INIT:content | EMPTY] [,LINES:linecount ] [,LENGTH:charactercount])


The job manager
Next see also the Job-Manager Menus

With the Job-Manager you are able to arrange and start jobs as well as getting job Information or viewing logfiles of jobs.

The Job-Manager has two elements for using the program units:

The Viewbar enables calling and starting of jobs quickly.
Die view Folders offers a structured form of all existing information.

The taskbar beneath the windows shows all opened windows. By clicking a button the corresponding window is set to foreground.


Job manager menus
 Back

File

New Joblist | creates an empty list for jobs where you can copy jobs from the list of all existing jobs or from other lists of jobs.
Open Joblist... | opens a dialog window for selecting existing lists of jobs. There you first have to select a group of the existing user groups ('From Group'). In the appearing lists of this group you have to select the desired one and load it.
Save Joblist | saves a new or changed list of jobs.
Save Joblist as... | saves the current list of jobs with another name or for another user group.
Import Joblist... | imports lists of jobs which have been used by the previous version of the Job-Systems. Eventually you have to specify the path of the program file of the old Job-System before you can define the job list file.
Open Database... | opens a dialog window for selecting another database of the Job-System.
New Job | shows a window for creating a new job.
Open Job | opens a job highlighted in a list of jobs. Within the Options you can specify if this menu should show an already opened job.
Open Job in new window | opens a job always in a new window even if it is already opened.
Login... | shows a window used to either login with another user id or changing your password.
Exit | terminates the Job-System program. Currently running batch jobs are not effected.

Edit

Cut | copies a highlighted job of a list of jobs into the Windows clipboard and removes it as soon as is pasted into another list of jobs.
Copy | copies a highlighted job of a list of jobs into the Windows clipboard.
Paste | pasts a job into a list of jobs.
Delete | removes a highlighted job of a list of jobs.
Search | searches for a defined text in the lines of a list of jobs. Alternatively you can search within the command files of the jobs of a list of jobs.

View

Toolbar | displays the toolbar or hides it.
Viewbar | displays the view bar or hides it.
Folders | displays the folder view or hides it.
Taskbar | displays the taskbar with buttons of opened windows or hides it. Through the context menu of the taskbar you can change the layout and position.
Statusbar | displays the status bar or hides it.

Options

Show gridlines | displays in all lists vertical and horizontal split lines or hides it.
User management... | shows the dialog window for Management of users, groups and departments.
Options... | shows the dialog window for the Programoptions.

Window

Tile Horizontal | arranges windows within the Job-System horizontal.
Tile Vertical | arranges windows within the Job-System vertical.
Cascade | rranges windows within the Job-System overlapping..
Minimize All | minimizes all opened windows.
Restore All | restores all minimized windows.
Close All except | closes all windows except the selectable Joblists or Jobs.

?

Content... | displays the topics of this help file.
Index... | displays the index of the topics of this help file.
How to Use Help | displays a general help for using windows help files.
About | displays information about the Job-System and system values.


Ansichtenleiste

View bar

The View Bar enables quick calls and starts of jobs.

The button 'Joblist' shows the Joblist of the user in the right window.
The button 'Job' opens a selected Job from the list of jobs or shows the recently opened Job.
The button 'Started' shows the status list of the started jobs.


Ordneransicht

Folder view
Next

The Folder View is used for a structured display of all existing information.

Following folders are included:

'Existing Jobs' contains Jobs and Joblists of the users.
'Controlled Jobs' contains Jobs which are executed automatically by defined dates or events.
'Started Jobs' shows a status list for started, running and terminated jobs.
'Logfile Archive' contains all log files which have been created by running jobs.
'Computer' shows the computer where the Job-System is installed.


Ordner 'Vorhandene Jobs'

Folder 'Existing Jobs'
Back Next

The folder 'Existing Jobs' contains Jobs and Joblists of the users.

The name of the list of jobs of the user is displayed beneath the folder as sub folder (here for example the joblist 'Dataview').

With the user type 'Support' and by clicking the folder 'Existing Jobs' the jobs will be listed which belong to the department of the user and the jobs which can be used by all departments.

With the user type 'Administrator' and by clicking the folder 'Existing Jobs' all jobs will be listed which are defined in Job-System.

When clicking the folder 'Existing Jobs' the right window contains the title 'Existing Jobs - All'.

The jobs are sorted by type and description by default.


Joblisten

Joblists
Back Next

Joblists are containing the Jobs which have been set for a certain group of users.

Within the Folder View the name of the joblist is displayed as sub folder (here for example the jobliste 'Dataview').

By clicking the +- sign the folder will be popped up or down..

Beneath the name of a popped up joblist the types of the jobs will appear which are in the joblist.

There are following menu entries in the context menu of the name of the joblist:

Remove Joblist | removes the joblist from the view of the folders. This is only available for the types of users 'Administrator' and 'Support'.
Filter name of Joblist | with types of jobs which contains the name of the joblist itself (e.g. 'Dataview-EDD') the name of the joblist can be filtered from display in order to improve the overview. This is only available for the types of users 'Administrator' and 'Support'.

By clicking the name of the joblist all jobs which are existing in the joblist will arrear in the right window. The jobs are sorted by type and description by default.

If you click on the type of a job within the left view of folders in the right window will appear all jobs of this type.

By double clicking on the line of a job the Job will be opened.

Create new lists

With the menu 'File/New job list' an empty job list can be created. From the list 'existing jobs' or other job lists you then can copy jobs and paste into the new list.

After closing the new list you have to confirm if the chánges have to be saved. After confirmation a dialog window appears where you have to select the group which the list has to be assigned to. In addition a name has to be specified for the new list.

Edit job lists

You can delete, move and copy jobs from job lists. Copying can also be done per Drag&Drop. Using this method it is also possible to copy jobs via the folder view to other job lists.


Gesteuerte Jobs

Controlled Jobs
see also Job Planning

Controlled jobs are jobs which can be started automatically through defined dates or events.

Within the Folder view you can list all computers for which jobs have been defined.

The list of the controlled jobs can either be opened for all jobs or selected per computer.

The list of the controlled jobs shows following information:

Computer | is the Computer where the job is planned to run
Planned Job | is the description of the planned job.
Planned execution time | shows which date or event controles the execution
Last started | is the start time of the job
Last terminated | shows when the job recently has been terminated
Last state | shows the last state of the job
Next date | shows the time of the next execution (only on time controlled jobs)

The Menus of the controlled jobs

Planning jobs see Job Planning


Gesteuerte Jobs Menüs

Controlled Jobs menus

File

Plan a new Job... | opens the Properties window to plan a new job.
Change plan... | opens the Startplan window of a already existing job.
Properties | opens the properties window of a already existing job.
Import from Local Schedule file | imports a single definition file of the scheduler of the Job-System version 1.32.
Start now | starts a highlighted job from the list immediately.

Edit

Deactivate | deactivates a plan of a highlighted job or activates it.
Delete | deletes a job from the list of controlled jobs.
Move down | moves a highlighted job in the list down. Has no influence on the plan.
Move up | moves a highlighted job in the list up. Has no influence on the plan.

View

Refresh refreshes the list of controlled jobs.

Options

Stop Scheduler | stops or interrupts the check of all plans of controlled jobs of the computer where the current Job-System is running. The scheduler is not terminated.
Deactivate Scheduler | terminates the scheduler.
Deactivate without jobs | controls if the scheduler will be terminated automatically if all jobs have been deleted.
Activate durable | controls if the scheduler will be started automatically on booting the computer. This should be default as soon as controlled jobs have been defined.
Show all jobs | controls if the list of controlled jobs should also show jobs of other computers.
View logfile | opens the log file of the schedulers that contains start and end of the schedulers itself and of executed jobs.


Job Planung Eigenschaften

Job planning properties

Through the Job Planning you can open existing jobs.

Jobs can be controlled by Times or Events.

With the file menu 'Plan a new job...' or 'Properties' the properties window is opened.

Following elements are describing the properties of a controlled job:

Command line | has to contain the complete path of a program and all parameters. If the path name contains blanks you have to enclose it in double quotation marks. In the popup list all command lines are listed which have been defined previously. With the button 'Find...' you can select the program to run.
Log status | every call of the command line will be logged in the log file of the scheduler (see menu 'Options/View logfile').
Description | here you can enter a text of description that will appear in the list of controlled jobs.
Computer of | shows the Computer where the job is planned to run. Can be changed at folder view 'Controlled Jobs' only.
Start in | defines the work directory that will be used at execution time.
Show | is related to the window of a program to call (if exists). 'Hidden' suppresses a display of window completely. 'Normal Window' opens the window in normal size. 'Minimized' minimizes the window. 'Maximize' maximizes the window to full screen size.
Deactivated | switches the activation of the plan of the job on or off.
Change plan... | opens the window 'Start Plan' for defining of times or events.


Gestartete Jobs

Started Jobs
Back Next

'Started Jobs' shows a status list for started, running and terminated jobs.

The status list can be opened with the Folder View.

By clicking the folder 'Started Jobs' within the folder view you can open the status list of the jobs which are currently running, have been terminated or braked so far.

By clicking the sub sequent folder 'Running' only running jobs will be displayed.

The folder 'Ended' can show errorless terminated jobs, braked jobs or jobs with warnings.

The Log file of a highlighted job in the status list can be opened by double click, with the button [image] or the file/context menu 'Open Job'.

If the job is still running the actual state can be different to the one shown in the log file if not all information has been saved to the log file yet. The automatic refresh of the shown log file can be switched on or off by the submenu 'Automated refresh' of the menu 'Options'.

If the archiving of the log file had been suppressed (NoArchive/NoHistory) the recently created log file will be opened only on jobs which have already been terminated.

A running job can be changed to status 'Abended' in the list by cancelling it with the context menu 'Cancel job'. This has no influence on the job itself. A already terminated job can be deleted from the status list by the context menu 'Delete job'.

The status list is refreshed every 20 seconds by default. This can be deactivated with the context menu 'Refresh automatically'. With the button [image] you can refresh the display manually.

With the menu 'Only jobs of the own group' you can hide jobs of other user groups.

The display of terminated jobs can be set to a certain time limit. With the tab register 'Lists' of the program options you can specify how many days terminated jobs shall be shown within the status list.

The status list shows following information:

State | can contain the state 'Running', 'Ended', Warning' and 'Abend'. The state 'Warning' indicates a job that is terminated and where not all commands have been executed without errors.
Progress | shows the proportional progress of the process of all command lines of a jobs.
Jobname | show a descriptor if it has been defined with the job with the command '/Set Jobname'.
Step/Label | shows the 'Label' that has been defined to describe the processed steps or block of commands.
Type - Description | shows the process type and the description which have been defined for a job.
Start time | shows the time of the start of a job run.
End time | shows the time of the termination of a job run.
Started by | shows the name of the user who started the job.
Computer | is the name of the computer where the job has been started.
Process | is an internal number of the operating system of the computers where the job has been started.
Priority | unused.
Performance | unused.


Protokoll-Archiv

Log file archive
Next

The log file archive is used for archiving Log files which have been created by the jobs of the Job-System.
It can be opened either with the Folder View or with the Properties of a job.

With the folder view all log files are grouped within folders by year and month of the creation. If the Option 'Load logfile archive only if needed' has been activated this grouping is only visible after the first click on the folder (it gets a + sign to let you popup the sub folders).
Only if you have clicked on a monthly folder the list of all log files appears which have been created within this month.

The window contains the list with the log files existing in the archive and additional details.
The details in a column can be sorted by clicking on the column header.

Following columns exist:

Job | is the file name of the processed job with out path and file extension.
Jobname | shows a describer if it has been defined with the command '/Set Jobname' within the job.
State | indicates if the job run has been abended ('Abend'), normal terminated ('Normal') or contained a warning ('Warning').
Mode | indicates if the job run had been started in normal mode ('Normal') or with single step mode ('S-Step').
Start time | displays the time when the job has been started.
End time | displays the time when the job terminated.
Lines | displays the amount of lines of the log file.
Started by | displays the name of the user with which the user had logged in.

Above the columns of the list of log files there are seven input fields, which can be used as selection criteria.

Every field corresponds to the underneath column. The creation date is an exception because you can use two fields to specify a time frame of creation.

A single Log file can either opened by double click or with the button [image].

If selection criteria have been set you can confirm it with the button [image] and then only log files will be listed where the details are matching the criteria.

With the button [image] you can again list all log files that matches the time frame of the currently selected month.

With the button [image] you can refresh the list of log files in order to see newly added log files.

Matching signs:
 Following signs within the selection criteria have an exceptional meaning.
* no, one or several characters
? exactly one character
# exactly one digit

The Log file archive menus


Protokoll-Archiv Menüs

Log file archive menus
Back Next

File

Open logfile... | opens a Log file highlighted in the list of log file.
Import logfile... | loads an external job run log file into the archive.
Export logfile... | saves a highlighted log file as external file.
Export list of logfiles... | saves the currently visible list of log files as external file.

Edit

Use for selection can be used to take over entries of the list of log files into the input fields for selection criteria. For that you have previously to click the appropriate entry in the list of log files.

Options

Filter | shows the the log files in the current list which match the selection criteria.
Show all logfiles | shows all log files of the current list.


Protokoll

Log file
Back Next

A log file contains all commands and its log output which a job a has created during runtime. In addition it contains runtime information and parameter which have been entered by the user.

Log files can be opened through the Log file archive or with the Properties of a job.

If it is the log of a job still running then you can refresh the view with the button [image].

The button [image] shows the normal view where long character lines are hidden by the border of the window (and can be scrolled using the scroll bar).

With the button [image] you can switch to the view where words are wrapped and always the entire line is visible.

With the the button [image] you can switch to the hexadecimal view. Beneath every line each character is shown with its hexadecimal coding. Here you have to take into account that not all of the content is visible if it extends the maximum visible amount of bytes. If you want to see a certain line like hidden by this mode you can use the menu 'View/Hex/From Cursor line' where the view starts with the line where the text cursor is set to.

The button [image] is activated if an error messages exists in the log file. Then this button sets the cursor to the next line where an error is displayed. An error message can be as follows:

Error raised:

Following runtime information is displayed in the log file:

Complete Filename of the command file with time of start and termination.

OS | Version of the operating system.
LanguageNumber | ID of the language the job has been started with.
Processor | Amount and type of the processors.
ComputerName | Name of the Computers in the network.
Username | User name that has logged into the Job-System on the computer.
Jobname | Name of the jobs if it has been defined with the command '/Set Jobname'.
JobOwner | Name of the user who has started the job.
JobOwnerGroup | ID of the group of the JobOwners. Is linked with the user name within the user management.
JobOwnerDepartment | ID of the department of the JobOwners. Is linked with the user name within the user management.
JobID | internal ID of the jobs in the Job-System.
SJobID | internal ID of a started jobs. Appears in the Statuslist of the started jobs.

Contents of parameters are displayed in dark red.
Text of labels is displayed in green.
Line markers are displayed in blue.
Error markers are displayed in light red.

If a log file contents more than 50000 characters you either have to go to the next page block by using the menu 'Go To' or with the page button [image] or go to the end of the log file with the button [image].

The Log file menus


Protokoll Menüs

Log file menus
Back

File

Save as... saves the log file as external file.

Edit

Find next Error...

is activated if an error message exists in the log file. Then with it you can go to the next line where an error has been displayed. An error message can look like follows:

View

Normal | shows the normal view where long character lines are hidden by the border of the window (and can be scrolled using the scroll bar).
Wordwrap | switches to the view where words are wrapped and always the entire line is visible.
Hex | switches to the hexadecimal view. Beneath every line each character is shown with its hexadecimal coding. Here you have to take into account that not all of the content is visible if it extends the maximum visible amount of bytes. With the option 'From Beginning' the display starts with the first line. With the option 'From Cursor line' the view starts with the line where the text cursor is set to.
Refresh | If a log of a running job is shown you manually refresh the view.

Options

Refresh automatically If a log of a running job is shown you can switch on or off the automatic refresh.


Computer
Back

The window 'Computer' shows the computer where the Job-System is installed.

It can be opened through the Folder view.

Following columns exist:

Checkbox | indicates if the group of the user has been given access to the computer.
Computer | shows the network name of the computer.
Descripton | contains a name of the user. Can be changed through the context menu.
Address | shows the IP Address of the computer.
Job-System State | show if the Job-System is running on this computer or not.
Job-System started | shows the time when the Job-System has been started on this computer.
Job-System ended | shows the time when the Job-System has been terminated on this computer.
User group | contains the group which the user belongs to.
User | contains the user name with which the Job-System had been started (does not change if another user name logged within the Job-System).

With the context menu a user with administrator rights can delete a computer from the list.

With the context menu 'Refresh automatically' you can switch on a refresh every 20 seconds. With the button [image] you can refresh the display manually.


User and groups
Next

With this register of the user management user of the Job-System have to be defined.

The user management is called with the menu 'Options/Options'.

Following fields are available for user data.

First name, last name, role and user name have to be specified. The password can optionally be specified.

Adding a new user

For adding a new user the fields of a user have to filled and confirmed with the button 'Add'.

Following roles are available for the access rights:

Administrator | All access rights are available.
Support | Within the assigned department you can add groups and users, edit lists of jobs and edit and start jobs.
User | Jobs of the assigned list of jobs can be started.

After adding a new user the name appears in the list 'User' of the area 'User groups'.

An empty box on the left of a name means that the user is not yet assigned to any group.

Assigning a user to a group

Groups that already have been defined are visible in the right list 'Groups'. The group 'Administrators' is only available for users with the role 'Administrator'.

Through selecting an existing group all users which belong to this group are shown in the list 'Users'. Even a user not assigned is shown in the list. If you select such a user the button 'Assign' will be activated. With this button the user can be assigned to the group. The checkbox beside the name then will get a mark and the user is only listed with this group.

Removing a user from a group

Through selecting an existing group all users which belong to this group are shown in the list 'Users'. A checkbox with a mark means that the user is assigned to the selected group. If it is selected the button 'Remove' will be activated. With it you then can remove the user from the group.

Changing or deleting a user

Through selecting an existing group all users which belong to this group are shown in the list 'Users'. Only if a user is selected in the list its data appears in the fields of the area 'User'.

Then also the buttons 'Change' and 'Delete' are activated with which changes can be taken over or the user can be deleted.


General options
Next

With the options of the menu 'Options' you can define settings which control the behaviour of the environment of the Job-Systems.

Following options are possible:

Language like country setting | Automatically takes the language that is set with the country settings of the system settings. This is only possible for languages for which a language resource file does exist.
Direct selection | Enables choosing the language from the list of languages for which a language resource file does exist. Note: the execution of a job and the output of the log file is always done with the country settings of the system settings.
Show background picture | Toggles the display of a picture pattern used for the background of the Job-System.
XP Themes for common controls | With Windows XP you can select themes for the layout of the standard controls of the operating system. With this option the layout of a selected theme is also used for the common controls of the Job-System.
Show animations | With an additional module based on the Microsoft Agent Technology animated characters can be integrated into the program environment of the Job-System. For some functions movements of animation and descriptions have been implemented.
Use SMTP for sending emails | If no Microsoft Outlook is running in the background it is necessary to define a address of a SMTP gateway. Note that a change of this address is valid for all users of a common installation of the Job-System. Therefore only users with administrator rights can make changes.
Slow connection mode | Shows if the connection to the tables of the database takes more than 3 seconds. In this case no status information is sent back to the database in order to reduce runtime problems.
Support connection activated | If activated the existance of the Internet page "www.Job-System.info/Notify" is checked. If it exists then status mails are sent to the mail address "JMarkart@online.de". Can be set by users with administration rights only.
Allow the group accessing this computer | With this option it is possible to start a job on the current computer remotely by a foreign computer. This is only possible for users of the same group.


Jobs
Next

Jobs are descriptions of processes which have to be executed by certain groups and departments. The description of a job is separated into different pages in order to give a better overview about the details.

Following pages are shown:

'Properties' shows organized data, runtime data and necessary parameter.
'Start' shows the parameter necessary for the run and is used to start a job.
'Execution' shows the job during runtime.
'Commands' shows the command editor with the commands which have to be executed for the job.
'Preview' shows the command lines which would be executed at runtime.
'Documentation' shows the descriptions and comments which are included in the commands.

If the buttons for selecting the pages do not fit into the size of the window additional buttons will appear at the right border. With it you can navigate the page buttons. The icons of the page buttons can be suppressed using the program options.

The Job Menus


Seite Eigenschaften

Page Properties
Back Next

The page of the job properties shows organizational data, runtime data and necessary parameter.

General information

Process type : | describes the product for that the job has to be used. Appears in the folder view of the job lists and in the job list.
Department : | shows the department of the group which has to start the job. Appears in the job list.
Description : | Short description of the job. Appears in the job list.
Command file : | the file name of the file that contains the commands of the job.
Edited : | Date of the last update of the command file. Appears in the job list where all jobs existing in the database are listed.
by : | the user name of the editor who updated the command file with the Job-System. Appears in the job list where all jobs existing in the database are listed.

The button 'Set start date' hands the job and its parameter contents over to the Job-System scheduler which you can find under 'Controlled Jobs' of the folder view.

Use description within command file :

This check box is only usable for users with administration- or support- rights. It sets and indicates if the process type and the description is taken from the command file. For that the first found comment line is investigated. The structure of the comment should be 'Process type - Description'. The process type will be extracted from the left out of the text that is limited by a space character and a hyphen. The description is taken over from the hyphen to the right.

Information of the job run

In the middle area of the job properties are shown information of the current or the last job run.

'UserID ' shows the last user who started the job.

Following contents of status can occur:

New | The job has been added to the system and not been started yet.
Running | The job has been started and is not terminated yet.
Abend | The job has either been cancelled by the user or braked by the batch runtime module.
Warning | The job ended but not all commands could be executed successfully.
Ended | The job terminated without errors.

With the button 'Log file' you can see the Log file of the last run. You can only see logs of jobs that have been started from the current computer (see Saving the log files).

With the button 'Archive' you can see the log files of all previous runs of this job which are stored in the Log file Archive.

Job parameter

In the lower area of the job properties all parameter appear which have to be filled for a job before it can be started. These parameter are also showed on the page 'Start'. The contents are only completely editable on the page 'Start'.

You can find the description of all possible types of parameter in Parameter and Parameter functions.

When opening the properties always the parameter contents are shown which are predefined by the job itself or which had been entered by the user the last time.

If a job parameter consists of a table e.g. like in the picture above the parameter 'DB' you can edit it by clicking on it with the right mouse button and using the context menu 'Edit table...'. This will open the Table Editor.

If you right click on a free place of the job properties window you can open this help file with the context menu item ''Help'.


Seite Start

Page Start
Back Next

With the page 'Start' you can start a job.

The field 'Type - Description' contains the type of process and the description of the job.

In the area 'Job-Parameter' all parameter appear which have to filled or selected before it can be started. A tool tip appears if you move the mouse over a parameter field that has been specified with format definitions.

You can find the description of all possible types of parameter in the sections of Parameter and Parameter functions.

When opening the pages 'Start' or 'Properties' always the contents of parameter are shown which are either predefined by the job commands or have been entered by the user on the last usage.

The hint 'Single Step Mode ! ' appears if the mode 'Execute job with single step' has been selected with the menu 'Options' (see Batch run Module in Single Step Mode ).

Die Checkbox 'Job messages with sound' does only appear if the job contains the command 'MSG' with additional parameters for sound. This is useful to give the user the opportunity to omit sound output.

The 2 lights are indicating whether all parameter fields are filled in order be able to start the job.

The button 'Start Job' starts a job by calling the Batch run module. If not all parameter fields have been filled yet an error message appears and the fields with the missing content will be activated.

After the start of the job run module the page 'Execution' will be shown.

The selection list 'on computer' is visible if another computer of the own group has been made accessible. Then it can be selected for executing the job. Users with role 'Administrator' will get listed all available computer. Existing and available computer are visible in the list 'Computer' of the folder view.

If the job window is closed all entered parameters are saved. However, this function is not job specific. The contents are stored with the parameter name that has been defined within the job commands. That means if another job (of any type) uses the same parameter names the contents will be displayed and saved newly.

If the menu item 'Execute Job with single step' is activated you can run every single command line independent. The batch module is then started in Single Step Mode. The activation of this menu item will not be saved after closing the Job-System.


Seite Ausführung

Page Execution
Back Next

This page is shown during the execution of a job.
As long as the job has not been started only the page 'Start' can be shown.

On this page you can see the execution of the batch run module.

Detailed explanation at 'Batch run module in normal mode' and 'Batch run module in single step mode'.

If the run terminated with an error the log file of the run will automatically be shown.


Seite Befehle

Page Commands
Back Next see also Job Menus

The page 'Commands' is used for creation and editing of jobs with parameter definitions and command lines.

The window contains the job with all commands.

The tool bar of the job editor offers following special functions.
Search and repeated search of text within the command lines.
Redo or repeat a change.
opens the Table editor. if a file name of a file has been marked which contains records of a table. Opens Microsoft Access if the command 'TABLE' has been marked and it points to a database table. See job menue 'Edit table records...'.
switches to the mode of recording keystrokes. The button changes to [image], the program window will be minimized and keystrokes will be recorded. You can terminate this mode by redisplaying the program window and clicking on this button again. The recorded key characters will appear in the status bar.
shows the content of parameters which have been highlighted in the status bar.
shows a reference list of commands. A list with all available commands will appear. The syntax of the commands is shown in the status bar. You can the get the corresponding help by selecting a line and using key 'F1'.
moves highlighted lines to the right or to the left by a certain amount of columns. The amount of columns can be defined within the program options.
highlighted lines are deactivated (by a comment sign) or reactivated.

Within the text of the job you can call help for every defined command by locating the cursons on it and pressing key 'F1' or using the context menu.

If the code colouring is activated then labels (lines which start with a double point) will be displayed in green bold font (see Options).


Seite Vorschau

Page Preview
Back Next

With this page the command lines will be checked and listed in the same form like executed in a job run.

All parameter are filled with its contents and replaced within the command lines.

Every line which contains an executable command will be displayed with a line number.

By clicking on a line and subsequent call of the page 'Commands' the command area will be showed that contents the command line.

The preview is always refreshed if either the command text has been changed or another parameter content has been entered or selected.

If errors appear during checking the command lines the generating of the lines will be stopped and an error message is written.


Seite Dokumentation

Page Documentation
Back Next

With this page you can list labels, comments, parameters and programs.

In the first line the file name of the command file is displayed.
Beneath comes the first comment line which should describe the job.
By activating or deactivating of the appropriate checkboxes you can display or hide comments, parameters and programs.

All lines which starts with a semicolon and a blank character and subsequent text are displayed as comment lines. Lines which start with a semicolon without a following blank character are treated as deactivated command lines and are not displayed. Within 'INLINE' sections
you can put a single quotation mark before the semicolon.

If programs are selected all programs are shown which are not executed internally by the Job-System. In addition commands which are using external program modules are also shown.


Job Menüs

Job menus
Back

File

New command file | clears the active job editor for a completely new input.
Open command file... | opens a dialog window for selecting a command file and loads it into the job editor.
Save command file | saves a changed command file. An already existing file with the same name will be renamed with the extension '.Backup'.
Save command file as... | opens a dialog window where you can save a changed command file with another name.
Save executable command file... | creates and saves a command file that can be executed by the batch run module independent from the Job-System (see also 'JSBATCH'). For that all parameter of the job have to be filled or selected. Is only available for users with role 'Administrator' and 'Support'.
Save Job | saves changes which are related to the definitions of the job. This also can be a change of the first comment line of the command file which is used for building the description of the job.
Print... | is always related to the content of the displayed page.

Edit

Find... | searches an entered text within the command lines.
Find Next | repeats the previously defined search.
Replace... | shows an dialog window where you can replace a text with another text within the command editor. You can replace every single found text or for all occurring text in one step.
Indent block | moves highlighted lines to the right by the amount of column which have been defined in the program options.
Outdent block | moves highlighted lines to the left by the amount of column which have been defined in the program options.
Comment block | deaktivates highlighted lines by preceding the comment sign semicolon ';'.
Activate block | removes preceding comment signs semicolon ';'.
Edit file... | is activated as soon as the user has highlighted an existent file within the command text. If the size of the file does not exceed 65000 bytes it will be opened with the system program 'Notepad'. Else the menu item changes to 'View highlighted file... ' and the file is shown with the Job-System own file viewer.
Edit table records... | is activated as soon as the user has highlighted any text within the command text. If it is an external table file that is defined with the parameter function TABLE then its data records can be edited with the included Table Editor. If it is a text within the TABLE function which points to a database table then Microsoft® Access® is opened. If the Microsoft® Access® database contains a macro called 'OPENtablename' where tablename is the one definied within the TABLE function then this macro is started. You can use this e.g. for openening a table in a maximized window.
Edit table definitions... | is activated as soon as the user has highlighted any text within the command text. If it is a text within the parameter function TABLE then the Table Editor for definitions is opened showing the definition lines of the table.
Record keystrokes | records keystrokes which you enter after selecting this function. After activating this menu item the Job-System is minimized and all keystrokes are recorded as long as the menu item is deactivated again. Then the recorde keystrokes will appear together with the command 'SENDKEYS' in the status bar. Calling this function the first time will probably add keystrokes from the system key buffer. So it is better to start the actual recording with the second call of this function.
Inster keystrokes | inserts previously recorded keystrokes prefixed with the command 'SENDKEYS' into the text of the command file.
Copy window title | can copy the window title of an external program into the clipboard. This can be used for the option '{TOWINDOW ' windowtitle '} ' of the command 'SENDKEYS'. After selection of this menu item it is possible to move the mouse pointer over a window of an external program and view the its title in the status bar. If you click on this window the title is copied into the clipboard and you can paste it into the command text.

View

Parameter content | shows the content of a parameter (name enclosed in % signs) if an appropriate parameter has been selected within the command editor.
Definition | finds the first occurrence of a parameters if an appropriate parameter has been selected within the command editor.
Recent position | jumps to the recently shown position within the text after using the function 'Definition'.

Options

Execute job in single step mode | activates the single step execution where you can run single every line of a job. After start of the batch run module it will run in Single step mode. The activation of this menu item will not be saved after closing the job.
Execute highlighted program... | can execute a highlighted program directly.

Help

Help for script language

shows a help file that can be specified with the program Options.


Tabellen-Editor

Table editor
see also Table editor menus and Table Editor for definitions

With the table editor you can edit records of tables which are defined as parameter table for a job. These tables are used by the commands of a job with the functions 'TABLE' and 'TABLESELECT'. If the tables are defined as flat files the necessary column and row delimiter chars are created automatically.

The table editor can be opened within the command editor (Page 'Commands') by the menu item 'Edit/Edit highlighted table...' if a file containg records of table is marked. With table lines which are stored within an external file or a database you can open the table editor also with the context menu of the parameter table that has been already created.

There are two views of editing table records.

The table view and the record view

The handling of the editor with the table view is similar to the one of Microsoft® Access®.

The table window

With the buttons [image] and [image] of the toolbar you can sort a highlighted column either descending or ascending.

With the button [image] you can open the record view. The currently highlighted record of the table will be shown.

The first line shows the field names.
You can enter the contents of the cells directly in the table.
The record pointer [image] shows the current record. The black highlight shows that the entire record can be copied.

If the table editor has been open in edit mode the last line always shows the icon for a new record [image] . Only there you can add a new record.

In the lower left corner beside the button for scrolling to the left an item [image] is placed with that you can vertically split the display of the table. It enables to show two or more different areas of the same table.


Tabellen-Editor f�r Definitionen

Table editor for definitions
see also Table editor menus

With the table editor you can edit definitions of tables which are defined as parameter table for a job. These tables are used by the commands of a job with the functions 'TABLE' and 'TABLESELECT'.

The table editor can be opened within the command editor (Page 'Commands') by the menu item 'Edit/Edit highlighted table...'.

The handling of the editor with the table view is similar to the one of Microsoft� Access�.

The table window

With the buttons [image] and [image] of the toolbar you can sort a highlighted column either descending or ascending.

With the button [image] you can open the record view. The currently highlighted record of the table will be shown. However, you will not get provided predefined values for views and operators.

The first line shows the field names.
You can enter the contents of the cells directly in the table.
The record pointer [image] shows the current record. The black highlight shows that the entire record can be copied.

If the table editor has been open in edit mode the last line always shows the icon for a new record [image] . Only there you can add a new record.

The view can be selected by a popup list. See table column view.
The selection operator can be selected by a popup list. See table row selection.

If the table editor is closed and definitions have been changed the entire table definition is copied into the clipboard.


Tabellen-Editor Menüs

Table editor menus
Back

File

New, Open..., Save and Save as... are related only to tables which are saved in flat file format and provide the usual functions for handling files.

Edit

Copy | copies an entire record set if it had been selected. This is indicated by the record pointer [image] . You can copy an entire column if a column has been selected by clicking on the cell with the field name
Paste copied record | pastes a previously copied record into another record if it is selected entirely (see record pointer above) or into the line for new records [image] .
Delete record | deletes a line if it is highlighted entirely.
Delete column | deletes a column if it is highlighted entirely.
Rename column... | allows renaming of a highlighted column.
Find... | searches for an entered text within the current column.

View

Record | toggles between record view and table view.
Sort ascending | sorts one or more highlighted columns ascending.
Sort descending | sorts one or more highlighted columns descending.

Insert

New record | sets the record pointer to the last line [image] of the table. There you can enter new field values.
Column | inserts a new column if previously a column has been highlighted. You can highlight a column by clicking on the field name. A new column will be inserted to the left of a highlighted column. You can rename a column name with the menu item 'Rename column... ' of the context menu.

Options

Build %Columnparameter% | users with support rights can build with the names of all columns a line which will contain the parameter for the command 'TABLE'. The created line will be displayed in the status bar of the Jobs-System.
AutoFit Width | changes the width of one or more columns to the biggest size of the entries of each column. Is activated after clicking on the column headers. Hint: if you click on the left upper edge of the table a context menu appears. With the same menu point you can use the function for all columns of the table.


The batch run module in normal mode
Next

The batch run module executes started jobs.

After starting a job by the button 'Start Job' of the Job page Start an separate program (batch run module) is called by the system that performs the command lines of the job.

As soon as the batch run module is started its program window is embedded and shown in the Job page Execution of the job.

In the upper list all command lines to execute are shown. The current executed line will be highlighted.

In the lower list appear the log file lines which are created by the appropriate command lines.

In the upper progress bar the progress of the entire job is shown.

In the lower progress bar can appear certain progresses of commands. E.g. commands which transfer, copy and compress files or from processes within a script language.

If an external program has been called by the job it is checked by the batch run module in a certain interval for termination. With the button [image] you force it to check immediately.

With the button 'Pause' the job run can be paused. The button will then change to 'Continue' what can be used to continue the job run.
With the button 'Cancel' you can cancel the execution of the job run. You will be asked to confirm the action.

Hint:

You can open other jobs during the execution of a job. You can even close the Job-System without terminating still running jobs.

If the Windows operating system is being terminated the batch run module will display a message that it is still running.

Every executed job creates a log file. The log file has the name of the command file with extension '.LOG'.


The batch run module in single step mode
Back

The batch run module in Single Step-Mode offers the possibility to run the command lines of a Job by control of the user. That makes all jobs restartable.
To enable this mode the topic 'Job in Single Step Mode' in the menu 'Options' of the Job-Systems has to be activated.

Starting the Job is done in the same way like starting in normal mode by using the button 'Start Job' of the job page Start. In the single step mode the command lines of the job are not automatically executed by the batch run module.

As soon as the batch run module is started the job page Execution of the job is displayed.

All items from the normal mode have the same function.
With the four additional buttons the progress of the command lines can be controlled.
In the upper output section with the executable command lines the user can mark a certain line. If label has been used within the command lines these are markable within the appearing list box.

With the button [image] all command lines will be executed sequentially like in the normal mode. If the user has marked a command line the job will start from this line. If the job has to stop at a certain line this line has to be marked also. That means that a marked ending line always requires a marked start line.

During the process of the command lines using the button [image] will break the process.
With the button [image] the entire job will be cancelled and the batch run module will be terminated.
With the button [image] a single command line will be executed. If the user has marked a single command line this line will be executed. Using this button repeatly without marking a new command line the execution will continue with the next command line.

Remarks:
In general every single line can be executed. Exceptions are lines which are located within a FTP session or a Telnet session. In these cases no single step processing is possible. Within a session it is only feasible to mark a end line where the process can be stopped. If a FTPLogin- or a TelnetLogin- session line has been started with the single step button the execution will be continued up to the next marked end line or up to the end of the session.

Note:
Command lines containing '/Parameter' and '/Set' do not have to be executed. They are displayed only for protocol reasons. Exceptions are 'Set' lines which contain the parameter function 'DRIVE' because this function is only executed at runtime.


PC command types

Description
:Label
 ; / ' / REM

Files
CHCHAR
 COPY
 DELete
 MOVE
 PACK
 REName
 SETATTRIB
 SORT
 UNPACK

Information
ADDTOLOGFILE
 BEEP
 CHECKLOGFILE
 DIR
 ERROR
 MSG

Network
LOGOUT
 MAP
 NET (extern)

Output
ECHO
 PRINTFILE
 WRITETO

Path
ChDir
 CHDRIVE
 MkDir
 RmDir

Process control
CONTINUE
 END
 WAIT
 WAIT UNTIL EXISTS
 WAIT UNTIL HH:MM

Program execution
INLINE
 JSBATCH
 JSSTART
 NOWAIT
 Program
 SENDKEYS
 START

Commands which are using external program parts only are marked with (extern).


:Label

With label names sections of command lines can be marked.

Syntax:
: labelname

Remarks:
 Label names can be used as description but moreover they are used as marking lines. If label names has been defined they can be used in order to choose sections of command lines within the single step mode. Then a list box will appear which will contain all label names to choose. In addition label names will be reported in the Status list, the log file and will be used for the documentation page.

Example:
 :This is a Label
:Download
:Build
:Dispatch


ADDTOLOG
see also 'FTP addtolog'

Includes the contents of a file into the logfile of the job.

Syntax:
ADDTOLOG filename [ /ErrorIfNotExists [( n) ] searchtext ] [/ErrorIfExists searchtext ] [/Exclude searchtext ] [/Unix ] [/Text ]

Remarks:
 The content of filename will be included into the log file of the job.
This is usefully if a previously called program has written own logging information into a file and you want to let the user view these information in the current job log file.

By specifying '/Exclude' all lines which contains searchtext will not be included in the log file of the job.If the searchtext contains joker signs like * or ? it will be checked from the left of the lines. Using quotation marks enclosing an empty string ( '' or "" ) allows to omit empty lines. This option can be specified more than one time.

By specifying '/ErrorIfNotExists' and '/ErrorIfExists' it is possible to terminate the job controlled by the information of the included file. '/ErrorIfExists' can be specified more than one time.

With '/ErrorIfNotExists' it is possible to define how often the searchtext has to occur at least. If searchtext does not occur as often as defined by the number included in brackets then an error will be raised. If searchtext occurs several times per line it will be counted only once. This option can be specified only one time.

If searchtext contains blanks it has to be enclosed in quotation marks.

The parameter '/Unix' allows you to read files which have been created on a Unix machine and do not have the record delimiter sign that is used on PCs.

With the option '/Text' the descriptor filename itself is written to the log file. This is useful if you want to output text or contents of variables within a script (see command 'INLINE').

Example:
 AddToLog c:\imsview\iws\imsview.log /ErrorIfNotExists(2*5): 'Transfer complete'

AddToLog cv%DBName%.log /ErrorIfNotExists: 'Job Complete.' /Exclude: 'Pass '


BEEP
see also MSG

Creates a beep tone.

Syntax:
BEEP [length ]

Remarks:
 The tone with the specified length will be repeated continuously.
A single beep tone will create only a short noise on the PC-Speaker. A length of at least 100 makes sense.
Under some circumstances this command may not work if the system speaker does not respond.

Example:
 Beep 200


CHCHAR

Changes characters in a file.

Syntax 1:
CHCHAR filename ASCII-ANSI | ANSI-ASCII

Syntax 2:
CHCHAR filename character , substitutecharacter [, ...]

Syntax 3:
CHCHAR filename TABLE tablefilename

Through Syntax 1 it is possible to change special characters like country specific letters from ASCII (DOS) to ANSI (Windows) and vice versa.

Through Syntax 2 any characters are changeable to other characters. Every character entry must be related to a single character. That means it is not possible to change entire character strings or to delete characters.

You have to define at first the character that has to be changed (character) and then separated by a comma the character that shall substitute for this character.
You can define every character and substitution as follows:
1. direct e.g., {,[,},]
2. as decimal 3-digit character code e.g., 009,032,013,032
3. as hexadecimal character code in the format [he]x'##' e.g., hex'7B',x'BA'

All 3 formats can be defined together (e.g., {,[,},],hex'7B',ä,x'BA',ö,009,x'20'... ).
Attention, if you want to change or substitute a comma you have to define it with a character code !.

Through Syntax 3 a whole character set can be changed with a character table. All 256 characters of a character set must be defined in the tablefile. The definition of the character and substitudecharacter has to be done in the same way like described with Syntax 2. There it is possible to write every pair of characters (character,substitutecharacter) in a new line.

Example:
{, [
}, ]
hex'7B', ä
x'BA', ö
009, x'20'
. . .


ChDir

Changes a path.

Syntax:
ChDir pathname

CD pathname

Hint:
 If a drive letter is included in pathname it is also set to the defined one.


CHDRIVE

Changes the current drive.

Syntax:
CHDRIVE driveletter:

Remarks:
 As alternative you only need to specify the driveletter with the colon.


CHECKLOG
see also 'Telnet checklog'

Checks output that is put into the logfile of the job and controls the course of processing.

Syntax:
CheckLog /IfExists | /IfNotExists [( n) ] searchtext [And searchtext] Error errortext| Skip Next n Lines | Continue With | After labelname

Remarks:
 You can check output that has been created by commands of the Job-System and put into the logfile of the job. The checking will always start from the logfile line of the last command.

With the commands '/IfNotExists' and '/IfExists' you can check the log file lines for the existence of searchtext. '/ErrorIfExists' can be specified more than one time.

With '/IfNotExists' it is possible to define how often the searchtext has to occur at least. If searchtext
does not occur as often as defined by the number included in brackets then an error will be raised.

With the command 'Error' you can set the job to the error state with the message errortext. The subsequent course of the processing depends on the commands used for the error handling.
With the command 'Skip Next n Lines' you can skip over the defined amount of command lines of the job. By it it is possible to implement conditioned command lines e.g., in order to start actions when errors occur.

With the command 'Continue With labelname' you can specify a name of a label where the job shall continue.
With the command 'Continue After labelname' you can specify a name of a Label after that the job shall continue. That is useful if the next labelname is not known yet because it is changeable through definition of parameters. Then you have to define a terminating label after the lines which have to be skipped.

Hints:
 If searchtext occurs several times per line it will be counted only once. If the operator 'And' is used the entire condition is related to the same line.
If searchtext contains blanks it has to be enclosed in quotation marks.

If you specify a searchtext with the length 0 (two quotes directly together '') at the option '/IfExists' the specified actions will be executed always.

Example:
 unpack c:\data\test\database.zip /List
checklog /IfNotExists(3): 'dbfile.' Error
checklog /IfNotExists: 'parmfile.dat' Skip next 2 Lines
checklog /IfNotExists(4): %Filename% And %SYSDD%.%SYSMM%.%SYSYYYY% Error

OnErrorWarning
checklog /IfNotExists(4): '.exe' Error Continue with 'Build without Exefiles'


CONTINUE

Continues the process of a job at another location.

Syntax:
Continue With label name

label name describes the name of a Label that has to be defined at a sub sequent location.

Example:
 /Set %EXE%=ON(%ZipExe%:Yes)

%EXE% Continue with 'Build with Exefiles'
:Build without Exefiles

:Build with Exefiles


COPY
see also 'FTP copy'

Copies files.

Syntax:
COPY SourceName TargetName
COPY SourceName [+ SourceName ] TargetName [/CRLF ]
COPY SourceName + TargetName [/CRLF ]
COPY SourcePartialname TargetPartialName [/SubDirs] [/Ignore:filename] [/ShortLog]

Bemerkungen:
 With a Plus-Sign specified before the TargetName the source file will be appended to the target if the target file does already exist. Through that it is easier to generate table controlled copy commands (see %Tabellen-Parameter% ).

When copying files together the option '/CRLF' will append line feed control characters (CarriageReturn-Linefeed) to the end of the file. This can be necessary if copied records are not separated from previous file records.

If you want to copy several files (SourcePartialname) by specifying joker signs ('*' or '?') you can specify the option /SubDirs if you want to take also files of subdirectories into account. Non existing directories in the target will be created by the command. With the option /Ignore: the command ignores files which can not be copied due to access problems. The logging of all copied files can be suppressed with the option '/ShortLog'. Instead the amount of copied files and the bytes are displayed.

If a filename contains blank characters it has to be enclosed in quotation marks.

Hints:
Existing files are overwritten without warning. The amount of copied bytes is being compared between target file and source file in order to check system- or network- errors. In case of files that are bigger than 10 MB a progress bar will be displayed.

Example:
 copy c:\temp\file1.txt + c:\test\file1.txt + c:\temp\file2.txt c:\data\file.dat

If a SourcePartialname (filename that contains signs like '*' or '?') has been specified and all matching names in the SourcePath shall be taken as is then instead of TargetPartialname a TargetPath
has to be specified.

Example:
 copy c:\temp*.txt c:\temp\data

If a SourcePartialname (filename that contains signs like '*' or '?') has been specified and all matching names in the SourcePath shall be taken only partial then the TargetPartialname of every file will be renamed in accordance with the rules of the PC command 'RENAME'.

Beispiel:
 copy c:\temp*.txt c:\temp\data*.dat


DELete

Deletes files.

Syntax:
DEL filename

DEL filepartialname* [/SubDirs] [/Exclude:filename*] [/ShortLog ]

Remarks:
 If filename does not exist no error will be raised.

If you want to delete several files (filepartialname) by specifying joker signs ('*' or '?') you can specify the option /SubDirs if you want to take also files of subdirectories into account. Suddirectories are not removed. With the option /Exclude: the files are omitted from deletion. You can supress the logging of all deleted files with the option '/ShortLog'. Instead the amount of deleted files and the bytes are displayed.

Example:
 del c:\data\test.dat
del c:\data\*.*.dat /SubDirs /Exclude:sal*.dat /ShortLog


DIR

Writes file information of a directory or file.

Syntax:
DIR filepartialname [outputfilename ]

Remarks:
 The filename, the file size, the date and time of the last change will be written.
Neither the part of the filepartialname which contains the pathname nor directory names will be written.
If no outputfilename is specified the information is written into the log file.

The complete filename with the message 'does not exist. <!!>' will be displayed if the specified file or path does not exist. The characters '<!!>' are displayed independent from the used language what enables you to check it with the command CheckLogfile.

Example:
 dir c:\temp\*.*

Bookfiles.ini | 381 | 09.09.2000 | A
GREEN.bmp | 870 | 06.01.2000 | A
HEADING.TMP | 1.548 | 09.07.2000 | A
isism11.log | 26 | 09.09.2000 | A
Isism11.rec | 158 | 07.09.2000 | A


ECHO

Writes messages into a particular log file.

Syntax:
ECHO message

Remarks:
 The messages specified by this command will be written into the normal log file of the job and in addition in an own ECHO log file.
The ECHO log file will be continuously appended by each job. Through that it is possible to create log file text that can be used for further processing e.g. emails.
The ECHO log file is named like the job command file with the extension '.EKO' and is selectable in the section Runtime Information of the Job Properties.

Example:
 ECHO cd /xtre_ger/server/data/input/%FirmKZ%
ECHO copy IBM:arz.arz.pfc.fd80.M%MM%%JJ%.C%FirmNr% SP2:%FirmDKZ%%MM%%JJ%.dat
ECHO copy IBM:arz.arz.pfc.desc.M%MM%%JJ%.C%FirmNr% SP2:%FirmKZ%.dat

Possible result:

Job-Echo log file

Batch-Job c:\jobsys\batch\echotst.bat started on 11.06.1998 at 21:07:48
cd /xtre_ger/server/data/input/scherax
copy IBM:arz.arz.pfc.fd80.M0198.C47000 SP2:sch0198.dat
copy IBM:arz.arz.pfc.desc.M0198.C47000 SP2:scherax.dat

The text can be used e.g. to send an email message.


END

Terminates a job run.

Syntax:
END

Remarks:
 This could be used to let the job terminate before executing subsequent command lines.


ERROR

Sets an Error.

Syntax:
ERROR errormessage

Remarks:
 Setting an error can be used together with the command 'CheckLogfile'. The further process depends on the use of commands of the error handling

Example:
 During a processing the file 'parmfile.dat' has to be edited by a external program. The external program expects the file extension to be .OLD and writes the edited file back with the extension .DAT . After that the job should check whether the new file with the extension .DAT exists. If it does not exist the job should be abended and the file should be renamed in order to have the opportunity to restart the job at the label ':Parameter changing'.

:Parameter changing
ren parmfile.dat parmfile.old
;File changing with external program
changefile.exe parmfile
dir parmfile.dat
checklogfile /IfExists: 'parmfile.dat' Skip next 2 Lines
ren parmfile.old parmfile.dat
Error 'The parameter file has not been created'


INLINE

Including scripting program code into the job.

Syntax:
INLINE [WSHOST] scriptinglanguage [/Timeout seconds] [/LogOnError]
script commands
" "
ENDINLINE [/KeepStatus]

Remarks:
 Script commands of the scriptinglanguage will not be executed directly by the batch run module. However, you can test the execution if ordinary VBScript or JScript of Microsoft is used. On testing of a job using the preview page the script commands will be executed by confirmation. Then existing syntax errors will be determined and reported by the script interpreter. Please note that it is not a pure syntax checking but a real execution of all commands of the script language. Within the preview log all script lines from 'Inline' to 'EndInline' will appear with prefixed marking signs.

If a text within the script commands is enclosed in '%' signs it will be recognized by the Job-System as %Parameter% and will be replaced like other parameters in the commands of the Job-System. So you can hand over contents of parameter to the commands of the scripting language. In addition the use of describer names for temporary files is supported.

With the option /LogOnError you can suppress the logging of the script lines as long as no error occurs during the execution.

Hints:
 If you specify the addition 'WSHost' (Windows Scripting Host) the script language will not be supported directly (no JSBatch object). The reason is that elements of the language for the WSHost engine have been added which can only be performed by this engine. In this case at run time the batch run module hands over the script commands to the WSHost engine and waits for the termination.

'VBScript' and 'JScript' of Microsoft will be supported directly. That enables the detection of syntax errors as described above. More over this languages can use job commands of the Job-System.

With the option '/Timeout seconds' you can force a system message after the amount of elapsed seconds. Then the user can either cancel or continue the execution of the script.

With the option '/KeepStatus' the scripting code and all variables will be kept after the execution of the script. So it is possible to use existing script code and contents of variables again by script code that has been defined with the 'Inline' command at another place within the job.

Commands of the JSBatch object:
The command editor offers for testing variables and results the commands 'JSBatch.DebugMsgBox' and 'JSBatch.DebugPrint'. These commands can be used within a script in order to write output to the preview log. With 'JSBatch.DebugMsgBox' in addition output will be displayed in a message window that also enables you to break the execution of a script. At runtime this command is not executed. See example.

Following commands of the Job-System can be used at runtime by this script languages:

JSBatch.AddToLog | JSBatch.ChChar
JSBatch.Copy | JSBatch.Del
JSBatch.Dir | JSBatch.Echo
JSBatch.Error | JSBatch.FTPSession
JSBatch.MkDir | JSBatch.Pack
JSBatch.PrintFile | JSBatch.RmDir
JSBatch.Sort | JSBatch.Start
JSBatch.TelnetSession | JSBatch.Unpack
JSBatch.Wait | JSBatch.WriteToSession

The syntax of these commands correspond to the description. The difference is that all parameters have to be enclosed in double quotes. In addition it is possible to separate all parameters with a comma.

Syntax:
 JSBatch.command "parameter1 parameter2 parameterN "
or
JSBatch.command "parameter1 ", "parameter2 ", "parameterN "

Syntax of sessions:
 All lines of the session commands have to be concatenated and assigned using one parameter.
[variable =] JSBatch.FTPSession "FTPLogin ..." + vbCrLF + "ftpcommand1 " + vbCrLF + "ftpcommandN " + vbCrLF + "FTPLogout"
[variable =] JSBatch.TelnetSession "TelnetLogin ..." + vbCrLF + "telnetcommand1 " + vbCrLF + "telnetcommandN " + vbCrLF + "TelnetLogout"
[variable =] JSBatch.WriteToSession "WriteTo ..." + vbCrLF + "writetocommand1 " + vbCrLF + "writetocommandN " + vbCrLF + "EndWriteTo"

In addition you can check the result of a session in variable. A value of 0 means that the session has been terminated with an error. The value -1 means that the session has been terminated successfully. See example.

All logging output of these commands is written to the log file of the job as usual. This is valuable especially with the command 'AddToLogfile' as you can log output of the script easily.

Further commands:
 You can use temporary files by specifying &&describername (see temporary files). These files will be shared outside the script within the commands of the job. See example.

With the command 'JSBatch.EndAfterInline' it is possible to terminate the running job after the end of the script. See example.

With the function 'JSBatch.FileRecords(filename)' you can obtain the amount of records of a file. The amount of records will be evaluated by the existing of the character Chr(10) (see example).

With the function 'JSBatch.FormatVariant(expression, format[, firstweekday[, firstweekof year, input-, outputdecimalsign]]]])' you can format an expression. It is used as supplement to the format functions of VBScript. If input-, or outputdecimalsign are not specified the syntax and result of this function is equal to the format function of Visual Basic.
With the input-, or outputdecimalsign you can exactly define if the decimal sign in expression and result contains a comma or a point. This can be necessary on mixed installations and proseccing of data of foreign countries.
Note that in format decimal signs must always be a point and the thousands delimiters must always be a comma. (see example)

With the function 'JSBatch.GetLocalInfo(infotype)' you can retrieve information about the regional settings of the computer. For possible values of infotype see GetLocalInfo constants.

With the command 'JSBatch.MidStr(string, start, length, replacestring)' you can replace a part of a string with another string. (see example).

With the command 'JSBatch.Progressbar(description, CurrValue, MaxValue) you can control the upper and the lower progress bar of the batch run module. Initialising and hiding can be specified by the contents of the parameter. The upper progress bar is controled by using the description "(MAIN"). Actually this does make sense only if the job mainly executes a script because before and after a script the upper progress bar is controlled by the amount of executed command lines. See example.

The function 'JSBatch.SplitRecord(string, delimitersign) splits a string using a delimiter sign and returns the parts of text within a array of variables. The difference to the function 'Split' of VBScript is that also text delimiter signs like quotes and quotation marks. In addition a concluding delimiter sign creates a further (empty) part of text. So it is easy to process fields of e.g. records in CSV format (see example).

The function 'JSBatch.StrLike(string, pattern) checks if string is equal to the specified pattern. With it pattern can contain joker signs like * , ? and #. Also more complex compares are possible (see example).

Example:
Writing VBScript commands within a job and hand over a parameter to a script variable. The content of the variable has to be printed by the Job-System command 'DebugPrint'.

/Parameter %JobParameter%

Inline VBScript

Testvariable = %JobParameter%

If Testvariable > "" Then
JSBatch.DebugPrint Testvariable
End If

EndInline

Example:
 Displaying variables and expressions of a script.

Inline VBScript

JSBatch.DebugPrint "2 * 3 = " & (2 * 3) ' value that is a combination of text and numbers with '&'

Testvariable = %JobParameter%

JSBatch.DebugMsgBox Testvariable

EndInline

Example:
All existing files of a file directory have to be zipped separately (that means not all files together in one zip file).

Inline VBScript

Dim fso, folder, file

Set fso = CreateObject("Scripting.FileSystemObject")

Set folder = fso.GetFolder("c:\data\test")

For Each file In folder.Files
JSBatch.AddToLog file.Name + "going to pack", "/Text"
JSBatch.Pack file.Name
Next

EndInline

Example:
 A job has to be started with the program JSStart. If the program can not be started successfully an error message has to be created.

Inline VBScript

hProcess = JSBatch.Start ("/NoWait", "JSStart /B \batch\sendlettermail.bat " + destpath + "" + filetitle)
If hProcess = 0 Then
JSBatch.Error "Batch job can not be started."
End If

EndInline

Example:
 Within a job a Microsoft Excel macro has to be started and a function of it has to be executed by handing over contents of parameters of the job.

Inline VBScript

Dim objXL

Set objXL = CreateObject("Excel.Application")

objXl.Visible = True ' only if Microsoft Excel shall be visible
objXL.Workbooks.Open("c:\makros\parmedit.xls")

objXL.Run "Sheet_Creation", "%DBName%", %MM%, %YYYY%

EndInline

Example:
A temporary file should be used within a script as well as in the surrounding job.

Inline VBScript

msgbox &&tempfile

EndInline
WriteTo &&tempfile
test
EndWriteTo

Example:
The job should be terminated caused by a certain condition within a script.

Inline VBScript

If testvariable = "Quit" Then
JSBatch.EndAfterInline
 End If

EndInline

Example:
A file transfer per FTP should be done within a script. Each ftp command line has to be concatenated with the previous one by using the control signs 13+10 (CarriageReturn Linefeed; VB constant vbCrLf).

Inline VBScript
Dim FTPCmd

FTPCmd = "FTPLogin ME 127.0.0.1 guest anonymous" + vbCrLf
FTPCmd = FTPCmd + "pwd" + vbCrLf
FTPCmd = FTPCmd + "copy c:\data\logo.bmp ME:logo.bmp" + vbCrLf
FTPCmd = FTPCmd + "FTPLogout"

JSBatch.FTPSession FTPCmd
EndInline

Example:
Various definitions.

Inline VBScript
Dim Time1, Date1, ZF1
Time1= #17:04:23#
Date1= #January 27, 2004#

' Get current system time in long time format.
ZF1 = JSBatch.FormatVariant(Time, "Long Time")
' Get current system time in long date format.
ZF1 = JSBatch.FormatVariant(Date, "Long Date")

ZF1 = JSBatch.FormatVariant(Time1, "h:m:s") ' returns "17:4:23".
ZF1 = JSBatch.FormatVariant(Time1, "hh:mm:ss AMPM") ' returns "17:04:23".
ZF1 = JSBatch.FormatVariant(Date1, "dddd, mmm d yyyy") ' returns "Wednesday, 27. January 2004".
ZF1 = JSBatch.FormatVariant(Date1, "yyyymmdd") ' returns "20040127".

' User defined formats.
ZF1 = JSBatch.FormatVariant(5459.4, "##,##0.00") ' returns "5.459,40".
ZF1 = JSBatch.FormatVariant(334.9, "###0.00") ' returns "334,90".
ZF1 = JSBatch.FormatVariant(334.9, "0000.00") ' returns "0334,90".
' Attention! Now the same number is specified as text.
ZF1 = JSBatch.FormatVariant("334.9", "0000.00") ' returns "3349,00".
' the comma sign is not recognized.
' therefore it must be:
ZF1 = JSBatch.FormatVariant("334.9", "0000.00", , , ".") ' returns "0334,90".

ZF1 = JSBatch.FormatVariant(5, "0.00%") ' returns "500,00%".
ZF1 = JSBatch.FormatVariant("BANANA", "<") ' returns "banana".
ZF1 = JSBatch.FormatVariant("pear", ">") ' returns "PEAR".
EndInline

Example:
Create a record set with fix field length.

Inline VBScript
Dim Record

Record = String(50, " ") ' creates a record with 50 bytes.

JSBatch.MidStr Record, 1, 10, "1. content"
JSBatch.MidStr Record, 11, 15, "2. content"
JSBatch.MidStr Record, 20, 12, "3. content"

EndInline

Example:
 Control the progress bars of the batch run module.

Inline VBScript
Dim MaxRecords, file, record, fso, folder, reccounter, filecounter

Set fso = CreateObject("Scripting.FileSystemObject")

Set folder = fso.GetFolder("c:\data")

For Each file In folder.Files

MaxRecords = JSBatch.FileRecords (file.Path)

' By the definition of 0 for the current value the lower progress bar will be initialised.
' and the description text is taken over.
JSBatch.Progressbar "Read file...", 0, MaxRecords

reccounter = 0

Do While counter <= MaxRecords
record = file.ReadLine
reccounter = reccounter + 1
JSBatch.Progressbar "", reccounter, MaxRecords
Loop

filecounter = filecounter + 1

' By the desrciptor "(MAIN)" the upper progress bar is controlled
 JSBatch.Progressbar "(MAIN)", filecounter, folder.Files.Count

Next

' By the definition of 0 for the maximum value the lower progress bar will be hidden.
 JSBatch.Progressbar "", 0, 0
EndInline

Example:
 Split a record with the content 'hallo;"test; ""M""";ha ha ;' into an array of fields.

Inline VBScript

record = "hallo;" + Chr(34) + "test; " + Chr(34) + Chr(34) + "M" + Chr(34) + Chr(34) + Chr(34) + ";ha ha ;"
Fields = JSBatch.SplitRecord(record, ";")

For i = 0 To UBound(Fields)
JSBatch.DebugPrint i & ": " & Fields(i)
Next
EndInline
JSBatch.DebugPrint Output:
0: hallo
1: test; "M"
2: ha ha
3:

Example:
 In the following example data will be returned which starts with the letter P and subsequently contains a letter from A to F and three digits:

If JSBatch.StrLike(Zeichenfolge, "P[A-F]###") Then
MsgBox "Matches"
End If

The following table shows how StrLike is used to check strings for various patterns.

Type of matching | Pattern | Matches (returns True) | No matching (returns False)
Several characters | a*a | aa, aBa, aBBBa | aBC
 | *ab* | abc, AABB, Xab | aZb, bac
Special signs | a[*]a | a*a | aaa
Several characters | ab* | abcdefg, abc | cab, aab
Singe characters | a?a | aaa, a3a, aBa | aBBBa
Singe digits | a#a | a0a, a1a, a2a | aaa, a10a
Range of characters | [a-z] | f, p, j | 2, &
Outside of the range | [!a-z] | 9, &, % | b, a
No digits | [!0-9] | A, a, &, ~ | 0, 1, 9
Combinations | a[!b-m]# | An9, az0, a99 | abc, aj0


JSBATCH
see also '/Include', 'Programm ', 'START' and 'INLINE'

Executes an executable command file.

Syntax:
JSBATCH commandfile

Remarks:
 JSBATCH.exe' is the program name of the batch run module. It is possible to call the batch run module within a job (that means the batch run module is calling another instance of itself) as well as calling it outside of the Job-System as an independent program.

Since the batch run module does not replace %Parameter% only so called 'executable command files' are able to run.

'executable command files' are command file which does not contain any %Parameter%. The creation of an executable command file is possible with the job page Start and t he menu 'File/Save executable file...'.

After being called the current job waits for the termination of the started job and continues only then with the run. The check for the termination of the program will be done every 5 seconds.


JSSTART
see also 'Program ' and 'START'

Executes an external job with parameter definition.

Syntax:
JSSTART [[/B | /W ] [/S | /N]] commandfile [parameter1 ] [parameterN ]

Remarks:
 'JSSTART.exe' is the program name of the external job start modules. It is possible to call the start module within a job as well as calling it outside of the Job-System as an independent program.

Das Startmodul zeigt nach dem Aufruf ein Jobeigenschaftenfenster zur Eingabe von Parametern, ähnlich wie es im Job-System erscheint. Dabei werden, in der Kommandozeile angebene Parameter, in die angezeigten Eingabefelder übernommen.

After calling it the start module shows a window that is similar to the job page Start for input of parameter. Parameter defined on the command line will be taken over into the shown input fields. The order of the parameter must be according to the one of the input fields. The start of the job has to be done manually (see below).

With the option '/B' you can suppress the display of the job start window if all parameter required for the job had been defined on the commend line. In this case the job will be executed immediately.

Using the option '/W' the program works like option '/B' but will wait for the termination of the job or program that has been called by it. You have to use this option if the calling job also has to wait for the job called by JSStart.

The option '/S' combined with '/B' or '/W' will show the runtime window of the job.

The option '/N' switches on the forwarding of notification messages to a calling system.

Starting jobs without a start panel requires:

You have to specify parameter as much as the start panel shows.

If the job contains tables or lists where a selection of rows is necessary a given parameter has to be uniquely in order to identify a row of the table.

If a table contains several rows which have equal contents in the first column you have to define contents of columns as much as necessary to uniquely determine the certain row of the table. In this case the parameter which are specifying the contents of the columns of a row have to be separated by the pipe sign | (i.e. cparm1|cparm2).

If more than one row of a table has to be specified you may separate the parameter of these rows with a comma (i.e. r1cparm1|r1cparm2,r2cparm1|r2cparm2).

More flexible is using variable field criteria with joker signs. E.g. *|*|Yes for selecting all rows which contain 'Yes' in the third column (use '<>Yes' for negative condition).


LOGOUT
see also 'MAP'

Disconnects from a server.

Syntax:
LOGOUT server

Example:
 LOGOUT s49if02


MAP
see also 'NET', 'LOGOUT'

Connects a servers with a drive letter.

Syntax:
MAP driveletter:= server\volume: [userid password ]

Remarks:
 The password will be display in a encrypted format during the running job and in the job logfile.
Disconnecting form a server can be done by the command 'LOGOUT'.

Hints:
 With Windows 9x and Windows NT 4.0 you can also use the command 'NET'.

Example:
 MAP h:=s49if02\two: t49imjm secret


MkDir

Creates new paths.

Syntax:
MakeDir pathname
 MkDir pathname
 MD pathname

Remarks:
 The statement is only executed if the defined pathname does not already exist. All partial pathnames included in the pathname will be created also.

Example:
 md c:\path\subpath1\subpath2


MOVE

Moves files and directories

Syntax:
MOVE SourceName TargetName
MOVE SourcePartialname TargetPartialname

Hint:
 You can only move files which are located on the same volume.

Example:
 move h:\eisims\NDB\DATA\I\ALFA.exe h:\eisims\old\I

move h:\eisims\NDB\DATA\I\ALFA.* h:\eisims\old\I


MSG

Displays messages which have to be confirmed by the user.

Syntax:
MSG [BEEP [length ] | [PLAY soundfile , ] | [CALL( filename [,parameter ]), ] message

Remarks:
 Attention! The running job will be stopped until the user confirms the message.

If 'BEEP' has been specified a beep tone will be created in intervals during the display of the message. In addition a button 'Sound off' will appear with which you can switch the sound off and on.
A single beep tone will create only a short noise on the PC-Speaker. A length of at least 100 makes sense. Under some circumstances the command 'BEEP' may not work if the system speaker does not respond.

If 'PLAY' has been specified the defined soundfile (WAV-Format) will be played in intervals during the display of the message. If it is not possible to play the sound instead a beep tone will be created.

If 'CALL(' has been specified a button will appear with which the user can call a program or file. This works like described at the parameter function 'CALL'.

If this command is not the last command of the job within the message window will appear a button 'Cancel' with which it is possible to cancel the processing of the job.

Example:
 MSG Job ready!

MSG Beep 200, Job ready!
MSG PLAY g:\jobsys\ready.wav, Job ready!
MSG CALL( wopcheck.hlp,DataView) , Database Check


NET (extern)

Executes commands related to network resources. In the following only the function 'NET USE' is described which makes it possible to connect a server to a drive letter or disconnect from a drive letter.

Syntax:
NET USE [driveletter: | * ] \\server\volume /user: userid password [/delete ]

Remarks:
 If a star * is defined instead of the driveletter: the next free drive letter is used for the connection.

Hints:
 The command 'NET' is a command of the operating systems Windows 9x and Windows NT 4.0 and offers depending on the access right of the user further functions which will be available within the DOS shell by typing in the command 'NET HELP'.

Example:
 NET USE h: \\s49if02\two /user:t49imjm secret
NET USE h: /delete


NOWAIT

Execute subsequent commands without waiting on a previously started program.

Syntax:
NOWAIT

Hint:
If also 'SENDKEYS' is used to sent keystrokes to the started program then the command 'NOWAIT' must be defined only after that.

Example:
 jsbatch /R c:\jobs\special.bat
NOWAIT
MSG 2. job started


PACK

Pack file in Zip format.

General Syntax:
PACK [ZIP | ZIPEXE | EXEZIP ] SourceName [Outputname] [Options ]

Pack files in ZIP-Format:
Syntax1:
PACK ZIP | ZIPEXE SourceName [ZipOutputname] [/Subdirs ] [/Pathnames ] [/SubPathnames ] [/Update ] [/Delete ] [/Move ] [/Compression n ]

Syntax2:
PACK ZIP | ZIPEXE @SourcenameFile [ZipOutputname] [/Pathnames ] [/Update ] [/Delete ] [/Move ] [/Compression n ]

Syntax3:
PACK ZIPEXE ZipFilename

Syntax4:
PACK EXEZIP ExeZipFilename

Remarks to Zip-Formats:
 If no ZipOutputname is specified the SourceName with the extension '.ZIP' resp. '.EXE' is used for the ZipName.
The option '/Subdirs' will also include files which are located in directories subordinate to the specified path of SourceName.
With the option '/Pathnames' pathnames (without the drive letter) will be included.
With the option '/SubPathnames' only pathnames will be included which are located in directories subordinate to the specified path of SourceName.
If no new Zip file shall be created but an existing Zipfile shall be refreshed or shall be supplemented with new files the option '/Update' must be used.
In order to delete files within a existing zip file the option '/Delete' must be used.
In order to delete files after being packed the option '/Move' must be used.

With the option '/Compression n' you can set the compression level. Usable values are 0 - 9. Value 0 means no compression at all. The values 1, 3, 5, 7 and 9 are corresponding to the options -es, -ef, -en, -ex und -exx of the program PKZip.

The 2. syntax is used to pack more than one file into a zip file. After the sign @ a file has to be specified that contains the names of the files which have to be packed. In this case '/Pathnames' only works if the filenames in the defined file also contain pathnames.

The additional command 'ZIP' is the default and is compressing with the PKZip format.
'ZIPEXE' will create a self extracting Zip program file (file extension '.EXE') in addition to the normal zip file. The self extracting program can be executed with DOS (see also Hint).

With the 3. format of the syntax a already existing zip file (...'.ZIP') can be transformed to a Zip program file (...'.EXE').
With the 4. format of the syntax a already existing self extracting Zip program file (...'.EXE') can be transformed to a zip file (...'.ZIP').

Hints:
 If the command 'DOSPack/Unpack' has been defined only the amount of the total bytes will be shown during processing the pack function within the status bar of the batch run module.
The program 'ZIP2EXE.EXE' must exist in the path of the Job-System program if the option 'EXEZIP' shall be used.
If you want to create a self extracting program file by using PKWare software (with appropriate messages during execution of unzipping) you have to use the option 'ZIPPKEXE'. Moreover the program 'ZIP2EXE.EXE' must exist in the path of the Job-System program.

If the menu 'Use DOS-ZIP/Unzip' is activated the programs 'PKZIP.EXE' and 'ZIP2EXE.EXE' must exist in the path of the Job-System program in order to let the pack command work.
After the start of the DOS-PKZIP program the job is waiting for the termination and will continue running after it. In the case of files which are bigger than 10 MB a hint with the pack size will be displayed.

Attention:
 If no output path is specified the path of the packed output file will be same as the path of the files to pack. That will be independed to the current work path.


PRINTFILE

Prints a file.

Syntax 1:
PRINTFILE filename [/Application programfile ] [/ParmFile parameterfile ] [Option1 value1 OptionN valueN ... ] [/Element sheet | /ALL]

Syntax 2:
PRINTFILE /ListDevices | /ListFonts

Remarks:
Syntax 1 executes the standard command.

Syntax 2 can be used for testing existing printer settings. The option /ListDevices lists within the log file all device names of the printer with which the computer is connected. The option /ListFonts lists within the log file all installed fonts of the printer that is either set as default printer or had been set by a print command of syntax 1.

If filename is a file that is linked with Microsoft® Word®, Excel®, Powerpoint® or Adobe® Reader® (PDF) the associated program will be called for printing. In this case only the options /PaperSize and /PaperBin will be supported. If the call of the linked application does not work it can be specified explicitely by the option /Application.

If filename is a Microsoft® Excel® workbook you can specify a name of a sheet with the option /Element. To print all sheets specify sheet name '/ALL'.

With option /ParmFile following options can be committed within a parameterfile.

Option | Description | Value
/Copies | Number of copies to be printed | numeric
/DeviceName | Name of the printer | alphanumeric
/DriverName | Name of the printer driver | alphanumeric
/Duplex | Printing of one or both sides | 1 = Simplex, 2 = Duplex horizontal, 3 = Duplex vertical
/FontBold | Bold font style | 0 = set off, -1 = set on
/FontItalic | Italic font style | 0 = set off, -1 = set on
/FontName | Name of a font on the printer | alphanumeric (/ListFonts obtains existing fonts)
/FontSize | Size of a font on the printer | Number of points (max. 2160)
/Orientation | Printing in portrait or landscape mode | 1 = Portrait, 2 = Landscape
/PaperBin | Bin from which paper is fed | 1 = Upper, 2 = Lower, 3 = Middle, 4 = Manual insertion of each sheet of paper, 5 = Envelope feeder, 6 = Envelope feeder with manual insertion, 7 = Paper from the current default bin (Default), 8 = Tractor feeder, 9 = Small paper feeder, 10 = Large paper bin, 11 = Large capacity feeder, 14 = Cassette cartridge
/PaperSize | Paper size for the current printer | Values from 1 - 41, 256 = User defined
/PrintQuality | Printer resolution | -1 = Draft resolution, -2 = Low resolution, -3 = Medium resolution, -4 = High resolution


Programm

Program
see also '/Include' and 'START'

Calls a program.

Syntax1:
 [DOS | DOSBOX... ] programname [parameter ]

Syntax2:
 filename [parameter ]

Remarks:
 DOS batch files must be defined with the extension .BAT .
DOS programs with the extension .COM must be defined with this extension.
It is possible to call the batch run module itself ( JSBATCH ).

If the called program is a DOS program or a DOS batch it could be necessary that the program has to run in a DOS window. This can be constrained with the addition 'DOS'.

Some DOS programs need to have special memory allocations in order to be able to execute. The Job-System enables you to predefine following settings.

Option | Start up memory | EMS | XMS | DPMI
DOSBOX (Default) | 4096 | Automatic | 16384 | 16384
DOSBOXAUTO | Automatic | Automatic | Automatic | Automatic
DOSBOXBIG | Automatic | 32000 | 32000 | 3200

Syntax2 is used if the file type (e.g., extension .TXT) of the specified filename is linked with a program and either additional necessary parameters are unknown or the location of the program is unknown (or if various PC's have different installations of the program).

Hints:
 If the programname contains blanks it has to be enclosed into double quotes.

Examples:
 notepad c:\autoexec.bat
DOS dispatch.bat
"c:\Programme\Easy CD Creator\creatr32.exe" G:\JobSys\Batch\cdlayout.cl3
readme.txt
 db_abnut.prm

After the calling of the program the job is waiting for the termination of the program and continues then with the run. The check for the termination of the program will be done every 5 seconds.

see also:
NOWAIT
 SENDKEYS
 START


; / ' / REM

These characters / commands are used to mark comment lines.

Syntax:
; text
 REM text

Example:
 ; This is a comment
REM This is also a comment


REName

Renames files.

Syntax:
REN OldName NewName
REN OldPartialname NewPartialname

Remarks:
 If a OldPartialname (filename that contains signs like '*' or '?') has been specified then the parts of the names which are matching the jokersigns will be placed into the NewPartialname where corresponding joker signs exist.
The order of the replacements within the NewPartialname is equal to the order of the joker signs in OldPartialname .

That means that the matching part of the first joker sign in OldPartialname will be placed at the place of the first joker sign in NewPartialname. The matching part of the second joker sign in OldPartialname will be placed at the place of the second joker sign in NewPartialname and so on.

Example:
 REN c:dbi*.* c:dbiv*.*

With the sign '?' a matching part of OldPartialname can be placed in NewPartialname limited by the length represented by the number of signs '?'. If the matching part is longer than the number of signs '?' then the replacing part will be truncated on the right side.

Example:
 REN c:\db\i*.* c:\db\iv???.*

If the truncation should be done on the left side of the replacing part the joker sign '<' should be used in NewPartialname.

Example:
 REN c:\dkb\KSBCDR*. G.*.* c:\dkb\cdr**.<<<

could result in following:

from | will be
KSBCDR1.G.1.19974 | cdr11.974
KSBCDR1.G.D.19974 | cdr1d.974
KSBCDR1.G.D02.19974 | cdr1d02.974
KSBCDR1.G.E.19974 | cdr1e.974
KSBCDR1.G.E01.19974 | cdr1e01.974


RmDir

Deletes existing paths.

Syntax:
RmDir pathname
 RD pathname

Remarks:
 If the pathname contains other pathnames only the last pathname will be deleted. If this path still contains files a error will raise.

Example:
 rd c:\path\subpath1\subpath2


SENDKEYS

Simulates keystrokes.
This is used to control a program that was called by the job with keys (Menu selects, input of data etc.).

Syntax:
SENDKEYS [{AFTER n sec} ] keytext [{TOWINDOW 'windowtitle'} ]

To specify characters that aren't displayed when you press a key (such as Enter or Tab) and keys that represent actions rather than characters, use the codes shown below:

Key | Code | Key | Code
Backspace | {BACKSPACE} or {BS}or {BKSP | Break | {BREAK}
Caps Lock | {CAPSLOCK} | Clear | {CLEAR}
Del | {DELETE} or {DEL} | Down Arrow | {DOWN}
End | {END} | Enter | {ENTER} or ~
Esc | {ESCAPE} or {ESC} | Help | {HELP}
Home | {HOME} | Ins | {INSERT}
Left arrow | {LEFT} | Num Lock | {NUMLOCK}
Page Down | {PGDN} | Page Up | {PGUP}
Print Screen | {PRTSC} | Right Arrow | {RIGHT}
Scroll Lock | {SCROLLLOCK} | Tab | {TAB}
Up Arrow | {UP} |  |
F1 | {F1} | F2 | {F2}
F3 | {F3} | F4 | {F4}
F5 | {F5} | F6 | {F6}
F7 | {F7} | F8 | {F8}
F9 | {F9} | F10 | {F10}
F11 | {F11} | F12 | {F12}
F13 | {F13} | F14 | {F14}
F15 | {F15} | F16 | {F16}

To specify keys combined with any combination of Shift, Ctrl, and Alt keys, precede the regular key code with one or more of the following codes:

Key | Code
Shift | +
Control | ^
Alt | §

In order to specify these signs and signs like %, brackets and braces as key they have be enclosed in braces e.g. {+}, ([ ]), {{}.

To specify that Shift, Ctrl, and/or Alt should be held down while several other keys are pressed, enclose the keys' code in parentheses. For example, to have the Shift key held down while E and C are pressed, use "+(EC)". To have Shift held down while E is pressed, followed by C being pressed without Shift, use "+EC".
To specify repeating keys, use the form {key number}; you must put a space between key and number. For example, {LEFT 42} means press the Left Arrow key 42 times; {h 10} means press h 10 times.

With the option '{AFTER n sec}' it is possible to delay the sending of keystrokes. There the value has to be defined in seconds. Values less then a second have to be specified with a decimal point; e.g. '{AFTER 0.5}'.

With the option '{TOWINDOW 'windowtitle'}' it is possible to specify the windowtitle of the window that should receive the keystrokes. This is useful if the window of the foreign program could be hidden behind the main window. The job then at first sets this window to the foreground before sending the keystrokes to it. This option is supported by the menu topic 'Copy window title' of the command editors. Please note that the windowtitle always has to be enclosed in quotation marks.

Hint:
SendKeys can't send keystrokes to an application that is not designed to run in Microsoft Windows. Sendkeys also can't send the Print Screen (PRTSC) key to any application.

Example:
 notepad
SENDKEYS §DFC:\AUTOEXEC.BAT{ENTER}

In this example the program 'notepad' is called first.
Then the file menu is selected with Alt + F. Then with O the specific menu 'Open...'.
Finally the text 'C:\AUTOEXEC.BAT' will be typed in and entered with {ENTER}.

For recording keystrokes see Edit Menu of the command editor.

The next example shows how set a window of a called program to the foreground in order to make shure that it will receive the sent keystrokes. For capturing window titles also see Edit Menu of the command editor.

ZipSelfExtr.exe C:\Data\address.zip
SENDKEYS {After 2 sec}{TAB 2}c:\clientpath{ENTER}{ToWindow 'Self-Extractor Program'}


SETATTRIB

Sets file attributes.

Syntax:
SETATTRIB FileName READONLY | NORMAL
SETATTRIB FilePartialTeilname READONLY | NORMAL [/SubDirs] [/ShortLog]

Remarks:
 Setting attribut 'ReadOnly' will protect a file against overwriting. The attribute 'Normal' sets back to the unprotected state. All other existing attributes of a file remain unchanged.

If the Syntax with SourcePartialnameis used you can specify the option /SubDirs if you want to take also files of the subdirectories into account. The logging of all files can be suppressed with the option '/ShortLog'. Instead the amount of files is displayed.

Hints:
 If the Syntax with SourcePartialnameis used then hidden files and system files will not be taken into consideration.

Example:
 setattrib h:\eisims\NDB\DATA\I\ALFA.exe Readonly
setattrib h:\eisims\NDB\DATA\I\ALFA.* Normal


SORT

Sorts a file.

Syntax:
SORT filename [outputfile ] [startposition [sortlength ]] [/Ascending | /Descending ] [/CaseSensitiv | /NotCaseSensitiv ]

Remarks:
 If no startposition and no sortlenght is defined the entire record is assumed. If no sortlenght is defined the record from startposition to the last character is assumed. '/Ascending' is the default sort order. '/CaseSensitiv' is the default setting

Example:
 sort c:\data\client.dat c:\datan\clientsort.dat 10 50


START
see also 'Program ' and 'INLINE'

Explicit call of a program.

Syntax:
 [scriptvariable = JSBatch.]START [/Min | /Max | /Hide ] [/NoWait ] programname | filename [parameter ]

Remarks:
 With this command you can call programs explicitly. It is mainly used within program code of scripts defined with the command 'INLINE'.

If you use this command within program code of scripts it can return a so-called process handle into scriptvariable. If the program starts successfully the process handle is set to a value unequal to 0.

With the options '/Min', '/Max' and '/Hide' you can predefine or suppress the view of the window of the called program.

With the option '/NoWait' the job does not wait for the termination of the started program and continues immediately.

Hints:
 If you subsequently want to use the command 'SENDKEYS' for the called program you have to specify the option '/NoWait'.

Examples:
 Start /max c:\data\DatabaseInformation.xls
Start /max /nowait notepad.exe c:\data\description.txt


UNPACK

Unpack a file that is packed in the Zip-Format.

Syntax:
UNPACK zipfilename [outputpath ] [/LF-CRLF ] [/List ]

Remarks:
 It is also possible to define a self extracting program file as zipfilename.
If no outputpath is specified the path of the unpacked output files is equal to the path of the zipfile
independent from the current work path.

With the additional option '/LF-CRLF' text files which have been packed on Unix operating systems can be unpacked correctly. This will be obtained by converting existing record delimiter signs from Linefeed to CarriageReturnLineFeed.

With the additional command '/List' only a list of the files contained in zipfilename will be added to the log file of the job. The list will contain the file name, the unpacked size and the date of the last change.

Hints:
 If the command 'DOSUNPACK' is used the program 'PKUNZIP.EXE' has to exist in the path of the Job-System. After the start of the DOS PKUNZIP program the job is waiting for the termination and will continue running after it. In the case of files which are bigger than 10 MB a hint with the unpack size will be displayed.


WAIT

WAIT nn time units

Lets the job wait until a certain time has expired.

Syntax:
WAIT nn SECONDS | MINUTES | HOURS

Example:
 WAIT 30 seconds


WAIT UNTIL EXISTS
see also 'FTP wait until exists'

Lets the job wait until a certain file does exist without changing its file size and it is possible to write to this file.

Syntax:
WAIT UNTIL EXISTS filename

The file check will be done every 30 seconds.


WAIT UNTIL HH:MM

Lets the job wait until a certain time.

Syntax:
WAIT UNTIL hour : minute

Example:
 WAIT UNTIL 20:30

The time check will be done every 30 seconds.


WRITETO
see also 'INLINE'

Writes text lines into a file or sends messages to email receivers.

Syntax 1:
WRITETO filename | CLIPBOARD
 Textline
" "
ENDWRITETO

Syntax 2:
WRITETO   MailUser    [/Show ]    [filename ]
[[Host]
SMTP=SMTPaddress]
[User]
From=Profilname
[FromDisplay=Displayname]
[UserName=LoginUsername]
[Password=Profil/LoginPassword]
To=Main-Recipientname[;Main-Recipientname  ]
[CC=Copy-Recipientname[;Copy-Recipientname ]]
[BCC=BlindCopy-Recipientname[;BlindCopy-Recipientname
]]

[Note]
Subject= Subjecttext

Message text line
" " [{ attachmentfilename } ]
ENDWRITETO

Remarks:
 Between the commands 'WriteTo' and 'EndWriteTo' defined parameters as well as temporary filenames will be substituted and control commands will be executed. All other job commands will not
be recognized.

Syntax 1 writes the defined text lines into filename or with the key word CLIPBOARD to the Windows clipboard.

Using Syntax 2 in combination with 'MailUser' will direct the following statements to the external E-Mail-Program 'JSMAIL' that is able to send emails in background processing. In this case filename
is not necessary but can be used to split recipients information (the content of filename will be included).

If the E-Mail should be send manually instead of background processing (e.g. in order to be able to change ad hoc the recipients or the message) the addition '/Show' has to be used.

The section [Host] can be used to send the email via SMTP. Then you have to define the SMTP address with SMTP=.

The section [User] is used to define the sending and the receiving addresses.

If no email session is open (no email program like e.g., MS-Outlook is running) the profile name has to be defined with From= and the profile password has to be defined with Password=. If you do not specify these values a window will appear during the execution where you will have the opportunity to enter these values manually.

If you have defined the SMTP send method by the SMTP address you have to specify the receiver with From=. If an authentization is neccessary on the SMTP server the specification of the login information is possible via UserName= and Password=.

The definition of the recipients has to be done with the entries To= and CC= (copy) and BCC= (blind copy).

The section [Options] can be used to omit the receiving confirmation (the message that is send back if the recipient opens the mail) by setting the option ReceiptRequested=No.

The last section is [Note] with the item Subject= where the Subject entry must be defined!. The actually message text must start in the following line.

Within the message text you can specify attached files. This has to done by enclosing the attachment filename in braces '{ }'.

Hint:
If the option 'Use SMTP for sending emails' is activated and a SMTP address is specified in the program Options the section [Host] mit dieser SMTP Adresse eingefügt.

Example:
WriteTo c:\daten\params.txt
Following date has to be processed:
%Day%.%Month%.%Year%
EndWriteTo

WriteTo MailUser
[User]
To =Jackson, Mark (London)Cc=Nakpodia, Teddy (London); Patel, Sushil (London)
[Options]
ReceiptRequested=Yes
[Note]
Subject=HAIA-%Process%-%DBName%
Dear Sushil,

the '%DBName%' database was just copied into s44mm01\sys1:\depts\general\%Source%\source\%Process%.
{c:\eisims\haia\%Process%\spare\load.log}

Best regards

Jürgen Markart
EndWriteTo


FTP command types

Following commands are special commands which in addition to the ordinary FTP commands offer particular possibilities.

Execution
submit
 wait until exists

Files
copy
 DCB commands
 File type commands
 mkdir
site

Information
addtologfile

Login
FTPLogin
 FTPLogout
 FTP Server zu Server


addtolog
see also 'PC ADDTOLOG'

Includes the content of a file on a remote host to the logfile of the job.

Syntax:
AddToLog hostname:filename [/ErrorIfNotExists [( n) ] searchtext ] [/ErrorIfExists searchtext ]

Remarks:
 The content of the file defined by filename will be inserted in the log file of the job if previously a mainframe job had been started with the command 'submit' and the termination of this job has been recognized by the job.
This is usefully if a previous submitted mainframe job had started a program that has generated log file output which shall be made visible for the user in the current job log file.

With the statement '/ErrorIfNotExists' and '/ErrorIfExists' you can let the job break the run depending on information out of the included file. '/ErrorIfExists' can be specified more than one time.

'/ErrorIfNotExists' lets you defined how often the specified searchtext has to occur at least. If searchtext does not occur as often as defined by the number included in brackets then an error will be raised. If searchtext occurs several times per line it will be counted only once.

If the searchtext contains blanks it has to be enclosed into quotes.

Example:
 A mainframe job has to be started that has to send files to another remote host by using the mainframe ftp client. The user should be able to control the send files and file sizes after the termination of the job by reviewing the log file output of the mainframe ftp client.
A failed execution of the mainframe client should lead to abend the job.

FTPLogin IBM 162.44.3.9 %Host-UserID% %Host-Password%
submit
//OYFTP JOB ('XNFL01 ',0035),'%Host-UserID%',
// MSGCLASS=T,CLASS=B,NOTIFY=%Host-UserID%
//*
//KILL EXEC=RPMKILL,PARM='%Host-UserID%.FTPSEND.PROT.M%MM%%JJ%.C%FirmNr%'
//*
//FTPSEND EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//OUTPUT DD DSN=%Host-UserID%.FTPSEND.PROT.M%MM%%JJ%.C%FirmNr%
//INPUT DD *
162.44.130.3 (TRAN GERMAN
%Host-UserID%
%Host-UserID%
SENDSITE
CD /xtre_ger/server/data/input/%FirmPfad%
PUT '%arForm%.%arForm%.PFC.%FDForm%.M%MM%%JJ%.C%FirmNr%' %FirmDKZ%%MM%%JJ%.%Ext%
PUT '%arForm%.%arForm%.PFC.DESC.M%MM%%JJ%.C%FirmNr%' %FirmDesc%.dat
QUIT
/*
endsubmit
; Including the logfile of the mainframe ftp client
AddToLog IBM:%Host-UserID%.FTPSEND.PROT.M%MM%%JJ%.C%FirmNr% /ErrorIfNotExists(2) : 'Transfer complete'
FTPLogout


copy
see also 'PC COPY'

Is used to transfer a file from or to a remote host.

Syntax:
copy [hostname: ]SourceName [hostname: ]TargetName
copy [hostname: ]SourcePartialName [hostname: ]TargetPartialName

Remarks:
 The amount of transferred bytes and the percentage of the progress will be indicated during the transfer within the status bar of the batch run module (if no DOS FTP program is used; see FTPLogin).

If the sourcename or targetname contains blank characters it has to be enclosed in brackets including the hostname.

Hints:
Previous to the copy it is checked if the sourcename does exist at all (see NoFileListCheck).

The amount of transferred bytes is compared between source file and target file in order to prevent possibe transfer errors.

Example:
 copy g:\data\callrep\all\input.dat IBM:OYMP.INPUT.MATCH

copy "c:\input data\input.dat" "FTPServer:Prod Data/Input.dat"

Hints for the mainframe operating system MVS:
If a files is copied to the mainframe the necessary amount of space will be predefined automatically in 'Cylinder' or 'Tracks' if it has not been specified previously (see DCB commands).
If a files is copied from the mainframe the progress displayed in percent will show the amount of space that is allocated for this file on the volume which in general is greater than the amount of bytes that has to be transferred actually. If the file that has to be transferred is not located on a volume but on e.g., a cassette there will not be displayed a progress bar because in this case the mainframe does not provide any file information.

Has a SourcePartialname (filename that contains joker signs like '*' or '?') been specified the names of all matching files will be made from the defined TargetPartialname and the found parts of the source name.

Example:
 copy IBM:OYMP.ALL01.GESAMT.* g:\data\imsview\all\ivall.*

In this example all matching files on the Mainframe beginning with 'OYMP.ALL01.GESAMT.' would be copied with their subsequent remaining partial names (e.g., HED, IDX, INF) as followed:
g:\data\imsview\all\ivall.hed
g:\data\imsview\all\ivall.idx
g:\data\imsview\all\ivall.inf

Here it has to be considered that the filename of the mainframe is delimited by a point. Without this point the whole partial name from the last point on would be taken as remaining partial name into the target name:
copy IBM:OYMP.ALL01.GESAMT* g:\daten\imsview\all\ivall.*

would result in
g:\daten\imsview\all\ivall.gesamt.hed
g:\daten\imsview\all\ivall.gesamt.idx
g:\daten\imsview\all\ivall.gesamt.inf

Hints for other operating systems:
Has a SourcePartialname (filename that contains joker signs like '*' or '?') been specified and the matched names from Sourcepath should be taken in the same manner the TargetPartialname has to be defined as Targetpath.

Has a SourcePartialname (filename that contains joker signs like '*' or '?') been specified and the matched names from Sourcepath should be taken only partially the TargetPartialname will be renamed according to the rules of the PC command 'RENAME'.

Example:
 copy RS6000:KSBCDR*. G.*.* c:\daten\dkb\Input\cdr**.<<<

could e.g., result in

from | will be
KSBCDR1.G.1.19974 | cdr11.974
KSBCDR1.G.D.19974 | cdr1d.974
KSBCDR1.G.D02.19974 | cdr1d02.974
KSBCDR1.G.E.19974 | cdr1e.974
KSBCDR1.G.E01.19981 | cdr1e01.981
KSBCDR2.G.E02.19981 | cdr2e02.981


DCB-Befehle

DCB commands

DCB commands are used to define files on the mainframe.
This is possible with the commands 'quote' and 'site' or easier by using the hostname that has been defined with the command 'FTPLogin' as identifier.
If a record length has been specified the block size will be calculated and specified automatically. If a volume has been specified the appropriate 'Unit' parameter will be supplemented.

Example:
IBM recfm=FB, lrecl=260, volume=IMGT05

The job run program resolves this line and generates following FTP and DCB commands:
quote site recfm=FB lrecl=260 blksize=27820 volume=IMGT05 unit=SYSDA
quote site retpd=00

That means that the value 'blksize' (blocksize) and 'unit' (storage medium) will be created automatically.
Instead of a certain volume you can also define 'SYSWRK' or 'WRK*'.
To specify space allocation for a file you can define e.g., 'cy pri=n sec=m' (n primary and m secondary cylinders).

DCB statements has to be defined (if necessary) before the command 'copy'.

If no DCB statements are specified the job program will generate automatically default values (recfm=vb lrecl=255 blksize=27795 and cy pri=filesize/56660/15 or tr pri=filesize/56660 and sec=10% of pri).


Filetype-Befehle

File type commands

File type commands are used to define the transfer type.

Syntax:
ascii or ansi or binary

Remarks:
'ascii' is the default.
This command has to be written (if necessary) before using a command like 'get', 'put' or 'copy'.


FTP Server zu Server Datenübertragung

FTP server to server data transfer
see also FTPLogin

Login to two remote hosts per FTP in order to transfer files.

Syntax:
FTPLogin hostname1 [hostadresse1 userid1 password1 [accountcode] | /INLINE]
FTPLogin hostname2 hostadresse2 userid2 password2
 copy hostname1 |hostname2:SourceName hostname2 |hostname1:TargetName
FTPLogout
FTPLogout

Remarks:
 This type of FTP data transfer can be used if data from one remote host has to be copied onto another remote host or on a file server of the network instead to the local hard drive.

In general on the PC is used a FTP client that copies the data with the local operating system through the network to or from a remote host. If the data has to be stored on a network file server it is first transferred to the PC an then again transferred from the PC to the file server. If the network load caused by many users is very high there will be a noticeable reduction of transfer speed. This happens anyway if the locations of both remote hosts are far away from the PC.

One solution of this problem is to send the data direct from one FTP server to another FTP server that has to be installed on the appropriate file server. This should be the case in most networks as it is needed to transfer data also from the environment of the remote host to the file server.

The FTP protocol enables a FTP client to set a connection between two FTP servers and get data transferred from one FTP server to the other FTP server. That doesn't matter on which operating system the FTP servers are running. So a PC is able to set a data transfer from e.g., a mainframe to a Unix system.

The Job-System offers this by simply nested 'FTPLogin' and 'FTPLogout' commands. The data transfer is done by the 'copy' command.

Hints:
 You can define the options accountcode and /INLINE only with the first command 'FTPLogin'.
All commands that have common meaning to the type of data transfer are valid for both FTP servers. That means that you don't have to specify e.g., the 'binary' command again after the second FTPLogin.
The direction of the data transfer just depends on the use of hostname with the command 'copy'.

Only unique filenames are allowed with the 'copy' command (no use of joker signs like '*' and '?' for partial file names).
During the transfer only the total amount of bytes will be displayed. No progress bar will appear since the transfer process is running independent from the FTP-Client.

Example:
 Copies data between a mainframe with MVS operating system and a computer with a Unix operating system.

FTPLogin MVS 162.44.3.9 T49IMJM CORSAR
ascii
MVS recfm=FB, lrecl=80, blksize=27920

FTPLogin Unix 162.44.20.23 t49imjm corsar
copy Unix: /xtre_ger/data/test.dat IBM: OYMP.TEST.ABGL
copy IBM: OYMP.TEST.DATA Unix: /xtre_ger/data/test2.dat
FTPLogout

FTPLogout


FTPLogin
see also FTP server to server data transfer

Login to a remote host via FTP and start of a FTP-Session in order to transfer files.

Syntax:
FTPLogin hostname [hostaddress userid password [accountcode ] | /INLINE ]

Example:
 FTPLogin IBM 162.44.3.9 T49IMJM CORSAR

Remarks:
 A FTP session has to be seen as in a body until the command 'FTPLogout'. That means that all commands within this session are executed sequentially and it is neither possible to have a influence with PC commands like 'NOWAIT' or 'WAIT' nor possible to use single step mode. Apart from the FTP commands are only allowed comment lines and parameter functions.

The password will be visible in encrypted format during the job run and within the job log file.
The hostname can be used as descriptor for commands (e.g.,DCB or site commands) and files of the remote host (copy).

For data transfers from one remote host to another remote host see FTP server to server data transfer.

Example:
 FTPLogin IBM 162.44.3.9 T49IMJM CORSAR
IBM recfm=FB, lrecl=80, blksize=27920
copy g:\data\test IBM:OYMP.TEST.MATCH

With the addition '/INLINE' instead of hostaddress, userid and password it is possible to include these three parameters within a FTP-Session. In this case from the first line the host address has to be defined. In the next line the userid and optional the password has to described. If the password has not been specified together with the userid it must be specified in the next line.

Example:
 FTPLogin IBM /inline
162.44.3.9
T49IMJM
CORSAR

or if the three parameters are stored only at runtime in a file 'c:\ftpaddr.txt':
FTPLogin IBM /inline
/include c:\ftpadrs.txt /runtime

Hints:
 If the command 'DOSFTPLogin' has been defined then in order to be able to use this command and all other FTP commands the program 'FTP.EXE' must exist in a system directory or in the path of the Job-System program.
This DOS-FTP-Program belongs to the operating systems of Windows 95, NT, 2000 and XP. If this DOS FTP program is used then all commands apart from the FTP commands described in this help file are possible to define if it is supported by 'FTP.EXE' (see also FTP copy ).
After the start of a DOS FTP session the job will wait for the termination of the FTP session and will continue only then with the job run. The check for the termination of the FTP session will be done every 30 seconds.


FTPLogout

Disconnects from the remote host and terminates the FTP-Session.

Syntax:
FTPLogout

This command has to be defined to determine the end of a FTP-Session.

see also
FTPLogin


FTP delete, mkdir, rmdir

delete, mkdir, rmdir

Deletes files, Creates and removes FTP paths.

Syntax:
delete filename
 del filename

mkdir pathname [/OnErrorIgnore]
 md pathname [/OnErrorIgnore]

rmdir pathname
 rd pathname

Remarks:
The statement delete is only executed if the defined filename does exist.

The statement mkdir is only executed if the defined pathname does not already exist. All partial pathnames included in the pathname will be created also. The option '/OnErrorIgnore' can be used if the access rights on the foreign host do not allow to check all partial pathnames.

The statement rmdir is only executed if the defined pathname does exist.

Example:
 md path/subpath1/subpath2


NoFileListCheck
see also 'Copy'

This command suppresses the check of the existence of a file previous to a copy command.

Syntax:
NoFileListCheck

Remarks:
Before copying a file from a remote host normally it is checked if it exists at all. This enables to display an error message in the language currently used in the Job-System (independent from the language used on the remote host to display messages). The check is done with the file list received from the remote host by the FTP command 'DIR'.

Under certain conditions it can happen that the remote host does not send a file list or the file list is incomplete. In this case the check logic would break the copy with an error message even if the file does exist (if not the remote host sends its own error message anyway).


site
see also DCB comands

This command is used to define commands and parameters for the remote host which provide particular functions in its environment.

Syntax:
site remotehostcommand
 hostname remotehostcommand

Examples of commands for a FTP server on a IBM mainframe:

Command | Function
AUTOMount | Requests the mounting of cassettes and tapes on the tape- or cassette- unit.
AUTORecall | Forces the recovering of files archived by the DMS system.
RDW | Records of files with variable record length format will have included the preceding record length field.
TRAILingblanks | Records of files with fixed record length format will be filled with blanks up to the specified length.
WRAPrecord | If a transferred record is longer than the defined record length it will be wrapped to the next record.
SBD=tablefile | tablefile is a mainframe file that contains a translation table that can be used to translate country specific characters.


submit
see also TelNetLogin

Starts the execution of a job on an IBM mainframe.

Syntax 1:
submit [hostname: ]filename [ /Replace character substitutecharacter... ]

Syntax 2:
submit
 Host JCL lines
 endsubmit [ /MaxRC returncode ]

Remarks:
 If after the FTP session further commands are specified (except the command 'NOWAIT') the job will wait after the FTP session for the termination of the mainframe job.

FTP commands which are defined within the same FTP session after the submit command will be executed without waiting for the submitted mainframe job.
Should these commands be executed only after the termination of the mainframe job it has to be defined in a new separate FTP session.

With the option '/Replace' you can replace parts of text of a read file through other text parts in order to achieve temporary modifications of the mainframe job.

With the option '/MaxRC' you can specify a return-code that must not be exceeded from any job step. If during the execution of the mainframe job a higher return-code is generated then after its termination the job will abend with an error message. Without specifying this option a maximum return-code of 0 is assumed.

Hints:
 To be able to control the mainframe job it will be extended with three additional job steps. These steps are saving the state after termination of the mainframe job through the creation of certain files that will be checked by the Job-System. In addition to that after submitting the mainframe job a second mainframe job with the same job name and the same job class will be submitted. It is needed in the case if the actual mainframe job would be cancelled either manually or by the system (e.g., on time limit exceeded) what will lead to the situation that the added job steps are not executed at all.

The check for the termination of the mainframe job always takes the job class of the last job if more than one job has been started.
The time interval that is for checking will be increased after every check by about 9 seconds up to a maximum of 30 minutes. That is done to limit the amount of FTP logins.

Examples:
submit g:\data\cpms\labels.jcl
submit c:\prog16\vb3\jobsys\wop\dvrp92cd.jcl /replace CLASS=T, CLASS=I,
submit IBM:INF.JOB.ALLG(DXQUERY)

submit
 //OYPKZIP JOB ('XNFL01 ',35),'%Host-UserID%',REGION=0M,
// CLASS=B,MSGCLASS=T
//* TSO aufrufen
//IKJEFT01 EXEC PGM=IKJEFT01
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//* Calling a CLIST procedure which compresses the defined file on the mainframe
//SYSTSIN DD *
Alloc f(sysproc) da('isr.crp.ispclib') shr
MVSZIP SSW.RII.RX59.SUMUN.M04 MICG9804.TC SSW.RII.RX59.SUNUM.M04.ZIP
Free f(sysproc)
/*
//
endsubmit

Example:
submit
 //%Study%DBIII JOB ('%Study%P01',32),'NDF-GROUP',CLASS=F,MSGCLASS=T,
// NOTIFY=T49DPRH
//JOBLIB DD DISP=SHR,DSN=SYS2.PKZIP.LOADLIB
//*
//ZIP EXEC PGM=PKZIP,REGION=7M
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=A
//SYSIN DD *
-ARCHIVE(%Study%.DB3NDF.%PerType%%MM%COMP)
-ARCHUNIT(FPREXT) -NOPATH
%Study%.NDFDB3.%PerType%%MM%
-PCP(%PerType%%MM%,%Study%NDF%MM%.TXT)
/*
endsubmit /MaxRC 4

Example:
 FTPLogin IBM 162.44.3.9 t49imjm password
submit IBM:T49IMJM.IMD.JOB(TEST)
; Job creates the file T49IMJM.TESTFILE
FTPLogout

FTPLogin IBM 162.44.3.9 t49imjm password
copy IBM:T49IMJM.TESTFILE g:\data\test.txt
FTPLogout

Example of starting a CA7 job on the mainframe:

submit
 //CA7SUB JOB ('XNFL01 ',35),'%Host-UserID%',REGION=0M,
// CLASS=B,MSGCLASS=T
//* Call TSO
//IKJEFT01 EXEC PGM=IKJEFT01
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
CALL 'SYS2.CA#07P.LINKLIB(U7SVC) ' 'DEMANDH,JOB=jobname,SCHID=schid'
/*
endsubmit


FTP wait until exists

wait until exists
see also 'TelNet wait until ended' and 'WAIT UNTIL EXISTS'

Let the job wait until a certain file exists on the remote host.

Syntax:
wait until exists hostname:filename

Remarks:
 FTP commands which has been defined after the wait command within the same FTP session will be executed immediately.
If you want them to execute only after the defined file exists you have to define them in a new separate FTP session.
When after the FTP session further commands are following the job will wait after the FTP session for the existence of the defined file.

The check for the existence of the file is done every 30 minutes.

Example:
 FTPLogin IBM 162.44.3.9 %Host-UserID% %Host-Password%
wait until exists IBM:SSW.RII.F0498.C33480N
FTPLogout
msg exists!


Telnet command types

In general the Telnet protocol is used to login on a remote host via a dialog session in order to enter online commands supported by the respective operating system (e.g., Unix or MVS).
With a FTP session only certain file operations can be execute on remote hosts. With a Telnet session it is possible to execute all commands of the operation system of a remote host.
That lets you start for example jobs or procedures on the remote host or manage access rights for files.

The listed commands are special commands which offer particular possibilities apart from the common operating system commands.

Execution
wait until ended

Information
checklogfile

Login
TelnetLogin
 TelnetLogout


checklog
see also 'PC CHECKLOG'

Checks output that is put into the logfile of the job and controls the course of processing.

Syntax:
CheckLog /IfExists | /IfNotExists [(n) ] searchtext Error | Skip Next n Lines | Continue With labelname

Remarks:
 You can check output that has been created by commands of the foreign system of the remote host and has been put into the log file of the job. The checking will always start from the log file line of the last command.

With the commands '/IfNotExists' and '/IfExists' you can check the log file lines for the existence of searchtext. '/ErrorIfExists' can be specified more than one time.

With '/IfNotExists' it is possible to define how often the searchtext has to occur at least. If searchtext
does not occur as often as defined by the number included in brackets then an error will be raised. If searchtext occurs several times per line it will be counted only once.

If searchtext contains blanks it has to be enclosed in quotation marks.

With the command 'Error' you can set the job to the error state. The subsequent course of the processing depends on the commands used for the error handling.
With the command 'Skip Next n Lines' you can skip over the defined amount of command lines of the job. By it it is possible to implement conditioned command lines e.g., in order to start actions when errors occur.
With the command 'Continue With labelname' you can specify a name of a label where the job shall continue.

Example:
 A shell script with choosable menu items is executed via Telnet. After the execution the procedure shall be checked if the execution has been successfully. If it has been successful only partially a correction routine shall be started by calling another menu item.

TelnetLogin Unix r49p311 %Host-UserID% %Host-Password%
3
1
B_%DDLName%_%Batchnr%
checklog /IfNotExists 'Successfully created' Error /IfExists 'Program Completed' Skip Next 3 Lines
2
B_%DDLName%_%Batchnr%
CheckLog /IfExists 'error' Error
11
TelnetLogout


TelnetLogin

Login on a remote host via Telnet and start of a Telnet session in order to execute operating system commands.

Syntax:
TelnetLogin hostname hostaddress userid password [accountcode ] [procedure ] [/wait ]

Remarks:
 A Telnet session has to be seen as in a body until the command 'TelnetLogout'. That means that all commands within this session are executed sequentially and it is neither possible to have a influence with PC commands like 'NOWAIT' or 'WAIT' nor possible to use single step mode. Apart from the operating system commands are only allowed comment lines.

With the addition '/wait' the login will be repeated until it has been successfully. That is necessary if the user has logged into the operating system of the remote host at the same time or if more than one jobs has been started with the TelNetLogin and the same user ID.
The password will be visible in encrypted format during the job run and within the job log file.

Hints:
 In order to let the program identify with which operating system it shall work an appropriate description should be included into the hostname. Known descriptions for operating systems are: MVS, Unix, DOS and Windows.

Example:
 Transferring files via ftp to a Unix machine can cause problems with the predefined access rights. This will lead to the situation that other user can not read or delete these files.
With the Unix-Command 'CHMOD' you can grant access rights for files.

TelnetLogin Unix-SP2 162.44.22.91 %Host-UserID% %Host-Password%
cd /xtre_ger/server/data/input/steiger
chmod a=rwx *
TelnetLogout


TelnetLogout

Disconnects from the remote host and terminates the Telnet session.

Syntax:
TelnetLogout

This command has to be defined to determine the end of a TelNet-Session.

see also
TelnetLogin


Telnet wait until ended

wait until ended
see also 'FTP wait until exists'

Let the job wait until a certain job has been terminated on the remote host.

Syntax:
wait until ended jobname [( jobnumber ) ] [/nowarning ]

Remarks:
 Operating system commands which are defined within the same Telnet session after the wait command will be executed without waiting for the wait command.

Should these commands be executed only after the termination of the defined mainframe job they have to be defined in a new separate Telnet session.
If after the Telnet session further commands are specified the job will wait after the Telnet session for the termination of the mainframe job. The termination check will be repeated after the first check every 15 minutes.

This command should only be used if the defined mainframe job already has been started on the remote host. Therefore always the jobnumber should be defined. The mainframe job will be regarded as terminated if it either is in the JES output queue or can not be found.

If at the time of the first check for termination the mainframe job can not be found or it is has already been ended a warning will be given to the user that he has to confirm before the job will continue. If you want to omit this warning you have to specify the addition '/nowarning'. That is necessary if within the job further commands has to be executed before the Telnet session and at the time of the Telnet session the mainframe job already has been terminated.

Example:
 TelnetLogin IBM 162.44.3.9 %Host-UserID% %Host-Password% %Host-Account%
wait until ended OYPIMS2AB(4051)
TelnetLogout
msg Host-Job OYPIMS2AB(4051) ended.


Parameter

All following topics are related to parameterise batch jobs.

Parameter
%Parameter%
 %Table parameter%

Definition commands
/-
 /Include
 /Parameter
 /Set

Parameter functions


%Parameter%

Parameters are variables which are replaced before the start of a job.

Syntax:
%Parametername%

All parameter names must be enclosed in two delimiter signs. The default delimiter signs is a percent sign %. It can be changed with the command for parameter delimiter signs.

Example:
 del C:\DATA\%Client%%Typ%%Bk%%YY%%MM%.%Typ%M
/Set ParamDelimChar=°
 copy C:\DATA\°Client°\°Typ°°Bk°°YY°°MM°.EXE J:\RPM\Client\°Client°\°Typ°°Bk°°YY°°MM°.EXE

The substituted values are either taken from parameter input of the user of the Job-System or will be created by certain parameter commands of functions within the job.

As soon as the user writes a new parameter within the text of the job it will be automatically inserted into the area of the 'Job-Parameter' of the job after closing the command editor.

If only the parameter has been typed the system will create a label with the name of the parameter and field for entering the parameter content.

Hints:
If a name of a parameter contents the text 'passw' (not case sensual) the system will assume that it is a parameter that is used for a password. Then all signs entered in the entry field will be replaced by a star sign '*'. Moreover the content will be stored encrypted in the executable job.

You can take over file names from the Windows Explorer or other applications into the input field by "Drag and Drop".

Following parameters are predefined by the system:

Parameter | Meaning
%SYSCOMPNAME% | the name of the computers where the batch run module is running
%SYSPATH% | the windows system directory
%SYSPROGPATH% | the name of the default directory where program files are beeing installed. E.g. 'C:\Program files'
%SYSAPPLPATH-progname% | the complete installation path of the program
%SYSAPPLPROGPATH-progname% | the path where the program is installed. If it the default path it is equal to %SYSPROGPATH%
%SYSSJOBID% | contains the job number of a started job (see log)
%SYSNETUSERID% | the network user name
%SYSUSERID% | the Job-System user name (with which the user logged in)
%SYSUSER% | the first name and the last name of the Job-System user
%SYSYY% | the current year 2 digits
%SYSYYYY% or %SYSYEAR% | the current year 4 digits
%SYSMM% | the current month 2 digits
%SYSMONTH% | the current month 1-2 digits
%SYSWEEK% | the current calender week 1-2 digits (starts with the first week of the year which has at least 4 days)
%SYSWEEKFULL% | the current calender week 1-2 digits (starts with the first complete week of the year)
%SYSWEEKSYS% | the current calender week 1-2 digits (according to system settings)
%SYSWEEKUS% | the current calender week 1-2 digits (starts with the week which contains the 1st of January)
%SYSDD% | the current day 2 digits
%SYSDAY% | the current day 1-2 digits
%SYSWEEKDAY% | the current week day as number 1 digit (from 1 for Monday to 7 for Sunday)
%SYSWEEKDAYSYS% | the current week day as number 1 digit (according to system settings)
%SYSWEEKDAYUS% | the current week day as number 1 digit (from 1 for Sunday to 7 for Saturday)
%SYSHH% | the current hour 2 digits
%SYSHOUR% | the current hour 1-2 digits
%SYSNN% | the current minute 2 digits
%SYSMINUTE% | the current minute 1-2 digits
%SYSSS% | the current second 2 digits
%SYSSECOND% | the current second 1-2 digits
%SYSTIME% | the current time with the time delimiter sign according to the system settings

The current value will be obtained at the time of starting a job.
The contents of the system parameter will be predefined by the system and will not appear in the area of the Job-Parameter of the Job-System.

With the system parameter which are related to the current date it is also possible to define dates which are relative to the current date. This can be done by typing a negative or positive value before the conclusive delimiter sign.

Example:

%SYSMM-1%
The previous month will be predefined by the system (current month minus 1).

%SYSMM+1%
The next will be predefined by the system (current month plus 1).

%SYSDD-2%
The day before the previous day will be predefined by the system (current day minus 2).

In order to get complete dates for past or future times it is necessary to use the parameter function 'DATE' .


%Table parameter%

Table parameter are used to make existing command lines within a job selectable by the user.

Syntax:
%Tableparametername
command line
command line
%

The tableparametername must start with a parameter delimiter sign and must not end with parameter delimiter sign. The parameter delimiter sign must start in the first column and after the name of the tableparameter no further text in this line is allowed.
In the following lines the job commands has to be defined which should be selectable by the user.

The conclusion of the table has to be a single line that consists only of one parameter delimiter sign.

If more than one sections of commands are enclosed with the same table name the number and the order of the command lines has to fit with those of the first section.

You can create up to four different tables (with different table names).
It is not necessary to select the table lines displayed as Job-Parameter to be able to start a job.

Remarks:
 Sometimes jobs are used to work with many commands which only differs by the parameter contents in one drain. Then you are writing one command line below the other.
Since often not all predefined command lines have to be executed at the same time it usefully to let the user select the command lines he needs.
This can be achieved by describing the lines with these equal commands with a table parameter name.

All command lines enclosed by the table parameter name will be examined by the system for different words (text delimited by blank, point, colon or backslash; not case sensually). All different words which have been found per command line will then displayed in a list within the area 'Job-Parameter' of the Job-Properties.

So the user will see in the list only the terms relevant to the different processes.

Since in one job several 'command tables' could exist which are used for subsequent process steps you have to use the table name of the first table for these tables. But for the user only the command lines of the first table are listed.

Before the job is starting the Job-System will evaluate the lines selected by the user. The Job-System will store the line numbers of the selected lines. Within all defined tables with the same table name only the lines with the same numbers are handed over to the job.

That means that absolutely all command lines with the same processing relation in all tables have to be defined in the same order.

Example:
 For several clients you have to copy files from the remote host to the PC. After that the copied files have to be packed. The user should be able to define which client with his type of report shall be produced.

FTPLogin IBM 162.44.3.9 T49IMJM /password
%Reports/Clients
 copy IBM:SSW.RII.F%MM%%JJ%.C11500N c:\data\Apharm\FMG%JJ%%MM%.FM
copy IBM:SSW.RII.F%MM%%JJ%.C12001N c:\data\apogepha\FMG%JJ%%MM%.FM
copy IBM:SSW.ROI.F%MM%%JJ%.C12001N c:\data\apogepha\FMG%JJ%%MM%.FM
copy IBM:SSW.ROi.S%MM%%JJ%.C18000N c:\data\bykgul01\SMO%JJ%%MM%.FM
copy IBM:SSW.ROI.F%MM%%JJ%.C17510N c:\data\bykgul01\FMO%JJ%%MM%.FM
%
 FTPLogout

; Create PKZip exe
%Reports/Clients
 pack zipexe c:\data\Apharm\FMG%JJ%%MM%.FM
pack zipexe c:\data\apogepha\FMG%JJ%%MM%.FM
pack zipexe c:\data\apogepha\FMG%JJ%%MM%.FM
pack zipexe c:\data\bykgul01\SMO%JJ%%MM%.FM
pack zipexe c:\data\bykgul01\FMO%JJ%%MM%.FM
%

In the area 'Job-Parameter' now will appear

The table gets a title compound with the table name.
Only the words of the command lines of the first table which are different are displayed.


/-

Key sign to continue a parameter definition line in the next line.

Syntax1:
/- parameter definition commands

Syntax2:
 parameter definition commands /-


/Include

Reads job commands or text from a separate file and inserts it into the text of the job.

Syntax:
/Include filename [/RUNTIME]

Remarks:
 The included file will be inserted at the position where the command '/Include' has been defined and will be treated in a way that depends on the additional option '/RUNTIME'.
Without the addition '/RUNTIME' the file will be included before the starting of the job. That means that existing parameters in the read file also will be replaced by user input or set by the Job-System.

With the addition '/RUNTIME' the defined file is included only at that moment when the batch run module processes this command line. Then existing parameters will not taken in consideration. This mode is necessary if the file that has to be read has to be updated during the job run (that means before including).

Hints :
You may not specify a %parameter% before this statement (in the same line). If filename is defined as %parameter% the job can only be started by the Job-System batch starter (see JSStart ).

see also:
JSBATCH


/Parameter

Key word for a parameter definition line. There it is possible to describe parameters which has to be filled by the user in detail and to define hints or descriptions for the user.

Syntax Parameter:
/Parameter [Descriptor= ]%Parameter%[= content]

Syntax Text:
/Parameter Descriptor=%%

Several definitions in one line must be delimited by a comma.

Often it is bothering to choose a parameter name that will the user give the right meaning of the parameter. That would make the job unclear through parameter names with great length and would make it difficult to update the job.

In order to use short parameter names and nevertheless to offer the user good descriptors parameter definition lines are used.

Example:
 /Parameter Production Year=%YY%, Production Month=%MM%

In the area 'Job-Parameter' will appear

In general the Job-System will predefine the value that the user entered the last time.
If the content of the parameter field should be predefined with a certain value so it has to be defined as follows:

Descriptor=%Parameter%=Content or
%Parameter%=Content

Example:
 The input field for the parameter %YY% always shall contain 97 and that of %MM% always 12.

/Parameter Production Year=%YY%=97 , Production Month=%MM%=12

In the area 'Job-Parameter' will appear

If the predefined content of the parameter should always be empty only the equal sign has to be defined.

/Parameter Productions Year=%YY%=, Productions Month=%MM%=

If a parameter in the area 'Job-Parameter' should be placed in a new line it has to be defined in a separate parameter definition line.
/Parameter Production Year=%YY%
/Parameter Production Month=%MM%

In the area 'Job-Parameter' appear

It is also possible to define the content of the parameter through a parameter function:
/Parameter Year=%YY%=DATE(YY,%SYSYY%,%SYSMM%-1,1), Month=%MM%=DATE(MM,%SYSYY%,%SYSMM%-1,1)

see Parameter functions


/Set

Key word for a parameter definition line that is used to define parameters which should be set by the system through parameter functions. The content of the parameters defined in these lines can not be entered by the user directly.

Syntax1:
/Set %Parameter%=content

Several definitions must be delimited by a comma.

Content can either be a direct assignment or a function that creates the content.

Remarks:
 If you assign values directly you can also define an operation. In this case no blank may be set between operator and number. In addition you can specify the format of numbers by using preceding zeros.

Hints:
 If you assign values directly without using a parameter function only one statement per line may be defined!

Shall the content contain a blank you have to specify instead the replace sign for blanks. That is necessary because otherwise the recognition will not work properly.

You can specify the format of numbers. By preceding a numeric content with zeros the output of numbers with equal length will be forced.

Example:
 The user entered the parameter %YY% and %MM%. The parameter %MM-1% always shall be filled with the month previous to the one entered by the user. The parameter %YYM-1% always shall be set to the according year.

/Set %YYM-1%=DATE(YY,%YY%,%MM%-1,1), %MM-1%=DATE(MM,%YY%,%MM%-1,1)

see also parameter function DATE

Example:
A sequence counter shall be created to be used as part of a file name. Therefore the counter always have to have 3 digits with preceding zeros.

/Set %SequNo%=001

/For %DB%=(%DBs%)
/Set %No=%SequNo%+1
copy c:\Daten\%DB%.dat k:\Daten\DBDATA.%No%
/Next %DB%

The result of this example could have also been obtained with the option 'COUNT' of the command /For. Though, some situations need to be solved with the solution above.


Parameterfunktionen

Parameter functions

Parameter functions provide contents which substitute parameters.

All lines of a job which contains functions have to be prefixed with '/Parameter' or '/Set'.

Following functions are provided:

Content interpretation
CONV
 FILTER
 OFF
 ON
 REPLACE

Input predefine
DATE
 DRIVE
 FILE
 FORMAT
PATH

Lists
LIST
 TABLE
 TABLESELECT

Special functions
CALL


CALL function

Creates a button that the user can use to call a program or a file.

Syntax:
Description=%parameter%=CALL(filename[,parameter])

The function parameters must be separated with comma and without blanks.

Remarks:
 This function is used to provide the user additional information or programs.
Documents or files which are linked to programs through the operating system can be defined without the corresponding program name. You have to consider that the filename and additional parameter must not contain blanks. Blanks must be replaced by the replace sign for blanks.

The %parameter% will provide the filename.
In the page of the job properties there will be displayed a button with the symbol of the defined program or the program that is linked to the defined file.

Hints:
 If you want to provide help files you can specify as parameter the index name of a certain help page. You can get the index name of a help page if you use the button 'Search' within the help window. Then a window with the list of all index names stored in the help file will appear and you can find out what index name belongs to a help page.

Example:
 During a job a program is called that the user needs to check databases. For the checking the user has to follow several predefined steps. Since these steps are documented in a help file the user should be provided with it. The help page that has to be used has the index name 'Italy ASCII'.

/Set BlankChar=~°
/Parameter: Database checks=%Help%=CALL(h:\Pool~crp\JobSys\wopcheck.hlp,Italy°ASCII)
 /Set BlankChar=~
/Parameter: Year=%YY%=98, Month=%MM%=12, Drive=c:

In the area 'Job Parameter' will appear

In that example you have to consider that the replace sign for blanks has to be changed from ~ to ° because the sign ~ is used in fact within the Path name.


CONV function

CONV Funktion

Converts contents of parameters into contents for other parameters.

Syntax 1:
 %Parameter%=CONV( %inputparameter%, content1: substitution1, content2: substitution2... )

On the left side the parameter is defined that has to be filled with the converted substitution. Within the command 'CONV' you have to define the input parameter that content should be converted. After that all pairs of values must follow separated by a comma. A pair of values consist of the content and separated by a delimiter sign (':' or '|') the substitution.

Syntax 2:
CONV( %inputparameter%: %parameter1%: %parameter2%..., content1: substitution11: substitution12, content2: substitution21: substitution22... )

Within the command 'CONV' you have to define the input parameter that content should be converted followed by the or those parameters which should be supplied with the converted substitutions. After that all pairs of values must follow separated by a comma. A pair of values consist of the content and separated by a delimiter sign (':' or '|') one ore more substitutions.

The order of the substitutions must correspond to the order of the %parameter%.

Remarks:
At the time of processing the function will compare the content of the input parameter with the defined contents. If there is matching content (not case sensitive) the substitute value defined after the delimiter sign will be assigned to the specified parameter.

If the last pair of values is *:substitute then for all contents not defined in the function this substitute will be assigned.
If the last pair of values is *:* and a searched content is not defined in the function the content itself will be assigned.
Shall the substitution contain a blank you have to specify instead the replace for blanks. That is necessary because otherwise the recognition of the substitution will not work properly.

Hints:
Within a convert command you must use only one of the two possible separator signs. The program will use the firstly found separator sign (either ':' or '|') for the entire command. A colon sign within the contents and substitutions must be be specified by ",".

The check of the content is not case sensitive. Content can also contain joker signs like * and ?.

Example:
 You want to provide the user for the parameter %Client% different client names within a selection list.
In the executing job files for these clients should be processed. The file names should contain the client names. Since the client names are to long to put further information (e.g., month and year) into the file name they have to be converted to a short format.

/Parameter Customer=%Client%=LIST(Zeneca,Wyeth,Thomae,Robugen,Opfermann)

/Set %ClientAbbr%=CONV(%Client%,Zeneca:ZEN,Wyeth:WYE,Thomae:THO,Robugen:ROB,
Opfermann:OPF)
; or CONV(%Client%:%ClientAbbr%,Zeneca:ZEN,Wyeth:WYE,Thomae:THO,Robugen:ROB,
Opfermann:OPF)

copy c:\data\xtrend\%ClientAbbr%%MM%%YY%.dat SP2:%Client Abbr%%MM%%YY%.dat

Example:
 You want to provide the user for the parameter %RXX% within a selection list several types of reports with abbreviations which are used internal.
The executing job should create files for external clients. Since the external clients don't know the internal abbreviates they have to be converted into a format that is short enough for file names and moreover familiar for the clients (e.g. TW instead RAO).

/Parameter Report=%RXX%=LIST[RII,RIO,ROI,RAO,RAI]

/Set %RAbbr%=CONV(%RXX%,RII:MG,RIO:MW,ROI:MO,RAO:TW,RAI:TG)
; or CONV(%RXX%:%RAbbr%,RII:MG,RIO:MW,ROI:MO,RAO:TW,RAI:TG)

copy C:\DATA\%Client%\%RAbbr%%YY%%MM%.EXE J:\RPM\Client\%Client%\%RAbbr%%YY%%MM%.EXE


DATE function

Assigns a calculated date value in various formats to a parameter.

Syntax:
 %Parameter%=DATE( format, predefyear, predefmonth, vpredefday)

All function parameter must be separated by a comma.

Following formats are possible:

Format- | Meaning
d | day as a number without a leading zero (1-31)
dd | day as a number with a leading zero (01-31)
ddd | day as an abbreviation (Sun-Sat)
dddd | day as a full name (Sunday-Saturday)
ddddd | date serial number as a complete date (including day, month, and year) formatted according to the Short Date setting in the International section of the Windows Control Panel. The default Short Date format is m/d/yy
dddddd | Display a date serial number as a complete date (including day, month, and year) formatted according to the Long Date setting in the International section of the Windows Control Panel. The default Long Date format is mmmm dd, yyyy
w | day of the week as a number (1 for Sunday through 7 for Saturday)
ww | week of the year as a two-digit number (01-53)
m | month as a number without a leading zero (1-12). If m immediately follows h or hh, the minute rather than the month is displayed.
mm | month as a number with a leading zero (01-12). If m immediately follows h or hh, the minute rather than the month is displayed.
mmm | month as an abbreviation (Jan-Dec)
mmmm | month as a full month name (January-December)
q | quarter of the year as a number (1-4)
y | day of the year as a number (1-366)
yy | year as a two-digit number (00-99)
yyy | day of the year as a three-digit number (001-366)
yyyy | year as a four-digit number (0100-9999)

Remarks:
 Predefined-year, -month and -day could be parameters or literals. Values can be add to or subtract from parameters.
With all Format characters used for format, which create a maximum amount of characters that can be determined like e.g. 'm' (creates the numbers 1-12, that means max. two characters) the possible length of input of the created input field will be delimited to this amount of characters.

Also definitions of combined formats like 'M/D/YY' are possible.

Hints:
 If predefinedyear has been specified as a two-digit number it will be translated internally to a four-digit year number. Then 2000 will be added to values which are less than 30. That means that a time window from 1930 to 2029 will be used.

Example:
 Often in processes it is necessary to use dates from past times which then build compound file names. The user should always get the current date as predefined value for the parameter input.
In this case files shall be processed which always have the date of the previous month as part of their names. To get this you have to relate to the current date that is available with the the system parameter %SYSYY%, %SYSMM% and %SYSDD%. Then you have to subtract 1 from the value of the month.

To get always the same result independent from the current day you should always specify day 1 (otherwise if the job would be started on the 31st of the month and the previous month only has 30 days the result would be the current month with the first day because the result always has to be a thorough valid date).

/Parameter Year=%YY%=DATE( YY, %SYSYY%, %SYSMM%-1, 1) , Monat=%MM%=DATE( MM, %SYSYY%, %SYSMM%-1, 1)

Example:
 The user has to enter the values for the parameter %Year% and %Month%.
In the parameter %PrevMonth% always the month has to be set that is the previous month before the one the user entered.
In the parameter %PrevMonthYear% always the corresponding year has to be set.

/Set %PrevMonthYear%=DATE( YY, %Year%, %Monat%-1, 1) , %PrevMonth%=DATE( MM, %Year%, %Monat%-1, 1)

If for example the user entered 98 in %Year% and 01 in %Month% the parameter %PrevMonthYear% will be set to 97 and the parameter %PrevMonth% will be set to12.


DRIVE Function

Assigns a drive letter of a drive that has at least a specified amount of free space.

Syntax:
 %Parameter%=DRIVE( minimumsize [,SMALL | LARGE ][, driveletter1, driveletter2... ])

All parameter of the function has to be separated by a comma without blanks.

Remarks:
 The specification of the minimumsize of free space can be made in kilobyte 'KB', megabyte 'MB' (default) or gigabyte 'GB'.

If no desired driveletter has been specified the search of a appropriate drive will start with the network drives and after that with the hard drives (in descending letter order).
If no drive can be found that has the defined minimumsize of free space the job run will abend with an error.
If the option 'SMALL' has been specified and more than one drive has the required minimumsize then the drive with the lowest amount of free space will be assigned.

If the option 'LARGE' has been specified and more than one drive has the required minimumsize then the drive with the highest amount of free space will be assigned.
If no option has been specified the first drive with the required minimumsize will be assigned.

Hints:
 Since this function will be executed during the job run it should be defined as direct as possible before the command that needs to have the free drive space (e.g., COPY or ZIPEXE ).

Example:
 For the transfer of files from a remote host you need a drive with at least 150 megabyte free space.
At first the drive 'G' should be checked. If there is not enough free space the hard drive 'C'. If there should also not be enough free space then network 'J' should be checked.

/Set %Lw%=DRIVE(150MB,g,c,j)
md %Lw%:\DATA\%Client%

FTPLogin IBM 162.44.3.9 %Host-UserID% %Host-Password%
IBM trailingblanks
copy IBM:SSW.RII.F0298.C%ClientNo%N %Lw%:\DATA\%Client%\FMG9802.FM
FTPLogout


FILE Function
see also 'PATH'

Creates a file selection dialog window where the user can choose a file name and puts it into a parameter input field.

Syntax:
 %parameter%=FILE( [predeffilepath [,UNC][,QUOTES | NOQUOTES | MULTISEL ]])

Remarks:
 In the created file selection dialog window the predeffilepath will be set as default path.
If an additional file name or name filter (e.g., *.txt) has been specified it will be taken into consideration within the file selection dialog.
If the user selects a filename that contains blanks then it will automatically be enclosed in quotes.

By "drag and drop" you can take over filenames from the Windows Explorer or other applications into an input field.

With the option 'UNC ' the defined file name will be converted to the UNC (Universal Naming Convention) format. That means that drive mappings will be replaced by the complete path name including server and volume names.

With the option 'QUOTES' the selected filename will always be enclosed in quotes. With the option 'NOQUOTES' the selected filename will never be enclosed in quotes. These options are necessary if you want to set a variable of a script language to this parameter.

With the option 'MULTISEL ' user can choose more then one file within the predefined path predeffilepath. Those will be set into %parameter% separated by comma and could be evaluated with the control command '/FOR ...'. Since the predefined path predeffilepath will not be included it has to be defined in addition if you need it for further use.

Hints:
 If a recent entered filename contains the path name part of the predeffilepath, it will be provided the next time you use the property window. If not, predeffilepath will be provided.

Example:
 For a job always files of a certain path are needed and the extension of the file names is mostly .txt.

/Parameter Copy-File=%CopyFile%=FILE(g:\data\imsview\*.txt)

In the area 'Job-Parameter' will appear

the button with the three dots will call the file selection dialog window.


FILTER function

Filters terms within a file and assigns it to a parameter.

Syntax:
 %Parameter%=FILTER(filename, delimitertext1[, delimitertext2])

The function parameter must be separated by a comma.

Remarks:
 The function is searching in the defined file for the delimitertext1. If someone is found the text that follows the delimitertext1 will be taken and assigned to the parameter. If a delimitertext2 has been specified the text between delimitertext1 and delimitertext2 will be taken and assigned to the parameter.

If more than one terms has been found they will be concatenated with a comma as separator and assiged to the parameter. If the same term exists several time it will taken only once.

Example:
 A job shall convert several zip files into self extracting zip files. Which zip files have to be converted is stored within a DOS batch file. There the DOS-Command 'set' is used to assign the corresponding zip filename to the DOS parameter 'pd'.

; defines the filter condition 'set pd' (Attention ! the blank sign is replaced by the substitute for blank signs)

/Set %RepSets%=FILTER(c:\data\iv\norway\ferring.bat,set~pd=)
 ; a for/next loop can process now all terms stored in %RepSets%

/For %RepSet%=(%RepSets%)
wzipsepe C:daten%RepSet%.zip
Sendkeys {TAB 2}%ClPath%~
Sendkeys §N§S
/Next %RepSet%


FORMAT function

Sets the behaviour of text input fields.

Syntax:
Description=%parameter%=FORMAT([UCASE] | [LCASE] | [0] [,INIT:content | EMPTY] [,LINES:linecount ] [,LENGTH:charactercount])

The function parameters must be separated with comma and without blanks.

Remarks:
 If the additional key word 'UCASE' is used all characters the user types in will immediately change to upper case during the input.
If the additional key word 'LCASE' is used all characters the user types in will immediately change to lower case during the input.
With the additional key word '0' the input field will be filled with preceding zeroes if the user leaves the field. The total length used to fill is according to the amount of zeroes (00 would fill the field to a total length of 2 digits).

With the additional key word 'INIT:' you can specify an initial value that will be shown to the user. With 'EMPTY' the parameter will be set empty.
With the additional key word 'LINES:' you can specify the high of an input field in units of lines. The length of the field is always expanded to the right border of the window. That means that the length will not be justified automaticly by the content of this field.
With the additional key word 'LENGTH:' you can specify the maximum number of characters of an input field.

Example:
 /Parameter SiteID=%SiteID%=FORMAT(UCASE)
 /Parameter Enquiries=%Enquiries%=FORMAT(LINES:5,UCASE)
 /Parameter Databasename=%DBName%=FORMAT(LENGTH:8)
 /Parameter Month=%MM%=FORMAT(INIT:EMPTY,LENGTH:2)
 /Parameter Month=%MM%=FORMAT(00)


LIST Function

Creates a selection list in order to let the user select entries as input for parameters.

Syntax:
 %parameter%=LIST( item1, item2... )
%parameter%=LIST[ item1, item2... ]
%parameter%=LIST[^ item1, item2... ]
%parameter%=LIST{ item1, item2... }

All items which should be displayed in the selection list has to be separated by a comma.

List type:
 Rounded brackets ( ) will create a sorted list that will pop up by clicking on it.
Squared brackets [ ] will create a unsorted list that will pop up by clicking on it.
Squared brackets with a roof sign [^ ] will create a unsorted list that will pop up by clicking on it without initialising with the entry of the last use.
Braces { } will create a sorted list that will be displayed directly and lets you select more than one item at a time. If more than one items are selected they will be concatenated with a comma as delimiter sign.

Remarks:
 If you define the first item as a star sign * the user will get the opportunity to specify a additional item that has not been predefined in the selection list. This normally makes only sense if within the job no conversions of contents with these items will be made (see parameter function CONV).

Example:
 The user shall get several report types to choose.
/Parameter Report=%RXX%=LIST[RII,RIO,ROI,RAO,RAI]

In the area 'Job-Parameter' will appear

The elements appear in the same order like defined in the function.

Example:
 The user shall get several clients to choose which names are used as path names. Since the user should be able to create new path names he should specify them himself.

/Parameter: Client name=%Client%=LIST(*,Gruen01,Lilly,Apharm,Hofla01,Bykgul01)

In the area 'Job-Parameter' will appear

The elements appear in sorted order and it is possible to edit the input field (shows a text caret).

Example:
 The user shall start a process where the data of more than one client can be processed within the same job.

/Parameter: Clients=%Client%=LIST{Asche1KV,Asche2KV,Asche1,Asche2,Aliud,Abbott1,Abbott4}

 In the area 'Job-Parameter' will appear

With the shown selection the parameter %Client% contains 'Abbott4, Aliud, Asche2'.


OFF function
see also 'ON'

Sets contents of parameters that are used to select command lines.

Syntax:
 %parameter%=OFF(%inputparameter%:content1[:contentN ][,%OnOffParameter%])

On the left side the parameter is defined that will be set to 'REM' if %inputparameter% contents content1. If it is not then the parameter will be set to a blank sign. The parameter %OnOffParameter% will get the opposite value at a time.

Remarks:
 The function can be used in order to switch on or off command lines depending on conditions. This is possible through prefixing command lines with a parameter that has to be set either with a blank (switched on) or a 'REM' (switched off). That means that the command lines either will be executable (blank) or commented (REM).
Content can also be specified using joker signs.

Hints:
The check of content is not case sensitive.

Example:
 The user has to decide whether data has to be transfered onto the mainframe in packed or in unpacked format. The appropriate executable command lines have to be activated using the input of the user.

/Parameter Transfer packed data=%Zipped%=LIST[Yes,No]
;
/Set %ZIP%=OFF(%Zipped%:Nein,%TXT%)
 ;
FTPLogin Mf 162.44.3.9 T49imjm %Passwort%
%ZIP% binary
%ZIP% Mf lrecl=27998, blksize=27998, recfm=U
%ZIP% copy u:\proj\dataview\medmidas\source\B_6505.zip Mf:QBV.IDS.MEM.B_6505.ZIP
%TXT% Mf lrecl=27992, blksize=27996, recfm=VB
%TXT% copy u:\proj\dataview\medmidas\source\B_6505.txt Mf:QBV.IDS.MEM.B_6505.TXT
FTPLogout


ON function
see also 'OFF'

Sets contents of parameters that are used to select command lines.

Syntax:
 %Parameter%=ON(%inputparameter%:content1[:contentN ][,%OnOffParameter%])

On the left side the parameter is defined that will be set to a blank sign if %inputparameter% contents content1. If it is not then the parameter will be set to 'REM'. The parameter %OnOffParameter% will get the opposite value at a time.

Remarks:
 The function can be used in order to switch on or off command lines depending on conditions. This is possible through prefixing command lines with a parameter that has to be set either with a blank (switched on) or a 'REM' (switched off). That means that the command lines either will be executable (blank) or commented (REM).
Content can also be specified using joker signs.

Hints:
The check of content is not case sensitive.

Example:
 The user has to decide whether data has to be transferred onto the mainframe in packed or in unpacked format. The appropriate executable command lines have to be activated using the input of the user.

/Parameter Transfer packed data=%Zipped%=LIST[Yes,No]
;
/Set %ZIP%=ON(%Zipped%:Yes,%TXT%)
 ;
FTPLogin Mf 162.44.3.9 T49imjm %Passwort%
%ZIP% binary
%ZIP% Mf lrecl=27998, blksize=27998, recfm=U
%ZIP% copy u:\proj\dataview\medmidas\source\B_6505.zip Mf:QBV.IDS.MEM.B_6505.ZIP
%TXT% Mf lrecl=27992, blksize=27996, recfm=VB
%TXT% copy u:\proj\dataview\medmidas\source\B_6505.txt Mf:QBV.IDS.MEM.B_6505.TXT
FTPLogout


PATH function
see also 'FILE'

Creates a path selection dialog window where the user can choose a path name and puts it into a parameter input field.

Syntax:
 %parameter%=PATH([predefpath[,UNC][,FIX][,NOQUOTES]])

Remarks:
 In the created path selection dialog window the predefpath will be set as default path.

Path names can be taken over into the input field by drag and drop from the Windows Explorer or other applications.

If the path name selected by the user contains blanks it will automatically enclosed in quotations marks.

With the option 'UNC' the selected path name will be converted to the UNC (Universal Naming Convention) format. That means that specified drive mappings will be resolved and the complete path name will be returned.

With the option 'FIX' the user only can select subdirectories of predefpath. Within the parameter input field predefpath will not be displayed. Only the subdirectory selected by the user will be taken over. Using this option the selected path name will never be enclosed in quotations mark in order to allow to compile it with a high level path name.

With the option 'NOQUOTES' the selected path name will never be enclosed in quotations mark. This can be necessary if the parameter shall be used within a script language.

Hints:
 If a recent entered pathname contains the pathname of the predefpath, it will be provided the next time you use the job window. If not, predefpath will be provided.

Example:
 For a job subdirectories of a certain path have to be selected.

/Parameter Client CD-Path=%CDPath%=PATH(c:\Product\Clientdata,FIX)

In the area 'Job-Parameter' will appear

the button with the three dots will call the path selection dialog window:


TABLE function
see also 'DATASOURCE' and 'Table Editor'

Creates a selection table in order to let the user select entries as input for parameters.

Syntax:
 %Indexparameter%=TABLE{ [columntitles, ] columnparameter, columnview, rowselection, Tabledatarows,... | DATASOURCE(...)}

All Column- and Row definitions has to be separated by a comma (see hints for exception).

Table type:
 Rounded brackets ( ) will create a sorted table that will pop up by clicking on it.
Squared brackets [ ] will create a unsorted table that will pop up by clicking on it.
Braces { } will create a sorted table that will be displayed directly and lets you select more than one items at a time. Also column titles can appear.
A starting brace with a rounded bracket {( will create a sorted table that will be displayed directly and lets you select only one item. Also column titles can appear.

Syntax of the column- and row definitions:
Columnstatement1:Columnstatement2:Columnstatement3:...,

Every statement is related to a column of the table and has to be separated with a delimiter sign (':' or '|') from the statement of the next column. In one table command you must only specify one of the both delimiter signs. The program will always take the the first found delimiter sign (either ':' or '|') as delimiter for the entire function.

The column- and row definitions offers following:

Column titles:
 They may be optional defined. If they are not defined the names of the columnparameters will be used as title.
If 'NoHeader' is specified no column title will be created.
In the case of the selection table that pops up by clicking no title will appear.

Column parameter:
 They are used to define the parameter which are filled with the column values of the rows the user has marked. If no column titles are defined the column parameters are used as titles.

Column view:
This is used to define which of the columns in the table should be visible for the user. The advantage of this is that you can one table for different jobs which can have different meanings and processes for the user.
It is possible to show or omit a column by the entry 'Yes' or 'No'.
In addition it is possible to change the order of the columns. For that you have only to specify the number of the order for every column e.g., 2:1:0:3. A '0' will omit the column.

Row selection:
 This is used to define which of the rows in the table should be visible for the user.
The content of each column of a row will be checked against the selection entry in the row selection. If a content of a column of a row does not match with the defined criteria of this column the row will not be displayed.

The operators '<', '=', '<>', '>' and '>=' can be used for the selection criteria. After the operator the queried value must follow directly without blanks. If all table rows should be displayed only the operator '>' has to be defined (use '>=' if you want allow that columns of rows may contain no value). If no operator is specified but only a criteria then it is check for equality. With this type of comparing you can also use joker signs.

To specify a list of values you can use the syntax '<value1+value2+valueN>'

Table data rows:
 The last type of parameter of the table function are the data rows with the column values. Should the column value contain a blank you have to use the replace sign for blanks instead of a blank sign. That is necessary because otherwise the recognition of the column values will not work properly.
If you want to get table data rows from a database file or other sources with records organized as table you should use the Option 'DATASOURCE' instead of defining table data rows.

Remarks:
 The table function is a enhancement of the list function 'LIST'. Using the table function allows to define values which are related to other values without the need of the function 'CONV'. The parameter for all columns will be filled with the defined values in the table rows if they have been selected by the user.

Like the list function if the user has selected more than one row the values are concatenated with the comma delimiter and stored in the corresponding parameters.

The decisive difference is that this process changes as soon as the %Indexparameter% (that is defined before the table function) is used within the control command '//FOR ......'.
As a matter of fact all rows selected by the user are stored with their row number into that parameter. With every repeating the next row number is used in order to provide the column values for this row.
So only the command '/FOR...' with the index parameter provides the possibility to use the contents of more than one row selected by the user.

Moreover the command '/FOR...' will take in consideration all values even if a sequence of them are equal.

You can edit the table defintions with the Table Editor for definitions.

Hints:
 You can define all column- and row definitions in a sequence. If you want to put each of the definitions in a own line of the job there are two possibilities.
1. in front of every line you have to write the continuing sign /- ; the separator signs mentioned below are processed.

2. the line before the lines with the data rows of the table and the line after must consists of the signs /^ . The columns of the data rows must be separated by a tabulator and it is not necessary to conclude the lines with a comma. The advantage of this method is that you can use all visible signs for the column values (e.g., also , : ; ) and | ).

These methods are used normally only with the data rows of the table. If there are many table rows you can write them in an own file and include it with the command '/Include'. The advantage of this is that you can edit this table file easily with the Table editor . Then the user can call it easily with the context menu of the created table without having to use the command editor.

Example:
 For several clients a file transfer of RPM-Databases has to started. The should see only the client name and the client number.

/Param: %Customers%=TABLE{
%ClientName%:%Study%:%ClientNrPref%:%ClientNr%:%PCFir%, Yes:No:No:Yes:No, >:>:>:>:>,
/- Azupharma-Tiger:RII:M:99080:azu\tiger,
/- Asche2KV:RAI:M:99171:asche\asch2kv,
/- Asche1KV:RAI:M:99161:asche\asch1kv,
/- Asche2:RAI:M:99170:asche\asch2,
/- Asche1:RAI:M:99160:asche\asch1,
/- Aliud:RAI:C:99050:aliud\aliud,
/- Abbott1:RII:C:99010:abbott\abbott1,
/- Abbott4:RII:M:99040:abbott\abbott4}

In the area 'Job-Parameter' will appear

Like in the picture above the user has selected two lines. In order to be able to work with these two lines the job has to be set as follows:

/FOR %Client%=(%Customers%)
binary
copy IBM:%Study%.%ClientNrPref%%ClientNr%.CHR %PC-Path%\%PCClient%.chr
copy IBM:%Study%.%ClientNrPref%%ClientNr%.HED %PC-Path%\%PCClient%.hed

copy IBM:%Study%.%ClientNrPref%%ClientNr%.IDX %PC-Path%\%PCClient%.idx
copy IBM:%Study%.%ClientNrPref%%ClientNr%.INF %PC-Path%\%PCClient%.inf
copy IBM:%Study%.%ClientNrPref%%ClientNr%.TAD %PC-Path%\%PCClient%.tad
/NEXT %Client%

For the line numbers stored in the indexparameter %Customers% (in this case 4 and 6) the five column parameters will be filled with the contents of the appropriate row for every run through.

Please note that the index parameter '%Customers%' has to be used between the brackets and that the parameter '%Client%' is not used within the FOR/NEXT-Loop.

Example:
 You want to offer the user several types of reports to choose.
/Parameter %Report%=TABLE[%RXX%,Yes,>,RII,RIO,ROI,RAO,RAI]

 In the area 'Job-Parameter' will appear

The elements appear in the same order like defined in the function.

Example:
 You want to offer the user several clients to choose. The display shall be a sorted popup list. The table contains several columns and the user has to manage it itself.

/Parameter: %Client%=TABLE(noheader,%Cust%:%CustNo%:%Type%,Yes:No:No,>:>:>,

/Include RPMCUST2.JST

In the area 'Job-Parameter' will appear

By use of an own table file that is embedded by the /Include statement the user is able to open the table via the context menu.

A peculiarity of popup lists is the additional sign '>'. Only there the context menu appears.


REPLACE Function

Replace strings and assign it to a parameter.

Syntax:
 %Parameter%=REPLACE(term,option)

The function parameter must be separated by a comma.

Remarks:
The funktion sets %Parameter% with the replaced content of term.

If term is a parameter that is used for a password (see %Parameter%) the content can be decoded by the option 'CODING'.

With the option 'PARAMS' it replaces all existing %parameters% within the term with its contents. It enables to replace parameters within parameters. This allows to specify parameters in a parameter table with variable contents.

Example:
A Job shall pack a file under a file name which contents the system date. The name has to be selected by the user from a parameter table.

; %VariableFilename% is a field in a parameter table. The user selected a line of the table which contains the value 'Database_%SYSYY%%%SYSMM%%SYSDD%' in this field.

/Set %NameWithDate%=REPLACE(%VariableFilename%,PARAMS)
; %NameWithDate% now contains the value with the fix part 'Database_' and the system date which was valid at the start of the job.

pack c:\test\database.dat c:\test\%NameWithDate%.zip


TABLESELECT function
see also 'DATASOURCE'

Selects contents of field of a table file in order to set job parameters.

Syntax:
 %countparameter%=TABLESELECT([Tablecolumns,]Columnparameter,Rowselection, DATASOURCE(...))

All Column- and Row definitions has to be separated by a comma without blanks.

Syntax of the column- and row definitions:
 Columnstatement1:Columnstatement2:Columnstatement3...,

 Every statement is related to a column of the table and has to be separated with a delimiter sign (':' or '|') from the statement of the next column. In one table command you must only specify one of the both delimiter signs. The program will always take the the first found delimiter sign (either ':' or '|') as delimiter for the entire function.

The column- and row definitions offers following:

Table columns:
The column names of the table file may be defined optional. If they are not defined here they have to be described with the option 'DATASOURCE'.

Column parameter:
They are used to define the parameter which are filled with the column values of the rows that will be selected with the definition of the row selection.

Row selection:
 This is used to define which of the rows in the table should be visible for the user.

The content of each column of a row will be checked against the selection entry in the row selection. If a content of a column of a row does not match with the defined criteria of this column the row will not be displayed.

The operators '<', '=', '<>', '>' and '>=' can be used for the selection criteria. After the operator the queried value must follow directly without blanks. The value can also be described by a parameter. If no selection criteria should be given only the operator '>' has to be defined (use '>=' if you want to allow that columns of rows may contain no value). If no operator is specified but only a criteria then it is check for equality. With this type of comparing you can also use joker signs.

DATASOURCE:
 The option 'DATASOURCE' describes the type of table file and in addition the table columns if not been defined here.

Remarks:
 A common use of this function is to read a certain row of a table with a key field. This or these key fields are defined as normal column name. The selection of a row is done with the values that has been described within the row selection of the appropriate columns. These values are normally defined by a equality test.

Example:
 Using the content of the parameter %DBName% the table row of an Access table that belongs to the content should be red. The contents of the columns should be put into the remaining parameter. The row should be selected only if the row contains a server name. The parameter must not be named like the column names of the table.

/Set %TB%=TABLESELECT(%DBName%:%Server%:%User%,%DBName%:>:>=,DataSource(c:\daten\proddb.mdb,,,Transfer~Information,Database:Servername:UserID))


Control commands

Control commands allow to control the process of the job commands or to repeat command lines.

/FOR ...=...

see also
'PC CHECKLOGFILE' and 'TelNet checklogfile'


/FOR ...=...

Repeats command lines a specified number of times.

Syntax 1:
/FOR %parameter%= startvalue TO endvalue [STEP increment ] [COUNT %counter% ] command line...

Syntax 2:
/FOR %parameter%= startvalue TO endvalue [STEP increment ] [COUNT %counter% ]
command line
" "
/NEXT %parameter%

Syntax 3:
/FOR % parameter%=( value1, value2 , ...) [COUNT %counter% ] [INITCOUNT number ]
command line
" "
/NEXT %parameter%

Remarks:
 With Syntax 1 and Syntax 2 the repeating will be done by creating the following line(s) for each value of the specified startvalue up to the endvalue. If the optional key word 'STEP' has not been used to specify a explicit increment the content of the defined parameter will be increased each time by one. You can specify digits and letters for startvalue and endvalue.

With Syntax 1 only the commands following in the same line will be repeated.

With Syntax 3 the repeating will be done by creating the following line(s) for each value specified within the brackets. The values can be numbers and text. If several equal values are following only the first value will be taken into consideration. A particular meaning has this syntax together with the table function 'TABLE'.

The %parameter% that will be set with the values can be used in the following line(s) in order to make them variable.

With the optional key word 'COUNT' you can define %counter% as parameter that will be increased by one for each repeating run. That will always set this counter parameter to the current amount of repeats.

With the option 'INITCOUNT ' the %counter% can be initialised with a number. Then the counter parameter contains the current amount of repeats plus the value of number. This can be used to get a total counter for several '/For' commands by setting the number with the %counter% of the previous '/For' command.

It is possible to nest several commands 'For ...' by placing one 'For ...' command within another.

Hints:
 With Syntax 1 and Syntax 2 you can specify the format of numbers. By prefixing startvalue with zeros the output will set to fixed length numbers (with leading zeros).

Beispiel:
 A program writes for each internal table an output file. Every output file name contains the corresponding table number. The output files should be copied into another path.

/FOR %TabNo%= 1 TO 6: copy SP2:KSBCDR%TabNo% .G.T.19981 c:\data\dkb\C%TabNo% T981.TXT

Following command lines will be created:
copy SP2:KSBCDR1.G.T.19981 c:\data\dkb\C1T981.TXT
copy SP2:KSBCDR2.G.T.19981 c:\data\dkb\C2T981.TXT
copy SP2:KSBCDR3.G.T.19981 c:\data\dkb\C3T981.TXT
copy SP2:KSBCDR4.G.T.19981 c:\data\dkb\C4T981.TXT
copy SP2:KSBCDR5.G.T.19981 c:\data\dkb\C5T981.TXT
copy SP2:KSBCDR6.G.T.19981 c:\data\dkb\C6T981.TXT

Example:
 The files of the example above in addition should be copied for the first and the second quarter.

/FOR %Q%= 1 TO 2

/FOR %TabNo%= 1 TO 6: copy SP2:KSBCDR%TabNo% .G.T.1998%Q% c:\data\dkb\C%TabNo% T98%Q% .TXT

/NEXT %Q%

Following command lines will be created:
copy SP2:KSBCDR1.G.T.19981 c:\data\dkb\C1T981.TXT
copy SP2:KSBCDR2.G.T.19981 c:\data\dkb\C2T981.TXT
copy SP2:KSBCDR3.G.T.19981 c:\data\dkb\C3T981.TXT
copy SP2:KSBCDR4.G.T.19981 c:\data\dkb\C4T981.TXT
copy SP2:KSBCDR5.G.T.19981 c:\data\dkb\C5T981.TXT
copy SP2:KSBCDR6.G.T.19981 c:\data\dkb\C6T981.TXT

copy SP2:KSBCDR1.G.T.19982 c:\data\dkb\C1T982.TXT
copy SP2:KSBCDR2.G.T.19982 c:\data\dkb\C2T982.TXT
copy SP2:KSBCDR3.G.T.19982 c:\data\dkb\C3T982.TXT
copy SP2:KSBCDR4.G.T.19982 c:\data\dkb\C4T982.TXT
copy SP2:KSBCDR5.G.T.19982 c:\data\dkb\C5T982.TXT
copy SP2:KSBCDR6.G.T.19982 c:\data\dkb\C6T982.TXT

Example:
 For several files with sequential numbered file names a file transfer shall be done. The numeration starts with 01 and ends with 26 where all of the one digit numbers exist with a leading zero.

/FOR %Reportno%= 0 1 TO 26
copy IBM:OYMP.PAGEVIEW.REPORT%Reportno% c:\data\dpm\REPORT%Reportno%
/NEXT %Reportno%

Example:
 For several clients a transfer of files should be started.

/FOR %Client%=(Abbott4,Aliud,Asche2)
 binary
copy IBM:DATA.%Client%.TXT c:\data\%Client%.txt
/NEXT %Client%
You could use the parameter function 'LIST' with braces to let the user select the values within the brackets from a list.


Other information

Further information for using the Job-System.


Fehlerbehandlung

Error handling

If during the processing an error occurs normally the job will be terminated and an appropriate message will be generated.

If instead you want to prevent an abnormal end for a certain action though an error has been raised you can achieve this with the command 'OnErrorWarning'. If during the processing an error occurs then only after processing the job a warning will be given to the user.
If a raised error shall be ignored completely you have to use the command 'OnErrorIgnore'.

In order to switch on again the normal error handling after a certain action you have to use the command 'OnErrorBreak'.

If a special message shall be displayed to the user after an error that caused a break you can define the command 'OnErrorMsg meldung'.

With the command 'OnErrorRepeat seconds' a broken copy process within a FTP Session will be repeated max. three times after amount of seconds.

Example:
 With the conversion of output formats certain input files are not produced every time. If this case occurs a hint should be given to the user after processing the entire job that an event has occur that has to be reviewed.

OnErrorWarning
 fileconv &&fileconvlog h:pool_crp\Jobsys\batch\IVENG.ini
addtologfile &&fileconvlog /IfExists 'abnormal ended' Error
OnErrorBreak

With the processing of parameter files different name conventions are used. Some processes need to have a renaming but with other processing the required name does exist already.

OnErrorIgnore
 ren %DBName%.prm %PRMName%.prm
OnErrorBreak

After a break of a job the user has to be informed that he has to do a certain action if he continues to perform manually.

OnErrorMsg Attention! The file 'default.dat' absolutely must be copied to the database path.


Kommandozeilenparameter

Command line parameter

Calling the Job-System can be predefined with command line parameter.

Following parameter are possible:

/DB databasename | the path name or the name of the Job-System database
Username [Password] | the name and the password of the user who shall open the Job-System

Example:
 C:\Program Files\Own\JobSys.exe t49imjm


Programm-Module von Drittherstellern

Program modules of third party vendors

The Job-System was created using program modules of third party vendors.
These program modules don't need to be licensed and therefore they are installed together with their licence agreements according to legal rights.

  1. SocketWrench of Catalyst Development Corporation
     this software module is used for execution of the internal commands of FTP and Telnet. For it is used the SocketWrench Agreements.
  2. Zip and Unzip of the Info-Zip Group
     these software modules are used for the internal commands for packing and unpacking. For it is used the Info-Zip Agreements.


Systemschalter

System settings

With the systemsettings you can set details used during the execution of the job.

/Set Jobname=jobdescriptor

You can set a name for the job that will be used as identifier in the log file history. The signs \ / : * ? " < > | % are not allowed and will be converted automatically into an underscore sign _ .

Example:
 /Set Jobname=%Client%M%Month%

/Set NoArchive
/Set NoHistory

Supresses the default saving of the job log file.

/Set Notification=EMAIL( [OnStart] [,OnBreak | OnConfirmedError | OnError | OnEnd | OnWarning ] :emailaddress )

Describes at what time the emailaddress should be notified per E-Mail about a running job

Option | the email will be sent
OnStart | after the start of the job and will contain the start information that is also written into the log file
OnConfirmedError | if an error occurred in the job and the user wants to send a notification (a message box will appear in order to let the user decide)
OnBreak | if an error occurred that caused a break of the job
OnError | if an error occurred that has not been suppressed (see Error handling)
OnWarning | if an error occurred that caused a warning
OnEnd | when the job is terminating

With 'OnConfirmedError', 'OnError', 'OnWarning' and 'OnEnd' the log file itself will be attached to the E-Mail.
Errors suppressed with the setting 'OnErrorIgnore' are not treated as errors for notification.

Emailaddresses can be specified according to the address field of a mail program.
You have to consider that blanks must be replaced by the replace sign for blanks (see below).

You can specifiy several lines with different definitions of notifictions.

If the option 'Use SMTP for sending emails' of the general program options is activated the specified SMTP address is also used for notifications.

Example:
 /Set Notification=EMAIL(OnEnd:Smith,~John;Miller,~Steve)
/Set Notification=EMAIL(OnError:JMarkart@online.de)

/Set BlankChar=character

Sets the replacing sign for blanks to the defined character. Replacing signs for blanks have to be used within parameter functions. Default sign is '~' (tilde).
Setting a replacing sign is necessary if within a parameter function the default sign is used itself for values.

Example:
 /Set BlankChar=°
/Parameter: Kunden=%Client%=TABLE{(Clientnr|DBName|HostDBName|LANClient....
/include ivnwfir2.txt <--- Edit here the client data (contains path names with tilde)

/Set BlankChar=~

/Set ParamAllign

Forces the alignment of the parameter input fields (see also Job Options). Must be defined before the definitions of "/Parameter".

/Set ParamDelimChar=character

Sets the delimiter sign of parameter names to the specified character. Default character is the percent sign '%'.
If the default sign itself has to be used with other programs you have to change it with this statement.

Example:
 /Set ParamDelimChar=^
 //* SAS Program Inline Code
//SASCODE *
%Macro performtest
month=^MM^
 //*
/Set ParamDelimChar=%


Temporäre Dateien

Temporary files
see also INLINE

Define files which are used by the Batch-Module at runtime only

Syntax:
&&discriptionname

Remarks:
 Temporary files are frequently used to pass information from one program to subsequent programs. Since the passed information is needed only during the job run keeping these files after the job run would not be usefully and moreover using fixed filenames could lead to processes with mutual blocking or changing.

You can specify &&discriptionname instead of a normal filename.

The use of describer names for temporary files is also supported within program code of scripts defined with the command 'INLINE'.

Example:
 A program for converting file formats shall be called. The program writes processing messages into a log file that has to be defined as a parameter of the program.
After the termination of the program this log file should be inserted into the log file of the batch run module and in addition checked for error messages to be able to break the job run.

fileconv.exe &&fileconvlog c:\data\work\cnvsocia.ini
addtologfile &&fileconvlog /ErrorIfNotExists: 'normal ended'


Job Startplan Zeit

Job start plan Time
see also Startplan Event

The 'Startplan' describes schedules of time and/or events when a job shall be started.

With the file menu 'Change Job Plan...' or with the button 'Change plan...' of the properties window the window 'Startplan' will be opened.

The window 'Startplan' has three tab registers for defining a time plan, Events and additional Settings.

Following types of schedules can be defined.

Once | if a job shall be called only one time.
Hourly | if a job shall be called one time within every hour..
Daily | if a job shall be called within a time frame on certain days.
Weekly | if a job shall be called on a certain day every week at a certain time.
Monthly | if a job shall be called on a certain day every month at a certain time.
At Start | if a job shall be called on start of the operating system. It requires to activate the option 'Activate durable' of the menu 'Options'.
At shutdown | if a job shall be called on termination of the operating system.


Job Startplan Ereignis

Job start plan event
see also Startplan Time and Settings

The 'Startplan Events' describes events on which a job shall be started.

Event types can be defined as follows.

As soon as files exist | if a job shall be called depending on existing files.
As soon as a message arrives | if a job shall be called depending on emails.
As soon as a program runs | if a job shall be called depending on running programs.

If a file event has been selected you can use the area 'Start event' to define the files which control the event.

In the input field 'Files' you can specify one ore more files names including joker signs ('*', '?'). A new or changed file always has to be confirmed with the button 'Add'. If an entry has been changed the old still existing one then has to be deleted.

After the start of a program it depends on its function what shall happen afterwards. In any case you have to prevent the called program for being called again and again by the scheduler. Therefore you can use the options 'After start'. If the called program deletes, moves or renames the files itself you can chooses the option 'Activate periodically'. Then the frequency of event checking can be set with the page 'Settings'.


Job Startplan Einstellungen

Job start plan settings
Back

With the "Startplan" settings additional options for the defined plan can be set.

Following types of settings can be defined.

Execution | describes how the scheduler should react on certain situations at the start of a job or during the execution. Option 'Do not start while previous job is still running': If you want to execute a job of the Job-System you have to use the start program 'JSStart' and the command line parameter '/W'. This is neccessary in order to enable checking the launched program.
Activate Periodically | has to be defined at certain events in order to prevent a endless looping execution.
Messages | can be set in order to indicate start and end of a job on the computer.


Groups and departments
Back

With this register of the user management departments and groups of the Job-System have to be defined for which user shall be added.

The user management is called with the menu 'Options/Options'.

There is no hierarchically structure of departments and groups, just a flat assignment.

Adding a new group

If the group belongs to a department for that a group had already been assigned to you should select it from the list in order to take over the name of the department. As soon as the name of a group and a department is entered the button 'Add' is activated with which you can add the new group.

Adding a new department

Since there is just a flat assignment from groups to departments you have to define also a group that belongs to the new department. So this is the same action like adding a new group.

Changing or deleting a group

As soon as a group has been selected from the list the buttons 'Change' and 'Delete' are activated with which a group can be changed or deleted.

Changing a department

As soon as a group/department has been selected from the list the buttons 'Change' and 'Delete' are activated with which a department can be changed or deleted.

Though there is no hierarchically structure of groups and departments you only once have to change a name of a department. The change of the name of the department will be taken over for all entries where the old name existed.


List options
Back Next

With this tabulator of the options you can control the behavior of lists.

Following options are possible:

Font | The font of the text of rows of all lists can be set..
Show gridlines | Rows and columns of all lists are separated by lines.
Show background picture | A pattern will be shown as background picture in all lists.
Use h over selection | Rows or key words of all lists are automatically highlighted by moving the mouse pointer over it.
Restore recent selected item | The recent selected Row of a list will be redisplayed when opening the Job-System again.
Multiple open of same job possible by default | If this option is set using the menu 'Open Job' does not check if the same job is already opened in a window. That means that always the menu 'Open job in new window' is used.
Remove terminated jobs from status list | Terminated jobs are showed within the status list of the started jobs only until the defined amount of days. Though, because it is kept in the internal database former jobs can be displayed by increasing the amount of days.
Load logfile archive only if needed | Depending on the amount of terminated jobs creating the folder view of the Log file Archive for all log files can take a long time. With this option the loading can be suppressed. Then the folder view is only created when the user clicks on the item 'Log file Archive'.


Job options
Back Next

With this tabulator of the options the behaviour of jobs can be controlled.

Following options are possible:

When opening a job always show page | You can set all types of pages to be automatically shown after opening a job.
show recent type of page | Always the recently selected type of page is shown when opening a job.
Page button | Sets the layout of the page button.
with icon | You can suppress the icons on the page buttons in order to save more space for the display of all buttons..
Top/Bottom | Sets the position of the page buttons.
Input with overtype mode | Sets the write mode of the Job-Parameter overtype mode. Instead of inserting entered characters into existing text it will be overwritten.
Content preselected | When selecting an input field the content will be entirely preselected and highlighted.
Parameter fields in bold font | Contents of parameter fields and lists can be displayed in normal or bold font. Disabling bold font makes sense if you are often working with very long text contents (e.g. file names) because the length of the fields is adjusted to their contents. Then you have more space if using a normal font.
Parameter names in bold font | Shows the field names in normal or bold font.
Save password fields | If this option is set off contents of Password fields are not filled with their previously entered contents.
Line up input fields | Controls if input fields are lined up to the left. In this case only one parameter is displayed per line. Can also be set individually per job (see ParamAllign).
Show last preview only | If this option is deactivated all lines of the preview created since the last call of a job will be concatenated.. That means newly created preview lines will be appended to previously previews.
n seconds to wait for log file after end of job | This is related to jobs which have been abnormally terminated. In this case the log file is shown automatically. If the display needs longer then defined the program assumes that no log file exists. In this case you could increase the waiting time.


Editor options
Back

With this tabulator of the options the behaviour of the Command Editor can be controlled.

Following options are possible:

Font | The font of the command text can be changed.
Code colouring | All known commands of the Job-System can be shown in certain colours. Also commands of Microsoft VBScript are taken into account.
Automatic block indentation | When creating a new line by pressing the ENTER key the indentation of the previous line will be taken over and the cursor is set to the position defined by the tabulator step width.
Embedded help window | If the help for a word is called by key F1 it can be displayed in a window within the Job-System.
Help file for script language | You can set a help file that can be called by the sub menu 'Help for script language' of the help menu '?'. This is helpfully if you want to work with scripting within job commands.


Speicherung der Protokolle

Saving of log files

The name of the log file path contains normally the user id that was used for the netware login (if the Job-System is not able to find a user id it will use the path name 'JobSys').
If the same userid is used on more than one computer another name should be specified for the logfile path.

In this case you can set an entry in the section '[File]' within the file 'JobSys.ini' that is located within the windows path.
The entry 'LogPath=JobList' will set the path of the log file to the filename of the Job-List (without extension). The entry 'LogPath=UserID\JobList' will set the path of the log file to the user id and the filename of the Job-List.

You can see the name of the log file path that has been created by the Job-System by clicking with the right mouse button on the button 'Logfile' in the window of the job properties.

During the job run the log file is written to a temporary path that is used after the termination of the job to save the log file into the archive.


Information

General

How does the Job-System work

Notation of the syntax


DATASOURCE option
see also 'TABLE' and 'TABLESELECT'

This command option is used to retrieve data of tables within databases or other sources with records organized as tables.

Syntax:
DATASOURCE(databasename,databasetype,viewmode[,tablenname[,tablecolumns]])

All parameters have to be separated by a comma without any spaces.

Remarks:
 This option can be used with the functions 'TABLE' and 'TABLESELECT'.
The databasename is the filename where the datasource is stored. If no pathname is specified the program assumes the path to be the one of the job.

The databasetype describes the type of the data source. The description must be one of the installable database driver. You have to know that within the description all blanks have to be replaced by the replace sign for blanks.

The viewmode describes with the function 'TABLE' how the data source has to be showed with the Table-Editor. For tables defined by the option 'DATASOURCE' the user can display the data source by using the context menu of the output table within the job properties. With mode 'VIEW' you can only view the table. With mode 'EDIT' you can edit the table contents. With the function 'TABLESELECT' you can use the constant 'OPTIONAL' to omit a error message if no records could been found for a given access key.

Tablename descibes the name of the table that is stored within databasename. With Access databases this can also be a name of a query. With tablenames within Excel the program automatically adds the sign '$' to the name because this is necessary for identification. With all other formats tablename is not necessary.

The tablecolumns only have to be specified if the column names specified within the functions 'TABLE' and 'TABLESELECT' are not identically to the ones in the table of the data source. All column names must be separated by the delimiter sign (':' or '|') used within the functions 'TABLE' and 'TABLESELECT'. Column names for a table of Excel with special characters will be converted automatically. In the case of missing columns within the output table you should check within the table editor how the names of the columns are written.

Hints:
 Table data with the format of Access can be red faster than stored with the format of Excel. This will become noticeable with table containing many records. If you want to link data of several tables you can do that by creating a query within an Access database. This is also possible with tables from different Excel files which can be defined in an Access database as linked tables.

If you use this option with the function 'TABLE' you can edit the basic table directly with the context menu of the created table using the table editor without having to open the command editor. Within the command editor you can open the table editor with the context menu of the highlighted word 'TABLE'. If a popup list has been defined for the output of the table then a greater sign > will be displayed to the right of the list field; e.g. . By clicking on this sign the contect menu will be shown.

Example:
 Reading a table from an Access database. The column names of the table are identically to the names which shall be display in the output table. Access is the default format and has not to be defined as database type. The table should be editable by the user with the Table-Editor.

/Parameter: DBs=%DB%=TABLE{(Country~Code|Client|ClientPath,%CC%|%Client%|%ClPath%,1|2|3,>|>|>, DataSource(proddb.mdb,,EDIT, Database~Information))

Example:
 Reading a table from an Access database. The column names of the table are not identically to the names which shall be display in the output table.

/Parameter: DBs=%DB%=TABLE{(%CC%|%Client%|%ClPath%,1|2|3,>|>|>,DataSource(proddb.mdb,,EDIT, Database~Information,Country~Code|Client|ClientPath))

Example:
 Reading a table from an Excel file. The column header 'Client-Abbreviation' has a line break between the text 'Client-' and 'Abbreviation'. The sign '_' has to be inserted into the field name.

/Parameter: DBs=%DB%=TABLE{(%Fir%|%Anrede%|%E-Mail%,Y|Y|Y,BYG|>|>=,DataSource(SAdress.xls,Excel~8.0, VIEW,Table1,Client-_Abbreviation|Titel|E-Mail))

Example:
 Reading a table of a text file. A table name is not necessary.

/Parameter: DBs=%DB%=TABLE{(%Client%|%Title%|%E-Mail%,Y|Y|Y,BYG|>|>=,DataSource(MAdress.txt,Text,VIEW))


 Database drivers can have a description as follows:

Access
dBASE III
dBASE IV
dBASE 5.0
Excel 3.0
Excel 4.0
Excel 5.0
Excel 8.0
Foxpro 2.0
Foxpro 2.5
Foxpro 2.6
Foxpro 3.0
Lotus WK1
Lotus WK3
Lotus WK4
Paradox 3.x
Paradox 4.x
Paradox 5.x
Text


Lizenzvereinbarung für Info-Zip

Licence agreements of Info-Zip

This is version 1999-Oct-05 of the Info-ZIP copyright and license.
The definitive version of this document should be available at
ftp://ftp.cdrom.com/pub/infozip/license.html indefinitely.

Copyright (c) 1990-1999 Info-ZIP. All rights reserved.

For the purposes of this copyright and license, "Info-ZIP" is defined as
the following set of individuals:

Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase,
Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum,
Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller,
Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel,
Steve Salisbury, Dave Smith, Christian Spieler, Antoine Verheijen,
Paul von Behren, Rich Wales, Mike White

This software is provided "as is," without warranty of any kind, express
or implied. In no event shall Info-ZIP or its contributors be held liable
for any direct, indirect, incidental, special or consequential damages
arising out of the use of or inability to use this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. Redistributions of source code must retain the above copyright notice,
definition, disclaimer, and this list of conditions.

2. Redistributions in binary form must reproduce the above copyright
notice, definition, disclaimer, and this list of conditions in
documentation and/or other materials provided with the distribution.

3. Altered versions--including, but not limited to, ports to new operating
systems, existing ports with new graphical interfaces, and dynamic,
shared, or static library versions--must be plainly marked as such
and must not be misrepresented as being the original source. Such
altered versions also must not be misrepresented as being Info-ZIP
releases--including, but not limited to, labeling of the altered
versions with the names "Info-ZIP" (or any variation thereof, including,
but not limited to, different capitalizations), "Pocket UnZip," "WiZ"
or "MacZip" without the explicit permission of Info-ZIP. Such altered
versions are further prohibited from misrepresentative use of the
Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s).

4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip,"
"WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and
binary releases.


Lizenzvereinbarung für SocketWrench

Licence agreements of SocketWrench

1. GRANT OF LICENSE

In this license agreement ("License"), Catalyst Development Corporation("Catalyst") grants you, the developer, the right to use one copy of the software developers kit entitled "Catalyst SocketWrench" ("Software"). You may distribute it to others, provided that the Software is redistributed in it's original unmodified form, complete with all files, and no fee is charged for such distribution except for reasonable media and shipping charges.

2. DISTRIBUTION

The developer does retain the right to sell or distribute an unlimited number of end-user programs that contain or otherwise access the Software, so long as the primary purpose of the included routines is to augment the programs being sold or distributed. The developer may not distribute any source modules, header files or import libraries that comprise the Software. THE DEVELOPER MAY NOT DISTRIBUTE PROGRAMS THAT UTILIZE CATALYST ROUTINES IF THOSE PROGRAMS ARE PART OF A PROGRAMMING TOOLKIT OR OTHER APPLICATION WHICH WILL BE REDISTRIBUTED OR RESOLD BY THE DEVELOPER'S CUSTOMERS. The developer agrees to include a valid copyright notice on all programs distributed with Catalyst component routines, and agrees to indemnify, hold harmless and defend the copyright holder against any claims or lawsuits, including attorney's fees, that arise from the distribution of the end-user programs. The Software is free of royalty and/or subsequent licensing fees in accordance with the above stated conditions.

3. COPYRIGHT

The Software is owned by Catalyst or its suppliers or licensors and is protected by copyright laws and international treaty provisions. Therefore, you must treat the Software like any other copyrighted material, except that you may copy and redistribute the Software in accordance with this License.

4. OTHER RESTRICTIONS

You may not rent, lease or loan the Software, but you may redistribute the Software and accompanying written materials in accordance with the terms of this Agreement. You may not reverse engineer, decompile or disassemble the Software, except to the extent the foregoing restriction is expressly prohibited by applicable law.

5. NO WARRANTY

The Software is provided "as is", without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Should the Software prove defective, you assume the cost of all necessary servicing, repair or correction. Some states do not allow limitations on implied warranties, so the above limitations may not apply to you.

6. LIMITATION OF LIABILITY

In no event shall Catalyst or its suppliers be liable for any damages whatsoever (including, with limitation, damages for loss of business profits, business interruption, or other pecuniary loss) arising out of the use or inability of this Catalyst product, even if Catalyst has been advised of such damages.

7. GOVERNMENT-RESTRICTED RIGHTS

The Software and accompanying documentation are deemed to be "commercial computer software" and "commercial computer software documentation", respectively, pursuant to DFAR Section 227.7202 and FAR Section 12.212, as applicable. Any use, modification, reproduction release, performance, display or disclosure of the software and accompanying documentation by the U.S. Government shall be governed solely by the terms of this Agreement and shall be prohibited except to the extent expressly permitted by the terms of this Agreement.

8. GOVERNING LAW

This License is governed by the laws of the State of California, without reference to conflict of laws principles. This Agreement is the entire agreement between you and Catalyst and supersedes any other communications or advertising with respect to the Software and documentation. If any provision of this License is held invalid, the remainder of this License shall continue in full force and effect.


 Constants of the function JSBatch.GetLocalInfo

(equal to the constants used by the system function 'GetLocalInfo').

Value | Constant | Name Description
&H1 | LOCALE_ILANGUAGE | Language identifier indicating the language. The maximum number of characters allowed for this string is 5
&H2 | LOCALE_SLANGUAGE | Full localized name of the language
&H1001 | LOCALE_SENGLANGUAGE | Full English name of the language from the International Organization for Standardization (ISO) Standard 639. This is always restricted to characters mappable into the ASCII 127-character subset
&H3 | LOCALE_SABBREVLANGNAME | Abbreviated name of the language, created by taking the 2-letter language abbreviation from the ISO Standard 639 and adding a third letter, as appropriate, to indicate the sublanguage
&H4 | LOCALE_SNATIVELANGNAME | Native name of the language
 | LOCALE_SSORTNAME | The full localized name of the sort for the given locale ID
&H5 | LOCALE_ICOUNTRY | Country code, based on international phone codes, also referred to as IBM country codes. The maximum number of characters allowed for this string is 6
&H6 | LOCALE_SCOUNTRY | Full localized name of the country
&H1002 | LOCALE_SENGCOUNTRY | Full English name of the country. This is always restricted to characters mappable into the ASCII 127-character subset
&H7 | LOCALE_SABBREVCTRYNAME | Abbreviated name of the country from the ISO Standard 3166
&H8 | LOCALE_SNATIVECTRYNAME | Native name of the country
&H9 | LOCALE_IDEFAULTLANGUAGE | Language identifier for the principal language spoken in this locale. This is provided so that partially specified locales can be completed with default values. The maximum number of characters allowed for this string is 5
&HA | LOCALE_IDEFAULTCOUNTRY | Country code for the principal country in this locale. This is provided so that partially specified locales can be completed with default values. The maximum number of characters allowed for this string is 6
 | LOCALE_IDEFAULTANSICODEPAGE | American National Standards Institute (ANSI) code page associated with this locale. The maximum number of characters allowed for this string is 6
 | LOCALE_IDEFAULTOEMCODEPAGE | Original equipment manufacturer (OEM) code page associated with the locale. The maximum number of characters allowed for this string is 6
&HB | LOCALE_IDEFAULTCODEPAGE | Original equipment manufacturer (OEM) code page associated with the country. The maximum number of characters allowed for this string is 6
 | LOCALE_IDEFAULTEBCDICCODEPAGE | Default EBCDIC code page associated with the locale. The maximum number of characters allowed for this string is 6
&HC | LOCALE_SLIST | Character(s) used to separate list items. For example, a comma is used in many locales
&HD | LOCALE_IMEASURE | System of measurement. This value is 0 if the metric system (Systéme International d'Unités, or S.I.) is used and 1 if the U.S. system is used. The maximum number of characters allowed for this string is 2
&HE | LOCALE_SDECIMAL | Character(s) used as the decimal separator
&HF | LOCALE_STHOUSAND | Character(s) used to separate groups of digits to the left of the decimal
&H10 | LOCALE_SGROUPING | Sizes for each group of digits to the left of the decimal. An explicit size is needed for each group; sizes are separated by semicolons. If the last value is zero, the preceding value is repeated. To group thousands, specify 3;0, for example
&H11 | LOCALE_IDIGITS | Number of fractional digits. The maximum number of characters allowed for this string is 3
&H12 | LOCALE_ILZERO | Specifier for leading zeros in decimal fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | No leading zeros
 | 1 | Leading zeros
 | LOCALE_INEGNUMBER | Negative number mode. The mode can be one of these values:
 | Return Value | Meaning
 | 0 | (1.1)
 | 1 | –1.1
 | 2 | – 1.1
 | 3 | 1.1–
 | 4 | 1.1 –
&H13 | LOCALE_SNATIVEDIGITS | Native equivalents to ASCII 0 through 9
 | LOCALE_SENGCURRNAME | The full English name of the currency associated with the locale
 | LOCALE_SNATIVECURRNAME | The native name of the currency associated with the locale
&H14 | LOCALE_SCURRENCY | String used as the local monetary symbol
&H15 | LOCALE_SINTLSYMBOL | Three characters of the international monetary symbol specified in ISO 4217, "Codes for the Representation of Currencies and Funds," followed by the character separating this string from the amount
&H16 | LOCALE_SMONDECIMALSEP | Character(s) used as the monetary decimal separator
&H17 | LOCALE_SMONTHOUSANDSEP | Character(s) used as the monetary separator between groups of digits to the left of the decimal
&H18 | LOCALE_SMONGROUPING | Sizes for each group of monetary digits to the left of the decimal. An explicit size is needed for each group; sizes are separated by semicolons. If the last value is zero, the preceding value is repeated. To group thousands, specify 3;0, for example
&H19 | LOCALE_ICURRDIGITS | Number of fractional digits for the local monetary format. The maximum number of characters allowed for this string is 3
&H1A | LOCALE_IINTLCURRDIGITS | Number of fractional digits for the international monetary format. The maximum number of characters allowed for this string is 3
&H1B | LOCALE_ICURRENCY | Positive currency mode. The maximum number of characters allowed for this string is 2. The mode can be one of the following values:
 | Return Value | Meaning
 | 0 | Prefix, no separation
 | 1 | Suffix, no separation
 | 2 | Prefix, 1-char. separation
 | 3 | Suffix, 1-char. separation
&H1C | LOCALE_INEGCURR | Negative currency mode. The maximum number of characters allowed for this string is 3. The mode can be one of the following values:
 | Return Value | Example
 | 0 | ($1.1)
 | 1 | –$1.1
 | 2 | $–1.1
 | 3 | $1.1–
 | 4 | (1.1$)
 | 5 | –1.1$
 | 6 | 1.1–$
 | 7 | 1.1$–
 | 8 | –1.1 $ (space before $)
 | 9 | –$ 1.1 (space after $)
 | 10 | 1.1 $– (space before $)
 | 11 | $ 1.1– (space after $)
 | 12 | $ –1.1 (space after $)
 | 13 | 1.1– $ (space before $)
 | 14 | ($ 1.1) (space after $)
 | 15 | (1.1 $) (space before $)
&H1D | LOCALE_SDATE | Character(s) for the date separator
&H1E | LOCALE_STIME | Character(s) for the time separator
&H1003 | LOCALE_STIMEFORMAT | Time formatting strings for this locale. The string can consist of a combination of the hour, minute, and second format pictures defined in the table in National Language Support Constants
 | LOCALE_SYEARMONTH | The Year/Month formatting string for the locale. This string shows the proper format for a date string that contains only the year and the month
&H1F | LOCALE_SSHORTDATE | Short date formatting string for this locale. The string can consist of a combination of day, month, and year format pictures defined in table in National Language Support Constants
&H20 | LOCALE_SLONGDATE | Long date formatting string for this locale. The string can consist of a combination of day, month, and year format pictures defined in the table in National Language Support Constants and any string of characters enclosed in single quotes. Characters in single quotes remain as given
&H21 | LOCALE_IDATE | Short date format-ordering specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | Month-Day-Year
 | 1 | Day-Month-Year
 | 2 | Year-Month-Day
&H22 | LOCALE_ILDATE | Long date format-ordering specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | Month-Day-Year
 | 1 | Day-Month-Year
 | 2 | Year-Month-Day
&H23 | LOCALE_ITIME | Time format specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | AM / PM 12-hour format
 | 1 | 24-hour format
&H24 | LOCALE_ICENTURY | Specifier for full 4-digit century. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | Abbreviated 2-digit century
 | 1 | Full 4-digit century
&H25 | LOCALE_ITLZERO | Specifier for leading zeros in time fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | No leading zeros for hours
 | 1 | Leading zeros for hours
&H26 | LOCALE_IDAYLZERO | Specifier for leading zeros in day fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | No leading zeros for days
 | 1 | Leading zeros for days
&H27 | LOCALE_IMONLZERO | Specifier for leading zeros in month fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:
 | Return Value | Meaning
 | 0 | No leading zeros for months
 | 1 | Leading zeros for months
&H28 | LOCALE_S1159 | String for the AM designator
&H29 | LOCALE_S2359 | String for the PM designator
 | LOCALE_ICALENDARTYPE | Current calendar type. This type can be one of these values:
 | Return Value | Meaning
 | 1 | Gregorian (as in United States)
 | 2 | Gregorian (English strings always)
 | 3 | Era: Year of the Emperor (Japan)
 | 4 | Era: Year of Taiwan Region
 | 5 | Tangun Era (Korea)
LOCALE_IOPTIONALCALENDAR | Additional calendar types. This can be a zero-separated list of one or more of these calendars type values:
Return Value | Meaning
0 | No additional types valid
1 | Gregorian (as in United States)
2 | Gregorian (English strings always)
3 | Era: Year of the Emperor (Japan)
4 | Era: Year of Taiwan Region
5 | Tangun Era (Korea)
LOCALE_IFIRSTDAYOFWEEK | Specifier for the first day in a week. The specifier can be one of these values:
Return Value | Meaning
0 | LOCALE_SDAYNAME1
1 | LOCALE_SDAYNAME2
2 | LOCALE_SDAYNAME3
3 | LOCALE_SDAYNAME4
4 | LOCALE_SDAYNAME5
5 | LOCALE_SDAYNAME6
6 | LOCALE_SDAYNAME7
LOCALE_IFIRSTWEEKOFYEAR | Specifier for the first week of the year. The specifier can be one of these values:
Return Value | Meaning
0 | Week containing 1/1 is the first week of that year
1 | First full week following 1/1 is the first week of that year
2 | First week containing at least 4 days is the first week of that year
&H2A | LOCALE_SDAYNAME1 | Native long name for Monday
&H2B | LOCALE_SDAYNAME2 | Native long name for Tuesday
&H2C | LOCALE_SDAYNAME3 | Native long name for Wednesday
&H2D | LOCALE_SDAYNAME4 | Native long name for Thursday
&H2E | LOCALE_SDAYNAME5 | Native long name for Friday
&H2F | LOCALE_SDAYNAME6 | long name for Saturday
&H30 | LOCALE_SDAYNAME7 | Native long name for Sunday
&H31 | LOCALE_SABBREVDAYNAME1 | Native abbreviated name for Monday
&H32 | LOCALE_SABBREVDAYNAME2 | Native abbreviated name for Tuesday
&H33 | LOCALE_SABBREVDAYNAME3 | Native abbreviated name for Wednesday
&H34 | LOCALE_SABBREVDAYNAME4 | Native abbreviated name for Thursday
&H35 | LOCALE_SABBREVDAYNAME5 | Native abbreviated name for Friday
&H36 | LOCALE_SABBREVDAYNAME6 | Native abbreviated name for Saturday
&H37 | LOCALE_SABBREVDAYNAME7 | Native abbreviated name for Sunday
&H38 | LOCALE_SMONTHNAME1 | Native long name for January
&H39 | LOCALE_SMONTHNAME2 | Native long name for February
&H3A | LOCALE_SMONTHNAME3 | Native long name for March
&H3B | LOCALE_SMONTHNAME4 | Native long name for April
&H3C | LOCALE_SMONTHNAME5 | Native long name for May
&H3D | LOCALE_SMONTHNAME6 | Native long name for June
&H3E | LOCALE_SMONTHNAME7 | Native long name for July
&H3F | LOCALE_SMONTHNAME8 | Native long name for August
&H40 | LOCALE_SMONTHNAME9 | Native long name for September
&H41 | LOCALE_SMONTHNAME10 | Native long name for October
&H42 | LOCALE_SMONTHNAME11 | Native long name for November
&H43 | LOCALE_SMONTHNAME12 | Native long name for December
 | LOCALE_SMONTHNAME13 | Native name for 13th month, if exists
&H44 | LOCALE_SABBREVMONTHNAME1 | Native abbreviated name for January
&H45 | LOCALE_SABBREVMONTHNAME2 | Native abbreviated name for February
&H46 | LOCALE_SABBREVMONTHNAME3 | Native abbreviated name for March
&H47 | LOCALE_SABBREVMONTHNAME4 | Native abbreviated name for April
&H48 | LOCALE_SABBREVMONTHNAME5 | Native abbreviated name for May
&H49 | LOCALE_SABBREVMONTHNAME6 | Native abbreviated name for June
&H4A | LOCALE_SABBREVMONTHNAME7 | Native abbreviated name for July
&H4B | LOCALE_SABBREVMONTHNAME8 | Native abbreviated name for August
&H4C | LOCALE_SABBREVMONTHNAME9 | Native abbreviated name for September
&H4D | LOCALE_SABBREVMONTHNAME10 | Native abbreviated name for October
&H4E | LOCALE_SABBREVMONTHNAME11 | Native abbreviated name for November
&H4F | LOCALE_SABBREVMONTHNAME12 | Native abbreviated name for December
&H100F | LOCALE_SABBREVMONTHNAME13 | Native abbreviated name for 13th month, if exists
&H50 | LOCALE_SPOSITIVESIGN | String value for the positive sign
&H51 | LOCALE_SNEGATIVESIGN | String value for the negative sign
&H52 | LOCALE_IPOSSIGNPOSN | Formatting index for positive values. The maximum number of characters allowed for this string is 2. The index can be one of the following values:
 | Return Value | Meaning
 | 0 | Parentheses surround the amount and the monetary symbol
 | 1 | The sign string precedes the amount and the monetary symbol
 | 2 | The sign string succeeds the amount and the monetary symbol
 | 3 | The sign string immediately precedes the monetary symbol
 | 4 | The sign string immediately succeeds the monetary symbol
&H53 | LOCALE_INEGSIGNPOSN | Formatting index for negative values. This index uses the same values as LOCALE_IPOSSIGNPOSN. The maximum number of characters allowed for this string is 2
&H54 | LOCALE_IPOSSYMPRECEDES | Position of monetary symbol in a positive monetary value. This value is 1 if the monetary symbol precedes the positive amount, 0 if it follows it. The maximum number of characters allowed for this string is 2
&H55 | LOCALE_IPOSSEPBYSPACE | Separation of monetary symbol in a positive monetary value. This value is 1 if the monetary symbol is separated by a space from a positive amount, 0 if it is not. The maximum number of characters allowed for this string is 2
 | LOCALE_INEGSYMPRECEDES | Position of monetary symbol in a negative monetary value. This value is 1 if the monetary symbol precedes the negative amount, 0 if it follows it. The maximum number of characters allowed for this string is 2
&H57 | LOCALE_INEGSEPBYSPACE | Separation of monetary symbol in a negative monetary value. This value is 1 if the monetary symbol is separated by a space from the negative amount, 0 if it is not. The maximum number of characters allowed for this string is 2
 | LOCALE_IPAPERSIZE | Default paper size associated with the locale
&H80000000 LOCALE_NOUSEROVERRIDE This constant may be OR'ed with any other constant type in a call to the function. This always causes the function to bypass any user overrides, and return the system default value for the other constant type specified in the function call, based on the default user local


Record-Editor

Table editor - View record
Back

With the record view a single record of a table can be viewed and edited.

You can switch to the record view with the button [image] in the toolbar. The currently highlighted record of the table will be shown. You can switch back to the table view with the button [image].

The record window.

In the left column the field names are listed. In the right column the appropriate field contents.

Fields of data format 'Memo' are displayed with height of 4 lines. If a field contains a file name you can open an editor by the context menu of the field.

If the window is too small a scrollbar at the right appears where you can scroll to the fields not yet visible.

With the scrollbar at the lower border you can scroll to the previous or next record of the table. If you switch to the table view the current record will highlighted there. The button [image] can be used to add a new record.

Die Table editor menus