NED[1]

136
Nokia Siemens Networks WCDMA RAN, Rel. RU20, Operating Documentation, Issue 07 Executing MML Commands DN02143068 Issue 09 Approval Date 2011-02-18 Confidential

Transcript of NED[1]

Page 1: NED[1]

Nokia Siemens Networks WCDMA RAN, Rel. RU20, Operating Documentation, Issue 07

Executing MML Commands

DN02143068

Issue 09Approval Date 2011-02-18

Confidential

Page 2: NED[1]

2 DN02143068Issue 09

Executing MML Commands

Id:0900d80580843680Confidential

The information in this document is subject to change without notice and describes only the product defined in the introduction of this documentation. This documentation is intended for the use of Nokia Siemens Networks customers only for the purposes of the agreement under which the document is submitted, and no part of it may be used, reproduced, modified or transmitted in any form or means without the prior written permission of Nokia Siemens Networks. The documentation has been prepared to be used by professional and properly trained personnel, and the customer assumes full responsibility when using it. Nokia Siemens Networks welcomes customer comments as part of the process of continuous development and improvement of the documentation.

The information or statements given in this documentation concerning the suitability, capacity, or performance of the mentioned hardware or software products are given "as is" and all liability arising in connection with such hardware or software products shall be defined conclusively and finally in a separate agreement between Nokia Siemens Networks and the customer. However, Nokia Siemens Networks has made all reasonable efforts to ensure that the instructions contained in the document are adequate and free of material errors and omissions. Nokia Siemens Networks will, if deemed necessary by Nokia Siemens Networks, explain issues which may not be covered by the document.

Nokia Siemens Networks will correct errors in this documentation as soon as possible. IN NO EVENT WILL Nokia Siemens Networks BE LIABLE FOR ERRORS IN THIS DOCUMENTA-TION OR FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO SPECIAL, DIRECT, INDI-RECT, INCIDENTAL OR CONSEQUENTIAL OR ANY LOSSES, SUCH AS BUT NOT LIMITED TO LOSS OF PROFIT, REVENUE, BUSINESS INTERRUPTION, BUSINESS OPPORTUNITY OR DATA,THAT MAY ARISE FROM THE USE OF THIS DOCUMENT OR THE INFORMATION IN IT.

This documentation and the product it describes are considered protected by copyrights and other intellectual property rights according to the applicable laws.

The wave logo is a trademark of Nokia Siemens Networks Oy. Nokia is a registered trademark of Nokia Corporation. Siemens is a registered trademark of Siemens AG.

Other product names mentioned in this document may be trademarks of their respective owners, and they are mentioned for identification purposes only.

Copyright © Nokia Siemens Networks 2011. All rights reserved

f Important Notice on Product SafetyThis product may present safety risks due to laser, electricity, heat, and other sources of danger.

Only trained and qualified personnel may install, operate, maintain or otherwise handle this product and only after having carefully read the safety information applicable to this product.

The safety information is provided in the Safety Information section in the “Legal, Safety and Environmental Information” part of this document or documentation set.

The same text in German:

f Wichtiger Hinweis zur Produktsicherheit Von diesem Produkt können Gefahren durch Laser, Elektrizität, Hitzeentwicklung oder andere Gefahrenquellen ausgehen.

Installation, Betrieb, Wartung und sonstige Handhabung des Produktes darf nur durch geschultes und qualifiziertes Personal unter Beachtung der anwendbaren Sicherheits-anforderungen erfolgen.

Die Sicherheitsanforderungen finden Sie unter „Sicherheitshinweise“ im Teil „Legal, Safety and Environmental Information“ dieses Dokuments oder dieses Dokumentations-satzes.

Page 3: NED[1]

DN02143068 3

Executing MML Commands

Id:0900d80580843680Confidential

Table of contentsThis document has 136 pages.

Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1 Overview of MML commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.1 MML command execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2 Online help during MML session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 System's output during an MML session . . . . . . . . . . . . . . . . . . . . . . . . 131.4 Tools for executing MML commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Structure of MML commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.6 Special characters in MML commands . . . . . . . . . . . . . . . . . . . . . . . . . 201.7 Line editor of MML commands: searching and editing of MML . . . . . . . 22

2 Using MML commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.1 Controlling of the output of characters displayed on the MML terminal . 242.2 Printing out of characters displayed on the MML terminal . . . . . . . . . . . 252.3 Screen editor of MML commands: reading and editing characters on

screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.4 Editing text files of MML commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.5 Opening and closing MML sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.6 Entering MML commands step by step . . . . . . . . . . . . . . . . . . . . . . . . . 312.7 Entering MML commands without using the online help . . . . . . . . . . . . 362.8 Repeating or cancelling MML commands. . . . . . . . . . . . . . . . . . . . . . . 372.9 Moving from one command level to another . . . . . . . . . . . . . . . . . . . . . 382.10 Entering default values to parameters . . . . . . . . . . . . . . . . . . . . . . . . . 402.11 Changing the language of MML command menus . . . . . . . . . . . . . . . . 422.12 Setting an MML program in the test state . . . . . . . . . . . . . . . . . . . . . . . 432.13 Setting an MML session time-out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3 MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.1 MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2 MML macro names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.3 MML macro structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.4 Structural parts of the command language in MML macros . . . . . . . . . 503.5 Menu texts in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.6 Header in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.7 Declaration and execution parts in MML macros. . . . . . . . . . . . . . . . . . 553.8 Command language expressions and statements in MML macros . . . . 563.9 Directives in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.10 Stop statements in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.11 Input and output statement in MML macros. . . . . . . . . . . . . . . . . . . . . . 613.12 Placement statement in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . 623.13 If-statement in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.14 While-statement in MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.15 MML commands in MML macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.16 Library routines in MML macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.17 Exit statements in MML macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.18 Execution of MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Page 4: NED[1]

4 DN02143068

Executing MML Commands

Id:0900d80580843680Confidential

3.19 Short start-up method for MML macros . . . . . . . . . . . . . . . . . . . . . . . . . 733.20 Long start-up method for MML macros. . . . . . . . . . . . . . . . . . . . . . . . . . 743.21 Testing MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.22 Installing MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.23 Listing MML macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.24 Executing an MML macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.25 Displaying the contents of an MML macro. . . . . . . . . . . . . . . . . . . . . . . 82

4 MML command logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.1 MML command log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.2 Modifying storing time of MML command log . . . . . . . . . . . . . . . . . . . . . 874.3 Modifying MML command log disk space consumption. . . . . . . . . . . . . 884.4 Changing MML command log removal time . . . . . . . . . . . . . . . . . . . . . . 894.5 Decreasing disk updating load of MML command log . . . . . . . . . . . . . . 904.6 Displaying MML command log information . . . . . . . . . . . . . . . . . . . . . . 914.7 Printing MML command log information to disk file . . . . . . . . . . . . . . . . 924.8 Closing the MML command log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.9 Monitoring of the starting and ending of MML command execution . . . . 954.10 Transferring MML command log information to the postprocessing system

using FTP or SFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.11 Printing MML command log information via a logical file . . . . . . . . . . . . 97

5 MML disk command files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.1 Disk command files in MML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.2 Listing MML disk command files in the system. . . . . . . . . . . . . . . . . . . 1005.3 Displaying the contents of a disk command file in MML . . . . . . . . . . . 1015.4 Creating a disk command file using the system's disk file editor in MML .

1025.5 Executing disk command files in MML. . . . . . . . . . . . . . . . . . . . . . . . . 1035.6 Interrogating output devices of execution printouts in MML. . . . . . . . . 1045.7 Giving parameter values to MML commands in a disk command file . 1055.8 Stopping the execution of a disk command file in MML. . . . . . . . . . . . 1065.9 Saving execution printouts of a disk command file in a disk file in MML . .

1075.10 Preventing the saving of execution printouts of a disk command file in a

disk file in MML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6 MML command calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.1 MML command calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.2 Displaying the contents of the command calendar in MML . . . . . . . . . 1116.3 Directing the execution printouts of MML command calendar tasks. . . 1136.4 Adding a task to the command calendar in MML. . . . . . . . . . . . . . . . . 1156.5 Testing calendar task execution in MML . . . . . . . . . . . . . . . . . . . . . . . 1176.6 Modifying a calendar task in MML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186.7 Deleting a calendar task in MML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.8 Blocking or unblocking a calendar task in MML. . . . . . . . . . . . . . . . . . 1216.9 Stopping an MML command file execution . . . . . . . . . . . . . . . . . . . . . 123

7 MML command troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.1 Execution of a calendar task fails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Page 5: NED[1]

DN02143068 5

Executing MML Commands

Id:0900d80580843680Confidential

7.2 Termination of an MML calendar task that is a command file fails . . . 1267.3 Opening an MML session fails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Related information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Page 6: NED[1]

6 DN02143068

Executing MML Commands

Id:0900d80580843680Confidential

List of figuresFigure 1 Example of a command menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Figure 2 Key combination help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Figure 3 The command class of IGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figure 4 The command group of IGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figure 5 An example of arguments grouped by an ampersand . . . . . . . . . . . . . . 20Figure 6 An example of a combination parameter . . . . . . . . . . . . . . . . . . . . . . . . 20Figure 7 How to move from one command level to another . . . . . . . . . . . . . . . . . 38Figure 8 MML macro names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figure 9 An example of the structure of an MML macro header. . . . . . . . . . . . . . 54Figure 10 Displaying the output devices of execution printouts . . . . . . . . . . . . . . 113

Page 7: NED[1]

DN02143068 7

Executing MML Commands

Id:0900d80580843680Confidential

List of tablesTable 1 Tools for executing MML commands . . . . . . . . . . . . . . . . . . . . . . . . . . 15Table 2 Punctuation marks in MML commands . . . . . . . . . . . . . . . . . . . . . . . . . 18Table 3 Examples of the grouping of single parameter arguments . . . . . . . . . . 20Table 4 Grouping compound parameter arguments . . . . . . . . . . . . . . . . . . . . . 21Table 5 PRFILE parameters affecting the MML command log . . . . . . . . . . . . . 84Table 6 Information given in each command log record . . . . . . . . . . . . . . . . . . 85

Page 8: NED[1]

8 DN02143068

Executing MML Commands

Id:0900d80580843680Confidential

Page 9: NED[1]

DN02143068 9

Executing MML Commands Summary of changes

Id:0900d80580843e3fConfidential

Summary of changesChanges between document issues are cumulative. Therefore, the latest document issue contains all changes made to previous issues.

Changes between Issues 08A (2010-10-22, WCDMA RAN RU30) and 09 (2011-02-18, WCDMA RAN RU30)

Displaying the contents of the command calendar in MML (6.2)

• The execution printout is updated.

Blocking or unblocking a calendar task in MML (6.8)

• The execution printout is updated.

Changes between issues 08 and 08ADisk command files in MML

Information on how to print commands to output device has been added.

Executing disk command files in MML

Information on how to print commands to output device has been added.

Interrogating output devices of execution printouts in MML

Editorial changes have been made, no changes to the technical content.

Directing the execution printouts of MML command

Information on how to print commands to output device has been added.

Adding a task to the command calendar in MML

The example “Creating a new command file and printing commands to output device” has been updated.

Modifying a calendar task in MML

The example “Changing the execution parameters of a calendar task” has been updated.

Changes between issues 7-0 and 8-0Editorial changes have been made, no changes to the technical content.

Page 10: NED[1]

10 DN02143068

Executing MML Commands

Id:0900d805806701b6Confidential

Overview of MML commands

1 Overview of MML commands

1.1 MML command executionFirst you must enter a user ID and a password. At the command entering stage, start the desired functions by entering the required commands by means of the menu selec-tion technique.

An MML session is ended by giving the command Z; on the main level.

The commands are given step by step by first selecting the command class (charging administration, traffic administration, routing administration, and so on), then a command group within the class, and finally the individual command (for example, display charging data). At each step you will have a command list (a menu) on the screen of your terminal showing the alternatives to select from at that particular stage. The menus can also be bypassed for rapid selection of the desired operation.

Page 11: NED[1]

DN02143068 11

Executing MML Commands

Id:0900d805806701a1Confidential

1.2 Online help during MML sessionThe online help provides you with command menus and a parameter guide. It helps you enter MML commands and guides you when you open or close an MML session. During the various phases of the MML session, guidance messages are displayed.

Command menusCommand menus include menus of command classes, command groups and com-mands. Below is an example of a command class menu:

MAIN LEVEL ? ..... DISPLAY MENU A ..... ALARM SYSTEM ADMINISTRATION C ..... ROUTING STATE ADMINISTRATION D ..... SYSTEM SUPPORT AND COMMUNICATION E ..... CELLULAR RADIO NETWORK ADMINISTRATION I ..... I/O SYSTEM ADMINISTRATION L ..... BROADBAND ADMINISTRATION N ..... SS7 NETWORK ADMINISTRATION O ..... SUPPLEMENTARY SS7 NETWORK ADMINISTRATION Q ..... O&M NETWORK ADMINISTRATIONR ..... ROUTING ADMINISTRATIONT ..... TRAFFIC ADMINISTRATIONU ..... UNIT ADMINISTRATIONW ..... SYSTEM CONFIGURATION ADMINISTRATIONY ..... SYSTEM SUPERVISIONZ; .... END DIALOGUE (:)

Figure 1 Example of a command menu

To display the command menu in the command level at which you are, enter a question mark (?).

Parameter guideThe parameter guide gives information on the entering of parameters. For example, it indicates the parameters that can or must be entered. Below is an example of the parameter guide of the ICL command:

/* COMMAND CALENDAR LISTING PARAMETERSPARAMETER NAMES: ID ....... TASK IDENTIFIERQUE ...... QUEUE NAME CFILE .... COMMAND FILE NAME ALARM .... EXECUTION ALARM NUMBER DATE ..... DATE OF EXECUTION HOURS .... TIME OF EXECUTION */

To display the parameter guide, press ENTER after you have typed the command letters or one or more parameters.

Page 12: NED[1]

12 DN02143068

Executing MML Commands

Id:0900d805806701a1Confidential

Note that when you use network elements that have different configurations, you may have to enter different values to the same parameter. This is because part of the infor-mation in the parameter guide normally depends on the configuration of the network element. This information includes, for example, the value range of the parameter and the relation between parameters.

Key combinationsYou can display a list of keys that can be used, for example, to edit MML commands and to control their output on the MML terminal by pressing CTRL-W.

LINE EDITOR COMMANDS

CTRL A = INSERT/REPLACECTRL B = EDIT PREV CMNDCTRL D = CURS LEFTCTRL E = CURS END OF LINECTRL F = CURS RIGHTCTRL G = CURS DOWNCTRL H = CURS HOMECTRL I = CURS UPCTRL K = CHANGE LANGUAGECTRL L = DEL CHARCTRL N = CURS BEGINNING OF PARAM BLOCKCTRL O = HARDCOPYCTRL P = PAGE MODE ON/OFFCTRL Q = CONT OUTPUTTINGCTRL R = CURS BEGINNING OF PARAMCTRL S = PAUSE OUTPUTTINGCTRL T = OUTPUT RINGBUFFERCTRL U = EMPTY EDIT BUFFCTRL V = DEL PREV CHARCTRL X = JUMP TO CMD GROUP LEVELCTRL Y = INTERRUPTCTRL Z = DEL CHARS IN EDIT BUFFBREAK = END OF DIALOGCTRL 4 = MML TEST MODE ON/OFFCTRL 7 = DX ERROR DESCRIPTION? AND <UP ARROW> = LIST OF PREVIOUS COMMANDS<NUMBER> and <UP ARROW> = EDIT CERTAIN PREVIOUS COMMAND<STRING> and <UP ARROW> = EDIT PREVIOUS COMMANDS CONTAINING GIVEN STRING

Figure 2 Key combination help

Page 13: NED[1]

DN02143068 13

Executing MML Commands

Id:0900d805806701a5Confidential

1.3 System's output during an MML sessionDuring an MML session, the system can produce

• execution printouts and • messages.

The messages are of the following types:

• execution error messages • semantic error messages • syntax error messages • general error messages • guidance messages • notice messages

Execution printoutsAn execution printout is usually displayed after you have entered an MML command. The printout indicates that a command is being executed. However, some commands do not produce execution printouts. The only message that is displayed after such a command has been entered is the message indicating the result of command execution: if the command succeeded, the message COMMAND EXECUTED is displayed and if the command failed, an error message is displayed.

Below is an example of the execution printout of the IGO command. The printout of the command log lists the contents of the user's own sessions during the current day.

WQO;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:28:06 *//* 4 WQO; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:28:13 */IID::MMLLOG;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:28:57 *//* 4 IID::MMLLOG; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:28:58 */IGO:;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:29:04 *//* 4 IGO:; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:29:05 */USC:OMU:TE,:;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:32:47 *//* 4 USC:OMU:TE,:; *//* 4c COMMAND ABORTED *//*** ERROR: 795 ***//*** TRANSITION NOT CONTROLLED ***//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:32:49 */

Error messagesAn execution error message is displayed when an error occurs during the execution of a command. It indicates that the command cannot be executed. These messages are

Page 14: NED[1]

14 DN02143068

Executing MML Commands

Id:0900d805806701a5Confidential

listed in the command description of the command in question. Below is an example of an execution error message:

/*** ADDITION NOT POSSIBLE ***//*** OBJECT LIST IS USED BY ACTIVE MEASUREMENT ***/

A semantic error message is displayed when parameter values have been given incor-rectly, for example, in the wrong order. Some messages are command-specific and some can apply to several commands. Information on messages of the former kind is given in the command description of the command in question. Messages of the latter kind are listed in General Notice Messages of MML Session. Below is an example of a semantic error message:

/*** SEMANTIC ERROR ***//*** NONEXISTENT UNIT TYPE ***/

A syntax error message appears when the structure of a command does not follow the syntactic rules of the command. Syntax error messages are listed in General Notice Messages of MML Session. Below is an example of a syntax error message:

/*** SYNTAX ERROR ***//*** MISSING ":" OR ";" ***/

General error messages are listed in General Error Messages of System. Below is an example of a general error message:

56: NO SUCH FILE

Displaying the explanation of the latest general error messageTo display the explanation of the latest general error message and the possible instruc-tions on how to proceed, press CTRL-7. To find out the reason for an error, you can also use the MRSTRE service terminal extension.

Guidance messagesGuidance messages give information on the various phases of an MML session. They describe, for example, the meaning of parameters and the syntactic structure of a command. General guidance messages are listed in General Notice Messages of MML Session.

Notice messagesNotice messages give information on the various phases of an MML session. Notice messages are listed in General Notice Messages of MML Session. Below is an example of a notice message:

COMMAND EXECUTED

Page 15: NED[1]

DN02143068 15

Executing MML Commands

Id:0900d805806701a8Confidential

1.4 Tools for executing MML commandsIn addition to individual MML commands, other tools are available for the operation of the system: disk command files and MML macros can be used to execute MML command sequences. The command calendar can be used to execute MML commands and disk command files at a predefined moment.

MML macros can be used to execute complicated command sequences. They are useful when executing command sequences that need to be executed repeatedly. MML macros can be created by the users.

Disk command files can be used to carry out routine tasks that do not need to be super-vised. They are useful, for example, when carrying out tasks that need to be executed repeatedly. Disk command files can be created by the users. If you want to execute the same commands or some of the commands that you have executed during a particular MML session, you can use your MML command log as a basis of a disk command file.

The command calendar enables the execution of MML commands and disk command files at a predefined moment: either at a certain time or when a certain alarm occurs. The tasks in the command calendar can be executed once or repeatedly at certain inter-vals. The command calendar can be used to carry out routine tasks that do not need to be supervised.

TOOL WHAT THE TOOL IS USED FOR

Disk command file Executing MML command sequences

MML macro Executing complicated MML command sequences

Command calendar Executing an MML command or a disk command file once or repeatedly at a predetermined moment (time or alarm)

Command log Storing information of commands you have executed

Table 1 Tools for executing MML commands

Page 16: NED[1]

16 DN02143068

Executing MML Commands

Id:0900d805806701acConfidential

1.5 Structure of MML commandsMML commands consist of a command part and, in general, a parameter part. The command part consists of three command letters that define the function you want the system to perform. The parameter part consists of parameters that contain information necessary for the execution of a command. See the following example of the ICL command:

ZICL:DATE=2000-01-01,HOURS=1&&3;

In this example, “ICL” comprises the command part and “DATE=2000–01–01,HOURS=1&&3;” the parameter part.

MML commands are subject to certain punctuation rules. Parameters are separated from one another and from the command part by punctuation marks and the command is completed by a semi-colon (;).

Each MML command has a fixed structure, which is defined by syntactic rules. The syntax of a command determines, for example, the parameters that must be given specific values and the order of the various elements in the command. Syntactic rules are presented in the command-specific instructions, and the online help offers guidance when you enter the command.

Command part of MML commandsThe command part usually consists of three letters. For example, the command part of a command that displays one or several MML command logs, consists of the letters IGO.

The first letter of a command identifies the command class to which the command belongs. For example, the IGO command belongs to the command class I, which com-prises all the command groups related to the I/O system administration.

Figure 3 The command class of IGO

The first two letters of a command identify the command group to which the command belongs. For example, the IGO command belongs to the IG command group, which comprises all the commands for handling an MML command log.

Figure 4 The command group of IGO

The last letter is the command letter. The three letters thus form a command.

g Numbers from zero (0) to nine (9) can also be used at the command group level. (For example, commands like A1C or B2D are possible.

You can enter the command letters by making use of menus of command classes, command groups and commands or without using the system's help.

IGO

command class

IGO

command group

Page 17: NED[1]

DN02143068 17

Executing MML Commands

Id:0900d805806701acConfidential

Punctuation marks in MML commandsCertain elements of an MML command must be separated from one another by punctu-ation marks (separators) and the command must be completed by a semi-colon. The fol-lowing punctuation marks can be used:

SPACE The space has no syntactic significance. It is often used in the examples to clarify the structure, but it can be omitted when giving a command.

COMMA The comma is used

• to separate parameters from one another when typing them in • to give the default value to position-defined parameters. Writing

commas one after another corresponds to giving the default value to the parameter between the commas. If the number of commas given exceeds the number of parameters, the syntax analyzer gives an error message.

• to give the default value to name-defined parameters. Typing a comma after an 'equals' sign (=) gives the named parameter its default value.

The comma is not needed if

• you press ENTER after typing the parameter. In this case, the syntax analyzer adds the comma itself.

COLON The colon is used

• after a command code, before typing the parameters. • as a delimiter of parameter blocks.

The colon is not needed if

• a parameter block and the command are ended simultaneously with a semicolon.

• you have typed the last parameter of a parameter block containing position-defined parameters and pressed ENTER. In this case, the syntax analyser knows that the parameter block ends, and adds the colon.

The colon can be given if

• in a parameter block, the rest of the parameters have the default value. In this case, the syntax analyser moves to the next parameter block, accepting the colon into the character string.

SEMI-COLON The semi-colon is used to end a command. The semi-colon can be given if

• all the command parameters not yet given have the default value. • the command has no parameters.

The semi-colon must not be given

• if, for some reason, you want to stop the entering of the command in the phase where the parameters have been checked. This could be the case, for example, in parameter entering exercises, test sit-uations, and so on.

Unlike with the comma or the colon, the syntax analyser itself never adds the semicolon to a command.

Page 18: NED[1]

18 DN02143068

Executing MML Commands

Id:0900d805806701acConfidential

QUESTION MARK The question mark displays the guidance referring to the current command entering phase. The guidance can be a menu or some parameter guidance.

Note that separators do not always have to be entered. Instead, after you have typed in a parameter, you can press ENTER and, in most cases, the system adds the correct separator. Also note that if a parameter block contains name-defined parameters, you may have to enter a colon to move to the following parameter block. The system never adds the semi-colon (;).

Parameter part of MML commandsThe parameter part consists of parameters, which contain pieces of information neces-sary for the execution of an MML command. However, some commands do not contain parameters. The parameter part is separated from the command part by a colon (:). For example, the parameter part of the ICL command is as follows (see above for the entire command including the command part ICL:):

DATE=2000-01-01,HOURS=1&&3;

In this command, the parameters identify the command calendar tasks that the command lists: they indicate that the date of the calendar execution is the first of January, 2000 between 1:00 and 3:00. The execution date is indicated by the date parameter, which is DATE=2000–01–01. The execution time is indicated by the hours parameter, which is HOURS=1&&3.

You can enter parameters by making use of the parameter guide or without using the system's help.

Parameter blocks

The parameter part consists of one or more parameter blocks. Parameter blocks contain either one parameter or parameters that are closely associated with one another. Parameter blocks are separated from one another by a colon (:). For example, in the ICL command presented above, “DATE=2000–01–01,HOURS=1&&3” comprises one parameter block. Parameter blocks must be entered in the specific order deter-mined by the syntax of the command. The parameter guide helps you enter the blocks in the correct order.

PUNCTUATION MARK FUNCTION IN THE COMMAND

Space No syntactic significance

Comma (,) Separates parameters from one another

Gives the default value to position-defined and name-defined parameters

Colon (:) Separates the command part from the parameter part

Separates parameter blocks from one another

Semi-colon (;) Completes and executes the command

Question mark (?) Displays guidance when entering a command (guidance can be either a menu or some parameter guidance)

Table 2 Punctuation marks in MML commands

Page 19: NED[1]

DN02143068 19

Executing MML Commands

Id:0900d805806701acConfidential

A parameter block can contain either position-defined or name-defined parameters. Position-defined parameters must be entered in a predetermined order within a param-eter block.

Name-defined and position-defined parameters

Parameters can be either position-defined or name-defined. A position-defined param-eter consists of a parameter value. For example:

ZIDL:WDU,1,XYZ:START=2,STOP=20:;

In the IDL command, 1 is a position-defined parameter as it consists only of the value to be entered.

g Position-defined parameters must be given in a predetermined order within a parameter block. The order is determined by the syntax of each command. The parameter guide helps you to enter the parameters in the correct order.

A name-defined parameter consists of a parameter name which is always followed by a parameter value. The parameter value is separated from the parameter name by an equal sign (=). In the IDL command above, start is a name-defined parameter as it is followed by the value two presented as =2, that is, START=2. Name-defined parameters can be given in an arbitrary order within a parameter block.

Page 20: NED[1]

20 DN02143068

Executing MML Commands

Id:0900d805806701afConfidential

1.6 Special characters in MML commandsCharacter for grouping parameter arguments: ampersand (&)This section deals with the ampersand (&) and character combinations &-, && and &&-. They are used for group parameter arguments, which contain information specifying the parameter value. A parameter can contain either one or several parameter argu-ments. If several arguments of a parameter need to be entered, the arguments must be grouped using the above mentioned characters. Below is an example of a parameter and its arguments 1 and 3 grouped by an ampersand (&):

Figure 5 An example of arguments grouped by an ampersand

For example, in the following command, this value indicates that the ICL command lists the command calendar tasks to be executed on 2000–01–01 at 1:00 and 3:00:

ZICL:DATE=2000-01-01,HOURS=1&3;

The ampersand (&) can be used to group all types of parameter arguments. However, the use of character combinations &&, &- and &&- is determined by the type of the parameter. There are two types of parameters: single parameters and combination parameters. The arguments of single parameters consist of one information unit (for example, 3 in the figure above).

The arguments of combination parameters consist of several information units, which are separated from one another by a hyphen (–). Combination parameters are of the form 1–2–3, in which 1–2–3 is a parameter argument and 1, 2 and 3 are information units. See the following example of a combination parameter, in this case date informa-tion:

Figure 6 An example of a combination parameter

Usage of the ampersand to group single parameter arguments

parameter value

1&3

argument argument

parameter value

2000-11-01&&-30

argument argument

Grouped arguments Arguments indicated by grouping

1&2 1 and 2

3&&5 3, 4 and 5

Table 3 Examples of the grouping of single parameter arguments

Page 21: NED[1]

DN02143068 21

Executing MML Commands

Id:0900d805806701afConfidential

Different characters can be used to group arguments within the same parameter value. For example, 1&3&&6 means arguments 1, 3, 4, 5 and 6.

Usage of the ampersand to group combination parameter argumentsWhen more than one argument of a combination parameter needs to be given, charac-ters &, &- and &&- are used. Below are explanations of these characters:

& Groups two combination parameter arguments within the same param-eter value.

&- Groups combination parameter arguments when a group of parameters differs only in their last information unit. The first argument is completely specified, whereas the others are represented only by their last informa-tion units.

&&- Groups arguments when a group of arguments differs only in their last information unit and constitutes a consecutive sequence. The argu-ments are indicated by writing the lower and upper information units. The last information unit is incremented by one.

See the examples in the following table.

Different characters can be used to group arguments within the same parameter value. For example:

2000–10–05&2000–11–01&—04&—10&&—12

means the following arguments:

• 2000–10–05, • 2000–11–01, • 2000–11–04, as well as • 2000–11–10, 2000–11–11 and 2000–11–12 (from 2000–11–10 to 2000–11–12).

Wild card character: percent sign (%)The percent sign (%) represents one or more characters. For example, in the following command, the percent sign is the value of the file name parameter and it represents files with any name. This command lists all command files, that is, files with the CMD extension, in the MMDIRE directory of system and backup disks:

ZIWX::WS:MMDIRE:%,CMD;

Syntax of the command:

ZIWX::<drive>:<subdir>:<filename>,<extension>;

Grouped arguments Arguments indicated by grouping

2000-11-01&2000-12-07 2000-11-01 and 2000-12-07

2000-11-01&-07 2000-11-01 and 2000-11-07

2000-11-01&&-03 2000-11-01, 2000-11-02 and 2000-11-03

Table 4 Grouping compound parameter arguments

Page 22: NED[1]

22 DN02143068

Executing MML Commands

Id:0900d805806701b2Confidential

1.7 Line editor of MML commands: searching and editing of MMLThe line editor lets you search and edit the commands you have entered during the current MML session, and edit the command you are typing. If you have entered the exact same command more than once, you can only handle the last instance of that command.

The editor is operated from the keyboard of the MML terminal. You can use a variety of keys and key combinations to search and edit MML commands and characters. You do not have to start the editor: it is available when you are typing MML commands.

Below is a list of line editor keys categorized according to their functions.

Keys for searching commandsArrow keys:

'Up' arrow Displays the command you entered before the one that is written after the prompt. If you have entered exactly the same command more than once, only the one you last entered can be displayed.

OR

Number of command + 'Up' arrow Searches a command you have entered during an MML session. Type the number identifying the command and press the 'up' arrow (for example, press 4 and the arrow). This command must be entered immediately after the prompt. You can list the numbers by pressing ? and the 'up' arrow.

OR

Characters in command + 'Up' arrow Searches a command you have entered during an MML session. Type a character string included in the command and press the 'up' arrow (for example, press ICL and the arrow). If you press the arrow again, the previous command with the same string is searched.

'Down' arrow Displays the command entered after the one written after the prompt.

? + 'up' arrow Lists the commands you have entered during an MML session and the numbers identifying them. The numbering starts from the command you entered last. If you have entered exactly the same command more than once, only the one last entered is displayed.

Keys that function like 'up' and 'down' arrows:

CTRL-B Functions like the 'up' arrow.

CTRL-G Functions like the 'down' arrow.

CTRL-I Functions like the 'up' arrow.

Keys for editing commandsSwitch from INSERT to OVERSTRIKE mode:

CTRL-A Switches from the INSERT mode to the OVERSTRIKE mode or vice versa. In the OVERSTRIKE mode, the character you type replaces the character that the cursor points to. In the INSERT mode, the character you type in is inserted in front of the character the cursor points to.

Move to command group level:

Page 23: NED[1]

DN02143068 23

Executing MML Commands

Id:0900d805806701b2Confidential

CTRL-X Moves to the command group of the command that you are entering or that you have just entered. If you are entering a command, this key func-tions only if you have entered at least the three command letters of the command.

Move the cursor:

Arrow keys:

Right arrow Moves to the right.

Left arrow Moves to the left.

Keys that function like 'right' and 'left' arrows:

CTRL-D Moves cursor to the left.

CTRL-F Moves cursor to the right.

Other keys:

CTRL-E Moves cursor to the end of the line.

CTRL-H Moves cursor to the beginning of the line.

CTRL-N Moves cursor to the beginning of the next parameter block.

CTRL-R Moves cursor to the beginning of the next parameter.

Delete characters:

BACKSPACE Deletes the character to the left of the cursor.

CTRL-L Deletes the character the cursor points to.

CTRL-U Deletes all characters in the buffer that stores the commands given during an MML session.

CTRL-V Deletes the character to the left of the cursor. Functions like BACKSPACE.

CTRL-Z Deletes the character that the cursor points to and those written after the cursor.

Page 24: NED[1]

24 DN02143068

Executing MML Commands

Id:0900d805806701e2Confidential

Using MML commands

2 Using MML commands

2.1 Controlling of the output of characters displayed on the MML terminalThe following keys can be used to control the output of characters on the MML terminal you are using:

CTRL-P Determines whether characters are displayed on the screen one screen at a time (PAGE MODE) or without interruptions (CONTINUOUS MODE). To display one screen of characters at a time, press CTRL-P before you enter the command that displays characters. After one screen is displayed, press ENTER to display another screen. To display characters without interruptions, press CTRL-P again: you can switch from the PAGE mode to the CONTINUOUS mode before you enter the command that displays characters and even when characters are being displayed on the screen.

CTRL-Q Continue the output if you have interrupted it by pressing CTRL-S.

CTRL-S Interrupts output. The output continues when you press CTRL-Q.

Page 25: NED[1]

DN02143068 25

Executing MML Commands

Id:0900d805806701bbConfidential

2.2 Printing out of characters displayed on the MML terminal The following keys can be used to print out the characters displayed on the MML terminal you are using during an MML session:

CTRL-T Prints a maximum of 2048 characters (for example, MML commands, execution printouts and guidance messages) that were displayed during the MML session on a printer. If the printing succeeds, the message PRINTED is displayed. If it does not succeed, the message PRINTER ERROR is displayed.

CTRL-O Functions like CTRL-T, but instead of 2048 characters, this key prints the screen of characters displayed during the MML session on a printer.

Page 26: NED[1]

26 DN02143068

Executing MML Commands

Id:0900d805806701beConfidential

2.3 Screen editor of MML commands: reading and editing characters on screenThe screen editor is available with some MML commands.

The screen editor functions are used for reading characters and for editing characters which are on the screen. The text can be edited using the special and command char-acters.

Quitting the screen editorYou can quit the screen editor by typing CTRL-Z or the character ^. The screen is emptied, and the cursor moves to the beginning of the first line on the screen. This also terminates the execution of the IEE command.

Special charactersCTRL-Y Terminates command execution.

DEL (CTRL-V) Deletes the character to the left of the cursor.

Command charactersCTRL-A Switches the editor from the INSERT mode to the OVERSTRIKE mode,

or vice versa. In the OVERSTRIKE mode, the new characters you type are placed on top of the old characters, replacing them. In the INSERT mode, the old characters are moved forward making room for the new ones, if there is room at the end of the line.

CTRL-C Functions like CTRL-Z. Terminates command execution and exits the editor.

CTRL-D Moves the cursor one character to the left. If the cursor is already in the beginning of the line, it is not moved to the next line.

CTRL-E Moves the cursor to the end of the line, or onto the last character if the line, buffer or line buffer ends.

CTRL-F Functions like the 'left' arrow. Moves the cursor one character to the right. Does not move the cursor to the next line but stops at the last char-acter of the line.

CTRL-H Moves the cursor to the top left hand corner of the screen.

CTRL-I Functions like the 'up' arrow. Moves the cursor one line up.

CTRL-J Refreshes the screen.

CTRL-K Functions like the 'down' arrow. Moves the cursor one line down.

CTRL-L Deletes the character the cursor points to.

CTRL-O Displays the previous screen and moves the cursor to its first line.

CTRL-P Displays the next screen and moves the cursor to its first line.

CTRL-R Functions like CTRL-H. Moves the cursor to the top left hand corner of the screen. If the cursor is already in the beginning of the buffer, it is moved to the beginning of the file's first line.

CTRL-R + CTRL-R Moves the cursor to the top left hand corner of the file.

CTRL-W Moves the cursor to the bottom left hand corner of the screen. If the cursor is already in the beginning of the last line, it is moved to the end of the file, that is, to the beginning of the file's last line.

Page 27: NED[1]

DN02143068 27

Executing MML Commands

Id:0900d805806701beConfidential

CTRL-W + CTRL-W Moves the cursor to the bottom left hand corner of the file.

CTRL-X Deletes the line the cursor point to.

CTRL-Z Functions like CTRL-C. Terminates command execution and exits the editor.

Page 28: NED[1]

28 DN02143068

Executing MML Commands

Id:0900d805806701c1Confidential

2.4 Editing text files of MML commandsText files can be edited in the ways introduced below. The structure of text files is also explained briefly.

Special text files used in the system are command files and MML macros. Command files are run with the IDE command or as a task of the command calendar.

Structure of text filesIn general, the structure of text files is free. However, special attention should be paid to the command file, since its structure is strictly defined.

The command file must always start with a comment line. The comment is traditionally marked with the /* */ character pair. The group of tasks performed by the command file should be described on the comment line.

After the comment line, the commands have been listed on separate lines in the command file. The commands are in the order of execution. Each line is ended with the semicolon, which also ends an MML command.

The extension part of the command file must be CMD. Otherwise, the command file run will not succeed with the IDE command. The command calendar also assumes the extension part of the file to be CMD.

Editing text files with MML commandsEditing and creating text files takes place with the IEE command.

The IEE command initiates a screen editor where the command and special characters described above are in use. The file to be edited has some restrictions on the name and directory, and these are explained in the command description.

Page 29: NED[1]

DN02143068 29

Executing MML Commands

Id:0900d805806701c4Confidential

2.5 Opening and closing MML sessions PurposeCommunication with the system takes place in an MML session: while you operate the system by entering MML commands, the system produces output and displays different kinds of messages. MML commands are entered from the keyboard of the MML termi-nal, while printouts and messages are usually displayed on the screen of the MML terminal you are using.

The MML terminal is connected to the exchange using Telnet or SSH.

Before you startBefore you can enter MML commands, you have to open an MML session. You can open an MML session only if you have a user identity.

Note that when opening an MML session via the EM MMI Window, the system asks for your username and password when opening the Element Manager but does not ask you to enter them in the beginning of the MML session. However, the EM user must be mapped to an MMI user.

If opening an MML session fails, see Opening an MML session fails.

Steps

1 Open an MML session

a) Enter your user ID when the system asks you to (ENTER USERNAME <).b) Enter your password when the system asks you to (ENTER PASSWORD <).

g Passwords are case sensitive. You must use the correct upper or lower case as defined in your user ID.

2 Close an MML session

a) Enter Z and a semi-colon (Z;) at the main levelTo move to the main level, enter Z and a semi-colon (Z;).

3 Terminate an MML session

g It is not recommended to use this procedure in normal circumstances. It is better to close the MML session instead of terminating it.

a) Press BREAKTo terminate the MML session press BREAK. You can also press CTRL-Y: this key combination terminates the session when you are entering your user identity or password or typing a command at the main level; or when you have entered the command class letter or displayed the command class menu.

Expected outcomeThe session is opened when the welcome dialogue and the MAIN LEVEL COMMAND prompt are displayed. This means that you can enter MML commands. See the following example:

Page 30: NED[1]

30 DN02143068

Executing MML Commands

Id:0900d805806701c4Confidential

WELCOME TO THE IPA2800 SERIES DIALOGUE

MAIN LEVEL COMMAND <___><

At the top of the screen there are the type and the name of the network element as well as the date and the time. The bottom of the screen indicates that you are at the main level.

The session is closed when the following message is displayed:

END OF DIALOGUE SESSION

Page 31: NED[1]

DN02143068 31

Executing MML Commands

Id:0900d805806701c7Confidential

2.6 Entering MML commands step by step PurposeThe system is mostly operated by means of MML commands. When you enter MML commands, the system produces execution printouts of the commands and various messages. MML commands are entered from the keyboard of the MML terminal and the printouts and messages are normally displayed on the screen of this terminal. Com-munication with the system takes place in an MML session.

The system has an online help with command menus and a parameter guide. You can enter MML commands step-by-step using command menus and the parameter guide or simply type them in without using the help. While you type in MML commands, you can edit the commands using the line editor. This editor also lets you search for the commands you have entered during an MML session.

The MML commands that are executed during a particular MML session are written to an MML command log, which also contains other information on the MML session. The command log can be used, for example, to list the commands that were given before an error occured. It can also be used as a basis of a disk command file.

g Use upper case letters when you type the MML commands.

You can edit the command you are typing or the commands that you have already entered.

Before you startTo be able to operate the system, you need a user identity. Each user ID is associated with a profile that determines the commands the user is authorised to execute.

Steps

1 Display the command menu (?)Display the menu of the command classes by entering a question mark (?) when you are at the main level; that is, when the MAIN LEVEL COMMAND prompt is displayed.

Expected outcomeFor example, the following menu can be displayed:

MAIN LEVEL? ..... DISPLAY MENUA ..... ALARM SYSTEM ADMINISTRATIONC ..... ROUTING STATE ADMINISTRATIOND ..... SYSTEM SUPPORT AND COMMUNICATIONE ..... CELLULAR RADIO NETWORK ADMINISTRATIONI ..... I/O SYSTEM ADMINISTRATIONL ..... BROADBAND ADMINISTRATIONN ..... SS7 NETWORK ADMINISTRATIONO ..... SUPPLEMENTARY SS7 NETWORK ADMINISTRATIONQ ..... O&M NETWORK ADMINISTRATIONR ..... ROUTING ADMINISTRATIONT ..... TRAFFIC ADMINISTRATIONU ..... UNIT ADMINISTRATION

Page 32: NED[1]

32 DN02143068

Executing MML Commands

Id:0900d805806701c7Confidential

W ..... SYSTEM CONFIGURATION ADMINISTRATIONY ..... SYSTEM SUPERVISIONZ; .... END DIALOGUE (:)

MAIN LEVEL COMMAND <___><

2 Display the menu of the command classTo display the menu of the I command class, for example, enter I?.

Expected outcome For example, the following menu can be displayed:

I/O SYSTEM ADMINISTRATION ? ..... DISPLAY MENU A ..... MMI SYSTEM AUTHORITY HANDLING B ..... I/O FILE BACKUP C ..... COMMAND CALENDAR HANDLING D ..... DISK COMMAND FILE EXECUTION E ..... DISK FILE OPERATIONS F ..... VIRTUAL DATA STORING DEVICE HANDLING G ..... MML COMMAND LOG HANDLING H ..... I/O UNIT OPERATING STATE HANDLING I ..... I/O CONFIGURATION HANDLING P ..... BATCH COPY HANDLING R ..... SECURITY REPORTING HANDLING W ..... DISK FILE AND DIRECTORY HANDLING X ..... DISK FILE COMPRESSION HANDLING Z; .... RETURN TO MAIN LEVELI/O SYSTEM ADMINISTRATION COMMAND <I__><

3 Display the menu of the command groupTo display the menu of the IC command group, for example, enter C?.

Expected outcomeFor example, the following menu can be displayed:

COMMAND CALENDAR HANDLING COMMANDS ? ..... DISPLAY MENU I:...... ADD NEW COMMAND CALENDAR TASK M: ..... MODIFY COMMAND CALENDAR TASK D: ..... DELETE COMMAND CALENDAR TASK L: ..... LIST CALENDAR T: ..... TEST COMMAND CALENDAR TASK EXECUTION B: ..... BLOCK OR UNBLOCK COMMAND CALENDAR TASK

Page 33: NED[1]

DN02143068 33

Executing MML Commands

Id:0900d805806701c7Confidential

S: ..... STOP COMMAND FILE EXECUTION Z; ..... RETURN TO MAIN LEVEL

COMMAND CALENDAR HANDLING COMMAND <IC_><

4 Enter the commandComplete the command part by entering the third letter of the command, for example L.

Expected outcomeThe parameter guide and the three command letters are displayed. Below is the param-eter guide of the ICL command:

/* PARAMETERS: LISTING PARAMETER: LISTING FORM;*/

5 Display parameter guide of the commandPress ENTER to display information on the parameters.

Expected outcomeA guidance text is displayed on the screen, helping you to give the parameters correctly. The following guide gives information on the parameters in the first parameter block of the ICL command:

/* COMMAND CALENDAR LISTING PARAMETERS PARAMETER NAMES:

ID ....... TASK IDENTIFIER QUE ...... QUEUE NAME CFILE .... COMMAND FILE NAME ALARM .... EXECUTION ALARM NUMBER DATE ..... DATE OF EXECUTION HOURS .... TIME OF EXECUTION */

6 Enter the parametersEnter the parameters.

Example: For example, to display all tasks in the command calendar on the first of January, 2000, enter the date parameter in the format YYYY-MM-DD (the system guides you as regards the form if you press ENTER):

ICL:DATE=2000-01-01

Page 34: NED[1]

34 DN02143068

Executing MML Commands

Id:0900d805806701c7Confidential

After you have entered the parameter, the system normally adds a separator and displays the parameter guide of the following parameter. If the system does not add the separator, enter the separator. For example, when you are entering the ICL command, move to the following parameter block by entering a comma after you have entered a value to the date parameter.

Enter now the execution times of the command calendar tasks you wish to list. After typing HOURS=, press ENTER and the system guides you as regards the correct form by displaying the following text:

/* IDENTIFY LISTING EXECUTION TIME: DECIMAL NUMBER HH ( &,&& ) DEFAULT IS ANY TIME */

Enter the execution time, for example:

ICL:DATE=2000-01-01,HOURS=1&&3

Enter the following parameters of the command in the same manner. Enter a colon if you wish to give the default value.

After you have entered the last parameter that the command requires, the execution determination block is displayed:

/* SELECT EXECUTION DETERMINATION OR SYSTEM NAME OF OUTPUT DEVICE EXECUTION DETERMINATION: ; .. COMMAND EXECUTION N .. NO EXECUTION SYSTEM NAME OF OUTPUT DEVICE: 1 ... 11 CHARACTERS DEFAULT IS CURRENT DEFINITION */

ICL:DATE=2000-01-01,HOURS=1&3::

7 Execute or cancel the commandTo execute the command, enter a semi-colon (;).

Expected outcomeExecution printouts, if the command has any, are displayed on the MML terminal you are using. After the command is executed, the following message is displayed:

COMMAND EXECUTED

The system moves you to the command group level.

To cancel the command, enter N when the execution determination block is displayed.

The following message is displayed:

Page 35: NED[1]

DN02143068 35

Executing MML Commands

Id:0900d805806701c7Confidential

COMMAND IGNORED

The system moves you to the command group level.

g If you have already entered the semi-colon (;) to execute the command, you can attempt to terminate command execution by quickly entering CTRL-Y.

8 Return to the main levelTo return to the main level, proceed as follows:

• If you are at the command class or command group level, enter Z and a semi-colon (Z;).

• If you have already entered one or more parameters, first press CTRL-X (the system moves you to the command group level) and then enter Z and a semi-colon (Z;).

Expected outcomeAfter you have entered an MML command, an execution printout is usually displayed, which indicates that the command is being executed. The printout is normally displayed on the screen of the MML terminal you are using. If the execution of the command suc-ceeds, the message COMMAND EXECUTED is displayed.

Unexpected outcome Should an error occur, an error message is displayed indicating the cause of the error. In addition, a guidance is displayed, telling how the erroneous part of the command should be written. You do not have to re-enter the entire command. Instead you can continue from the erroneous point onwards.

Page 36: NED[1]

36 DN02143068

Executing MML Commands

Id:0900d805806701caConfidential

2.7 Entering MML commands without using the online help PurposeThis procedure gives instructions on how to enter MML commands without using the online help. When the user is experienced enough, he can give the commands directly without using the menu selection or guidances. This makes the working efficient and quick.

Steps

1 Enter the command letters and parametersWhen you are at the main level, simply type the three command letters. If the command has parameters, enter the values. For example:

ICL:DATE=2000-01-01,HOURS=1&&3::

OrWhen you are at the command class or command group level, type Z in front of the command. (You can also type the Z when you are at the main level, that is, always when you enter a command). For example:ZICL:DATE=2000-01-01,HOURS=1&&3::

2 Execute the commandExecute the command by entering a semi-colon (;).

Expected outcomeAfter you have entered an MML command, an execution printout is usually displayed, which indicates that the command is being executed. The printout is normally displayed on the screen of the MML terminal you are using. If the execution of the command suc-ceeds, the message COMMAND EXECUTED is displayed.

Unexpected outcomeIf there is an error in the given command, an error message and a guidance are dis-played, after which the user can re-enter the part that was erroneous.

Page 37: NED[1]

DN02143068 37

Executing MML Commands

Id:0900d805806701d0Confidential

2.8 Repeating or cancelling MML commandsPurposeThis procedure gives instructions on how to repeat or cancel MML commands.

Steps

1 Repeat an MML command

a) Press the 'up' arrow to search for a commandSearch the command you wish to repeat by pressing the 'up' arrow.

b) Execute the commandExecute the command by pressing ENTER when the command is displayed after the prompt.

2 Cancel an MML commandSelect one of the following alternatives:

• Interrupt MML command executionWhen the semicolon has not been given, but all the command parameters have been typed, type the letter 'N'. Thus the command will not be executed, and the command entering procedure returns to the beginning of the command group in question.

• Terminate command executionTo terminate command execution, press CTRL-Y.

Expected outcomeA command is succesfully repeated or cancelled.

Page 38: NED[1]

38 DN02143068

Executing MML Commands

Id:0900d805806701d3Confidential

2.9 Moving from one command level to anotherPurposeYou can use command menus to move from the main level to the command class level and, finally, to some of the command groups in that command class (for example, from the main level to the U command class and, finally, to the US command group).

Steps

1 Move from one command level to anotherSelect one of the following alternatives:

• Move to the main levelTo move to the main level, enter Z;.

• Move to a command classTo move to any command class, enter Z and the letter of the command class in question. For example, if you want to move to the U command class, enter ZU.

• Move to a command groupTo move to any command group, enter Z and the two letters of the command group in question. For example, if you want to move to the US command group, enter ZUS.

Further informationThe following figure illustrates how to move from one command level to another.

Figure 7 How to move from one command level to another

MAIN LEVEL

COMMAND CLASSLEVEL

COMMAND GROUPLEVEL

COMMAND

G

O

IGO

IG

I

I or ZI U or ZU

Z;

ZU

ZUS

ZUSI

U

US

USI

S

I

Page 39: NED[1]

DN02143068 39

Executing MML Commands

Id:0900d805806701d3Confidential

You can also move to the command group of the command that you are entering or that you have just entered by pressing CTRL-X. If you are entering a command, this key functions only if you have entered at least the three command letters of the command.

Expected outcomeYou move succesfully to another command level.

Page 40: NED[1]

40 DN02143068

Executing MML Commands

Id:0900d805806701d6Confidential

2.10 Entering default values to parameters PurposeA default value is the value the system gives to a parameter when you do not give a specific value to it. Some parameters do not have default values, but they must always be given a specific value; these parameters are obligatory. The parameter guide and the syntactic rules of each command indicate which parameters are obligatory.

A default value can also be indicated by entering a specific value to a parameter. This is, of course, a more complicated way to indicate a default value.

If you use the parameter guide, when the parameter guide indicates that a default value can be given to a position-defined parameter, enter a comma (,).

If you do not use the parameter guide, in order to indicate a default value of a position-defined parameter when you type in a command without using the parameter guide, omit the parameter value, but leave the appropriate separator.

Steps

1 Enter default values to position-defined parameters Select one of the following alternatives:

• Separate the parameter from other parameters (,)If other parameters must be entered before the parameter block ends, enter a comma (,) to separate the parameter from the other parameters.

• Separate the parameter from the following parameter block (:)If the parameter block ends after the parameter, enter a colon (:) to separate the parameter from the following parameter block.

Example: Entering default value by giving commaOmit the value of the first parameter in the first parameter block by giving comma:

ZIID:,OMU:COMCAL;

Example: Entering default value by omitting the valuesOmit the values of both parameters in the first parameter block and leave the separator (the colon):

ZIID::COMCAL;

2 Enter default values to name-defined parameters To indicate a default value of a name-defined parameter, enter the name of the param-eter, an equal sign and a comma (for example, DATE=,). Some commands let you omit the parameter name, the equal sign and the comma that follows the parameter.

Example: Entering default value by giving commaGive the default values (START=1 and STOP=65000) by giving comma:

ZIDL:WDU,0,COMMANDS:START=,STOP=;

Example: Entering default value by omitting the parameters and commaOmit the values of the parameters and the comma that would follow one of these param-eters:

Page 41: NED[1]

DN02143068 41

Executing MML Commands

Id:0900d805806701d6Confidential

ZIDL:WDU,0,COMMANDS:;

Expected outcomeDefault value is given succesfully.

Page 42: NED[1]

42 DN02143068

Executing MML Commands

Id:0900d805806701d9Confidential

2.11 Changing the language of MML command menus PurposeThis procedure gives information on how to change the language of MML command menus.

Steps

1 Press CTRL-KIf several languages are in use, you can change the language of command menus pressing CTRL-K.

Expected outcomeThe language of MML command menus is changed.

Page 43: NED[1]

DN02143068 43

Executing MML Commands

Id:0900d805806701dcConfidential

2.12 Setting an MML program in the test state Purpose

g Only for the use of MML program designers.

These instructions are not relevant in normal operation of the exchange.

Steps

1 Press CTRL-4To set an MML program in the test state and to display the help printouts that are used in the testing of the program, press CTRL-4.

2 Press ENTER after each printout

3 Press CTRL-4 for the second time When you press CTRL-4 again, the printouts of the semantics check are displayed.

4 Press CTRL-4 for the third time When you press CTRL-4 for the third time, the MML program is set in the normal state.

Expected outcomeThe MML program is set in the test state.

Page 44: NED[1]

44 DN02143068

Executing MML Commands

Id:0900d805806701dfConfidential

2.13 Setting an MML session time-out PurposeYou can define an idle time limit for MML sessions after which time the session is closed automatically if there is no interaction or command execution. You can change the idle time value with two MML commands, the IAX command and the IAA command. The time limit can be defined individually for each user profile.The change takes immediate effect on your current session; other users must relogin before the change is effective. The value range of the MML session idle time limit is 1 to 60 minutes. The default value is 15 minutes.

Steps

1 Changing the idle time limit Select one of the following alternatives:

• Changing the idle time limit of your own profile (IAX)ZIAX:<mml_session_idle_time_limit>;

• Changing the idle time limit of a certain profile (IAA)The limit is changed using the TLIMIT parameter.ZIAA:<profile>::,,,:TLIMIT=<mml_session_idle_time_limit>;

Expected outcomeAn MML session time-out is set.

Page 45: NED[1]

DN02143068 45

Executing MML Commands MML macros

Id:0900d8058067022fConfidential

3 MML macros

3.1 MML macrosA feature of the MMI system is its extended command language which enables the user to program complex consecutive tasks by using the existing MML commands. A task entity, programmed using the command language, constitutes an MML macro which comprises programmable logic and MML commands that are used in series of specific kinds. MML macros are disk files, run interactively by the user in the system and by means of the MMI system.

You can create and edit MML macros. Certain MML macro types are supplied by Nokia Siemens Networks and cannot be edited by users.

The planning of a macro is usually started by giving it an MML macro name.

MML macros are useful, for example, when executing command sequences that need to be executed repeatedly. They can be used to carry out more complicated tasks than disk command files because they contain both MML commands and programmable logic. However, unlike disk command files, they cannot be executed in the command calendar.

MML macros are stored in disk files. See below an example of an MML macro that copies the needed file from the source directory to the destination directory on both disks. Note that the macro contains a description on what the macro does.

/* @(#)MID: TSTI1OGE.EMM 1.1-0 00/06/01 */$I ..... I/O SYSTEM ADMINISTRATION$1 ..... TEST MACROS$O ..... COPY FILE FROM SOURCE TO DESTINATION DIR

TSTI1OGE( ?FILENAME, ?EXTENSION, ?SOURCE, ?DEST );

declaration?FILENAME(10)"/* GIVE FILENAME TO BE COPIED */",?EXTENSION(3)"/* GIVE EXTENSION OF FILENAME */",?SOURCE(10)"/* GIVE SOURCE DIRECTORY */",?DEST(10)"/* GIVE DESTINATION DIRECTORY */";

/****************************************************************** This MML macro copies needed file from source directory to* destination directory on both disks.*

Page 46: NED[1]

46 DN02143068

Executing MML Commands

Id:0900d8058067022fConfidential

MML macros

******************************************************************* 1 In case of error continue executing macro* 2 Only MML macro output's are shown* 3 When MML requires confirmation automatically use 'Y'* 4 Set source directory* 5 Set destination directory* 6 Copy file from source to destination directory* 7 If copying fails then output error text* 8 If copied successfully output text*****************************************************************/

on_error continue; /* 1 */output_off; /* 2 */on_confirm continue; /* 3 */

IWY:S:PATH=?SOURCE; /* 4 */

IWY:D:PATH=?DEST,DRIVE=WDU-S; /* 5 */

IBC:,,?FILENAME,?EXTENSION; /* 6 */

if error then; write_term( NL, "/*** CANNOT COPY FILE, CHECK INPUT ***/", NL ); /* 7 */else; write_term( NL, "/* ", ?FILENAME, ".", ?EXTENSION, " COPIED SUCCESSFULLY FROM ", ?SOURCE, " TO ", ?DEST, " */", NL ); /* 8 */fi;

exit;

MML macros can be created and edited by the users of the system. Certain types of macros are supplied by Nokia Siemens Networks. These macros cannot, however, be edited by users.

MML macros are stored in the MMDIRE directory of system and backup disks. The exten-sion of MML macros is always EMM.

Page 47: NED[1]

DN02143068 47

Executing MML Commands MML macros

Id:0900d8058067022fConfidential

Running MML macrosThe MML macro run means that the user starts the MML macro on the MML terminal.

The MML macro can be run interactively on an MML terminal when an MML session is active. There are two basic ways to run an MML macro: short start-up method and long start-up method. The short start-up method is simpler. It can be used as an addition to the long start-up method.

Note that if you do not write a semicolon (;) as the last character in the start command, the MMI system asks you whether you wish to start the MML macro.

When the MML macro is run, values have to be entered for the parameters shown in header part of the MML macro in question (see Header in MML macros). The values have to correspond to the parameter definitions in the MML macro, which is normal or block parameter. They also have to correspond to the parameter type, which is charac-ter string or an integer. Enter the parameter values in the parameter presentation order.

If the parameter is presented as a block parameter in the macro, besides characters that are accepted as values for normal parameters, a comma (,).

If you enter the parameters in the start command, the following rules also apply:

• When the long start-up method is used, the parameter values are in brackets. • The normal parameter values are separated by a comma. • A semicolon is used to separate blocks. • For a block parameter, a colon is used to separate the values. • Position defined parameters are entered in their block in the order indicated in the

header part.

Different types of parameter values are entered as follows. The character string constant is given either in quotation marks or without them. In a character-string constant that is marked off with quotation marks, all characters from a space to the right bracket (ASCII code values 20H-7DH), excluding the brackets itself (22H), are allowed. If quotation marks are not used to mark off character strings, a quotation mark is allowed in character string constant. However, in such a case, a space and character string delimiters for parameter values are not allowed. An integer constant is given as an unsigned decimal.

To run an MML macro by using the short start-up method, see the Short start-up method for MML macros. To run an MML macro by using the long start-up method, see the Long start-up method for MML macros.

Page 48: NED[1]

48 DN02143068

Executing MML Commands

Id:0900d805806701e7Confidential

3.2 MML macro namesThe fourth, fifth and sixth character together specify the MML macro so that it is unam-biguous. The fourth character indicates the MML command class in which the MML macro group is located. The fifth character is the identifier for the MML macro group. The identifier is a number between 1 and 9. The sixth character is a command letter A-Y which can be chosen according to the MML macro task, for example, deletion D=delete.

Figure 8 MML macro names

The MML macros created by Nokia Siemens Networks are named in a slightly different manner. Do not choose as the name of your macro the combination of the fourth, fifth, or sixth character of an existing Nokia MML macro name. Also avoid choosing the com-bination of the fourth and fifth character of an already existing Nokia MML macro name. In other words, avoid putting your MML macro in the same MML group with the Nokia MML macros.

MML macro groupA group of those MML macros whose names have the same fourth and fifth letters and are shown in the same MML menu comprise an MML macro group. Normally, macros in the same group have similar kinds of tasks.

xxx a n a s k . EMM

The MML macro name constant, extension

constant (E)

constant (C)

command letter (A - Y)

identifier for MML macro group (1 - 9)

command class identifier (A - Y)

three optional characters

Page 49: NED[1]

DN02143068 49

Executing MML Commands

Id:0900d805806701eaConfidential

3.3 MML macro structureAt the highest organisational level, an MML macro is composed of three sections:

• an identification string • a menu • a header, declaration and execution part.

The three sections are separated by means of a semicolon (;).

On the first line of the MML macro, there has to be an identifier character string as a comment.

/* @(#)MID: OMBI1DGE.EMM 1.1-0 00/01/11 */

The header part always contains the name of the MML macro, either with or without an extension. If the macro uses parameters, they are presented in the header. The defini-tion section contains the definitions for the parameters and variables. The execution part is made up of command language statements.

Page 50: NED[1]

50 DN02143068

Executing MML Commands

Id:0900d805806701edConfidential

3.4 Structural parts of the command language in MML macrosThe following structural parts belong to the command language:

• line structure • characters • identifiers • keywords • constants • operators • comments

Line structureThe line structure of command language is free. There need be no correspondence between the logical structure of the language and the structure of the line. However, it would be sensible to model the structure after the different parts of the program by employing line feeds, empty lines, blank spaces and indentations. The command language specifications do not set an upper limit for line length, but we recommend that a line contain no more than 70 characters.

CharactersThe command language uses the following characters:

• capital letters from A to Z • lower-case letters from a to z • cardinal numbers from 0 to 9 • empty space, tabulator, line feed • the special characters ( ) + - * / = < > , : ; " ? $ _

In addition, character-string constants may also contain other characters that are found in the character set of a computer.

IdentifiersThe following rules govern the use of identifiers that are employed as names for MML macros, parameters, variables, subprograms and references:

• An identifier may contain capital letters (A-Z), underline characters ( _ ) and numbers (0-9).

• An identifier always starts with a letter. • The maximum length of identifiers other than the names of MML macros is 10 char-

acters, all of which are significant. • The identifiers used in an MML macro which are not MML macro names are specific

to the macro in question. • An MML macro must not contain two or more identical identifiers that are used for

different purposes. • There must always be a question mark (?) in front of the identifier for a parameter or

variable.

KeywordsAn unaccompanied keyword can only be used in contexts and with meanings presented in the specifications of the command language. Keywords are written in lower-case

Page 51: NED[1]

DN02143068 51

Executing MML Commands

Id:0900d805806701edConfidential

letters and they are (please note that all keywords are not necessarily in use, instead, they are reserved for a possible future use):

if and then xor else or fi not while end declaration numeral goto label on_error gosub on_confirm subrou ask retsub continue call exit return error dstr_to_num echo_on num_to_dstr echo_off hstr_to_dstr output_on output_off read_term trace_on write_term trace_off

currentstr readstr currentln partstr prevln nextln delay set_def_buffer wait

ConstantsThe command language recognises integer-string and character-string constants.

An integer constant is written as an unsigned string of numbers, which means that the constant is always positive. The integer range is 0...4294967295. The integer may be given as a constant either in the form of a decimal number, such as 17, or a hexadecimal number, in which case the figure always begins with a zero (0) and ends with the letter H, as in 01BH. In a hexadecimal number, only capital letters are allowed.

The character-string constants are made up of characters given between quotation marks ("), e.g."0B & 12". The characters allowed in the constants range from the space (20H) to the right bracket (7DH), excluding the quotation mark (22H) itself. The maximum length of the character-string constant is the maximum length of the charac-ter-string variable.

OperatorsThe command language uses arithmetic, logical, and comparative operators.

The arithmetic operators are: + (addition), - (subtraction), * (multiplication), and / (divi-sion). Arithmetic operators are only applicable to positive integer operands, and the result is always an integer. There is one exception: an addition where both operands are character strings, for example, the result of the expression "A"+"BC" is "ABC". Also, it

Page 52: NED[1]

52 DN02143068

Executing MML Commands

Id:0900d805806701edConfidential

should be noted that a division operator breaks off the integer, for example, the value for the expression 7/3 is 2.

The logical operator is 'not' (NO operation). The operands of logical operators must be positive integers.

The comparative operators are: < (less than), <= (less than or equal to), > (greater than), >= (greater than or equal to), <> (does not equal), and = (equals). The operands of comparative operators must be positive integers; however, in comparisons involving the last two operators ('does not equal', 'equals'), the operands can also be character strings.

CommentsA comment starts with the character pair /* and ends with the pair */. A comment may be continued from one line to another, but inside of a comment no other comment is allowed.

Page 53: NED[1]

DN02143068 53

Executing MML Commands

Id:0900d805806701f0Confidential

3.5 Menu texts in MML macrosIf the MML macro is not meant for a package which contains specific old program versions and you wish to run the macro with, what is known as, the short start-up method, the menu texts have to be right at the beginning of the MML macro.

A menu text on a line of its own corresponds to three characters of the MML macro short start-up method command. The command characters are the same as characters 4 - 6 of the MML macro. The menu line starts with the ($) character which is followed by a command character.

Example of an MML macro menu text:

$X .... MML COMMAND CLASS X MENU TEXT$N .... MML COMMAND GROUP N MENU TEXT$Y .... MML MACRO COMMAND Y MENU TEXTMML MACRO HEADER...

Page 54: NED[1]

54 DN02143068

Executing MML Commands

Id:0900d805806701f3Confidential

3.6 Header in MML macrosStructureThe header of an MML macro is composed of the macro's identifier - its name without the extension - and of the parameters, if any, presented in brackets (the parameter list). The header ends with a semicolon (;).

All parameters are position-defined. Parameters are separated by a comma (,), while parameter blocks are delimited by means of a colon (:). If only one parameter is pre-sented in a parameter block, the parameter of the block in question is interpreted as a block parameter. The following figure presents an example of the structure of an MML macro header.

Figure 9 An example of the structure of an MML macro header

Position-defined parametersThe presentation of a position-defined parameter begins with a question mark (?), followed immediately by the parameter's identifier (parameter name). The presentation ends with a comma, colon, or right bracket.

Block parameterIf the presentation of a parameter ends with a colon or right bracket, and if it is the only parameter in the block, it is a block parameter. The difference between a normal and a block parameter is that the latter always accepts a comma (,) as a character, in addition to all the other characters that normal parameters accept as their values.This is why great care should be taken when using block parameters, in order to avoid entering invalid parameter values. A block parameter can only be of character string type.

parameter presentation

FINAMEGE ( ?HOST_NAME: ?OLD_RSU, ?NEW_RSU:

block parameterMML macro name

Page 55: NED[1]

DN02143068 55

Executing MML Commands

Id:0900d805806701f6Confidential

3.7 Declaration and execution parts in MML macrosDeclaration of parameters and variablesAll parameters and variables to be found in an MML macro must be specified in the dec-laration part, which is situated in the macro after the header and before the execution part. The declaration part begins with the keyword 'declaration' and ends with a semico-lon (;). The part consists of declarative statements, each of which defines one parameter or variable. The statements are separated with commas (,). Parameters are declared before variables.

In the declarative statement, the parameter or variable identifier is immediately preceded by a question mark (?). After the identifier, the parameter or variable type may follow in brackets. As type definition, the choice is between the keyword 'numeral' and an integer constant.

If the keyword 'numeral' is placed in brackets, the parameter or variable is of the integer type (DWORD), with a range of 0...4294967295. If, however, the brackets contain an integer constant within a range of 1...223, then the parameter or variable is declared to be of type character string, and the constant indicates the string's maximum length. The default parameter and variable type is a character string up to 40 characters long.

Finally, there may be in a parameter declaration, in parentheses ("), an instruction with a maximum length of 2000 characters. If no instruction has been defined for a parame-ter, it is replaced by the parameter's identifier. No instructions are defined for variables.

declaration /* Parameters */

?FILE_NAME( 15 ) "/* FILE NAME, MAX 15 MARKS */", /* string length 15 */

?SOURCE " /* GIVE SOURCE DIRECTORY */", /* string length 40 */

?DEC_NUMBER( 30 ), /* string length 30 */

/* Variables */

?INDEX1( numeral ), /* numeral dword */ ?VALUE1, /* string length 40 */ ?VALUE2( 50 ); /* string length 50 */

Execution partIt is the function of the execution part of an MML macro to process data and to execute tasks or series of tasks by means of a command language translator. The execution part contains command language statements, which can be simple or structured. The state-ments end in a semicolon (;). Empty statements which only include a semicolon are not allowed.

Page 56: NED[1]

56 DN02143068

Executing MML Commands

Id:0900d805806701f9Confidential

3.8 Command language expressions and statements in MML macrosCommand language is a language made up of statements with an unambiguous struc-ture and meaning, read by the MMI system's internal interpreter, and developed by Nokia Siemens Networks. In the MML session, its is also possible to run MML macros by using the extended command language.

A command language expression is a formula. When the value for the formula is calcu-lated, the true values, at the time of execution, of all the constants and variables in the formula are used. The values for the variables do not change during the calculation as at that point their values are only retrieved.

An expression may be nothing more than a constant or variable. In expressions, no bracket characters are allowed.

The different operand types allowed in different command language expressions and the various operators are as follows: directives, stop statements, input and output state-ments, placement statements, if-statements, while-statements, MML command, library routines and exit statements.

Page 57: NED[1]

DN02143068 57

Executing MML Commands

Id:0900d805806701fcConfidential

3.9 Directives in MML macrosCommand language directives are instructions for the benefit of the translator, indicating a deviation in the execution part of an MML macro from the normal procedure, or a return to it. Directives are used to control errors, MML command confirmation requests, to administrate execution messages and to facilitate the testing of the MML macros.

ErrorsWhen errors occur an on_error directive and an error flag are used. When the error flag is set, the macro execution ends, or continues according to the value for the on_error directive. If the on_error directive has no value, the macro execution ends.

The on_error directive must contain a parameter. The following keywords (values) are used as such parameters:

exit the execution of the MML macro is discontinued and the process returns to the call level of the macro in question.

continue the execution of the macro is resumed.

ask the user is asked whether the execution of the MML macro is continued (continue) or discontinued (exit).

The default value for the on_error directive is exit. The use of the directive starts with the directive on_error itself, followed by at least one space and one parameter.

The error flag is set (to 1) when the output statement, a certain command language routine, or an MML command execution fails, otherwise its value is 0 after the execution of a command language statement. The setting of the error flag is ascertained before the execution of every command language statement; if the flag is set, then the current value for the on_error directive dictates what follows.

Example of the use of the on_error directive is as follows:

on_error continue; :IBC:,,?FILENAME,?EXTENSION;if error then; write_term(NL,"/*** CANNOT COPY FILE ***/");fi; :

MML command confirmationThe on_confirm directive is used to handle MML commands which request a confirm before the command execution. The on_confirm requires a parameter. The following keywords (values) are used as parameters:

ask The program asks the user for a confirmation of the command execution (Y or N):

• the command is confirmed (Y), in which case the user is asked whether the program should stop at every following confirmation request, or whether the requests are automatically answered Y.

• the command has not been confirmed (N) so that when confirmation is requested, the procedures for value 'ask' are followed.

Page 58: NED[1]

58 DN02143068

Executing MML Commands

Id:0900d805806701fcConfidential

continue The command is automatically confirmed (Y) without stopping or echoing the confirmation request.

By default, the value for the on_confirm directive is 'ask'. The use of the directive starts with the directive on_confirm, which is followed by at least one space and a parameter.

Example of the use of the on_confirm directive is as follows:

on_confirm ask; : IWI::F0,DRIVENAME,,,PR:; :

Execution messageThe directives output_on and output_off are used to control the execution messages of the MML commands and their display on the terminal. With the output_on directive, the messages are displayed on the terminal, while with the output_off directive, they are not. The default is output_on. Both directives are used without parameters.

Example of the output_on and output_off directives is as follows:

output_off;USI:ALL; :output_on;IBC:,,?FILENAME,?EXTENSION; :

EchoingThe directives echo_on and echo_off are used to echo command language statements. Echoing is activated with the echo_on and deactivated with the echo_off directive, the latter being the default. Both directives are used without parameters.

Example of the echo_on and echo_off directives is as follows:

: echo_on; set_def_buffer(2); currentstr("AS."); if error then; ?VALUE = ""; else; ?VALUE = readstr(4); ?VALUE = "AS=" + ?VALUE; ?VALUE = ?VALUE + ","; fi; echo_off; :

Page 59: NED[1]

DN02143068 59

Executing MML Commands

Id:0900d805806701fcConfidential

Echoing and stoppingThe trace_on and trace_off directives are used both to echo command language state-ments and to stop their execution after each statement. This facility is activated using the trace_on directive, and it is deactivated using the trace_off directive, which is also the default.

Example of the trace_on and trace_off directives is as follows:

: trace_on; IAI:PROFILE=:; ?EXIT = "0"; while ?EXIT = "0"; set_def_buffer( 1 ); nextln( 4 ); currentstr( "PROFILE NAME:" ); if error then; ?EXIT = "1"; else; ?TEMP_STR = readstr( 2 ); ?P_NAME = partstr( 1,10, ?TEMP_STR ); set_def_buffer( 2 ); IAA:?P_NAME:::TLIMIT=15; fi;end;trace_off; :

Page 60: NED[1]

60 DN02143068

Executing MML Commands

Id:0900d805806701ffConfidential

3.10 Stop statements in MML macrosThe execution of MML macros can be stopped by using either the delay or the wait state-ment.

The delay statement stops the execution of an MML macro for a given period of time. The statement begins with the keyword 'delay', which is followed by the d time in brack-ets: an integer constant indicating a multiple of 10 ms.

The wait statement produces the text CR,LF,"PRESS ANY KEY TO CONTINUE",CR,LF,CR,LF and the execution of the MML macro is stopped until the user presses any key. The statement only contains the keyword 'wait'.

Example of the use of stop statements is as follows:

: IBC:,,?FILENAME,?EXTENSION; if error then; write_term( NL, "/*** CANNOT COPY FILE ***/", NL ); wait; fi; :

Page 61: NED[1]

DN02143068 61

Executing MML Commands

Id:0900d80580670202Confidential

3.11 Input and output statement in MML macrosThe read_term and write_term keywords are reserved for the input and output functions. The value for a variable is read by means of the read_term statement, while the write_term statement is used to output the values for constants or variables.

The input statement begins with the keyword read_term which is followed by the vari-ables, placed in brackets and separated one from the other by a comma. The variables are of the character string type, and in one input statement there may be up to five vari-ables.

Example of an input statement is as follows:

: write_term( NL, "GIVE SOURCE DIRECTORY: " ); read_term( ?SOURCE ); write_term( NL, "GIVE DESTINATION DIRECTORY: ", NL ); read_term( ?DEST ); :Which produces the text:

GIVE SOURCE DIRECTORY: MMDIRE GIVE DESTINATION DIRECTORY: BLCODE

Write_term begins an output statement. Then follow, in brackets, the parameters that are to be displayed: character-string variables, character string constants, or pairs of the characters NL. One "NL" pair will generate a carriage return (CR) and a line feed (LF) in the output. At least one parameter is required, and parameters are separated with a comma. One output statement is capable of outputting up to 511 characters. If an error occurs in the execution of the output statement, an error flag is set and the execution of the MML macro is interrupted unless otherwise defined with the on_error directive.

Example of an output statement is as follows:

?VARIABLE1 = "NUMBER ANALYSIS"; :write_term(NL,"/*** ERROR IN CREATING ",?VARIABLE1," ***/",NL);if error then; :which produces the text:

/*** ERROR IN CREATING NUMBER ANALYSIS ***/

Page 62: NED[1]

62 DN02143068

Executing MML Commands

Id:0900d80580670205Confidential

3.12 Placement statement in MML macrosA command language placement statement has three parts: the first is always a vari-able, then the placement operator, that is, the "equals" sign (=), then an expression. The value for the expression is calculated prior to placement. The placement statement can contain the following items:

• an operand (if any) preceding the not-operator • operand, operator and operand • library routine.

The operand can be a variable or a constant.

Page 63: NED[1]

DN02143068 63

Executing MML Commands

Id:0900d80580670208Confidential

3.13 If-statement in MML macrosAn if-statement is used in MML macros when a decision needs to be made concerning a certain action, or when a choice has to be made between two alternative functions. The if-statement is structured, and it consists of the following components: the 'if' part, statement(s), the 'else' part (if any), and the end part of the if-statement.

The if-statement begins with the keyword 'if', followed by an expression, and then the keyword 'then'. This whole constitutes the 'if' part of the if-statement, and it ends with a semicolon. The expressions of the 'if' part are the operand, the comparative operand and operand. The operand can be a variable or a constant. The expression of the 'if' part can also be an error flag (see Directives in MML macros) with the value 1 (error flag set) or 0. After the 'if' part, there follows a statement or statements (a), which in turn can be followed by the keyword 'else' and a semicolon. If the 'else' is not in use in the if clause concerned, the if clause is ended. If 'else' is used, it is followed by a statement or state-ments (b), and then comes the ending of the if-statement. An if-statement ends with the keyword 'fi' and a semicolon.

The if-statement functions as follows. If the value for the expression (the if condition) is true, then the statements (a) following the keyword are executed before moving to the statement that follows the 'fi' keyword. If, however, the value for the condition is false, what follows depends on whether the if-statement contains an 'else' part. If it does, the statements (b) following the 'else' word are executed and the process moves to the statement following the 'fi' word. If it does not (contain an else part), then the process goes directly to the statement after 'fi'.

Note that in nested if-statements, the 'else' and 'fi' keywords always refer to the nearest, preceding 'if' word that is yet to find an 'else' or 'fi' part for itself. In one nested structure, there may be up to 20 if-statements and while-statements.

Example of an if-statement is as follows:

: IBC:,,?FILENAME,?EXTENSION; if error then; write_term( NL, "/*** CANNOT COPY FILE ***/", NL ); else; if ?EXTENSION = "TXT" then; ?TMP_STR = "TEXTFILE "; else; if ?EXTENSION = "IMG" then; ?TMP_STR = "IMAGE "; else; ?TMP_STR = "FILE "; fi; fi; write_term( NL, "/* ", ?TMP_STR, ?FILENAME, ".", ?EXTENSION, " IS COPIED SUCCESSFULLY FROM ", ?SOURCE, " TO ", ?DEST, " */", NL ); fi; :

Page 64: NED[1]

64 DN02143068

Executing MML Commands

Id:0900d8058067020bConfidential

3.14 While-statement in MML macrosA while-statement is used, in an MML macro, for programming loops that repeat the exe-cution of a part statement. A while-statement is structured and consists of a condition part, part statements, and an ending.

The while-statement begins with the keyword 'while', followed by an expression and a semicolon: this is the condition part. The expressions of the 'if' part are operand, com-parative operand and operand. The operand can be a variable or a constant. After the condition part comes a statement or statements (a), followed by the keyword 'end' and a semicolon.

A while-statement functions as follows. The value for the condition part's expression is calculated first. If the value for the expression (condition) is true (other than zero), the statements delimited by the condition part and its nearest subsequent end word are exe-cuted; this sequence is repeated until the value for the condition is false. When the value is false (zero), the statements (a) are not executed, and the statement coming after the keyword 'end' is taken up next.

Note that in nested while-statements, the 'end' word always refers to the nearest pre-ceding 'while' word that has yet to find an end to its while-statement. In one nested struc-ture, there may be up to 20 if-statements and while-statements.

Example of a while-statement is as follows:

IAI:PROFILE=:; ?EXIT = "0"; while ?EXIT = "0"; set_def_buffer( 1 ); nextln( 4 ); currentstr( "PROFILE NAME:" ); if error then; ?EXIT = "1"; else; ?TEMP_STR = readstr( 2 ); ?P_NAME = partstr( 1,10, ?TEMP_STR ); set_def_buffer( 2 ); IAA:?P_NAME:::TLIMIT=15; fi; end;

Page 65: NED[1]

DN02143068 65

Executing MML Commands

Id:0900d8058067020eConfidential

3.15 MML commands in MML macrosThe MML commands contained in the MML macros must be commands in use in the target system. The MML command parameter blocks, parameters, or parts of parame-ters may be substituted with parameters or variables defined for the MML macro in ques-tion. If an error occurs in the execution of an MML command, an error flag is set, and by default, the macro execution is interrupted. The following is an example of an MML command which is used to output the number data on a subscriber as a hidden remote session in the system identified by the value for the ?HOST_NAME parameter.

Example of an MML command in an MML macro is as follows:

:IBC:,,?FILENAME,?EXTENSION;if error then; :

Page 66: NED[1]

66 DN02143068

Executing MML Commands

Id:0900d80580670211Confidential

3.16 Library routines in MML macrosThe command language library contains routines that are used for both modifying and reading the MML macro parameters and variables, and for controlling and reading the execution messages of MML commands. The routines are in use in all MML macros without any specific predefinitions.

From character string to integerThe function dstr_to_num is used to convert the ASCII coded numbers in a character string to an integer in a variable of the numeral type. The character string is a variable or a constant, and it is understood to contain a decimal-coded figure that may end in the letter D. If an error occurs in the execution of the routine, an error flag is set and, by default, the macro execution is ended unless otherwise specified with the on_error directive.

The function starts with a numeral type variable which is followed by the placement operator (=), then the keyword dstr_to_num, then, inside brackets, comes the target of the conversion, a character-string constant, or a character string variable found inside a character string.

Example of dstr_to_num is as follows:

?STR_VAR = "25";?NUM_VAR = dstr_to_num(?STR_VAR);

From integer to character stringThe function num_to_dstr is used to convert an integer to an ASCII coded decimal figure in a variable of the character string type.

The function starts with a character string type of variable, followed by the placement operator (=), the key word num_to_dstr, and finally, in brackets, the object of the con-version, the integer variable or constant.

Example of num_to_dstr is as follows:

?NUM_VAR = 25;?STR_VAR = num_to_dstr(?NUM_VAR);

From hexadecimal character string to decimal stringThe function hstr_to_dstr is used to convert an ASCII coded hexadecimal figure to an ASCII coded decimal figure in a variable of the character string type. The string to be converted may only contain numbers in hexadecimal code and it may end in the letter H. If an error occurs, an error flag is set and, by default, the macro execution ends unless otherwise defined with the on_error directive.

The use of the function begins with a character string type of variable, followed by the placement operator (=), then the keyword hstr_to_dstr, then the target of the conversion, a character-string variable or constant, placed in brackets.

Example of hstr_to_dstr is as follows:

?HEX_STR = "1A";

Page 67: NED[1]

DN02143068 67

Executing MML Commands

Id:0900d80580670211Confidential

?DEC_STR = hstr_to_dstr(?HEX_STR);

Part of character string into character-string variableThe function partstr is used to read a certain part of a character string for the use of a character-string variable.

The use of the function begins with a variable of the character string type, after which follows the placement operator (=), then the keyword partstr, followed by the parame-ters, in brackets and separated by commas. There are always three parameters: the index of the first character of the character-string variable to be read, given as an integer constant or variable (1 = first character, 2 = second character etc.), an integer constant or variable indicating the number of characters to be read, and the character-string variable or constant that is to be read. If the index for the first character is greater than the length of the character string to be read, then the function does nothing. If, on the other hand, the number of characters to be read outstrips the length of the character string to be read, then the reading stops on the last character of the string in question. The function does not check the length of the character-string variable for which the characters are read.

Example of partsrtr is as follows (the character string LMNO is read for the variable MARKS):

?CHAR_COUNT = 4;?WHOLE_STR = "ABCDEFGHIJKLMNOPQ";?MARKS = partstr(12,?CHAR_COUNT,?WHOLE_STR);

Setting the output bufferThe routine set_def_buffer sets the default buffer into which thenceforth the execution messages of the MML commands are written, and which is the object of all of the buffer's read functions.

The default is that output buffer number 1 is visible, i.e. there is no need for this routine if there is no need to save the execution message of an entire MML command. The set default buffer remains visible until this routine is used to set another output buffer as the default. The maximum number of buffers in use in any one MML macro is two, numbers 1 and 2, which means that it is possible to save the messages of one MML command.

The output buffers have their own pointers, pointing to the start of the MML macro's output buffers when the statement of that macro's first execution part is being realised. The values for the pointers are modified when the library routines are used that handle buffer pointers (see the descriptions of said routines).

The routine is used by first entering the keyword set_def_buffer, followed, in brackets, by the number of the buffer as an integer constant, or the integer variable contained in the number of the buffer.

Example of set_def_buffer is as follows:

?BUFF_NRO = 1;set_def_buffer(2); /* store execution printout of */USI:ALL; /* USI-command */set_def_buffer(?BUFF_NRO);

Page 68: NED[1]

68 DN02143068

Executing MML Commands

Id:0900d80580670211Confidential

IBC:,,?FILENAME,?EXTENSION; :set_def_buffer(2); /* USI printout is handled in */ /* next statements

Reading the output bufferThe function readstr is used to read a certain character string from the output buffer, which is to be placed in a character string type routine moves the pointer forward the number of characters indicated by a given parameter, then starts to read the current character string pointed to by the buffer's pointer, provided it is not a separator of char-acter strings. A space, a tabulator, and a line feed are such separators. When the function is completed, the pointer of the buffer points to the beginning of the character string just read. If an error occurs, an error flag is set and, by default, the macro execu-tion ends unless otherwise specified by the on_error directive.

Since the separators do not belong to the readable character strings, for example, the line feed identification in the MML macro has to be planned separately, if required.

The function is started with a character-string variable, followed by a placement operator (=), then the keyword readstr and an integer constant or variable, in brackets.

In the following example, there is a search for the string DMCU, starting from the position pointed to by the output buffer's pointer, and when found, the next character string is read as the value for the STR_VAR variable.

Example of readstr is as follows:

currentstr("DMCU");?STR_VAR = readstr(1);

Note also the example of nextln, which is as follows:

currentstr("OMU-0");?OMU_STATE = readstr(3);nextln(1);?UNIT2 = readstr(0);currentstr("TOTAL");prevln(2);?LAST_STATE = readstr(2);currentln;

Buffer pointer to start of character stringThe routine currentstr is used to set the pointer of an output buffer so that it points to the start of a given character string, if the buffer contains such a string. The routine searches for the string, entered as a parameter, beginning from the current position pointed to by the output buffer's pointer, and ending with the last character in the buffer, if not sooner. If the given string is not found, the pointer remains stationary. If an error occurs in the execution of the routine, an error flag is set and, by default, the macro execution ends unless otherwise defined by the on_error directive.

Page 69: NED[1]

DN02143068 69

Executing MML Commands

Id:0900d80580670211Confidential

The use of the routine starts with the keyword currentstr, followed, in brackets, by the requested character-string constant, or a character string variable containing the string in question.

The example in the following figure is of a search for the first FLTY string in an execution message of the USI command.

Example of currentstr is as follows:

USI:DMCU;currentstr("FLTY");

Buffer pointer to start of lineThe routine currentln sets the pointer of an output buffer to point to the beginning of its current line.

When the routine is used, the statement only contains the keyword currentln.

In the following example, the string OMU is searched for and the buffer's pointer is set to the beginning of the line that contains the said string.

Example of currentln is as follows:

currentstr("OMU");currentln;

Buffer pointer backThe routine prevln moves the pointer of the output buffer from its current line backwards as many lines as specified by a parameter and leaves it at the start of the new line. An error flag is set, if an error occurs and, by default, the macro execution ends unless oth-erwise defined by the on-error directive.

The routine begins with the keyword prevln which is followed by a pair of brackets con-taining the number of lines as an integer constant, or given by means of an integer vari-able.

Example of prevln is as follows (the string DMCU is searched and the pointer is moved two lines back):

?LINE_COUNT = 2;currentstr("DMCU");prevln(?LINE_COUNT);

Buffer pointer forwardThe routine nextln is used to move the output buffer's pointer from its current line forward as many lines as specified by a parameter and leave it at the start of the new line. If an error occurs, an error flag is set and, by default execution ends unless otherwise defined by the on_error directive.

The routine begins with the keyword nextln which is followed by a pair of brackets con-taining the number of lines as an integer constant, or given by means of an integer vari-able.

Page 70: NED[1]

70 DN02143068

Executing MML Commands

Id:0900d80580670211Confidential

The following is an example of how an execution message of the USI command is handled by the various library routines: the state of the OMU is read into the variable OMU_STATE, the name of the next read into the variable UNIT2, and finally the state of the unit that is bottom on the unit list is read into the variable LAST_STATE, and the pointer is then moved to the start of the line in question.

Example of an execution message for the USI command.

WORKING STATES OF UNITS UNIT PHYS LOG STATE INFO OMU-0 0000H 4002H WO-EX - OMU-1 0001H 4002H TE-EX - DMCU-0 > WO-EX - DMPG-0 > 0002H 4012H WO-EX - DSP-0 WO-EX - DSP-1 WO-EX - A2SU-0 > WO-EX - A2SP-0 0005H 4345H WO-EX - A2SP-1 0006H 4456H WO-EX - A2SP-2 0007H 4567H WO-EX - A2SP-3 0008H 4678H WO-EX - A2SU-1 > WO-EX - A2SP-4 0009H 4789H WO-EX - A2SP-5 0010H 4890H WO-EX - A2SP-6 0011H 4901H WO-EX - A2SP-7 0012H 4680H TE-EX - TBU-0 WO-EX RBAN TOTAL OF 17 UNITS FAULTY UNIT 0 INCORRECT STATES 0

Example of nextln is as follows:

currentstr("OMU-0");?OMU_STATE = readstr(3);nextln(1);?UNIT2 = readstr(0);currentstr("TOTAL");prevln(2);?LAST_STATE = readstr(2);currentln;

Page 71: NED[1]

DN02143068 71

Executing MML Commands

Id:0900d80580670214Confidential

3.17 Exit statements in MML macrosThe execution of an MML macro is terminated with a statement that only contains the keyword 'exit'. This statement need not be the last statement of the execution part of the MML macro in question. An MML macro must contain at least one exit statement.

Example of an exit statement is as follows:

: IBC:,,?FILENAME,?EXTENSION; if error then; write_term( NL, "/*** CANNOT COPY FILE, CHECK INPUT ***/", NL ); wait; fi; : exit;

Page 72: NED[1]

72 DN02143068

Executing MML Commands

Id:0900d80580670217Confidential

3.18 Execution of MML macrosTo execute an MML macro, start the macro by entering its name and parameters. Parameter values must be given in the same order in which they are presented in the header of the macro. The parameter guide helps you to enter the parameters in the correct order. Confirm the execution of the commands in the macro if the system asks for a confirmation.

The execution printouts may be displayed on the screen of the MML terminal you are using (the printouts are controlled by command language directives, which are included in the macros). After the macro is executed, the MAIN LEVEL COMMAND prompt is dis-played. The MML commands executed by the macro are written to the MML command log. The log contains both the commands that succeeded and those that failed.

There are two methods that can be used to execute an MML macro: the short start-up method and the long start-up method. The short start-up-method lets you use command menus and, instead of the whole name of the macro, you can identify the macro by a part of its name.

Error situations with MML macrosShould an error occur during the execution of an MML macro, the execution either ter-minates or continues, or the system asks you whether you want the execution of the macro to continue or not. An error message may be displayed on the screen of the MML terminal. These actions are determined by the command language directives.

Page 73: NED[1]

DN02143068 73

Executing MML Commands

Id:0900d8058067021aConfidential

3.19 Short start-up method for MML macrosYou can start the macro either step-by-step using command menus and the parameter guide or without using the system's help.

Identify the macro by three characters in its name: the identifiers of the command class and the MML macro group, and the command letter (that is, the fourth, fifth and sixth characters). These letters are included in the command menus. For example, a macro named TSTI1OGE is identified by characters I1O.

The parameters can be entered as follows:

• All parameters on the same line after command characters and a colon (:). • All parameters after the command character line, on lines of their own as indicated

in the parameter guide. • Some on the first line and the rest on lines of their own as indicated in the parameter

guide.

End each part that is entered in a line of its own, by pressing the CR (carriage return).

g As the MML command group can also be presented as a number, an MML command and an MML macro with the same command group number may exist. In this case only the MML command is shown in the command menu and only the MML command is exe-cuted. The MML macro can be executed only using the long start-up method.

You can start the MML macro in the MML session in the same way as the MML command, by using command characters shown in the menu, or straight at the MAIN LEVEL COMMAND level by writing all three MML macro command characters one after another.

Page 74: NED[1]

74 DN02143068

Executing MML Commands

Id:0900d8058067021dConfidential

3.20 Long start-up method for MML macrosIn the long start-up method, run the MML macro at the MML session MAIN LEVEL COMMAND level. The start command starts with @ character and is followed by the MML macro name and parameters.

The parameters can be entered in two ways:

• after the MML macro name, in brackets • after the MML macro name, on different lines, every parameter on a line of its own

as indicated in the parameter guide.

You can also enter only some of the parameters on the same line with the macro name and the rest of the parameters on lines of their own.

End each line by pressing the CR (carriage return). If all parameters are written on the same line as the MML macro name, a semicolon (;) can be written as the last character on the line, before the CR.

If there is no extension part, the MML system searches the disk for a macro with the extension EMM.

Below is an example of a long start-up method for the MML macro.

In an MML macro, the header part and parameter definition are in form:

KCHI1CGE( ?SYSTEM: DIG1=?OLD_SUB, DIG2=?NEW_SUB: ?OLD_DP, ?NEW_DP ); declaration ?SYSTEM "/* IDENTIFY SYSTEM */", ?OLD_SUB "/* OLD SUBSCRIBER NUMBER, DIG1= */", ?NEW_SUB "/* NEW SUBSCRIBER NUMBER, DIG2= */", ?OLD_DP, ?NEW_DP "/* NEW DECIMAL POSITION NUMBER */";

The user enters on the MML terminal

• either the entire command once:

MAIN LEVEL COMMAND <___> < @KCHI1CGE(LAB: DIG1=70005, DIG2=80005: 5, 45 ); <CR>

The MML macro starts running. • or the parameters separately:

MAIN LEVEL COMMAND <___> < @KCHI1CGE <CR> /* IDENTIFY SYSTEM */ LAB <CR> /* OLD SUBSCRIBER NUMBER, */ 70005 <CR> /* NEW SUBSCRIBER NUMBER, */ 80005 <CR> OLD_DP? 5 <CR> /* NEW DECIMAL POSITION NUMBER */ 45 <CR>

Page 75: NED[1]

DN02143068 75

Executing MML Commands

Id:0900d8058067021dConfidential

:

The MML macro starts running.

Page 76: NED[1]

76 DN02143068

Executing MML Commands

Id:0900d80580670220Confidential

3.21 Testing MML macrosPurposeWhen testing MML macros, the general procedure for functional testing is followed. Special attention should be paid to the syntax and semantics of the MML commands used in the macros, and to the dynamics of the responses.

As the command language used in the MML macros is a programming language, the conventional program code problem areas should be checked carefully: uninitialised variables, inadequate stop conditions for loops, overflows in arithmetic operations, and so on. Other potential trouble areas include the MML commands (syntax and seman-tics), and the command routines that handle the responses.

The command language has a few commands to offer to aid testing. The directives related to echoing (echo_on, echo_off, trace_on and trace_off) are designed for testing macros, as are the MML macro stop statements (delay and wait). In addition, the output statement (write_term) can be used for the interim outputs of a test, and they are then removed from the MML macro when testing has been completed.

Steps

1 Follow the general procedure for functional testing

Expected outcomeAn MML macro is tested.

Page 77: NED[1]

DN02143068 77

Executing MML Commands

Id:0900d80580670223Confidential

3.22 Installing MML macrosPurposeAn MML macro is set to the system by copying the main macro and submacros, if any, to the MMDIRE directory on the system disk and spare disk of the OMU functional unit.

If the user wishes to run the short start-up method in the future, the MEN*.MIF file menus have to be deleted from the MMDIR directory on the system and spare disk, and the functional unit has to be restarted. Shortly after the start up has ended, the MMI system in the functional unit has created new menu files that include the new MML macro.

The macros are ASCII files so that they can be output in the system by using the IWX command and edited by using the IEE command. However, the MML macros created by Nokia Siemens Networks cannot be edited by using the IEE command.

Steps

1 Copy the main macro (and the submacros) to the MMDIRE directory

Expected outcomeMML macros are installed.

Page 78: NED[1]

78 DN02143068

Executing MML Commands

Id:0900d80580670226Confidential

3.23 Listing MML macros PurposeThis procedure gives instructions on how to list MML macros.

Steps

1 List the MML macros in the system (IWX)ZIWX::<drive>:<subdir>:<filename>,<extension>;

Example: As the extension of MML macros is EMM and as they are stored in the MMDIRE directory, the following command displays all the MML macros in the system:

ZIWX::WS:MMDIRE:%,EMM;

Expected outcomeThe MML macros are listed.

Page 79: NED[1]

DN02143068 79

Executing MML Commands

Id:0900d80580670229Confidential

3.24 Executing an MML macroPurposeWhen you have entered the macro start command with parameters, if any, the MMI system starts the MML macro run. The MMI system writes the MML command logs, in the MML macro, in the log file in the system in which the MML macro is run.

The command language directives can be used to set the macro's software execution messages for the MML commands. The executed sentences (echo check) of the command language can be set to be output on the same MML terminal on which the MML macro was started. If an error occurs in the execution part of the macro run, for example, the MML command syntax is false, one of the following ways to continue has been defined by using the error situation directive.

• The execution of the MML macro is stopped and the program returns to the call level of the macro in question.

• The MML macro execution is continued or • the program asks the user whether the MML macro execution is continued (Y) or not

(N).

If the MML program to be run requests a confirmation of the execution, a confirmation of the MML command with a directive is a software procedure A or B:

A the program requests a confirmation from the user for the command to be executed (Y or N)

• If the user has confirmed the command (Y), the program asks the user whether to stop every time confirmation is required from the user, or whether the program answers Y automatically.

• If the user has not confirmed the command (N), next time confirma-tion is required, the program proceeds as in A.

B the command is automatically confirmed (Y) and the program does not stop or echo the confirmation request.

Once the MML macro is run, the MAIN LEVEL COMMAND prompt is output on the terminal and you can continue to enter commands on the MML terminal.

Example: Copying file from source directory to destination directory on both disksThe following MML macro example copies the needed file from the source directory to the destination directory on both disks. If something goes wrong in the MML macro exe-cution, the start situation is restored.

/* @(#)MID: TSTI1OGE.EMM 1.1-0 00/06/01 */$I ..... I/O SYSTEM ADMINISTRATION$1 ..... TEST MACROES$O ..... COPY FILE FROM SOURCE TO DESTINATION DIR

TSTI1OGE( ?FILENAME, ?EXTENSION, ?SOURCE, ?DEST );

declaration ?FILENAME(10)"/* GIVE FILENAME TO BE COPIED */",

Page 80: NED[1]

80 DN02143068

Executing MML Commands

Id:0900d80580670229Confidential

?EXTENSION(3)"/* GIVE EXTENSION OF FILENAME */", ?SOURCE(10)"/* GIVE SOURCE DIRECTORY */", ?DEST(10)"/* GIVE DESTINATION DIRECTORY */";

/****************************************************************** This MML macro copies needed file from source directory to* destination directory on both disks.******************************************************************** 1 In case of error continue executing macro* 2 Only MML macro output's are shown* 3 When MML requires confirmation automatically use 'Y'* 4 Set source directory* 5 Set destination directory* 6 Copy file from source to destination directory* 7 If copying fails then output error text* 8 If copied successfully output text*****************************************************************/

on_error continue; /* 1 */output_off; /* 2 */on_confirm continue; /* 3 */

IWY:S:PATH=?SOURCE; /* 4 */

IWY:D:PATH=?DEST,DRIVE=WDU-SB; /* 5 */

IBC:,,?FILENAME,?EXTENSION; /* 6 */

if error then; write_term( NL, "/*** CANNOT COPY FILE, CHECK INPUT ***/", NL ); /* 7 */else; write_term( NL, "/* ", ?FILENAME, ".", ?EXTENSION, " COPIED SUCCESSFULLY FROM ",

Page 81: NED[1]

DN02143068 81

Executing MML Commands

Id:0900d80580670229Confidential

?SOURCE, " TO ", ?DEST, " */", NL ); /* 8 */fi;

exit;

Steps

1 Execute an MML macroSelect one of the following alternatives:

• Execute an MML macro without using the system's help (short start-up method)a) Type the three characters that identify the macro, a colon (:) and the parameters b) Complete the command by entering a semi-colon (;)

• Use the parameter guide to execute an MML macro (long start-up method)a) Enter @ and the whole name of the macro at the main level

For example, enter @TSTI1OGE. The macro used in the examples copies the needed file from the source direc-tory to the destination directory on both disks. The parameter guide is displayed. For example, the following guide can be dis-played:

/* GIVE FILENAME TO BE COPIED */

b) Enter the parameters that the parameter guide asks you to enterc) Enter a semi-colon (;) to complete the command when the system asks you to

execute the macro. To not to execute the macro, enter N instead of the semi-colon.

• Execute an MML macro without using the system's help (long start-up method)a) Enter @, the macro name, the parameters, and a semi-colon at the main level

Enter the parameters in parentheses.Example: For example, to start the TSTI1OGE macro that copies the needed file HILTON from the source directory to the destination directory, enter:@TSTI1OGE(HILTON,TXT,MMDIRE,BLCODE);

Expected outcomeAn MML macro is executed.

Page 82: NED[1]

82 DN02143068

Executing MML Commands

Id:0900d8058067022cConfidential

3.25 Displaying the contents of an MML macroPurposeThis procedure gives instructions on how to display the contents of an MML macro.

Steps

1 Define the directory in which the macro is located (IWY)MML macros are stored in the MMDIRE directory.

ZIWY:S:PATH=MMDIRE;

2 Display the contents of the macro (IBT)Display the contents of the macro in ASCII form.

ZIBT:<source unit identifier>,<source unit number>,<file name>, <file name extension>,,,,<type mode>;

Example: The following example displays the contents of the TSTI1OGE macro:

ZIBT:WDU,S,TSTI1OGE,EMM,,,,A;

Expected outcomeThe contents of an MML macro are displayed.

Page 83: NED[1]

DN02143068 83

Executing MML Commands MML command logs

Id:0900d80580670253Confidential

4 MML command logs

4.1 MML command logThe MML commands that are executed during a particular MML session are written to an MML command log, which also contains other information on the MML session. The command log can be used, for example, to list the commands that were given before an error occurred. It can also be used as a basis of a disk command file.

The MML command log consists of files that contain information (for example the exe-cution result) on the MML commands whose execution has started, the MML session, the network element, and the user identity of the person who executed the commands. This information is network element specific. The commands executed by the command calendar or using disk command files or MML macros are also written to the log.

You can use the MML commad log:

• to examine what MML commands you executed during a certain period of time, for example, before an error occurred or before you had a break. The commands also include those you added to the command calendar and those you executed using a command file or an MML macro. The log also shows the starting and ending time of command execution, its result, the MML session in which the command was executed and several other things.Each user is authorised to display his or her command log. Some users can also be authorised to examine others' command logs.

• to transfer command log information in CSV (Comma Separated Values) format to other applications (for example, spreadsheet and database programs).

• to create a command file. If you need to execute the same commands you have executed during a certain period of time, an easy way to create a command file is to output the commands from the MML command log to a file and to use the file as a basis of a command file.

You can use PRFILE parameters to modify the MML command log, that is, its storing time, disk space consumption, removal time and disk updating load. All the parameters are in parameter class 38 (MML command log).

If you do not enter any parameters, the command displays all the information concerning the commands you have executed during the current day in text format.

Use the parameters to specify in more detail:

• the time period included in the printout. • the kind of information included in the printout. You can specify:

1. MML commands and command groups.2. types of log records. The records give information either on the starting or

ending of an MML session or an MML command.3. the execution result the commands have to have in order to be included in the

printout. You can include commands that were executed, aborted, ignored, commands that were executed and that started a function, commands that were not authorised or commands that failed.

4. the usernames or user groups whose log information is displayed if you are authorised to display their log information. The user groups are formed on the basis of the username profiles.

Page 84: NED[1]

84 DN02143068

Executing MML Commands

Id:0900d80580670253Confidential

MML command logs

Printout in text formComment tokens /* and */

All the other information except for MML commands is written between the comment tokens /* and */. However, if commands that cannot be executed using a command file are printed to the file, the file will not be executed.

The meaning of the MML command log information on different lines is as follows:

First line displays the name of the network element you are using, its type, your user ID, the date and time when the output was created.

/* RNC007 RNC SYSTEM 2000-05-20 20:33:35 */

Other lines contain command log records. These records give information on the starting or ending of either an MML session or MML command. There are four types of log records:

1. MML session start record, marked with number one (1)

/* 1 RNC007 RNC VTP-1 SESSION=00001 USERID=USER27STARTED 2000-05-20 20:27:40 */

2. MML session end record, marked with number two (2)

/* 2 RNC007 RNC VTP-1 SESSION=00001 USERID=USER27ENDED 2000-05-20 20:33:45 */

3. MML command execution start record starts from the beginning of a line. It is not marked with any characters. The record consists of two lines: the first line indicates the MML command and the second line the MML session, user ID, date and time.

WQO;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:28:06 */

4. MML command execution end record, marked with number four (4) or number four and the lower case c (4c), which stands for continuation line.

Purpose Parameter in class 38

Value range Default

storing time, disk space consump-tion

1 3 to 30 days 3 days

number of files stored, disk space consumption

2 5 to 30 000 files 30 000 files

removal time of old log files:

removal hour 3 00 to 23 hours 01 a.m.

removal minutes 4 00 to 59 minutes 25 minutes past the hour.

time the log is in the internal write cache, disk updating load

0 10 to 600 seconds 60 seconds

Table 5 PRFILE parameters affecting the MML command log

Page 85: NED[1]

DN02143068 85

Executing MML Commands MML command logs

Id:0900d80580670253Confidential

/* 4 WQO; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:28:13 */

The following table indicates the kind of information in each record:

Below is an example of the printout.

/* RNC007 RNC SYSTEM 2000-05-20 20:33:35 *//* 1 RNC007 RNC VTP-1 SESSION=00001 USERID=USER27STARTED 2000-05-20 20:27:40 */WQO;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:28:06 *//* 4 WQO; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:28:13 */IID::MMLLOG;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:28:57 *//* 4 IID::MMLLOG; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:28:58 */IGO:;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:29:04 *//* 4 IGO:; *//* 4c COMMAND EXECUTED *//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:29:05 */USC:OMU:TE,:;/* 3 SESSION=00001 USERID=USER27 2000-05-20 20:32:47 *//* 4 USC:OMU:TE,:; *//* 4c COMMAND ABORTED *//*** ERROR: 795 ***/

Information Session starts (1) Session ends (2) Command starts (two lines)

Command ends (4 or 4c)

type of log record + + + +

username + + + +

terminal name + + - -

session number + + + +

date and time (yyyy-mm-dd)

+ + + +

MML command - - + +

execution result - - - +

execution failure code

- - - +

execution failure text

- - - +

Table 6 Information given in each command log record

Page 86: NED[1]

86 DN02143068

Executing MML Commands

Id:0900d80580670253Confidential

MML command logs

/*** TRANSITION NOT CONTROLLED ***//* 4c SESSION=00001 USERID=USER27 2000-05-20 20:32:49 *//* 2 RNC007 RNC VTP-1 SESSION=00001 USERID=USER27ENDED 2000-05-20 20:33:45 */

Printout in CSV form The CSV printout contains two kinds of records: start and end records. The start record is marked with S and the end record with E. Both records contain the following informa-tion:

• type of record, S=start record, E=end record • name of network element • type of network element • user ID • name of terminal • number of MML session • date in format: D.M.YYYY • time in format HH:MM:SS • MML command • MML command execution status (S=succeeded command, F=failed command)

Below is an example of the printout.

S;RNC007;RNC;USER27;VTP-1;00001;5.3.2000;12:35:16;"IAL;";;E;RNC007;RNC;USER27;VTP-1;00001;5.3.2000;12:35:17;"IAL;";S;

Page 87: NED[1]

DN02143068 87

Executing MML Commands

Id:0900d80580670234Confidential

4.2 Modifying storing time of MML command log PurposeTo modify the storing time, use the PRFILE parameter 1/38 (parameter 1 in parameter class 38). The default storing period is the current day plus 3 days. The value range is 3 to 30 days.

Steps

1 Display the parameters in parameter class 38 (WOI)ZWOI:38;

2 Modify the value of parameter 1 in parameter class 38 (WOC)ZWOC:38,1,<value>;

Expected outcomeThe storing time of the MML command log is modified.

Page 88: NED[1]

88 DN02143068

Executing MML Commands

Id:0900d80580670237Confidential

4.3 Modifying MML command log disk space consumptionPurposeTo modify the command log's disk space consumption, modify its storing time using the PRFILE parameter 1/38.You can also modify the number of log files stored using the PRFILE parameter 2/38, but it is recommended that only the storing time should be modified. The default number of files stored is 30 000. The value range is 5 to 30 000 files.

The disk space consumption of the MML command log depends on its storing time. The log takes up a minimum of 400 kB a day (it requires the space immediately after it has been created). Since the minimum storing time is 4 days, the log will take up at least 4 x 400 kB, ie. 1.6 MB. If writing to the log fails because the system is out of disk space, the alarm 2683 is set.

g Because the parameter value parameter for the WOC command is a hexadecimal, the decimal value, for example 60, can be entered as D'60.

Steps

1 Display the parameters in parameter class 38 (WOI)ZWOI:38;

2 Modify the value of parameter 1 in parameter class 38 (WOC)ZWOC:38,1,<value>;

Expected outcomeThe disk space consumption of the MML command log is modified.

Page 89: NED[1]

DN02143068 89

Executing MML Commands

Id:0900d8058067023aConfidential

4.4 Changing MML command log removal time PurposeThe old log files are deleted once a day. Since this operation places rather heavy a load on the OMU, it is recommended that other operations increasing the load should not be carried out at the same time.

To change the time when the old command logs are removed, use the PRFILE param-eters 3/38 and 4/38. The former sets the hour and the latter the minutes. The default time is 1:25 a.m.. The value ranges are 00 to 23 hours and 00 to 59 minutes.

Because the parameter value parameter for the WOCcommand is a hexadecimal, the decimal value, for example 10, can be entered as D'10.

Steps

1 Display the parameters in parameter class 38 (WOI)ZWOI:38;

2 Set the hour by modifying the value of parameter 3 in parameter class 38 (WOC)ZWOC:38,3,<value>;

3 Set the minutes by modifying the value of parameter 4 in parameter class 38 (WOC)ZWOC:38,4,<value>;

Expected outcomeThe MML command log removal time is changed.

Page 90: NED[1]

90 DN02143068

Executing MML Commands

Id:0900d8058067023dConfidential

4.5 Decreasing disk updating load of MML command logPurposeYou can decrease the load induced by the disk updating by modifying the PRFILE parameter 0/38. The load decreases when the value is increased. To display the current value, use the WOI command and to modify the value, use the WOC command. The value shows the length of time the log is in the internal write cache in seconds. If you modify the value, that is, lengthen the time, more log information may be lost in error situations.

Steps

1 Display the parameters in parameter class 38 (WOI)ZWOI:38;

2 Modify the value of parameter 0 in parameter class 38 (WOC)ZWOC:38,0,<value>;

Expected outcomeThe disk updating load of MML command log is decreased.

Page 91: NED[1]

DN02143068 91

Executing MML Commands

Id:0900d80580670240Confidential

4.6 Displaying MML command log informationPurposeThis procedure gives information on how to display MML command log information.

Steps

1 Display information stored in the command log (IGO)For example, to display the log information concerning the MML sessions you have opened today in text form, enter:

ZIGO;

Example: Displaying the log information concerning the MML sessions opened during a certain time periodThe following command displays the log information concerning your MML sessions on June 15th 2000 from 12 pm to 4 pm in text form.

ZIGO:2000-06-15,12-00,,16-00;

Expected outcomeMML command log information is displayed.

Page 92: NED[1]

92 DN02143068

Executing MML Commands

Id:0900d80580670243Confidential

4.7 Printing MML command log information to disk filePurposeYou can print information stored in the MML command log to disk file using the filename parameter of the IGO command. If you want to use the file as a disk command file, you must copy it to the MMDIRE directory and name it so that the exten-sion is CMD. If you want to edit the file, use the IEE command.

Before you startNote that if you create a semipermanent logical file in step 3, you can start from step 5 later in other MML sessions. The information is printed to the same file you created in step 1.

Steps

1 Create MMDIRE/MLOGS directory (IWL)ZIWL::WS,:MMDIRE:MLOGS;

2 Create a disk file (IWC)The size of the file depends on the size of the log: for example, in most network ele-ments, a command log created during a day may contain up to 100000 characters.

The following command creates a file called COMNDLOG in the MMDIRE/MLOGS direc-tory. The file is stored on the system disks, its extension is LOG.

ZIWC::WS:MMDIRE,MLOGS:COMNDLOG,LOG;

3 Create a logical file (IIF)If you only print via this logical file during the current MML session, create a temporary logical file: it will be deleted after the session (or a reset). If you want to print via this logical file later in other MML sessions, create a semipermanent logical file. To specify whether the file is temporary or semipermanent, use the logical file class parameter (T=temporary, S=semipermanent).

The following command creates a semipermanent logical file named PRINTLOG.

ZIIF::PRINTLOG,S:DEV=WDU-S;

4 Link the logical file to the disk file (III)The following command links the PRINTLOG logical file to the COMNDLOG file.

ZIII::PRINTLOG:,MMDIRE,MLOGS:COMNDLOG,LOG;

5 Print log information to file (IGO) Give the name of the logical file as the value of the filename parameter.

ZIGO::::OUTPUT=PRINTLOG;

If the file has been used earlier, you can empty it using the IWE command.

Page 93: NED[1]

DN02143068 93

Executing MML Commands

Id:0900d80580670243Confidential

Expected outcomeThe MMl command log information is printed to a disk file.

Page 94: NED[1]

94 DN02143068

Executing MML Commands

Id:0900d80580670246Confidential

4.8 Closing the MML command logPurposeAfter closing a log file, a new one is opened. This command can be used, for example, when you backup copy the software build and want to include the exact copy of the log made before a particular time.

Steps

1 Close the current command log file (IGK)ZIGK;

Expected outcomeThe command log file is closed.

Page 95: NED[1]

DN02143068 95

Executing MML Commands

Id:0900d80580670249Confidential

4.9 Monitoring of the starting and ending of MML command execution PurposeYou can monitor the starting and ending of MML command execution by printing the information to a file or an output device (not the MML terminal).

g Do not connect MMLLOG to the alarm printer.

Steps

1 Print the information to a file or an output deviceTo print the information, link the MMLLOG logical file to a file or connect it to an output device. For instructions on how to link and connect logical files, see Interrogating con-nections by a logical file

Expected outcomeInformation is printed to a file or an output device.

Page 96: NED[1]

96 DN02143068

Executing MML Commands

Id:0900d8058067024cConfidential

4.10 Transferring MML command log information to the post-processing system using FTP or SFTPPurposeMML command log information can be transferred from a network element to the post-processing system using FTP or SFTP and an appropriate command of the postpro-cessing system.

Before you startWhen using FTP or SFTP, IP must be configured both in the network element and the other postprocessing system.

Steps

1 Print the log information to a fileFor instructions, see Printing MML command log information via a logical file.

2 Transfer the information to a postprocessing systemWhen using FTP or SFTP, use an appropriate command of the other postprocessing system.

Expected outcomeMML command log information is transferred to the postprocessing system.

Page 97: NED[1]

DN02143068 97

Executing MML Commands

Id:0900d80580670250Confidential

4.11 Printing MML command log information via a logical filePurposeThis procedure gives instructions on how to print MML command log information via a logical file.

g If you create a semipermanent logical file in step 3, you can start form step 5 later in other MML sessions. The information is printed to the same file you created in step 1.

Steps

1 Create MMDIRE/MLOGS directory (IWL)ZIWL::WS,:MMDIRE:MLOGS;

2 Create a file in the MMDIRE/MLOGS directory (IWC)The size of the file depends on the size of the log: for example, in most network ele-ments, a command log created during a day may contain up to 100000 characters.

The following command creates a file called COMNDLOG in the MMDIRE/MLOGS direc-tory. The file is stored on the system disks, its extension is LOG.

ZIWC::WS:MMDIRE,MLOGS:COMNDLOG,LOG;

3 Create a logical file (IIF)If you only print via this logical file during the current MML session, create a temporary logical file: it will be deleted after the session (or a reset). If you want to print via this logical file later in other MML sessions, create a semipermanent logical file. To specify whether the file is temporary or semipermanent, use the logical file class parameter (T=temporary, S=semipermanent). The following command creates a semipermanent logical file named PRINTLOG:

ZIIF::PRINTLOG,S:DEV=WDU-S;

4 Link the logical file to the file you created (III)The following command links the PRINTLOG logical file to the COMNDLOG file.

ZIII::PRINTLOG:,MMDIRE,MLOGS:COMNDLOG,LOG;

5 Print the desired log information to the file (IGO)Give the name of the logical file you created as the value of the filename parameter.

ZIGO::::OUTPUT=PRINTLOG;

If the file has been used earlier, you can empty it using the IWE command.

6 Transfer the fileWhen using FTP or SFTP, use the appropriate command of the other application.

Expected outcomeMML command log information is printed via a logical file.

Page 98: NED[1]

98 DN02143068

Executing MML Commands

Id:0900d80580757dccConfidential

MML disk command files

5 MML disk command files

5.1 Disk command files in MMLDisk command files let you execute MML command sequences. You can use them to automate routine tasks that do not need to be supervised. Disk command files are useful in carrying out tasks that are time-consuming.

Disk command files can be executed immediately or at a predefined moment. If you want to execute a file immediately, use the IDE command. If you want to execute a file at a predefined moment, either at a certain time or when an alarm occurs, add it to the command calendar. Only one disk command file can be executed at a time. The same file can be executed more than once.

A disk command file contains a list of MML commands and possibly also remarks. By executing a command file, you can execute all the MML commands in the file; the commands are executed one at a time, starting from the one at the top of the file. Comments can be written anywhere in the file, as long as they are written between comment tokens /* and */.

The commands can contain parameters to which you can give values when you execute the file. Such parameters are indicated by an asterisk (*) and a number ranging from 1 to 8, for example, *1 (see the USI command in the example below). The same number can only be used once in the same file to represent a parameter value. Information on the commands whose execution has started is written to the MML command log. Below is an example on the contents of a disk command file:

IID:;/*displays information on logical files*/DCD:;USI:*1;IHI:;

Disk command files can be created and edited using the system's disk file editor. If you want to execute the same commands or some of the commands that you executed during a particular MML session, you can use the MML command log as a basis of a command file.

Commands for handling disk command files are in the IDcommand group. By using these commands you can:

• execute a disk command file (IDE). • stop command file execution (IDS). • display the contents of a disk command file (IDL).

Unlike most MML commands, the default output device of the execution printouts of the IDE command is not always the MML terminal. The MML terminal is the default output device only if you chose to confirm the execution of the commands in the command file by giving VDU as the value of the output connection parameter. If you did not give a value to this parameter, the default output device is the PRINTER0 logical file, which is normally connected to the printer VPP-0; that is, the default output device in such a case is this printer. By using the output connection and logical output file parameters of the IDE command, you can direct the printouts either to the MML termi-nal, to a printer or to both of them. You can also save the printouts in a disk file.

Page 99: NED[1]

DN02143068 99

Executing MML Commands MML disk command files

Id:0900d80580757dccConfidential

When executing disk command files, the only obligatory parameter is file name, which identifies the file. You can use the other parameters to do the following:

Identify I/O device Identify the I/O device on which the file is stored using parameters I/O device type and I/O device index.

Determine the commands to be executed You can execute all the commands in a disk command file or only some of them; to identify the first and the last commands you want to execute, use parameters start command index and stop command index. The default value is that all the commands are executed

Terminate command file execution when a command fails If you want the execution of the file to terminate in case one of the commands in the file fails, give INT (which stands for interruptable) as the value of the command file type parameter. The default value is that the execution of the file does not terminate.

Determine that command execution is confirmed by you Disk command files can contain MML commands whose execution has to be confirmed. For example, before the IBC command is executed, the following text is dis-played: CONFIRM COMMAND EXECUTION: Y/N ? When such a command is in a disk command file, its execution can be confirmed either by the user or by the system. The default value is that the system confirms command execution by responsing positively (Y). If you want to confirm command execution, give VDU as the value of the operation mode parameter.

Determine that command to be printed to output device By default, commands are not printed to output device. To print commands to output device, you can set the commands to output parameter (CMNDS) to YES when you execute command file. When command execution fails or the given command is incorrect, error information and notice message will be printed.

Page 100: NED[1]

100 DN02143068

Executing MML Commands

Id:0900d80580670258Confidential

5.2 Listing MML disk command files in the system PurposeThis procedure gives instructions on how to list MML disk command files in the system.

Steps

1 List disk command files in the system (IWX)ZIWX::<drive>:<subdir>:<filename>,<extension>;

Example: Listing disk command files in the MMDIRE directoryThe files should be stored in the MMDIRE directory of the system disk. Their extension is CMD.

ZIWX::WS:MMDIRE:%,CMD;

Expected outcomeThe MML disk command files are listed.

Page 101: NED[1]

DN02143068 101

Executing MML Commands

Id:0900d8058067025bConfidential

5.3 Displaying the contents of a disk command file in MMLPurposeThis procedure gives instructions on how to display the contents of a disk command file in MML.

Steps

1 Display the contents of a disk command file (IDL)ZIDL:<I/O device type>,<I/O device index>,<command file name>, START=<start command index>,STOP=<stop command index>;

Example: Displaying commands in a disk command fileThe following example displays commands 2-20 in a disk command file named COMMANDS, which is located in the floppy disk unit 1 (FDU 1) of its own unit:

ZIDL:FDU,1,COMMANDS:START=2,STOP=20;

Expected outcomeThe contents of a disk command file are displayed.

Page 102: NED[1]

102 DN02143068

Executing MML Commands

Id:0900d8058067025eConfidential

5.4 Creating a disk command file using the system's disk file editor in MMLPurposeThis procedure gives instructions on how to use the system's disk file editor to create a disk command file.

Before you startIf you need to execute the same commands that you executed during a particular MML session, an easy way to create a disk command file is to use an MML command log as the basis of the file.

Disk command files can also be created and modified by using the commands for handling the command calendar. If you want to create a disk command file that contains one MML command and add it at the same time to the command calendar, use the ICI command. If you want to modify a disk command file that is already in the command cal-endar, use the ICM command.

The name of a disk command file can contain a maximum of eleven characters. The first character must be alphabetic and the others can be alphabetic or numerical. The exten-sion of the file must always be CMD. The name can only contain uppercase letters. The name can be, for example, TESTFILE.CMD.

Disk command files must be stored in the MMDIRE directory of the system disk if they are to be executed from the command calendar; otherwise, they cannot be executed. The files can be stored in the MMDIRE directory if they are only to be executed using the IDE command.

Steps

1 Create a disk command file using the system's disk file editor (IEE)After the command is entered, the disk file editor starts.

ZIEE:<disk>:<subdir>:<file name>,<file name extension>;

2 Exit the editor When no more characters can be written to the file, you hear a sound. To exit the editor, press CTRL-Z. After that, you are asked whether you want to save the changes. To save the changes, enter Y. If you do not want to save them, enter N. Note that even if you do not save the changes, the file is created. If you edit a file that was created earlier and save the changes, the original file is also saved, but its extension is changed to OLD. You can also quit editing by pressing CTRL-Y.

Further information

Example: Creating a disk command fileThe following command creates a disk command file named DKFILE and stores it in the MMDIRE directory.

ZIEE:WS:MMDIRE:DKFILE,CMD;

Expected outcomeA disk command file is created.

Page 103: NED[1]

DN02143068 103

Executing MML Commands

Id:0900d8058075265fConfidential

5.5 Executing disk command files in MMLPurposeThis procedure gives instructions on how to execute disk command files in MML.

Before you startThe MMDIRE directory must exist on the disk. If this directory does not exist on the disk, you can create it using the IWL command.

Steps

1 Execute a disk command file (IDE)ZIDE:<file name>;

Further information

Example: Executing a command fileThe following command executes the BACKUP command file, which is located on the hard disk (WDU) of the OMU. Command execution is terminated if one of the commands in the file fails, which is indicated by the command file type parameter (CTYPE=INT). The first command to be executed is the 10th command in the file and the last is the 15th. The default value is that execution printouts are directed via the PRINTER0 logical file to an output device. Commands are printed to output device if the commands to output parameter (CMNDS) is set to YES.

ZIDE:WDU,,BACKUP:CMNDS=YES:CTYPE=INT,START=10,STOP=15;

Expected outcomeA disk command file is executed.

Page 104: NED[1]

104 DN02143068

Executing MML Commands

Id:0900d80580752659Confidential

5.6 Interrogating output devices of execution printouts in MMLPurposeThis procedure gives instructions on how to interrogate output devices of execution printouts.

When you execute a disk command file, you can direct its execution printouts using the output connection and logical output file parameters of the IDE command. The printouts can be directed to:

• the MML terminal • the PRINTER<N> (where <N> is a digit) logical file

The printouts are directed via this logical file to the output device or file to which the logical file is connected. Normally, the printouts are directed to a printer. You can also direct the printouts to some other output device: for example, you can save them in a disk file.

• both the MML terminal and the PRINTER<N> (where <N> is a digit) logical file.

Steps

1 Display printer connections (IID)ZIID::<logical file name>;

Example: Displaying information on the PRINTER0 logical fileZIID::PRINTER0;

Expected outcomeThe interrogation of output devices of execution printouts is successful.

Page 105: NED[1]

DN02143068 105

Executing MML Commands

Id:0900d80580670267Confidential

5.7 Giving parameter values to MML commands in a disk command filePurposeThe commands in a disk command file can contain parameters to which you can give a value when you execute the file. Such parameters are represented by an asterisk and a number (for example, *1) in the command file. To give a value to this type of a parame-ter, give the value to the replacing parameter of the IDE command. For example, a command file may contain the following command:

USI:*1;

This command interrogates unit state information and *1 represents the value of the unit type parameter. When you execute the file, give the value of this parameter to the replacing parameter of the IDE command. For example, to interrogate the states of the OMU, give OMU as the value of replacing parameter (PAR1="OMU"). Note that the value of the replacing parameter must be given in parentheses and that the number in the parameter name (for example, PAR1) must be the same as the one representing the parameter in the command file (for example, *1).

Steps

1 Give parameter values (IDE)ZIDE:<I/O device type>,<I/O device index>,<command file name>:PRTNR=<logical output file>,PAR1=<replacing parameter>;

Further information

Example: Executing a command file on the hard disk of OMU and directing the printoutsThe following command executes the COMMANDS command file on the hard disk 0 (WDU 0) of the OMU. The parameter value represented by *1 in the command file is replaced by OMU; this value is given to the replacing parameter parameter (PAR1="OMU"). The execution printouts are directed to an output device via the PRINTER1 logical file.

ZIDE:WDU,0,COMMANDS:PRTNR=1:PAR1="OMU";

Expected outcomeThe parameter values are given.

Page 106: NED[1]

106 DN02143068

Executing MML Commands

Id:0900d8058067026aConfidential

5.8 Stopping the execution of a disk command file in MMLPurposeThis procedure gives instructions on how to stop the execution of a disk command file.

Steps

1 Stop the execution of a command file (IDS)ZIDS:<file name>;

Further information

Example: Stop the execution of command file TESTFILEZIDS:TESTFILE;

Expected outcomeThe execution of a disk command file is stopped.

Page 107: NED[1]

DN02143068 107

Executing MML Commands

Id:0900d8058067026dConfidential

5.9 Saving execution printouts of a disk command file in a disk file in MMLPurposeThis procedure gives instructions on how to save execution printouts of a disk command file in a disk file in MML.

Before you startIt is recommended that you link the PRINTER0 logical file to a ring file, because ring files do not fill up; instead, when there is no more space in the file, the newest data replaces the oldest.

Steps

1 Link the PRINTER<N> logical file to a disk file

a) Create a disk file to which the execution printouts are directed (IWC)The following command creates a disk file named CFILE. The file is stored in the MMDIRE directory on both system and backup disks. The extension of the file is LOG.ZIWC::WS:MMDIRE:CFILE,LOG;

b) Connect hard disk and backup disks to the PRINTER<N> logical file (IIS)Add the hard disk of the system and backup disks as an object to the PRINTER<N> logical file.ZIIS::PRINTER<N>::DEV=WDU-S;

c) Link the PRINTER<N> logical file to the disk file (III)The following example links PRINTER<N> to the CFILE disk file in the MMDIRE directory. The extension of the file is LOG and the file is a ring file.ZIII::PRINTER<N>:,MMDIRE:CFILE,LOG,,RF;

2 Direct execution printouts to the disk file via PRINTER<N> logical file (IDE)When you execute the IDE command, use the output connection and logical output file parameters to determine that the execution printouts are directed to the disk file via the PRINTER<N> logical file.

Expected outcomeThe execution printouts of a disk command file are saved in a disk file.

Page 108: NED[1]

108 DN02143068

Executing MML Commands

Id:0900d80580670270Confidential

5.10 Preventing the saving of execution printouts of a disk command file in a disk file in MMLPurposeIf you have directed the execution printouts of the IDE command to a disk file, you can prevent their printing to this file by removing the link between the PRINTER<N> (where N is a digit) logical file and the disk file.

Before you startThe link between the PRINTER<N> logical file and a disk file has been created earlier.

Steps

1 Remove the link between PRINTER<N> logical file and the disk file (III)The following command removes the link between PRINTER<N> and the CFILE disk file.

ZIII::PRINTER<N>;

2 Remove the connection between the PRINTER<N> logical file and the hard disk (IIS)The following example removes the connection between PRINTER0 and the hard disk.

ZIIS::PRINTER0:DEV=WDU-S;

Expected outcomeThe saving of execution printouts of a disk command file in a disk file is prevented.

Page 109: NED[1]

DN02143068 109

Executing MML Commands MML command calendar

Id:0900d80580843760Confidential

6 MML command calendar

6.1 MML command calendarMML commands and disk command files that are added to the command calendar, together with their execution parameters, form calendar tasks.

Execution parameters determine factors related to the execution of a calendar task: for example, the execution time or the alarm that causes the execution of a task and the number of executions of a task. By modifying these parameters, you can, for example, change the execution time of a task.

Each user is authorised to display all the tasks in the calendar using the ICL command. The default will display all the tasks. By giving specific values to certain parameters of this command, you can select the types of tasks that you want to display. The printout can include tasks that:

• contain a command file • are executed at a particular time • are executed at a particular date • are executed when a particular alarm occurs • are in a particular queue.

If you display a command file that is being executed at the moment, the printout also includes the command that the file is executing.

The execution of a calendar task may sometimes start late. This is because the calendar needs an MML session to execute a task and, if no MML sessions are available, the exe-cution starts late. If no MML sessions become available despite the attempts of the calendar to execute the task, the task is blocked. Blocked tasks must be unblocked before they can be executed.

Calendar tasks are executed one at a time. Therefore, the execution of a task starts late if another task is being executed when the execution of the task in question should start.

The commands executed by the command calendar, including those in command files, are written to the MML command log.

Unlike most MML commands, the default output device of the execution printouts of calendar tasks is not the MML terminal but printer VPP-0.

The command calendar lets you execute MML commands and disk command files at a predefined moment, either once or repeatedly. When added to the command calendar, commands and disk command files are executed either at a certain time or when a certain alarm occurs; you do not need to be present during their execution.

If a task is not executed at the right moment, you can check whether the calendar is attempting to execute it by examining the queue in which the task is. If the task is in the execution queue (EXE), the task is being executed or the calendar is attempting to execute it.

The queue in which a calendar task is depends on the phase that is being carried out. By examining the queues, you can check whether a task:

• is being executed or going to be executed soon • has been executed • is blocked

Page 110: NED[1]

110 DN02143068

Executing MML Commands

Id:0900d80580843760Confidential

MML command calendar

• is unblocked.

When a task is added to the calendar, it is put either in:

• the time queue or • the event queue.

The former contains time-initiated tasks and the latter contains alarm-initiated tasks waiting for their execution.

When the execution of a task starts, the task is transferred to the execution queue; this queue contains the task that is being exeucted and those that the command calendar is attempting to execute.

These tasks are transferred to the wait queue after their last execution.

If the execution of a task fails, the task is transferred to the blocked commands queue. The only exception here are command files that are meant to be executed more than once and whose execution does not terminate when some of the commands in the file fails: such tasks are not blocked. These types of command files are marked with NOINT in the CFTYPE column of the printout produced by the ICL command.

The command calendar can be used to carry out routine tasks that do not need to be supervised, such as safecopying of files, producing output recurrently at a certain time and making certain changes (for example, changing the charging rates of a charging zone). The command calendar is useful, for example, when carrying out tasks repeat-edly at a certain moment or in carrying out tasks at an inconvenient time.

The execution printouts of calendar tasks must be directed to a functioning output device. For more information, see Directing the execution printouts of MML command calendar tasks.

You cannot use the ICI command to add commands that you are not authorised to execute to the calendar; nor can you add commands that cannot be executed by the calendar (for example, the IEE command, which starts the disk file editor). If you attempt to add such commands, an error message is displayed. The calendar lets you, however, add a command file that contains this type of a command, but it does not execute the command: the other commands in the file are executed normally unless otherwise defined.

You are authorised to use the other commands in the IC command group to handle the tasks that you have added to the calendar.

Page 111: NED[1]

DN02143068 111

Executing MML Commands

Id:0900d80580843758Confidential

6.2 Displaying the contents of the command calendar in MMLPurposeEach user is authorised to display all the tasks in the calendar using the ICL command. The default will display all the tasks. By giving specific values to certain parameters of this command, you can select the types of tasks that you want to display.

You can produce either a complete or a limited output: the default produces a limited output. To produce a complete output with more detailed information, give COM as the value of the listing form parameter.

The commands in the disk command files that are in the calendar can also be displayed. To display these commands, give the names of the command files as the value of the command file name parameter.

Steps

1 Display the contents of a command calendar (ICL)ZICL: <calendar task identifier>:<listing form>;

Example: Displaying a complete output of tasks with a certain identifierThe following command produces a complete output of tasks with identifiers ranging from 1 to 6.

ZICL:ID=1&&6:COM;

The execution printout of the command is as follows:

ID USER CMND CFILE QUE DATE TIME NBR PNBR PTYPE ALARM CFTYPE AUNIT DSTUN ASTATE DAYSCOMMAND=======================================================================1 SYSTEM IID - BLC 2000-02-01 19:00 1 - - - - - - - MO&WE&FR IID;----------------------------------------------------------------------------2 SYSTEM - BACKUPFILES TIM 2000-02-01 19:10 1 - - - NOINT - - - - -

----------------------------------------------------------------------------3 SYSTEM - BACKUPFILES TIM 2000-02-04 20:00 FOREV 1 WEEK - NOINT - - - FR - -----------------------------------------------------------------------------6 SYSTEM - ALASTATUS EVE - - - -- 2692 NOINT OMU - ALARM - - -----------------------------------------------------------------------------

COMMAND EXECUTED

The explanations of the headings presented on the first three lines are as follows:

ALARM alarm number

Page 112: NED[1]

112 DN02143068

Executing MML Commands

Id:0900d80580843758Confidential

AUNIT unit that detected the alarm

CFILE name of the disk command file

CFTYPE indicates whether the execution of a command file terminates when one of the commands in the file fails

CMND command letters of the command

COMMAND command letters and parameters of the command

DATE execution date

DAYS week days when the execution of a calendar task is allowed

DSTUN destination unit of the alarm

ID task identifier

NBR number of executions

PNBR number of periods

PTYPE type of period

QUE queue

BLC blocked commands queue: contains tasks that are blocked

EVE event queue: contains alarm-initiated tasks

EXE execution queue: contains the task the calendar is exe-cuting and the tasks the calendar is attempting to execute but which have not yet started

HOL wait queue: contains tasks with no input that would trigger their execution

TIM time queue: contains time-initiated tasks

TIME execution time

USER user identity of the person who added the task to the calendar

Expected outcomeThe contents of the command calendar are displayed.

Page 113: NED[1]

DN02143068 113

Executing MML Commands

Id:0900d80580757c7dConfidential

6.3 Directing the execution printouts of MML command calendar tasksPurposeThe default output device of the execution printouts of calendar tasks is printer VPP-0. The printouts are directed to the output device via the COMCAL logical file. If you want to store the printouts in an electronic form, save them in a disk file. By default, commands are not printed to output device. To print commands to output device, you can set the commands to output parameter (CMNDS) to YES when you execute command file. When command execution fails or the given command is incorrect, error information and notice message will be printed.

Calendar tasks can only be executed if the printouts are directed to an output device that is functioning. If the output device becomes faulty, alarm 1432 (disturbance in command calendar) is set and the task is blocked. Before the task can be executed, the printouts must be directed to a functioning output device and the task must be unblocked. An exception are command files whose execution does not terminate when one or more commands in these files fails: these tasks are not blocked. Such command files are marked with NOINT in the CFTYPE column of the printout produced by the ICL command.

g If you direct the printouts also to the BBU-0, the execution of a calendar task does not terminate when the output device becomes faulty. The printouts must be directed via a semi-permanent logical file.

It is recommended that you direct the printouts also to the BBU-0.

Figure 10 Displaying the output devices of execution printouts

Steps

1 Display the output devices of execution printoutsDisplay the output devices to which the execution printouts of calendar tasks are directed (IID).

ZIID::<logical file name>;

Example: The following command displays the output devices to which COMCAL is connected:

ZIID::COMCAL;

COMCALlogical file

VPP-0 (def.)

BBU-0semi-permanentlogical file

Page 114: NED[1]

114 DN02143068

Executing MML Commands

Id:0900d80580757c7dConfidential

2 Check whether an output device is functioning (IHI)To interrogate the operating state of all I/O units in all computer units, give the following command:

ZIHI:;

3 Direct execution printouts to the BBU-0

a) Create a semi-permanent logical file and connect it to BBU-0 (IIF)The following command creates a semi-permanent logical file named BYTEBASKET in the OMU of the user's own system and connects it to the BBU-0:ZIIF::BYTEBASKET,S:DEV=BBU-0;

b) Add the semi-permanent logical file as an object to COMCAL logical file (IIS)The following command adds BYTEBASKET as an object to COMCAL:ZIIS::COMCAL::LF=BYTEBASKET;

4 Save execution printouts in a disk file

a) Create the disk file to which you want to direct the printouts (IWC)The following command creates a disk file named CCALENDAR. The file is stored in the MMDIRE directory. The extension of the file is LOG.ZIWC::WS:MMDIRE:CCALENDAR,LOG;

b) Add the hard disk of the system and backup disks as an object to the COMCAL logical file (IIS)ZIIS::COMCAL::DEV=WDU-S;

c) Link the COMCAL logical file to the disk file you created (III)The following example links COMCAL to a disk file named CCALENDAR that is located in the MMDIRE directory. The extension of the file is LOG and the file is a ring file.ZIII::COMCAL:,MMDIRE:CCALENDAR,LOG,,RF;

Expected outcomeThe execution printouts of calendar tasks are directed to the output device.

Page 115: NED[1]

DN02143068 115

Executing MML Commands

Id:0900d80580752653Confidential

6.4 Adding a task to the command calendar in MMLPurposeThis procedure gives instructions on how to add a new task to the command calendar.

You can check whether you succeeded in adding a task to the calendar by displaying the contents of the calendar.

Before you startCalendar tasks are executed only if their execution printouts are directed to an output device that is functioning.

When you add a command to a disk command file that is in the calendar, you cannot give values to the execution parameters of the file at the same time; you can only enter the parameters of the command you are adding to the file.

Steps

1 Enter the ICI command Select one of the following alternatives:

• Enter the ICI command as a normal MML command when adding a command file created earlierIf you add a command file that was created earlier, enter the ICI command in the same way as MML commands are normally entered.

• Enter the ICI command when creating a command fileIf you • add a command • create a command file and add it at the same time to the calendar or • add a command to a command file that is in the calendargive the command as follows:a) Add a command to the calendar (ICI)

ZICI:<mml command code>,<semantics>::DATE=<execution date>, TIME=<execution time>;The following text is displayed:

YOU HAVE 5 MINUTES TO GET COMMAND READYCOMMAND EXECUTEDVERSION 3.3-0### INPUT TO COMMAND CALENDAR ### /* PARAMETERS: COUNTER GROUP, STATISTICS: COUNTERS */

GCU:

b) Enter the parameters of the MML command you are adding to the calendarYou have five minutes to enter the parameters. You can enter them by making use of the parameter guide. After you have entered the parameters, the output control block is displayed.

Page 116: NED[1]

116 DN02143068

Executing MML Commands

Id:0900d80580752653Confidential

c) Enter a semi-colon (;) to complete the commandThe GCU command is added to the calendar and the identifier of the calendar task (TASK ID) is displayed. See the following example:

INPUT STARTEDCOMMAND ADDED TO CALENDARTASK ID = 2COMMAND EXECUTED

The TASK ID is the identifier that you need to identify the task when you handle it using commands ICM, ICD, ICL, ICT, and ICB: it is the value of the calendar task identifier parameter.

Example: Adding the GCU command to the calendarSemantics are checked during command execution (NOSEM). The command is executed once on September 14th 2000, at 12.50.

ZICI:GCU,NOSEM::DATE=2000-9-14,TIME=12-50;

Example: Adding the CMDFILE command file to the calendarSince the file has been created earlier, the value of the command file index parameter is 0. If any of the commands in the file fails, the execution of the file terminates (INT). The command is executed on June 15th (NBR=10) 2000, at 00:00. The task is executed once a day (PTYPE=DA and PNBR=1) ten times. After its last execution, the task remains in the calendar (SAVE=Y).

ZICI::CMDFILE,0,INT:DATE=2000-06-15,TIME=00-00, PTYPE=DA,PNBR=1,NBR=10,SAVE=Y;

Example: Creating a new command file and printing commands to output deviceThe following command creates a new command file named BACKUP; writes one command (IWD) to it and adds it to the command calendar. Command(IWD) is printed to output device when it is executed. If the command in the file fails, the execution of the file is terminated. The command is executed on August 16th 2000, at 00.00.

ZICI:IWD:BACKUP,,INT:DATE=2000-08-16, TIME=00-00,CMNDS=YES;

Example: Adding the IBC command to the end of the command file in the calendarThe following example adds the command (IBC) to the end of the BACKUP command file that is in the calendar.

ZICI:IBC:BACKUP;

Example: Adding the IID command to the calendarThe task is executed each time alarm 2600 is detected and set by the OMU.

ZICI:IID::ALARM=2600,AUNIT=OMU,ASTATE=ALARM,NBR=255;

Expected outcomeA new task is added to the command calendar.

Page 117: NED[1]

DN02143068 117

Executing MML Commands

Id:0900d80580670281Confidential

6.5 Testing calendar task execution in MMLPurposeThis procedure gives instructions on how to test the execution of a calendar task.

Steps

1 Test the execution of a calendar task (ICT)ZICT:<calendar task identifier>;

Example: Starting a task with a certain identifierThe following command immediately starts the task that has a no. 2 identifier.

ZICT:2;

Expected outcomeThe execution of a calendar task is tested.

Page 118: NED[1]

118 DN02143068

Executing MML Commands

Id:0900d80580752650Confidential

6.6 Modifying a calendar task in MMLPurposeWith this procedure, you can:

• change the execution parameters of a calendar task. For example, you can change the execution time of a task or give a new execution time to a task that was left in the calendar after its last execution.

• edit an MML command that is in the calendar, including MML commands in disk command files that are in the calendar.

• replace one type of a task by another type of a task, that is, replace a command by a command file, or a command file by a command.

Note that when you edit a command or replace one type of a task by another type of a task, you can also change the execution parameters of the task.

When you add a command to a disk command file that is in the calendar, you cannot give values to the execution parameters of the file at the same time; you can only enter the parameters of the command you are adding to the file.

Steps

1 Identify the type of modification (ICM:<modify task>)To identify the type of the modification, use the modify task parameter of the ICM command.

If you do not supply the parameter, the modification only concerns the execution condi-tions (COND) of the calendar task.

2 Identify the task to be modified (ICM:<calendar task identifier>)If you modify a command that is in a command file, you also need to identify the command by the command file index parameter. If needed, display the task identi-fiers and the command indexes using the ICL command .

The identifier is the number that is given to the task after it has been added to the calendar using the ICI command.

ZICM:<calendar task identifier>,<modify task>::ALARM=<alarm number>, AUNIT=<alarm unit name>,ASTATE=<alarm state>, NBR=<number of execution>;

3 Change the execution parameters of the fileSelect one of the following alternatives:

• Enter the ICM command as a normal MML command, if you only modify the execu-tion parameters of a calendar task or replace a command by a command file.

• Modify a command in the calendar (ICM)ZICM:<calendar task identifier>,<modify task>::ALARM=<alarm number>, AUNIT=<alarm unit name>,ASTATE=<alarm state>, NBR=<number of execution>;

Page 119: NED[1]

DN02143068 119

Executing MML Commands

Id:0900d80580752650Confidential

a) Confirm command executionAnswer Y to confirm the execution of the command when the system asks for a confirmation.The system displays the time you have to enter the command, the parameter guide of the command you are editing (not if you edit a command that is in a command file) and the three command letters of the command you want to edit or substitute for the command file. See the following example of the printout:

YOU HAVE 5 MINUTES TO GET COMMAND READYCOMMAND EXECUTEDVERSION 3.3-0### INPUT TO COMMAND CALENDAR ### /* PARAMETERS: COUNTER GROUP, STATISTICS: COUNTERS */

GCU:

b) Enter the parameters of the MML commandEnter the parameters of the MML command. Or, if the parameters are displayed, edit them.You have five minutes to handle the parameters. You can enter them by making use of the parameter guide. After you have entered the parameters, the execu-tion determination block is displayed.

c) Complete the command by entering a semi-colon (;)

Further information

Example: Changing the execution parameters of a calendar taskThe following command changes the execution parameters of a calendar task with iden-tifier 47. The task is executed when alarm 1635 is set. Commands are not printed to output device.

ZICM:47,::ALARM=1635,AUNIT=,ASTATE=ALARM,NBR=255,CMNDS=NO;

Example: Editing a command and changing its execution timeThe following command edits a command with identifier 4 and changes its execution time. The execution of the command starts at 13:30. The semantics of the command are checked during its execution.

ZICM:4,EDIT:CHECK=NOSEM:TIME=13-30;

Expected outcomeThe task is modified and the task identifier (TASK ID) is displayed.

INPUT STARTEDCOMMAND ADDED TO CALENDARTASK ID = 2COMMAND EXECUTED

Page 120: NED[1]

120 DN02143068

Executing MML Commands

Id:0900d80580670287Confidential

6.7 Deleting a calendar task in MMLPurposeWhen you delete a command file, the file is removed from the calendar, but not from the system disk and it can be used again.

Steps

1 Delete a calendar task (ICD)ZICD:<task identifier>,<command file index>;

Example: Deleting a calendar task with a certain identifierThe following command deletes the calendar task that has a no. 32 identifier.

ZICD:32;

Expected outcomeThe calendar task is deleted.

Page 121: NED[1]

DN02143068 121

Executing MML Commands

Id:0900d80580843759Confidential

6.8 Blocking or unblocking a calendar task in MMLPurposeIf a task cannot be executed, alarm 1432 (disturbance in command calendar) is set and the task is usually blocked. Blocked tasks are in the blocked commands queue (BLC). An exception are command files that are meant to be executed more than once and whose execution does not terminate when some of the commands in the file fails: such command files are marked with NOINT in the CFTYPE column of the printout produced by the ICL command. When the execution of such a task fails, the task is not blocked but the task remains either in the time queue or the event queue. To check whether such a task has succesfully been executed, examine the MML command log.

Before a blocked task can be executed, the fault must be corrected and the task must be unblocked. For information on the possible faults, see Execution of a calendar task fails.

Steps

1 Check whether a task is blockedSelect one of the following alternatives:

• To check whether the task is blocked, display the blocked calendar tasks (ICL)ZICL:QUE=BLC;

• To check whether the task is unblocked, display the command calendar queue (ICL)ZICLThe following printout is displayed:

ID USER CMND CFILE QUE DATE TIME NBR PNBR PTYPE ALARM=======================================================================1 SYSTEM IID - BLC 2000-02-01 19:00 1 - - -

2 SYSTEM - BACKUPFILES TIM 2000-02-01 19:00 1 - - -

3 SYSTEM - BACKUPFILES TIM 2000-02-04 20:00 FOREV 1 WEEK -

6 SYSTEM - ALASTATUS EVE - - - - - 2692

COMMAND EXECUTEDA task that is executed once is unblocked if it is in the wait queue (HOL). The task is left in the calendar, but it is not executed unless you change its execution param-eters.A task that is executed more than once is unblocked if it is either in • the time queue (TIM) or • the event queue (EVE).The task is executed the next time at the moment determined by its execution parameters.

Page 122: NED[1]

122 DN02143068

Executing MML Commands

Id:0900d80580843759Confidential

2 Block a calendar task (ICB)If a task does not need to be executed for a while and you do not want to change its execution parameters or remove it from the calendar, block the task. A blocked task is not executed until you unblock it.

ZICB:<task identifier>;

Example: Blocking a task with a certain identifierThe following command blocks a task with identifier 11.

ZICB:11;

3 Unblock a calendar task (ICB)ZICB:<task identifying>:<task>;

You can check whether the unblocking was succesfull by examining the queue in which the task is.

Example: Unblocking a task with a certain identifierThe following command unblocks a task with identifier 11.

ZICB:11:UNBLOCK;

Expected outcomeA calendar task is blocked or unblocked.

Page 123: NED[1]

DN02143068 123

Executing MML Commands

Id:0900d8058067028dConfidential

6.9 Stopping an MML command file executionPurposeThe execution of the file stops after the command that is being executed at the moment has been executed.

If this command fails to stop the execution of a command file, see the instructions given in Termination of an MML calendar task that is a command file fails.

Steps

1 Stop the execution of a command file (ICS)ZICS:<command file name>;

Example: Stopping the execution of COPYDIR command fileThe following command stops the execution of a command file named COPYDIR.

ZICS:COPYDIR;

Expected outcomeThe execution of the file is stopped.

Page 124: NED[1]

124 DN02143068

Executing MML Commands

Id:0900d8058067029bConfidential

MML command troubleshooting

7 MML command troubleshooting

7.1 Execution of a calendar task fails

DescriptionIf alarms 1432 DISTURBANCE IN COMMAND CALENDAR and 2430 ERROR IN COMMAND CALENDAR are given, refer to their instructions. The following are instruc-tions for the most common errors that set off the alarm 1432.

Alarm 1432 is set and the task is blocked and transferred to the blocked commands queue. An exception are tasks that are meant to be executed more than once and whose execution is not terminated even if one of the commands in the file fails: such tasks are not blocked.

SymptomsThe alarm 1432 is set.

Recovery procedures

Checking why execution of a calendar task fails

Steps

1 If execution printouts of calendar tasks are directed to printer

Then

Check the printer and correct the possible faults

a) Check printer (IHI)To interrogate the operating state of all I/O units in all computer units, give the following command:ZIHI:;

b) Correct printer faultIf the printer is not functioning, check the state of the LPD device as instructed in Printing tasks are not output.

c) Unblock the calendar task (ICB)For instructions, see Blocking or unblocking a calendar task in MML.

g You are recommended to direct the execution printouts of calendar tasks also to the BBU-0. For instructions, see Directing the execution printouts of MML command calendar tasks. If the printouts are directed to the BBU-0, the command calendar functions even if the actual output device is not functioning.

2 If execution printouts of calendar tasks are directed to disk file

Then

Page 125: NED[1]

DN02143068 125

Executing MML Commands MML command troubleshooting

Id:0900d8058067029bConfidential

Check the disks and correct the possible faults

a) Check disks (IHI)Check whether the disks are damaged. For example, to display information on the state of the hard disk unit, use the following command:ZIHI::WDU;

b) Block the calendar task, if the disks are damaged (ICB)If the disks are damaged, replace them. For instructions, see Hard disk is faulty. Unblock the task using the ICB command (see Blocking or unblocking a calendar task in MML).

c) Check file space, if the disks are not damaged (IWX)If the disks are not damaged, check whether the file has free space. For example, to check whether a disk file named CCALENDAR (extension LOG) that is stored in the MMDIRE directory of the system disk has free space, use the fol-lowing command:ZIWX::WS:MMDIRE:CCALENDAR,LOG;

d) If there is no free file space, direct the printouts to another file and unblock the calendar taskIf the file has no free space, direct the printouts to another file, preferably to a ring file. For instructions, see Directing the execution printouts of MML command calendar tasks. For instructions on unblocking a task, see Blocking or unblock-ing calendar tasks in MML.

g You are recommended to direct the execution printouts of calendar tasks also to the BBU-0. For instructions, see Directing the execution printouts of MML command calendar tasks. If the printouts are directed to the BBU-0, the command calendar functions even if the actual output device is not functioning.

Page 126: NED[1]

126 DN02143068

Executing MML Commands

Id:0900d80580670295Confidential

7.2 Termination of an MML calendar task that is a command file fails

DescriptionTermination of an MML calendar task that is a command file fails.

SymptomsThe task is in the execution queue and its execution cannot be terminated normally.

Recovery procedures

Terminating a calendar task that is a command file

Steps

1 Restart the Command Calendar Program Block (ODR)Take a remote service terminal session to the working OMU unit:

ZDDS;

Restart the Command Calendar Program Block from the service terminal by entering the following service terminal command:

ZODR:AB

where AB is the process ID of the Command Calendar Program Block.

2 Restart the Command Calendar Disk Interface Program BlockRestart the Command Calendar Disk Interface Program Block from the service ter-minal. Proceed as follows :

a) Enter the following service terminal command:ZODR:97where 97 is the process ID of the Command Calendar Disk Interface Program Block.

b) Enter the following service terminal command:ZOS:*,*,97,,,,,1,,,,,,,

c) The task is transferred to the blocked commands queue. The command calendar starts to function in one minute.

3 Return to MMLReturn to MML:

ZE;

4 Unblock the calendar task (ICB)For instructions, see Blocking or unblocking a calendar task in MML.

Page 127: NED[1]

DN02143068 127

Executing MML Commands

Id:0900d80580670298Confidential

7.3 Opening an MML session fails

DescriptionIf opening an MML session to the active OMU fails, use this procedure to open the session via the spare OMU. This procedure should not be used in normal circumstances.

For more information, see Opening and closing MML sessions

SymptomsOpening an MML session to the active OMU fails.

Recovery procedures

Opening an MML session via spare OMU

Steps

1 Enter spare OMU IP addressChange the IP address of the connection to be the IP address of the spare OMU. The way to do this depends on your Telnet or SSH application.

2 Enter your user IDEnter your user ID when the system asks you to (ENTER USERNAME <).

3 Enter your passwordEnter your password when the system asks you to (ENTER PASSWORD <).

g Passwords are case sensitive. You must use the correct upper or lower case as defined in your user ID.

The system displays a warning text which says that you have opened the session via the spare OMU.

The welcome dialogue and the MAIN LEVEL COMMAND prompt are displayed. This means that you have opened an MML session and you can enter MML commands.

Page 128: NED[1]

128 DN02143068

Executing MML Commands

Id:Confidential

Related information

Related informationMML command execution

InstructionsOpening and closing MML sessions

Entering MML commands step by step

Entering MML commands without using the online help

Repeating or cancelling MML commands

Moving from one command level to another

Entering default values to parameters

Changing the language of MML command menus

Setting an MML program in the test state

Setting an MML session time-out

Online help during MML session

InstructionsMoving from one command level to another

DescriptionsMML command execution

System's output during an MML session

DescriptionsMML command execution

Tools for executing MML commands

DescriptionsDisk command files in MML

MML command calendar

MML command execution

Structure of MML commands

DescriptionsMML command calendar

MML command execution

MML command log

Special characters in MML commands

Special characters in MML commands

DescriptionsMML command execution

Page 129: NED[1]

DN02143068 129

Executing MML Commands Related information

Id:Confidential

Line editor of MML commands: searching and editing of MML

DescriptionsMML command execution

Controlling of the output of characters displayed on the MML terminal

InstructionsMML command execution

Printing out of characters displayed on the MML terminal

DescriptionsMML command execution

Screen editor of MML commands: reading and editing characters on screen

DescriptionsMML command execution

Editing text files of MML commands

DescriptionsMML command execution

Opening and closing MML sessions

DescriptionsUser IDs in the MMI system

MML command execution

Entering MML commands step by step

DescriptionsLine editor of MML commands: searching and editing of MML

MML command execution

Entering MML commands without using the online help

DescriptionsMML command execution

Repeating or cancelling MML commands

DescriptionsLine editor of MML commands: searching and editing of MML

MML command execution

Moving from one command level to another

DescriptionsMML command execution

Page 130: NED[1]

130 DN02143068

Executing MML Commands

Id:Confidential

Related information

Entering default values to parameters

DescriptionsStructure of MML commands

MML command execution

Changing the language of MML command menus

DescriptionsMML command execution

MML macros

InstructionsExecuting an MML macro

Testing MML macros

Installing MML macros

Listing MML macros

Displaying the contents of an MML macro

DescriptionsMML macro names

MML macro structure

Command language expressions and statements in MML macros

Execution of MML macros

Structural parts of the command language in MML macros

MML macro names

DescriptionsMML macros

MML macro structure

DescriptionsMML macros

Structural parts of the command language in MML macros

Menu texts in MML macros

Header in MML macros

Declaration and execution parts in MML macros

Structural parts of the command language in MML macros

DescriptionsMML macros

Menu texts in MML macros

DescriptionsMML macros

Page 131: NED[1]

DN02143068 131

Executing MML Commands Related information

Id:Confidential

Header in MML macros

DescriptionsMML macros

Declaration and execution parts in MML macros

DescriptionsMML macros

Command language expressions and statements in MML macros

DescriptionsMML macros

Directives in MML macros

DescriptionsMML macros

Stop statements in MML macros

DescriptionsMML macros

Input and output statement in MML macros

DescriptionsMML macros

Placement statement in MML macros

DescriptionsMML macros

If-statement in MML macros

DescriptionsMML macros

While-statement in MML macros

DescriptionsMML macros

MML commands in MML macros

DescriptionsMML macros

Library routines in MML macros

DescriptionsMML macros

Page 132: NED[1]

132 DN02143068

Executing MML Commands

Id:Confidential

Related information

Exit statements in MML macros

DescriptionsMML macros

Execution of MML macros

DescriptionsShort start-up method for MML macros

Long start-up method for MML macros

Short start-up method for MML macros

InstructionsExecuting an MML macro

DescriptionsExecution of MML macros

Long start-up method for MML macros

InstructionsExecuting an MML macro

DescriptionsExecution of MML macros

Testing MML macros

DescriptionsMML macros

Installing MML macros

DescriptionsMML macros

Listing MML macros

DescriptionsMML macros

Executing an MML macro

DescriptionsDirectives in MML macros

MML macros

Displaying the contents of an MML macro

DescriptionsMML macros

Page 133: NED[1]

DN02143068 133

Executing MML Commands Related information

Id:Confidential

MML command log

InstructionsModifying storing time of MML command log

Modifying MML command log disk space consumption

Changing MML command log removal time

Decreasing disk updating load of MML command log

Displaying MML command log information

Printing MML command log information to disk file

Closing the MML command log

Monitoring of the starting and ending of MML command execution

Transferring MML command log information to the postprocessing system using FTP

Printing MML command log information via a logical file

Modifying storing time of MML command log

DescriptionsMML command log

Modifying MML command log disk space consumption

DescriptionsMML command log

Changing MML command log removal time

DescriptionsMML command log

Decreasing disk updating load of MML command log

DescriptionsMML command log

Displaying MML command log information

DescriptionsMML command log

Printing MML command log information to disk file

DescriptionsMML command log

Closing the MML command log

DescriptionsMML command log

Page 134: NED[1]

134 DN02143068

Executing MML Commands

Id:Confidential

Related information

Monitoring of the starting and ending of MML command execution

DescriptionsMML command log

Transferring MML command log information to the postprocessing system using FTP or SFTP

DescriptionsMML command log

Printing MML command log information via a logical file

DescriptionsMML command log

Disk command files in MML

InstructionsListing MML disk command files in the system

Displaying the contents of a disk command file in MML

Creating a disk command file using the system's disk file editor in MML

Executing disk command files in MML

Interrogating output devices of execution printouts in MML

Giving parameter values to MML commands in a disk command file

Stopping the execution of a disk command file in MML

Directing the execution printouts of MML command calendar tasks

Preventing the saving of execution printouts of a disk command file in a disk file in MML

Listing MML disk command files in the system

DescriptionsDisk command files in MML

Displaying the contents of a disk command file in MML

DescriptionsDisk command files in MML

Creating a disk command file using the system's disk file editor in MML

DescriptionsDisk command files in MML

Executing disk command files in MML

DescriptionsDisk command files in MML

Page 135: NED[1]

DN02143068 135

Executing MML Commands Related information

Id:Confidential

Interrogating output devices of execution printouts in MML

DescriptionsDisk command files in MML

Giving parameter values to MML commands in a disk command file

DescriptionsDisk command files in MML

Stopping the execution of a disk command file in MML

InstructionsDisk command files in MML

Saving execution printouts of a disk command file in a disk file in MML

DescriptionsDisk command files in MML

Preventing the saving of execution printouts of a disk command file in a disk file in MML

DescriptionsDisk command files in MML

MML command calendar

InstructionsDisplaying the contents of the command calendar in MML

Adding a task to the command calendar in MML

Testing calendar task execution in MML

Modifying a calendar task in MML

Deleting a calendar task in MML

Blocking or unblocking a calendar task in MML

Stopping an MML command file execution

Displaying the contents of the command calendar in MML

DescriptionsMML command calendar

Directing the execution printouts of MML command calendar tasks

DescriptionsMML command calendar

Adding a task to the command calendar in MML

DescriptionsMML command calendar

Page 136: NED[1]

136 DN02143068

Executing MML Commands

Id:Confidential

Related information

InstructionsDisplaying the contents of the command calendar in MML

Modifying a calendar task in MML

Testing calendar task execution in MML

Modifying a calendar task in MML

DescriptionsMML command calendar

Deleting a calendar task in MML

DescriptionsMML command calendar

Blocking or unblocking a calendar task in MML

DescriptionsMML command calendar

Stopping an MML command file execution

DescriptionsMML command calendar