In the crowd of all advanced Operating Systems, very simple and powerful operating system DOS is loosing its presence. This booklet is merely collection of DOS commands. All information in t…Full description
In the crowd of all advanced Operating Systems, very simple and powerful operating system DOS is loosing its presence. This booklet is merely collection of DOS commands. All information in t…Descrição completa
CCNA Commands in 10 MinutesFull description
RU50 updating check Executing MML Commands in IPA-RNC IPA-RNC DN02143068 Issue 09 Approval Date 2014-02-16
Important Notice on Product Safety This 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.
Nokia Solutions and Networks is continually striving to reduce the adverse environmental effects of its products and services. We would like to encourage you as our customers and users to join us in working towards a cleaner, safer environment. Please recycle product packaging and follow the recommendations for power use and proper disposal of our products and their components. If you should have questions regarding our Environmental Policy or any of the environmental services we offer, please contact us at Nokia Solutions and Networks for any additional information.
Important Notice on Product Safety This 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.
Nokia Solutions and Networks is continually striving to reduce the adverse environmental effects of its products and services. We would like to encourage you as our customers and users to join us in working towards a cleaner, safer environment. Please recycle product packaging and follow the recommendations for power use and proper disposal of our products and their components. If you should have questions regarding our Environmental Policy or any of the environmental services we offer, please contact us at Nokia Solutions and Networks for any additional information.
Executing MML Commands in IPA-RNC
Table of Contents This document This document has 108 pages 1
Summary of changes..................................................................... changes.....................................................................8 8
2 2.1 2.2 2.3 2. 3 2.4 2.5 2.6 2. 6 2.7
Overview of MML commands.........................................................9 MML command execution.............................................................. execution..............................................................9 9 Online help during MML session.................................................... session....................................................9 9 Syst Sy stem em's 's ou outp tput ut du duri ring ng an MM MML L se sess ssio ion. n... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... ....1 ..11 1 Tools for executing MML commands commands............................................13 ............................................13 Structure of MML command commands....................................................... s.......................................................14 14 Spec Sp ecia iall ch char arac acte ters rs in MM MML L co comm mman ands ds.. .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .. 19 Line editor of MML commands: sear ching ching and editing of MML....21
3 3.1
Using MML commands................................................................ 24 24 Controlling of the output of character s displayed on the MML terminal........................................................................................ 24 terminal........................................................................................ 24 Printing out of characters displayed displayed on on the MML terminal terminal .......... 24 Screen editor of MML commands: re reading ading and editing characters on screen..................................................................................... 25 screen..................................................................................... 25 Editing text files of MML commands............................................ commands............................................ 26 26 Open Op enin ing g an and d cl clos osin ing g MM MML L se sess ssio ions ns .. .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... 27 Entering MML commands step by st step ep .......................................29 Entering MML commands without us using ing the online help .............33 Repe Re peat atin ing g or ca canc ncel elliling ng MM MML L co comm mman ands ds.. .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... 34 Moving from one command level to another................................ 35 Entering default values to parameter s ........................................ 36 Chan Ch angi ging ng th the e la lang ngua uage ge of MM MML L co comm mman and d me menu nus s .. .... .... .... ..... ..... .... .... .... .... .. 38 Setting an MML program in the test state ................................... 38 Sett Se ttin ing g an MM MML L se sess ssio ion n ti time me-o -out ut .. .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... ....39 ..39
MML ma MML macr cros os.. .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... 40 MML MM L ma macr cros os.. .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... 40 MML MM L ma macr cro o na name mes. s.... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... .. 43 MML MM L ma macr cro o st stru ruct ctur ure. e... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... 44 Stru St ruct ctur ural al pa part rts s of th the e co comm mman and d la lang ngua uage ge in MM MML L ma macr cros os.. .... .... .... ...4 .44 4 Menu Me nu te text xts s in MM MML L ma macr cros os.. ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... 47 Head He ader er in MM MML L ma macr cros os.. .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... ...47 .47 Decl De clar arat atio ion n an and d ex exec ecut utio ion n pa part rts s in MM MML L ma macr cros os.. .... .... .... ..... ..... .... .... .... .... .... .... .. 48 Comm Co mman and d la lang ngua uage ge ex expr pres essi sion ons s an and d st stat atem emen ents ts in MM MML L ma macr cros os.. 50 Dire Di rect ctiv ives es in MM MML L ma macr cros os.. ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... ...50 .50 Stop St op st stat atem emen ents ts in MM MML L ma macro cros. s... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... ...53 .53 Inpu In putt an and d ou outp tput ut st stat atem emen entt in MM MML L ma macr cros os.. .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... ....54 ..54 Plac Pl acem emen entt st stat atem emen entt in MM MML L ma macr cros os.. ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... ....55 ..55 If-s If -sta tate teme ment nt in MM MML L ma macr cros os.. .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... .... .... ..... ..... .... .... .... .... .... .... .... ...55 .55
While-statement in MML macros..................................................56 MML commands in MML macros.................................................57 Library routines in MML macros...................................................58 Exit statements in MML macros...................................................62 Execution of MML macros............................................................63 Short start-up method for MML macros....................................... 63 Long start-up method for MML macros........................................ 64 Testing MML macros....................................................................66 Installing MML macros.................................................................66 Listing MML macros ....................................................................67 Executing an MML macro............................................................ 67 Displaying the contents of an MML macro................................... 68
5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9
MML command logs.....................................................................70 MML command log.......................................................................70 Modifying storing time of MML command log ..............................74 Modifying MML command log disk space consumption...............75 Changing MML command log removal time ................................75 Decreasing disk updating load of MML command log................. 76 Displaying MML command log information.................................. 76 Printing MML command log information to disk file......................77 Closing the MML command log....................................................78 Monitoring of the starting and ending of MML command execution . 79 Transferring MML command log infor mation to the postprocessing system using FTP or SFTP..........................................................79 Printing MML command log information via a logical file............. 80
MML disk command files..............................................................82 Disk command files in MML......................................................... 82 Listing MML disk command files in the system ........................... 84 Displaying the contents of a disk command file in MML.............. 84 Creating a disk command file using the system's disk file editor in MML............................................................................................. 85 Executing disk command files in MML.........................................86 Interrogating output devices of execution printouts in MML.........87 Giving parameter values to MML commands in a disk command file.................................................................................................87 Stopping the execution of a disk command file in MML...............88 Saving execution printouts of a disk command file in a disk file in MML............................................................................................. 89 Preventing the saving of execution printouts of a disk command file in a disk file in MML................................................................ 89 MML command calendar..............................................................91 MML command calendar..............................................................91 Displaying the contents of the command calendar in MML..........93
Executing MML Commands in IPA-RNC
7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 8.1 8.2 8.3
Directing the execution printouts of MML command calendar tasks ..................................................................................................... 95 Adding a task to the command calendar in MML.........................97 Testing calendar task execution in MML...................................... 99 Modifying a calendar task in MML................................................99 Deleting a calendar task in MML................................................101 Blocking or unblocking a calendar task in MML......................... 102 Stopping an MML command file execution................................ 104 MML command troubleshooting.................................................105 Execution of a calendar task fails...............................................105 Termination of an MML calendar task that is a command file fails... 106 Opening an MML session fails................................................... 107
Executing MML Commands in IPA-RNC
List of Figures Figure 1
The command class of IGO ...............................................................15
Figure 2
The command group of IGO...............................................................15
Figure 3
An example of arguments grouped by an ampersand........................19
Figure 4
An example of a combination parameter ...........................................19
Figure 5
How to move from one command level to another............................. 36
PRFILE parameters affecting the MML command log........................71
Table 6
Information given in each command log record..................................72
Summary of changes
Executing MML Commands in IPA-RNC
1 Summary of changes Changes between document issues are cumulative. Therefore, the latest document issue contains all changes made to previous issues. Note that our issue numbering system, safety information, and product naming practice are changing. For more information, see Guide to WCDMA RAN Operating Documentation .
Changes between Issues 08C (2011-11-07, RU30) and 09 (2014-02-16, RU50) A2SU and A2SP related information is removed from the document.
Changes between Issues 08B (2011-02-18, WCDMA RAN RU30) and 08C (2011-11-07, WCDMA RAN RU30) MML command log •
The default value of storing time and disk space consumption is changed from 3 days to 30 days.
Changes between Issues 08A (2010-10-22, WCDMA RAN RU30) and 08B (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.
Executing MML Commands in IPA-RNC
Overview of MML commands
2 Overview of MML commands 2.1 MML command execution First 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 selection 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.
Related topics Instructions
Opening 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
2.2 Online help during MML session The 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.
Overview of MML commands
Executing MML Commands in IPA-RNC
Command menus Command menus include menus of command classes, command groups and commands. 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 ADMINISTRATION R ..... ROUTING ADMINISTRATION T ..... TRAFFIC ADMINISTRATION U ..... UNIT ADMINISTRATION W ..... SYSTEM CONFIGURATION ADMINISTRATION Y ..... SYSTEM SUPERVISION Z; .... END DIALOGUE (:)
To display the command menu in the command level at which you are, enter a question mark (?).
Parameter guide The 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 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 */
To display the parameter guide, press or one or more parameters.
ENTER
after you have typed the command letters
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 information 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.
Executing MML Commands in IPA-RNC
Overview of MML commands
Key combinations You 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/REPLACE CTRL B = EDIT PREV CMND CTRL D = CURS LEFT CTRL E = CURS END OF LINE CTRL F = CURS RIGHT CTRL G = CURS DOWN CTRL H = CURS HOME CTRL I = CURS UP CTRL K = CHANGE LANGUAGE CTRL L = DEL CHAR CTRL N = CURS BEGINNING OF PARAM BLOCK CTRL O = HARDCOPY CTRL P = PAGE MODE ON/OFF CTRL Q = CONT OUTPUTTING CTRL R = CURS BEGINNING OF PARAM CTRL S = PAUSE OUTPUTTING CTRL T = OUTPUT RINGBUFFER CTRL U = EMPTY EDIT BUFF CTRL V = DEL PREV CHAR CTRL X = JUMP TO CMD GROUP LEVEL CTRL Y = INTERRUPT CTRL Z = DEL CHARS IN EDIT BUFF BREAK = END OF DIALOG CTRL 4 = MML TEST MODE ON/OFF CTRL 7 = DX ERROR DESCRIPTION ? AND = LIST OF PREVIOUS COMMANDS and = EDIT CERTAIN PREVIOUS COMMAND and = EDIT PREVIOUS COMMANDS CONTAINING GIVEN STRING
2.3 System's output during an MML session During 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
Overview of MML commands
Executing MML Commands in IPA-RNC
Execution printouts An 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 messages An 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 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 incorrectly, 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 ***/
Executing MML Commands in IPA-RNC
Overview of MML commands
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 message To display the explanation of the latest general error message and the possible instructions 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 messages Guidance 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 messages Notice 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
Related topics Descriptions
MML command execution
2.4 Tools for executing MML commands In 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.
Overview of MML commands
Executing MML Commands in IPA-RNC
Disk command files can be used to carry out routine tasks that do not need to be supervised. 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 intervals. The command calendar can be used to carry out routine tasks that do not need to be supervised. Tools for executing MML commands
Table 1
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
Related topics Descriptions
Disk command files in MML MML command calendar MML command execution
2.5 Structure of MML commands MML 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.
Executing MML Commands in IPA-RNC
Overview of MML commands
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 commands The 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 comprises all the command groups related to the I/O system administration. Figure 1
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 2
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.
Punctuation marks in MML commands Certain elements of an MML command must be separated from one another by punctuation marks (separators) and the command must be completed by a semi-colon. The following 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.
Overview of MML commands
COMMA
Executing MML Commands in IPA-RNC
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 •
COLON
you press ENTER after typing the parameter. In this case, the syntax analyzer adds the comma itself.
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 •
SEMI-COLON
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.
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 situations, and so on.
Executing MML Commands in IPA-RNC
Overview of MML commands
Unlike with the comma or the colon, the syntax analyser itself never adds the semicolon to a command. 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.
Table 2
Punctuation marks in MML commands
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)
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 commands The parameter part consists of parameters, which contain pieces of information necessary 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.
Overview of MML commands
Executing MML Commands in IPA-RNC
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 determined by the syntax of the command. The parameter guide helps you enter the blocks in the correct order. A parameter block can contain either position-defined or name-defined parameters. Position-defined parameters must be entered in a predetermined order within a parameter block. Name-defined and position-defined parameters
Parameters can be either position-defined or name-defined. A position-defined parameter 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.
Related topics Descriptions
MML command calendar MML command execution MML command log Special characters in MML commands
Executing MML Commands in IPA-RNC
Overview of MML commands
2.6 Special characters in MML commands Character 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 arguments. 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 3
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 information: Figure 4
An example of a combination parameter
Overview of MML commands
Executing MML Commands in IPA-RNC
Usage of the ampersand to group single parameter arguments Table 3
Examples of the grouping of single parameter arguments
Grouped arguments
Arguments indicated by grouping
1&2
1 and 2
3&&5
3, 4 and 5
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 arguments When more than one argument of a combination parameter needs to be given, characters &, &- and &&- are used. Below are explanations of these characters: &
Groups two combination parameter arguments within the same parameter 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 information units.
&&-
Groups arguments when a group of arguments differs only in their last information unit and constitutes a consecutive sequence. The arguments 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. Table 4
Grouping compound parameter arguments
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
Different characters can be used to group arguments within the same parameter value. For example:
Executing MML Commands in IPA-RNC
Overview of MML commands
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::::,;
Related topics Descriptions
MML command execution
2.7 Line editor of MML commands: searching and editing of MML The 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 commands Arrow 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.
Overview of MML commands
Executing MML Commands in IPA-RNC
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 commands Switch 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: 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 functions only if you have entered at least the three command letters of the command.
Executing MML Commands in IPA-RNC
Overview of MML commands
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.
Related topics Descriptions
MML command execution
Using MML commands
Executing MML Commands in IPA-RNC
3 Using MML commands 3.1 Controlling of the output of characters displayed on the MML terminal The 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
Interrupts output. The output continues when you press
.
CTRL-S
CTRL-Q
.
Related topics Instructions
MML command execution
3.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.
Executing MML Commands in IPA-RNC
Using MML commands
Related topics Descriptions
MML command execution
3.3 Screen editor of MML commands: reading and editing characters on screen The 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 characters.
Quitting the screen editor You 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 characters CTRL-Y
Terminates command execution.
DEL (CTRL-V)
Deletes the character to the left of the cursor.
Command characters CTRL-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 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 character of the line.
CTRL-H
Moves the cursor to the top left hand corner of the screen.
CTRL-Z .
Terminates command execution and exits the
Using MML commands
Executing MML Commands in IPA-RNC
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.
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 editor.
CTRL-C .
Terminates command execution and exits the
Related topics Descriptions
MML command execution
3.4 Editing text files of MML commands Text 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.
Executing MML Commands in IPA-RNC
Using MML commands
Structure of text files In 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 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 commands Editing 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.
Related topics Descriptions
MML command execution
3.5 Opening and closing MML sessions Before you start
Before 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. fails . Purpose
Communication 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 terminal, while printouts and messages are usually displayed on the screen of the MML terminal you are using.
Using MML commands
Executing MML Commands in IPA-RNC
The MML terminal is connected to the exchange using Telnet or SSH.
1
Open an an MM MML se session ion
1. Enter your your user ID when the system asks you to (ENTER USERNAME < ). 2. Enter your your password when the the system asks you to (ENTER PASSWORD < ).
g
2
Passwords are case sensitive. You You must use the correct upper or lower case as defined in your user ID.
Clos Close e an MML MML sess sessio ion n
1. Ente Enterr Z and a semi-colon (Z;) at the main level To move to the main level, enter Z and a semi-colon (Z;).
3
g
Termi ermina nate te an MML MML ses sessi sion on
It is not not recommended recommended to use this procedure procedure in normal circumstances. circumstances. It is better to close the MML session instead of terminating it. 1. Press Press BREAK BREAK To 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 outcome
The 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: 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
Executing MML Commands in IPA-RNC
Using MML commands
3.6 Entering MML commands step by step Before you start
To 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. Purpose
The 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. Communication 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.
1
Disp Displa lay y the the comm comman and d men menu u (?) (?)
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 outcome
For example, the following menu can be displayed: 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 ADMINISTRATION R ..... ROUTING ADMINISTRATION T ..... TRAFFIC ADMINISTRATION
Using MML commands
Executing MML Commands in IPA-RNC
U ..... W ..... Y ..... Z; ....
UNIT ADMINISTRATION SYSTEM CONFIGURATION ADMINISTRATION SYSTEM SUPERVISION END DIALOGUE (:)
MAIN LEVEL COMMAND <___> <
2
Display the menu of the command class
To 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 LEVEL I/O SYSTEM ADMINISTRATION COMMAND <
3
Display the menu of the command group
To display the menu of the IC command group, for example, enter C?. Expected outcome
For 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 S: ..... STOP COMMAND FILE EXECUTION Z; ..... RETURN TO MAIN LEVEL COMMAND CALENDAR HANDLING COMMAND <
Executing MML Commands in IPA-RNC
4
Using MML commands
Enter the command
Complete the command part by entering the third letter of the command, for example L. Expected outcome
The parameter guide and the three command letters are displayed. Below is the parameter guide of the ICL command: /* PARAMETERS: LISTING PARAMETER: LISTING FORM; */
5
Display parameter guide of the command
Press
ENTER
to display information on the parameters.
Expected outcome
A 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 ....... QUE ...... CFILE .... ALARM .... DATE ..... HOURS ....
6
TASK IDENTIFIER QUEUE NAME COMMAND FILE NAME EXECUTION ALARM NUMBER DATE OF EXECUTION TIME OF EXECUTION
*/
Enter the parameters
Enter 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
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.
Using MML commands
Executing MML Commands in IPA-RNC
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 command
To execute the command, enter a semi-colon (;). Expected outcome
Execution 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: 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 .
Executing MML Commands in IPA-RNC
8
Using MML commands
Return to the main level
To return to the main level, proceed as follows: •
If you are at the command class or command group level, enter Z and a semicolon (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 semicolon (Z;).
Expected outcome
After 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 succeeds, 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.
3.7 Entering MML commands without using the online help Purpose
This 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.
1
Enter the command letters and parameters
When 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::
When 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 command
Execute the command by entering a semi-colon (;).
Using MML commands
Executing MML Commands in IPA-RNC
Expected outcome
After 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 succeeds, the message COMMAND EXECUTED is displayed. Unexpected outcome
If there is an error in the given command, an error message and a guidance are displayed, after which the user can re-enter the part that was erroneous.
Related topics Descriptions
MML command execution
3.8 Repeating or cancelling MML commands 1
Repeat an MML command
1. Press the 'up' arrow to search for a command Search the command you wish to repeat by pressing the 'up' arrow. 2. Execute the command Execute the command by pressing ENTER when the command is displayed after the prompt.
2
Cancel an MML command
Select one of the following alternatives: •
Interrupt MML command execution When 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 execution To terminate command execution, press
Expected outcome
A command is succesfully repeated or cancelled.
CTRL-Y
.
Executing MML Commands in IPA-RNC
Using MML commands
3.9 Moving from one command level to another Purpose
You 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).
1
Move from one command level to another
Select one of the following alternatives: •
Move to the main level To move to the main level, enter Z;.
•
Move to a command class To 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 group To 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 information
The following figure illustrates how to move from one command level to another.
Using MML commands
Executing MML Commands in IPA-RNC
Figure 5
How to move from one command level to another
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 outcome
You move succesfully to another command level.
3.10 Entering default values to parameters Purpose
A 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 (,).
Executing MML Commands in IPA-RNC
Using MML commands
If you do not use the parameter guide, in order to indicate a default value of a positiondefined parameter when you type in a command without using the parameter guide, omit the parameter value, but leave the appropriate separator.
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 comma
Omit the value of the first parameter in the first parameter block by giving comma: ZIID:,OMU:COMCAL;
Example:Entering default value by omitting the values
Omit 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 parameter, 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 comma
Give 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 comma
Omit the values of the parameters and the comma that would follow one of these parameters: ZIDL:WDU,0,COMMANDS:;
Expected outcome
Default value is given succesfully.
Using MML commands
Executing MML Commands in IPA-RNC
3.11 Changing the language of MML command menus Purpose
This procedure gives information on how to change the language of MML command menus.
1
Press CTRL-K
If several languages are in use, you can change the language of command menus pressing CTRL-K . Expected outcome
The language of MML command menus is changed.
3.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.
1
Press CTRL-4
To 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 4
CTRL-4
again, the printouts of the semantics check are displayed.
Press CTRL-4 for the third time
When you press state.
CTRL-4
for the third time, the MML program is set in the normal
Expected outcome
The MML program is set in the test state.
Executing MML Commands in IPA-RNC
Using MML commands
3.13 Setting an MML session time-out Purpose
You 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.
1
Changing the idle time limit
Select one of the following alternatives: •
Changing the idle time limit of your own profile (IAX) ZIAX:;
•
Changing the idle time limit of a certain profile (IAA) The limit is changed using the TLIMIT parameter. ZIAA:::,,,:TLIMIT=;
Expected outcome
An MML session time-out is set.
MML macros
Executing MML Commands in IPA-RNC
4 MML macros 4.1 MML macros A 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. /* $I $1 $O
@(#)MID: TSTI1OGE.EMM 1.1-0 00/06/01 */ ..... I/O SYSTEM ADMINISTRATION ..... TEST MACROS ..... 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. * ***************************************************************** *
Executing MML Commands in IPA-RNC
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; output_off; on_confirm continue;
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 extension of MML macros is always EMM.
Running MML macros The MML macro run means that the user starts the MML macro on the MML terminal.
MML macros
Executing MML Commands in IPA-RNC
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 defi nitions in the MML macro, which is normal or block parameter. They also have to correspond to the parameter type, which is character 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.
Related topics Instructions
Executing an MML macro Testing MML macros Installing MML macros Listing MML macros Displaying the contents of an MML macro Descriptions
Executing MML Commands in IPA-RNC
MML macros
MML 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
4.2 MML macro names The fourth, fifth and sixth character together specify the MML macro so that it is unambiguous. 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 6
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 combination 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 group A 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.
Related topics Descriptions
MML macros
MML macros
Executing MML Commands in IPA-RNC
4.3 MML macro structure At 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 definition section contains the definitions for the parameters and variables. The execution part is made up of command language statements.
Related topics Descriptions
MML 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
4.4 Structural parts of the command language in MML macros The following structural parts belong to the command language: •
line structure
•
characters
•
identifiers
•
keywords
•
constants
•
operators
•
comments
Executing MML Commands in IPA-RNC
MML macros
Line structure The 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.
Characters The 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.
Identifiers The 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 characters, 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.
Keywords An 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 letters and they are (please note that all keywords are not necessarily in use, instead, they are reserved for a possible future use): if then else fi
and xor or not
MML macros
Executing MML Commands in IPA-RNC
while end goto label gosub subrou retsub call return dstr_to_num num_to_dstr hstr_to_dstr
Constants The 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 character-string variable.
Operators The command language uses arithmetic, logical, and comparative operators. The arithmetic operators are: + (addition), - (subtraction), * (multiplication), and / (division). 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 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.
Executing MML Commands in IPA-RNC
MML macros
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.
Comments A 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.
Related topics Descriptions
MML macros
4.5 Menu texts in MML macros If 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 TEXT MML MACRO HEADER ...
Related topics Descriptions
MML macros
4.6 Header in MML macros Structure The 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 (;).
MML macros
Executing MML Commands in IPA-RNC
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 presented 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 7
An example of the structure of an MML macro header
Position-defined parameters The 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 parameter If 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.
Related topics Descriptions
MML macros
4.7 Declaration and execution parts in MML macros Declaration of parameters and variables All parameters and variables to be found in an MML macro must be specified in the declaration 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 semicolon (;). 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.
Executing MML Commands in IPA-RNC
MML macros
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 parameter, 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 */", ?DEC_NUMBER( 30 ),
Execution part It 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 statements end in a semicolon (;). Empty statements which only include a semicolon are not allowed.
Related topics Descriptions
MML macros
MML macros
Executing MML Commands in IPA-RNC
4.8 Command language expressions and statements in MML macros Command language is a language made up of statements with an unambiguous structure 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 calculated, 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 statements, placement statements, if-statements, while-statements, MML command, library routines and exit statements.
Related topics Descriptions
MML macros
4.9 Directives in MML macros Command 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.
Errors When 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.
Executing MML Commands in IPA-RNC
ask
MML macros
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 confirmation The 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
continue
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.
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:; :
MML macros
Executing MML Commands in IPA-RNC
Execution message The 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; :
Echoing The 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:
Echoing and stopping The trace_on and trace_off directives are used both to echo command language statements 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:" );
4.10 Stop statements in MML macros The execution of MML macros can be stopped by using either the delay or the wait statement. 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 brackets: 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; :
Related topics Descriptions
MML macros
MML macros
Executing MML Commands in IPA-RNC
4.11 Input and output statement in MML macros The 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 variables, 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 variables. 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 ***/
Related topics Descriptions
MML macros
Executing MML Commands in IPA-RNC
MML macros
4.12 Placement statement in MML macros A command language placement statement has three parts: the first is always a variable, 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.
Related topics Descriptions
MML macros
4.13 If-statement in MML macros An 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 statements (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.
MML macros
Executing MML Commands in IPA-RNC
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; :
Related topics Descriptions
MML macros
4.14 While-statement in MML macros A while-statement is used, in an MML macro, for programming loops that repeat the execution 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, comparative 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 executed; 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 preceding 'while' word that has yet to find an end to its while-statement. In one nested structure, there may be up to 20 if-statements and while-statements.
Executing MML Commands in IPA-RNC
MML macros
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;
Related topics Descriptions
MML macros
4.15 MML commands in MML macros The 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 parameters may be substituted with parameters or variables defined for the MML macro in question. 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; :
Related topics Descriptions
MML macros
MML macros
Executing MML Commands in IPA-RNC
4.16 Library routines in MML macros The 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 integer The 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 string The 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 conversion, 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 string The 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.
Executing MML Commands in IPA-RNC
MML macros
Example of hstr_to_dstr is as follows: ?HEX_STR = "1A"; ?DEC_STR = hstr_to_dstr(?HEX_STR);
Part of character string into character-string variable The 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 parameters, 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 buffer The 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); USI:ALL;
/* store execution printout of /* USI-command
*/ */
MML macros
Executing MML Commands in IPA-RNC
set_def_buffer(?BUFF_NRO); IBC:,,?FILENAME,?EXTENSION; : set_def_buffer(2); /* USI printout is handled in /* next statements
*/
Reading the output buffer The 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 character 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 execution 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 string The 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.
Executing MML Commands in IPA-RNC
MML macros
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 line The 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 back The 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 otherwise defined by the on-error directive. The routine begins with the keyword prevln which is followed by a pair of brackets containing the number of lines as an integer constant, or given by means of an integer variable. 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 forward The 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 containing the number of lines as an integer constant, or given by means of an integer variable.
MML macros
Executing MML Commands in IPA-RNC
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 OMU-0 0000H 4002H OMU-1 0001H 4002H DMCU-0 > DMPG-0 > 0002H 4012H DSP-0 DSP-1 TBU-0 TOTAL OF 7 UNITS FAULTY UNIT INCORRECT STATES
STATE INFO WO-EX TE-EX WO-EX WO-EX WO-EX WO-EX WO-EX RBAN 0 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;
Related topics Descriptions
MML macros
4.17 Exit statements in MML macros The 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;
Executing MML Commands in IPA-RNC
MML macros
: exit;
Related topics Descriptions
MML macros
4.18 Execution of MML macros To 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 displayed. 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 macros Should an error occur during the execution of an MML macro, the execution either terminates 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.
Related topics Descriptions
Short start-up method for MML macros Long start-up method for MML macros
4.19 Short start-up method for MML macros You can start the macro either step-by-step using command menus and the parameter guide or without using the system's help.
MML macros
Executing MML Commands in IPA-RNC
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
g
CR
(carriage return).
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 executed. 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.
Related topics Instructions
Executing an MML macro Descriptions
Execution of MML macros
4.20 Long start-up method for MML macros In 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.
Executing MML Commands in IPA-RNC
MML macros
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 );
The MML macro starts running. •
or the parameters separately: MAIN LEVEL COMMAND <___> < @KCHI1CGE /* IDENTIFY SYSTEM */ LAB /* OLD SUBSCRIBER NUMBER, */ 70005 /* NEW SUBSCRIBER NUMBER, */ 80005 OLD_DP? 5 /* NEW DECIMAL POSITION NUMBER */ 45 :
The MML macro starts running.
Related topics Instructions
Executing an MML macro Descriptions
Execution of MML macros
MML macros
Executing MML Commands in IPA-RNC
4.21 Testing MML macros Purpose
When 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 semantics), 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.
1
Follow the general procedure for functional testing
Expected outcome
An MML macro is tested.
4.22 Installing MML macros Purpose
An 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.
1
Copy the main macro (and the submacros) to the MMDIRE directory
Expected outcome
Executing MML Commands in IPA-RNC
MML macros
MML macros are installed.
4.23 Listing MML macros Purpose
This procedure gives instructions on how to list MML macros.
1
List the MML macros in the system (IWX) ZIWX::::,;
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 outcome
The MML macros are listed.
4.24 Executing an MML macro 1
Execute an MML macro
Select one of the following alternatives: •
Execute an MML macro without using the system's help (short start-up method) 1. Type the three characters that identify the macro, a colon (:) and the parameters 2. Complete the command by entering a semi-colon (;)
•
Use the parameter guide to execute an MML macro (long start-up method) 1. 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 directory to the destination directory on both disks. The parameter guide is displayed. For example, the following guide can be displayed: /* GIVE FILENAME TO BE COPIED */
2. Enter the parameters that the parameter guide asks you to enter
MML macros
Executing MML Commands in IPA-RNC
3. 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) 1. 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 outcome
An MML macro is executed.
Related topics Descriptions
Directives in MML macros MML macros
4.25 Displaying the contents of an MML macro Purpose
This procedure gives instructions on how to display the contents of an MML macro.
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: