Home

Monk Developer`s Reference

image

Contents

1. Return Value strin This function returns the string representation of the input number in radix Examples number gt string 65 gt 65 number gt string 40 gt 40 number gt string 3 14 gt 3 14 number gt string 10 8 gt 12 number gt string 10 8 gt 10 Monk Developer s Reference 246 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures string gt number Syntax string gt number string Description Translates a string into a number Parameters Name Type Description string string Any string that consists of numeric characters Return Value number or Boolean This function returns a number Otherwise it returns f Examples string gt number string gt number string gt number string gt number Monk Developer s Reference 123 gt 123 1 gt 1 13 4 gt 13 4 abc gt f 247 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures keyword Syntax keyword string Description Determines whether the specified string is a keyword Parameters Name Type Description string string The string to verify Return Value Boolean Returns t if the specified string is a keyword otherwise returns f Example keyword Monk Developer s Reference not a keyword 248 gt f SeeBeyond Proprietary and Confidential Chapter
2. Parameters Name Type Description function function The Monk character function to perform This function must return a Boolean value source string The string on which the function performs its character search Return Value integer Returns the index position of the first character in source that causes function to return t true otherwise returns the length of source if no such character exists Examples string search from left char numeric 345 Elm Ave 7 gt 0 string search from Monk Developer s Reference left char upper case 448 345 Elm Ave 7 gt 4 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions string search from right Syntax string search from right function source Description Searches a string using a specified Monk function to find the last character which matches It returns the index of the first character in source that causes function to return true or 1 if no such character exists You must specify a Monk character function which returns a Boolean value as its return value Parameters Name Type Description function function The Monk character function to perform This function must return a Boolean value source string The string on which the function performs its character search Return Value integer Returns the index position of the f
3. Parameters Name Type Description vector vector The vector to manipulate num integer The index position where to store the object obj any The object to store at the index position in the vector Return Value Unspecified Examples vector set a b c d 3 5 gt a bc 5 vector set a b cd 3 5 gt MONK_EXCEPTION Monk Developer s Reference 237 SeeBeyond Proprietary and Confidential Chapter 9 Vector Expressions vector gt string Syntax vector gt string vector Description Converts the specified vector to a string 9 2 The Vector Functions Parameters Name Type Description vector vector The vector to convert Return Value string Returns a string Example vector gt string Monk Developer s Reference a b c gt abc 238 SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing A predicate is a procedure that always returns a boolean value t or f An equivalence predicate is a computational analogue of a mathematical equivalence relation In Monk equivalence relationships exist at different levels Two Monk objects may be equivalent because they are the same object or should be regarded as the same object The function eqv on page 243 tests for this kind of equivalence Because variables are bound to locations in memory testing for equivalence in the eqv sense
4. temp real number Temperature in degrees Celsius Return Value number Returns a number representing the temperature in Fahrenheit resulting from the conversion Examples degc gt degf 100 gt 212 0 degc gt degf 0 0 gt 32 0 Monk Developer s Reference 426 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions degf gt degc Syntax degf gt degc temp Description 20 1 Basic Library Functions Converts a temperature from Fahrenheit to Celsius Parameters Name Type Description temp real number Temperature in degrees Fahrenheit Return Value number Returns a number representing the temperature in degrees Celsius resulting from the conversion Examples degf gt dege 212 0 degf gt dege 32 0 Monk Developer s Reference gt 100 0 0 0 427 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions diff two dates Syntax diff two dates datel date2 Description diff two dates determines the number of days between two standard dates The function converts the standard dates into a Julian form and subtracts the second date from the first If the second date is later than the first the result will be negative Parameters Name Type Description date1 string First date in format YYYYMMDD date2 string Second date in format YYYYMMDD R
5. acos Syntax acos number Description Calculates the arc cosine of the input argument The input argument must be between 1 and 1 Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Number Arc cosine in radians A number between 0 and pi Examples acos 1 gt 3 14159265358979 acos 1 gt 0 0 acos 0 896 gt 0 460118237382662 acos 0 22 gt 1 79201079729169 Monk Developer s Reference 167 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions asin Syntax asin number Description Calculates the arc sine of the input argument The input argument must be between 1 and 1 Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Number Arc sine in radians A number between pi 2 and pi 2 Examples asin 1 gt 1 5707963267949 asin 1 gt 1 5707963267949 asin 0 896 gt 1 11067808941223 asin 0 22 gt 0 221814470496794 Monk Developer s Reference 168 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions atan Syntax atan number Description Calculates the arc tangent of the input argument Parameters Name Type Description number number Any type of number integer or string Return Value Number Arc tangent in radians A number betw
6. file rename filenamel filename2 Description Renames the original file to the new file name You must include the full path Parameters Name Type Description filename string The original name of the file including the full path filename2 string The new name of the file including the full path Return Value Boolean Returns f if the file specified does not exist Otherwise it evaluates to t Examples file rename home userl output dat home userl mytestdata dat gt t Monk Developer s Reference 293 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions getenv Syntax getenv variable Description Retrieves the value of the specified environment variable Parameters Name Type Description variable string Name of the environment variable from which the value is retrieved Return Value string Returns a string representing the value of the specified environment variable Boolean Returns f if the variable does not exist Example getenv ORACLE_HOME gt opt oracle8 app oracle product 8 0 5 Monk Developer s Reference 294 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions load Syntax load filename Description Reads expressions and definitions from the file specified and evaluates them sequentially Parameters Name Type Description
7. gt 35 gt 92 Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 251 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures integer gt char Syntax integer gt char num Description This function returns the character for the specified number Parameters Name Type Description num integer The number representation of a character Return Value character The character represented by the specified number Examples integer gt char 100 gt d integer gt char 50 gt 2 integer gt char 98 gt b Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 252 SeeBeyond Proprietary and Confidential File I O Expressions Chapter 12 Monk supports the ability to open files read data from files and write data to files A Monk structured data type called a port is used to track the status of the file it is associated with A port is the data type returned by the file open functions For example to prepare a file for reading you would execute code like this define myfileptr open input fil c data employee dat Then the variable myfileptr which is a port would later be used in later function calls to read from the employee dat file The File I O Expressions are
8. operators debug Monk Developer s Reference 386 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures monk flag check 18 2 Internal Debug Control Procedures Syntax monk flag check flag Description Evaluates the flag and checks whether the symbol that represents the flag is active or not Parameters Name Type Description flag symbol A well known Monk flag Return Value Boolean Returns t if the flag is active or f if the flag is not active Examples monk f monk f monk f monk f Monk Developer s Referen lag clear lag check lag set ce all lag check all map event debug gt map event debug gt t 387 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures Internal Debug Control Procedures monk flag clear Syntax monk flag clear flagn Description Clears valid Monk flags Flagn may be a symbol for a specific monk flag or a 32 bit mask expressed as an integer Parameters Name Type Description flagn symbol Valid Monk flag s Return Value Boolean The result of the function is the success or failure of clearing the last flag in the parameter list which will be t or f Example monk flag clear debug all gt t Monk Developer s Reference 388 SeeBeyond Proprietary and Confidential Chapter 18 18 2 Debug Procedures Internal D
9. a aaaaa aa ar Aab a b ab aaab abbb aaaabbbb aa 263 Regular Expression Operators Regular expression operators can be used to construct complex pattern matching expressions Samples are shown below Operator Usage Matches any single character including a newline but not null reg ex Matches zero or more occurrences of reg exp The operator operates on the regular expression immediately preceding If this is an ordinary character that character is the regular expression on which operates reg ex Matches one or more occurrences of reg exp The operator operates on the regular expression immediately preceding If this is an ordinary character that character is the regular expression on which operates reg ex Matches zero or one occurrence of reg exp The operator operates on the regular expression immediately preceding If this is an ordinary character that character is the regular expression on which operates reg ex count Specify the required number of matches with an integer enclosed in and reg exp must occur exactly count times reg ex min Specify the minimum required number of matches reg exp must occur at least min times reg ex min max Specify the minimum and maximum required number of matches reg exp must occur at least min
10. int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in UHC Example ebcdic2uhc_m gt ABC Monk Developer s Reference ABC 1 492 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions euc2sjis Syntax euc2sjis string Description Converts data encoded using the EUC character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The EUC encoded string to be converted Return Value string The converted string in SJIS Example euc2sjis gt ABC Monk Developer s Reference ABC 493 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions euc2sjis_g Syntax euc2sjis_g string Description Converts data encoded using the EUC character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The EUC encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji euc2sjis_g ABC gt
11. Return Value string This function returns the specified number of bytes from an open port If a newline is encountered before the specified number of bytes have been read the function returns the bytes read up to but not including the newline character eof object The end of file object Example define fp open input file home userl test txt read line fp 80 gt how now brown cow Monk Developer s Reference 283 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions display Syntax display object port Description Displays the object to the specified output port The port is optional If not present the system defaults to the standard output port Parameters Name Type Description object any The object to display at the output port port port Handle to the open port optional Return Value Unspecified Example define fp4 open output file output dat display writing to file fp4 gt MONK_UNSPECIFIED The file output dat now contains writing to file Monk Developer s Reference 284 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions newline Syntax newline port Description Writes a newline to the output port The port is optional If not specified the standard output port is assumed Parameters Name Type Description port port Handle to the open por
12. 162 gt 164 gt 165 A abort 632 abs 166 absolute value 166 392 acos 167 add 393 additional information 20 Advanced Library Function 461 allcap 419 and 58 API functionality interface 378 append 206 appending data 40 apply 309 arabic2utf8 485 arc cosine 167 arc sine 168 arc tangent 169 argument types 22 ascii gt ebcdic 600 asin 168 assoc 207 association list 207 assq 208 assv 209 Monk Developer s Reference 660 atan 169 B base64 gt raw function 602 Basic Library Functions 417 begin 59 behavior of optional nodes without data 42 big52utf8 486 big endian gt integer 170 binary gt string function 603 boolean 301 definition of 22 Boolean expressions 57 boolean 302 break 384 byte count referencing 51 bytes referencing delimiters in event 43 referencing in path 51 52 C caar cddddr 212 calc surface bsa 462 calc surface gg 463 capitalize 420 car 210 case 60 case equal 61 catch 633 cdr 211 ceiling 171 394 change directory function 604 change pattern 327 char 81 83 char lt 83 char lt 81 char 80 char gt 84 char gt 82 char gt integer 251 char 79 character conversion functions 482 Character functions 78 characters control 28 definition of 22 delimiters expressed as 43 escaped 28 32 hex 29 interpreted 28 octal 29 SeeBeyond Proprietary and Confidential Index use of 27 char alphabetic 90 char and 91 char ci 86 88 char ci lt
13. Examples sqrt sqrt sqrt sqrt sqrt Monk Developer s Reference 9 48683298050514 MONK EXC EPT 0053 199 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions tan Syntax tan radians Description Calculates the tangent of the input argument The input argument is expressed in radians Parameters Name Type Description radians number Any type of number or string that converts to a number Return Value number Value of the tangent of the input argument Examples tan 1 gt 1 5574077246549 tan 1 gt 1 5574077246549 tan 0 896 gt 1 24985808686053 tan 3 1415926 4 gt il tan 10 gt 0 648360827459087 Monk Developer s Reference 200 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions truncate Syntax truncate number Description Removes the decimal point and any numbers following the decimal point Parameters Name Type Description number number Any type of number or string that converts to a number Return Value integer Value of the integer portion of the input argument Examples truncate 34 gt 34 truncate 50 1 gt 50 truncate 123 gt 0 truncate 80 9 gt 80 Monk Developer s Reference 201 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions uint Syntax uint Description number Checks to see if the in
14. filename string Path to the file to load can be full or partial path by using the load path setting The Monk load path is an internal Monk variable that is automatically set The load path is populated in part by the SharedExe and SystemData values in the egate store file See the e Gate Integrator System Administration and Operations Guide for more information about this file Return Value Unspecified Note If the Monk file to be loaded returns an exception that exception will be returned by the load function Example load my_monk_library my_file gt MONK UNSPECIFIED Monk Developer s Reference 295 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions load directory Syntax load directory dirname Description Loads all files with the monk extension from the specified directory into the Monk environment Performs a load on each file ignoring all but catastrophic exceptions Parameters Name Type Description dirname string Full path to a directory Return Value Unspecified Limitations load directory does not operate recursively For example if a file loadother monk is found in the directory specified by dirname which itself contains a load directory command the first load directory command will not run to completion but stop after the file loadother monk is finished loading Example load d
15. make vector num fill Description 9 2 The Vector Functions Creates a vector having the specified number of elements If the fill argument is given each element of the created vector will be initialized to that value Parameters Name Type Description num integer The number of elements to be created in the vector fill any Optional If specified each element of the created vector will be initialized to this value Return Value vector A vector is created having the specified number of elements and initialized if specified to the given value Examples make vector 2 make vector 4 4 0 Monk Developer s Reference gt UNSP ECIFI ED UNSPECIFI ED gt 4 0 4 0 4 0 4 0 230 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions vector Syntax vector obj Description Creates a vector from one or more given objects Parameters Name Type Description obj any One or more objects of any data type used to create a vector Return Value vector A vector is created from the given objects Examples vector a b c gt a b c vector a 3 4 gon gt a 7 c Monk Developer s Reference 231 SeeBeyond Proprietary and Confidential Chapter 9 Vector Expressions vector Syntax vector obj Description Tests if the give
16. 1 A list of delimiters The delimiter list assists in describing the event structures s physical hierarchy and thereby how data is to be parsed into its units from its highest to its lowest level 2 A list of nodes The node list describes the event s logical structure You define the logical structure by establishing the criteria by which the physical structure is to be organized Concurrently you assign names to your organization thus enabling clear access to the data components for manipulation When defining the logical structure you identify and name Ordered groups structured event elements that comprise an ordered set that is the data elements must exist in the specified order Unordered groups structured event elements that comprise an unordered set that is the data elements can exist in any order Repetitions structured event elements that repeat Hierarchy the event element levels Constants structured event elements that are required Optionals structured event elements that are optional Fixed length fields structured event elements that have a fixed length When the delimiter list and the list of nodes are combined they form a structured definition 28 2 Structured Events A structured event is created when event data has been mapped to an event definition You can also think of it as parsed event data A structured event is the result of the delimiter list and the make event
17. 1 If the last clause in the series is an else clause which has the form else expression 1 expression the expressions in the else clause are evaluated and the result of the last expression is returned as the result of the case expression 2 If the last clause in the series is not an else clause the result of the case expression is unspecified Parameters None Return Value Results of the evaluation of an expression associated with a particular datum Examples define var 3 case equal var 1 3 5 7 9 An ODD digit 0 2 4 6 8 An EVEN digit else Not a digit gt An ODD digit Monk Developer s Reference 61 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions cond Syntax cond testi expril expri2 ewi or cond testi expril expri2 else exprN1 exprN2 Description Flow control expression The test expressions of the successive clauses are evaluated left to right until one of them evaluates to t or to an expression equivalent to t After a test is found which evaluates to true the remaining expressions of the clause are evaluated in order The result of the last expression in the clause is returned as the result of the cond expression For every test there has to be at least one expression 1 If the clause contains only a test but no expressions the result
18. Chapter 21 International Conversion Functions utf8 2sjis Syntax utf82sjis string Description Converts data encoded using the UTF8 character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in SJIS Example ut f82sjis ABC W gt ABC Monk Developer s Reference 563 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82sjis_g Syntax utf82sjis_g string Description Converts data encoded using the UTF8 character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji tabl Sjis2euc convertl1 utf82sjis_g ABC gt ABC Monk Developer s Reference 564 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82uhc Syntax utf82uhce string Description Converts data encoded using the UTF8 character encoding scheme to UHC The character type of the converted string is set to UHC Parameter
19. Chapter 8 Pairs and Lists cdr Syntax cdr pair Description Returns the cdr of a pair Parameters Name Type Description pair pair The pair Return Value cdr The contents of the cdr field Examples cdr a b c d gt bcd cdr 1 2 gt 2 cdr gt MONK_EXCEPTION Monk Developer s Reference 211 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists caar cddddr Syntax caar cddddr Description Returns the car the cdr or the successive combinations of car and cdr The car and cdr of a list may each be nested up to four levels deep There are 28 functions in this group caar cadr cdar cddzr caaar caadr cadar caddr caaar cdddr Parameters Name Type Description list list The list Return Value list A list representing the expected nesting level Examples caar cdddr a bc d e gt d e cddddr a b cde f gt e E cdddddr a b cde f gt MONK_EXCEPTION Monk Developer s Reference 212 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists cons Syntax cons objl1 obj2 Description Creates a new pair having obj1 as its car and 0072 as its cdr Parameters Name Type Description obj1 any Any object Becomes the car of the pair obj2 any Any object Becomes the cdr of the pair Return Value pe The pair
20. Monk Developer s Reference 57 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions and Syntax and test1 test2 Description and is a multi conditional expression that evaluates left to right Parameters Name Type Description testN expression The expression to evaluate Return Value The and expression stops processing and returns the result of the first test that returns false If all expressions return true not f the expression returns the result of the last expression evaluated If no tests are listed the t is the result Examples define thr digit string lambda s and string s Monk Developer s Reference string length s 3 char numeric char numeric char numeric string ref s 0 string ref s 1 string ref s 2 begin define begin lambda on strings begin and test if s is string test if s has length of 3 test if lst char is numeric test if 2nd char is numeric test if 3rd char is numeric end and end lambda end define Ne Ne Ne Ne Ne Ne Ne Ne Ne Ne Ne 58 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions begin Syntax begin expressionl expression2 Description Sequences evaluation of expressions The expressions following begin are evaluated left to right Parameters Name Type Description expression expression
21. SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions lt Syntax lt number number Description Determines whether the first argument is less than or equal to the second argument If you specific three or more arguments it returns t if each input parameter is less than or equal to the input parameter that follows it Otherwise it returns f Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Value of the comparison of the input arguments Examples lt 33 gt E lt 3 10 gt t lt 3 4 10 gt lt 3 4 1 gt f lt 4 1 gt f lt 17 3 gt ic Monk Developer s Reference 163 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions gt Syntax gt number number Description Determines if the first argument is greater than the second argument If you specific three or more arguments it returns t if each input argument is greater than the input argument that follows it Otherwise it returns f Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Value of the comparison of all input arguments Examples gt 3 10 gt f gt 4 1 gt t gt 15 4 17 100 gt Monk Deve
22. The binary string used as input must be in the big endian format Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example binary gt string string gt binary 12345 3 gt 12345 Monk Developer s Reference 603 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk change directory Syntax change directory string Description 22 4 Monk Utility Functions Changes the working directory of the current process to the specified directory Parameters Name Type Description string string A directory name Return Value Boolean Returns t if the function executes successfully otherwise returns f Example change directory monk_scripts common myscripts gt t Monk Developer s Reference 604 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions close pipe Syntax close pipe handle Description Closes the file handle created by the open pipe function For more information see open pipe on page 611 Note This command is only available under the UNIX operating system Parameters Name Type Description handle string The name of the file handle to be closed Return Value boolean Returns a t if the handle is valid Otherwise returns f Example define fp open p
23. The fifth field of the third repetition of the DTM segment of the MSG node input MSG N1 0 5 The sixth field of the first repetition of the N1 node of the MSG node input MSG MIT 4 N1 5 PER 2 6 The seventh field of the third repetition of the PER of the sixth repetition of the N1 node of the fifth repetition of the MIT node of the MSG node 287 Use of Variables to Represent Path Elements A variable that contains a path a number or a symbol can be used in a path Sample uses include using a variable name for a frequently accessed location substituting a variable for an instance index in a do loop expression or using variables to reference byte counts Variable names within a path are denoted by angle brackets For example lt var_name gt When assigning a path value to a variable you must precede the path with either a percent sign or a tilde For example define ETC SMSH EVN 1 Examples This path Uses a variable to input lt ETC gt Represent a path ETC is a variable with the value MSH EVN 1 as defined above input MSG DTM lt i gt 4 Represent an repetition This path might be used within a do loop expression the value of lt i gt would be the current value for the loop s iteration counter input MSG CID 19 lt i gt lt j gt Represent byte offset lt i gt and length lt j gt 28 8 Path to Any Ordered Set If you place dat
24. char or Syntax char or charl char2 Description Returns a new character which is the Boolean or on the two specified characters Parameters Name Type Description char1 character Initial character for the or operation char2 character Second character for the or operation Return Value character Returns a character representing the result of the Boolean or on the specified characters Examples char or G C gt G Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 96 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char shift Syntax left char shift left char num Description Returns a new character which the left shift of the bits representing the specified character and performs the shift operation the number of times specified by the second parameter Parameters Name Type Description char character Initial character for the shift operation num integer Number of times to perform the shift left Return Value character Returns a character representing the result of the shift operation on the specified character Examples char shift left G 3 gt 9 Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values
25. gt cat See string gt hexdump on page 621 for more information Monk Developer s Reference 608 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk Monk Utility Functions IBMpacdec gt string Syntax IBMpacdec gt string string Description Converts an IBM packed decimal to a string Parameters Name Type Description string string The string to be converted Return Value string The string corresponding to the IBM packed decimal Examples The following examples work on an EBCDIC machine IBMpacdec gt string string gt IBMpacdec 0x12345C gt 12345 IBMpacdec gt string string gt IBMpacdec 0x12345D gt 12345 The following example works on an ASCII machine The inclusion of the identifier EBCDIC indicates to the Monk engine that the string to be converted is in EBCDIC format Without this identifier the data would be incorrectly interpreted as ASCII data display ebcdic gt ascili IBMpacdec gt string EBCDIC x01 x23 x4c Full gt 01234 Monk Developer s Reference 609 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk IBMzoned gt string Syntax IBMzoned gt string string Description 22 4 Monk Utility Functions Converts a IBM zone decimal string to a string representation of a number Parameters Name Type Description string string The string to be converted Re
26. init gaiji set gaiji tabl Sjis2euc convertl1 sjis2jis_g ABC 0 gt ABC Monk Developer s Reference 536 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2keis Syntax Ssjis2keis string type Description Converts an SJIS string into KEIS 83 then sets its type as 1Byte Parameters Name Type Description string string The SJIS string to be converted type integer Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in KEIS 83 Example sjis2keis idu ABC gt Monk Developer s Reference nL 0 537 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2keis_g Syntax Ssjis2keis_g string type Description Converts data encoded using the SJIS character encoding scheme to KEIS 83 using a user defined custom Gaiji table associated with this function The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS string to be converted type integer Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The con
27. input EVT SEG home userl filename hello lename hello home userl filename gt t bye home userl filename gt f 347 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions file lookup Syntax file lookup source filename Description Matches source data against data contained in a filename The data in the source location is compared to the strings in filename Parameters Name Type Description source path string The data to compare filename string The name of the file containing the matching data including its absolute directory location For example home user1 data dept_phone The data file is an ASCII text file containing one string per line For example 10099 10100 10104 10211 11307 The maximum string length is 8 096 bytes Return Value If a match is found the expression returns t If no match is found the expression generates an exception and the function fails Examples file lookup input EVT EVN 1 home userl data events gt t Monk Developer s Reference 348 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions get Syntax get path Description Extracts data from a structured event Parameters Name Type Description path path The path to the data in the structured event Return Value string The get expression returns a strin
28. integer The count map children expression returns the total number of children 0 to n defined in the resolved event Examples Returns the number of child nodes defined for SI count map children inputSEVT SEG 5a Q SEG1 SEG2 SEG3 have three optional children nodes display input EVT SEG1 gt aaal lbbb ccc display count map children input SEVT SEG1 gt 3 display input EVT SEG2 gt 111 333 display count map children input SEVT SEG2 gt 3 display input EVT SEG3 gt al b2 c3 d4 e5 6 display count map children input SEVT SEG3 gt 3 Monk Developer s Reference 332 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions count rep Syntax count rep path Description Counts the total number of repetitions of the specified node that are found in the structured event data tree Use this expression when writing expressions that loop on repeating event elements Parameters Name Type Description path path The path to the structured event element to be counted Return Value integer The count rep expression returns the total number of repetitions 0 to n of the specified node that are found in the event data tree Examples Returns the number of repetitions of the DTM segment count rep input S EVT DTM Returns the number of repetitions of the REF s
29. 32 36 Monk Developer s Reference 12 60 10 288 288 181 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions little endian gt integer Syntax littl ndian gt integer string size Description Convert a little endian number into a Monk integer The little endian number is represented as a character string up to four bytes long size specifies the size of the string 1 4 bytes Parameters Name Type Description string string Binary string to be converted to a number size number The size of the integer to convert in bytes 1 4 Return Value integer This function returns an integer Examples littl ndian gt integer A 1 gt 65 littl ndian gt integer a 1 gt 97 littl ndian gt integer Aa 2 gt 24897 littl ndian gt integer y 1 gt 121 Monk Developer s Reference 182 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions log Syntax log number Description Calculates the natural logarithm of the input argument Input argument must be greater than zero Parameters Name Type Description number number Any type of number or string that converts to a number Return Value logarithm This function returns the natural logarithm of the input argument Examples log 45 Os log 0 log 1 23 log 100000 Mo
30. Chapter 12 File I O Expressions output string port Syntax output string port port Description Tests whether the specified port is an output string port Parameters Name Type Description port port Handle to the output string Return Value Boolean This function returns f if the port is not an output string port Otherwise it evaluates to t Examples define fp3 output string port fp3 define fp4 output string port fp4 Monk Developer s Reference open outstring open output file output4 dat 271 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions regex string port Syntax regex string port string port from start Description Determines the location or index of an string on a port Parameters Name Type Description string string The string to test port port The port for input from start any Searches from start of string If not specified the search begins at the current position Return Value Boolean Returns f if the string could not be found integer Location of the string in the input file Example define buffer The quick brown fox jumps over the lazy dog define fp3 open input string buffer regex string port quick fp3 gt 4 Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Develope
31. Example Aborting process Monk Developer s Reference 637 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics exception string all Syntax exception string all Description Retrieves the complete string which represents the exception information Parameters None Return Value Returns the entire string representing the exception information Example MONKEXCEPT 0194 abort Aborting process Monk Developer s Reference 638 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics exception symbol Syntax exception symbol Description Retrieves the symbol of the current active exception Parameters None Return Value Returns a symbol Example exception symbol gt 555 Monk Developer s Reference 639 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics throw Syntax throw exception message Description Creates the specified exception condition Parameters Name Type Description exception symbol System or user defined message string User defined message Return Value Creates an exception condition Example throw e555 My exception Also refer to the try example Monk Developer s Reference 640 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics t
32. Example get state Arcadia CA 91066 gt CA Monk Developer s Reference 473 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get street address Syntax get street address address Description Returns the address from a string formatted as ADDRESS APARTMENT that is everything before the comma If no comma is specified it returns the entire string Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description address string Street address Return Value string Returns a string with the street address from the supplied string that is everything before the first comma If the string does not contain a comma the function returns the entire string Examples get street address 12 Main St Apt 22 gt 12 Main St get street address 345 Elm Ave 7 gt 345 Elm Ave get street address 345 Elm Ave 7 gt 345 Elm Ave 7 Monk Developer s Reference 474 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions get zip Syntax get zip address Description 20 2 Advanced Library Functions Returns the zip code field from the string formatted as CITY STATE ZIP Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description address st
33. Monk Developer s Reference 611 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk pacdec gt string Syntax 22 4 Monk Utility Functions pacdec gt string string digit_after Description Converts a packed decimal string to a string representation of a number Parameters Name Type Description string string The string to be converted digit_after integer The number of digits after the decimal point Return Value string Returns a quoted number a string Example define mypacdec pacdec gt string mypacdec 5 gt 123 12345 Monk Developer s Reference string gt pacdec 123 12345 3 5 612 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk raw gt base64 Syntax raw gt base64 string Description Converts a raw string into a base 64 string 22 4 Monk Utility Functions Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example raw gt base64 Monk Developer s Reference Hello world n 613 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions reg get file Syntax reg get file string Description Gets a file from the e Gate Registry and writes a copy to the default directory The file created by this function can be open and read with any of the
34. Monk Developer s Reference 554 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin2 Syntax utf82latin2 string Description Converts data encoded using the UTF8 character encoding scheme to Latin2 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin2 Example utf82latin2 ABC gt ABC Monk Developer s Reference 555 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin3 Syntax utf82latin2 string Description Converts data encoded using the UTF8 character encoding scheme to Latin2 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin2 Example utf82latin3 ABC gt ABC Monk Developer s Reference 556 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin4 Syntax utf82latin4 string Description Converts data encoded using the UTF8 character encoding scheme to Latin4 The character type of the converted string is set to 1Byte Parameters Name Type Description string string
35. Monk Developer s Reference 97 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char shift right Syntax char shift right char num Description Returns a new character which is the right shift of the bits representing the specified character and performs the shift operation the number of times specified by the second parameter Parameters Name Type Description char character Initial character for the shift operation num integer Number of times to perform the shift right Return Value character Returns a character representing the result of the shift operation on the specified character Examples char shift right G 3 gt x Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 98 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char type Syntax char type char Description Determines the type of the specified character Parameters Name Type Description char character A character Return Value symbol Returns one of the following encoding types 1b0BIG5 2Byte lt 1bEUC 3bUTF8 1bSJIS 3Byte 1bUHC 4bUTF16 1bUTF8 4bUTF8 1Byte 4Byte 2bBIG5 ASCII 2bEUC BIG5 2bSJIS EBCDIC 2bUHC UCS2 2bUTF16 UTF16 2bUTF8 Examples define mychar integer gt char 100 char type mychar gt
36. SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jef2sjis_m_g Syntax jef2sjis_m_g string Description Converts single and or double byte JEF string using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The JEF encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji jef2sjis_m_g ABC tabl sjis2euc convert1 gt ABC Monk Developer s Reference 503 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jef2sjis_p Syntax jef2sjis_p string conversion_mode Description Converts data encoded using the JEF character encoding scheme to SJIS using a hexadecimal KI Kanji In code The character type of the converted string is set to SJIS Parameters Name Type Description string string The JEF encoded string to be converted conversion_mode int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in SJIS Example jef2sjis_p ABC 2 gt ABC Monk Developer s Reference 504 SeeBeyond P
37. clear port callback on page 254 close port on page 255 current debug port on page 256 current error port on page 257 current input port on page 258 current output port on page 259 current waming port on page 260 display on page 284 eof object on page 280 ftell on page 261 get port callback on page 262 input string port on page 263 newline on page 285 open append file on page 264 open input file on page 265 open input string on page 266 open output file on page 267 Monk Developer s Reference open output string on page 268 open random access file on page 269 output port on page 270 output string port on page 271 read on page 281 read char on page 282 read line on page 283 regex string port on page 272 rewind on page 273 seek cur on page 274 seek set on page 275 seek to end on page 276 set file encoding method on page 277 set port callback on page 278 string port gt string on page 279 write on page 286 write char on page 287 write exp on page 288 253 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions clear port callback Syntax clear port callback port Description Clears the current callback procedure from the specified port Parameters Name Type Description port port Handle to the open file Return Value Unspecified Example clear port callback portl Monk Developer s Reference 254 SeeBeyond Proprietary and Confide
38. defines the symbol gt Hello gt gt t undefines the symbol gt f SeeBeyond Proprietary and Confidential Character Functions Chapter 5 A character is a fundamental data type containing the representation of a single character within the machine s character set A character is identified by preceding it with To indicate any single printable character precede it by For example a b c A B C 1 2 To identify special characters the preferred method is to use the name of the character for example space tab Character functions which performs conversion to or from other data types may be found in Conversion Procedures on page 245 Following is a list of functions which operate on a character char on page 79 char on page 80 char lt on page 81 char gt on page 82 char lt on page 83 char gt on page 84 char ci on page 85 char ci lt on page 86 char ci gt on page 87 char ci lt on page 88 char ci gt on page 89 char alphabetic on page 90 char and on page 91 char downcase on page 92 Monk Developer s Reference char lower case on page 93 char not on page 94 char numeric on page 95 char or on page 96 char shift left on page 97 char shift right on page 98 char type on page 99 char type on page 100 char type on page 101 char upcase on page 102 char upper case on page 103 char whitespace on page 104 char xor on page 105 Se
39. f gt f 93 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char not Syntax char not char Description Returns a new character which is the Boolean not operation on the specified character Parameters Name Type Description char character Character for performing the not operation Return Value character Returns a character representing the result of the Boolean not operation on the specified character Example char not G comma Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 94 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char numeric Syntax char numeric char Description Determines whether the specified character is numeric Parameters Name Type Description char character The character to test Return Value Boolean Returns t if the specified character is numeric Otherwise returns f Examples tic char num char num rig ric char num ric char num ric char num Monk Developer s Reference A a 3 i gt f gt f gt t gt f gt f 95 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions
40. gt 11 string checksum 123 gt 48 Monk Developer s Reference 123 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci Syntax string ci stringl string2 Description Compares string and string2 for equality without regard for case Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns f if each character in string is not the same as the corresponding character in string2 Otherwise it evaluates to t Examples string ci string ci string ci string ci 1234 1234 abcd abcd 1234 T235 abcd W abcd gt t gt f gt t gt t Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 124 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci lt Syntax string ci lt stringl string2 Description Compares string and string2 for lexical order without regard for case Lexical order is determined by comparing corresponding characters of both strings until a non match occurs in the sense of char ci function If the non matching character of string is less than the non matching character of string2 in the sense of the char ci lt function t is returned Otherwise f is retur
41. integer gt little endian number size Description Converts an integer into a number represented as a little endian Takes an integer argument as its input number along with a second numeric argument that specifies the size of the big endian number to be created 1 4 bytes Parameters Name Type Description number integer An integer to convert size number The size of the integer to convert in bytes 1 4 Return Value string This function returns a string that has been formulated in little endian notation to represent the input argument to the function Examples integer gt little endian 65 2 gt A integer gt little endian 97 2 gt a integer gt little endian 24897 4 gt aA integer gt little endian 121 2 gt y Monk Developer s Reference 180 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Icm Syntax lcm numberl number2 Description Calculates the least common multiple of the input arguments Each input argument must be an integer Accepts negative values for either input argument Parameters Name Type Description number1 integer Any type of number or string that converts to a number number2 integer Any type of number or string that converts to a number Return Value integer This function returns an integer Examples lcm lcm lcm lcm lcm 12 4 12 20 1 10 32 36
42. julian gt standard leap year map string not empty string standard date standard gt julian string begins with string contains string ends with string search from left string search from right string gt ssn strip punct Monk Developer s Reference 11 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 417 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 SeeBeyond Proprietary and Confidential Contents strip string substring symbol table get symbol table put trim string left trim string right valid decimal valid integer verify type Advanced Library Functions calc surface bsa calc surface gg cm gt in get 2 ssn get 3 ssn get 4 ssn get apartment get city get first name get last name get middle name get state get street address get zip in gt cm Ib gt 0z oz gt gm a valid phone valid ssn Chapter 21 International Conversion Functions The UTF8 Conversion Utility arabic2utf8 big52utf8 clear gaiji table cyrillic2utf8 ebcdic2sjis ebcdic2sjis_g ebcdic2uhc ebcdic2uhc_m euc2sjis euc2sjis_g gb23122utf8 reek2utf8 ebrew2utf8 init gaiji init utf8gaiji jef2sjis jef2sjis_g jef2sjis_m jef2sjis_m_g jef2sjis_p jef2sjis_p_g jipse2sjis jipse2sjis_g jis2sjis jis2sjis_g keis2sjis Monk Developer s Re
43. keyword on page 303 symbol on page 304 sys procedures on page 305 sys symbols on page 306 Monk Developer s Reference 302 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures keyword Syntax keyword string Description 14 2 Symbols Determines whether the specified string is a keyword Parameters Name Type Description string string The string to verify Return Value Boolean Returns t if the specified string is a keyword otherwise returns f Example keyword Monk Developer s Reference not a keyword 303 gt f SeeBeyond Proprietary and Confidential Chapter 14 14 2 Standard Procedures Symbols symbol Syntax symbol obj Description Tests the specified object to determine if it is a symbol Parameters Name Type Description obj any The object to test Return Value Boolean Returns t if the object is a symbol Otherwise it returns f Examples symbol foo gt ic symbol bar gt f Monk Developer s Reference 304 SeeBeyond Proprietary and Confidential Chapter 14 14 2 Standard Procedures Symbols sys procedures Syntax sys procedures Description Creates a list of symbols that represent the procedures defined within the current scope Parameters None Return Value list Returns a list of procedures Example sys procedures gt Sevent
44. qqtemplate are identical in all respects Likewise unquote expression is identical to expression and unquote splicing expression is identical to expression r t 1 2 4 gt list 3 4 quasiquote list qUuasiquote a 1 2 map abs 4 5 6 b gt a 3 4 5 6 b Unpredictable behavior can result if any of the symbols quasiquote unquote or unquote splicing appear in positions within a qqtemplate 14 7 Proced ure The procedure expressions lambda and lambdaq evaluates to a procedure lambda on page 316 lambdaq on page 318 Monk Developer s Reference 315 SeeBeyond Proprietary and Confidential Chapter 14 14 7 Standard Procedures Procedure lambda Syntax lambda formals body The formals can have one of the following three forms variablel variable variablel variableN variableN 1 Description Creates a procedure or function It accepts arguments formals accepts a list of expressions body and returns a procedure If a lambda expression is used in conjunction with a define then the procedure which is may be executed as long as the definition remains valid In this way procedures and functions may be defined globally and executed as often as needed variable fixed number of arguments when the procedure is called the arguments will be stored in the binding of the corresponding variables variable the procedure takes an unspecified number of arguments
45. repetitions Function s has encountered an invalid array delimiter for the specified Node Array s repetitions 0144 s s Notify STC Exception Catastrophic Function s has encountered an exception s Notify SeeBeyond 0145 s Lg g will OVERFLOW Exception Domain The parameters will cause an OVERFLOW condition 0146 s Lg g will UNDERFLOW Exception Domain The parameters will cause an UNDERFLOW condition 0147 s argument u must be Exception Generic boolean The argument must be boolean 0148 s argument u must be alist or Exception InvalidArg vector In function s the argument d must be a list or vector 0149 s function result must be Exception Monk Usage boolean Function s returned a value that did not have either a true or false condition 0150 UNUSED Not implemented 0151 os resolved template s to Exception Mapping short In function s the resolved template s is too short it must be eight characters or more Monk Developer s Reference 655 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0152 s expected define c api lt in Exception Monk Usage params gt lt result type gt The define c api function was not n t lt result type gt gt called according to its prototype any blob bool char doublejint i
46. 0 INF No maximum Optional 1 INF Minimum of one no maximum 15 Minimum of one maximum of five 55 Minimum of five maximum of five The event must contain exactly five instances of the element or group to match the event definition max rep The maximum number of repetitions of the node no more than this number can occur when mapping the structured event Number must be positive Samples are shown in the description of min rep Monk Developer s Reference 47 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 8 Monk and Event Definitions Table 1 Attributes of the Node List Continued Name Description tag A string that is compared to the node data If the comparison fails the map of that node data fails If unspecified it defaults to und undefined When the node type is an external template the tag argument is overloaded with the template filename default data A string to represent the data of the node if node is required and no data has been written to it If unspecified it defaults to und undefined When the node type is a template the defau t data argument is overloaded with the template symbol offset Number of bytes to count from the first byte byte 0 of the parent node If unspecified it defaults to und undefined In this case the current node starts at the end of the previous node Byte offset is supported for fixed F nodes only length Total
47. 1234909 6 1234 00 6 406 gt t gt t gt f SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num lt Syntax mp num lt stringi string2 Description Compares two multiple precision numbers to determine if one is less than another Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value Boolean This function returns t if string is less than string2 Otherwise it returns f Examples mp num L1t mp num Lt Monk Developer s Reference 123 4596 123 656 123 556 123 556 407 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num ne Syntax mp num ne stringi string2 Description Compares two multiple precision numbers to determine if they are not equal to each other Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value Boolean This function returns t if the numbers are not equal Otherwise it returns f Examples mp num ne mp num ne Monk Developer s Reference 123 456 123 456 1234596 123 456 408 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp odd Syntax mp odd string Description Determines whether the input argument quoted integer is
48. ASCII Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 99 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char type Syntax char type type Description Sets the character type Parameters char for a character Name Type Description type symbol One of the following character types 1bBIG5 1bEUC 1bSJIS 1bUHC 1bUTF8 1Byte 2bBIG5 2bEUC 2bSJIS 2bUHC 2bUTF16 2bUTF8 2Byte 3bUTF8 3Byte 4bUTF16 4bUTF8 4Byte ASCII BIG5 EBCDIC UCS2 UTF16 char character The character whose type you want to set Return Value character Returns the character whose type has been set Examples char type char type EBCDIC a gt char type EBCDIC a gt char type 2Byt a gt char type 4Byt a gt char type DogByt a gt char char type 2Byt a gt Monk Developer s Reference 100 gt EBCDIC MONK_E XC EP TION t SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char type Syntax char type type char Description Determines whether specified character is of the specified type Parameters Name Type Description type symbol One of the
49. Description Rounds the input argument to the nearest integer Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number This function returns the rounded value of the number input to the function Examples rou rou rou rou rou rou nd nd nd nd nd nd Monk Developer s Reference 34 34 35 50 Soi 197 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions sin Syntax sin radians Description Calculates the sine of the input argument The input arguments is expressed in radians Parameters Name Type Description radians number Any type of number or string that converts to a number Return Value number Value of the sine of the input argument Examples sin 1 gt 0 841470984807897 sin 0 896 gt 0 78083420977798 sin 3 1415926 2 gt T0 Monk Developer s Reference 198 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions sqrt Syntax sqrt number Description Calculates the square root of the input argument The input argument must be non negative Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number This function returns a real number If a negative number is entered an exception is returned
50. MONKUNSPECIFIED 322 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions event gt string Syntax Sevent gt string event Description Converts the data contained in a structured event into a string This function is usually located at the end of a collaboration function to generate a result that is the output event to be returned by that collaboration function Use event gt string with a structured definition without data mapped to it for testing the structure Parameters Name Type Description event structured event structured definition The variable name of the structured event or structured definition Return Value string A string representing the data contained in the structured event or structured definition Examples In this example the X_fix2dlm function creates an empty structured event output using the make event map expression writes data to it using the copy strip expressions then returns output as a string using the event gt string expression sample input Simpson Homer Springfield 1980 10 31 load fixedMsg ssc load delimMsg ssc define X_fix2dlm lambda message string let input Smake event map fixedMsg delm fixedMsg struct event string output mak vent map delimMsg delm delimMsg struct begin copy strip input fixedMsg LastName output delimMsg CID Name LastName copy strip input
51. Numerical Expressions exp Syntax exp number Description Calculates the natural exponent of the input argument Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Number Value of the exponent of the input argument Examples exp 1 gt 2 71828182845905 exp 2 gt 7 38905609893065 exp 3 gt 20 0855369231877 exp 50 6 gt 1 0582035967718e 22 exp 50 6 gt 9 44714941812713e 21 Monk Developer s Reference 174 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions expt Syntax expt numberl number2 Description Calculates the value of first argument raised to the power of the second argument Accepts real and integer arguments If number1 is negative then number2 must be an integer Parameters Name Type Description number1 number Any type of number or string that converts to a number number2 number Any type of number or string that converts to a number Return Value number This function returns a number exception If the first argument is negative and the second argument is a real argument an exception is returned Examples expt expt expt expt expt expt expt 5 6 2 0 5 6 2 Monk Developer s Reference 30 1353256989154 0 00572176613298728 MONKE 31 36 175 XC EPT 0001 SeeBeyond Proprieta
52. Returns f false if the string is not found Examples symbol table put one 1 symbol table put two 2 symbol table put three 3 Monk Developer s Reference 455 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions trim string left Syntax trim string left source substring Description Removes the specified substring from the source 20 1 Basic Library Functions Parameters Name Type Description source string String to test substring string Substring to remove Return Value string Returns a copy of the source with all leading occurrences of the substring removed Example trim string left Monk Developer s Reference abcdef abc gt deft 456 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions trim string right Syntax 20 1 Basic Library Functions trim string right source substring Description Removes the specified substring from the source Parameters Name Type Description source string The string to test substring string The substring to remove Return Value string Returns a copy of the source with all trailing occurrences of the substring removed Example trim string right Monk Developer s Reference abcdef def gt abc 457 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions vali
53. The expression to evaluate Return Value This expression returns the result of the evaluation of the last expression Examples define x 0 begin set x 5 x 1 gt 6 begin display display 4 plus 1 equals 4 1 gt 4 plus 1 equals 5 Monk Developer s Reference 59 create variable x change value of x modify value of x result start display continue display result of display SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions case Syntax case key datum datum gt expression expression datum datump2 expression expression or case key datum datum gt expression expression else expression e xpressiony gt s where key can be any expression Description Flow control expression In operation key is evaluated and its result is compared against each datum in each clause using the eqv procedure There must be a minimum of one expression and one datum If the result of the evaluation is found to be true not f the expressions in that clause are evaluated left to right and the result of the last expression is returned as the result of the case expression However if the result is found to be different from every datum in the clause there are two possible results 1 If the last clause in the series is an else clause which has the form else expression 1
54. This path expression represents a complete path to data of a structured event It begins with a tilde and includes the name of the structured event followed by a percent sign and the path elements event namespath_elements Partial Path This path expression represents a partial path to data of a structured event It begins with a percent sign and includes the path elements spath_elements Parameters Name Description event name The name of the structured event Optional If event name is not specified the expression represents a partial path path_elements A list of event locations separated by dots Each element can be either A variable that contains a partial path number or node name A name assigned in the node list to a structured event element or set of structured event elements An integer that represents the structured event element s child position The first structured event element at a given level is counted as 0 Data extracted from a structured event is a string If a path accesses a structured event element and that element is not present in the structured event the result is an empty string The copy expression appends data to the end of existing data at a structured event location This is useful for building strings within a restricted data field Data is not appended to the end of an event location if you specify a byte offset Specifying a byte offset tu
55. Type The type of node Any of the following ON Delimited AN Any ordered delimited node OF Fixed node AF Any ordered fixed node OS Ordered set AS Any ordered set ONA Ordered delimited node array ANA Any ordered delimited node array GTN Global template delimited node LTN Local template delimited node GTF Global template fixed node LTF Local template fixed node GTS Global template set LTS Local template set Monk Developer s Reference 342 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Table 5 Key to Structure Line Values Name Description MinRep The minimum number of repetitions of the node MaxRep The maximum number of repetitions of the node Tag Tag character Def Default data Offset Byte offset Length Encoding Length or encoding Delim Delimiter BitFlags Any of the following Su Strongly unique Wu Weakly unique Nu Not unique RNu Required not unique Dc Defined children Pd Parent delimited Lr Length rest Loc Local delimiters Dd Default path Le Length encoded Bdm Beyond defined map Ao Any ordered Parameters Name Type Description event event_struct The Event to be displayed port port Optional The port to which the Event data is displayed If no port is specified the Event data is sent to standard out Note the use of display formatting characters
56. a 1 assq b e gt b 2 assq d e gt assq list a a b c gt a assq 5 2 3 5 7 11 13 gt 5 7 Monk Developer s Reference 208 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists aSSvV Syntax assv key alist Description Tests each pair in the association list until it finds a pair whose car is equivalent to the key This function uses the procedure eqv to perform the test Parameters Name Type Description key any The object to search for alist list The association list to search Return Value pair The pair whose car is equivalent to the key Boolean If the key was not found f is returned Examples define e assv assv assv assv assv a 1 ob 2 c 3 a e gt a 1 b e gt b 2 rd gt f list a a b c gt a 5 2 3 5 7 11 13 gt 5 7 209 SeeBeyond Proprietary and Confidential Monk Developer s Reference Chapter 8 Pairs and Lists Car Syntax car pair Description Returns the car of a pair Parameters Name Type Description pair pair The pair or list to test Return Value car The car of the given pair or list Examples car a bc d gt a car 1 2 gt 1 car gt MONK_EXCEPTION Monk Developer s Reference 210 SeeBeyond Proprietary and Confidential
57. a bc gt b c a b c d gt f list a b a c gt f 101 100 101 102 gt 101 102 221 SeeBeyond Proprietary and Confidential Monk Developer s Reference Chapter 8 Pairs and Lists null Syntax null obj Description Determines if the argument is an empty list Parameters Name Type Description obj any The object to test Return Value Boolean Returns t if the object is an empty list Otherwise it returns f Examples Monk Developer s Reference gt gt t gt 222 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists pair Syntax pair obj Description Determines if the argument is a pair Parameters Name Type Description obj expression The object to test Return Value Boolean Returns t if the object is a pair Otherwise it returns f Examples pair ab c pair pair a b Monk Developer s Reference gt gt gt t 223 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists reverse Syntax reverse list Description Creates a newly allocated list consisting of the elements of the list in reverse order Parameters Name Type Description list list The list to reverse Return Value list Returns a newly allocated list consisting of the e
58. character Returns a character representing the result of the Boolean XOR on the specified characters Examples char xor G char xor g char xor G C gt space C gt c gt Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 105 SeeBeyond Proprietary and Confidential String Functions Chapter 6 A String is defined as a sequence of characters Strings are denoted by characters within For example spot is a dog 1234 and a c a pair of double quotation marks are all strings mo Strings cannot be modified if constants Such strings are said to be immutable For example the following will fail because FirstName is immutable define FirstName Benny string set FirstName 0 P To create a mutable string use the make string function The code above will succeed if rewritten like this define FirstName string set FirstName 0 make string 1 Benny P The Monk functions operating on strings are listed on the next two pages in the table below format on page 108 htonl gt string on page 109 htons gt string on page 110 list gt string on page 111 make string on page 112 regex on page 113 string on page 114 string on page 115 string lt on page 116 string lt on page 117 string on page 118
59. goodbye display abc gt hello display hello gt goodbye Monk Developer s Reference 75 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment set Syntax set variable expression Description Evaluates the expression parameter and binds the result to the variable Parameters Name Type Description variable symbol The variables to set as the result of the evaluation of the expression expression expression One or more expressions to evaluate Return Value Returns the result of an evaluating expression Example define x 0 create variables set x Hello Change value of x gt Hello result Monk Developer s Reference 76 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment undefine Syntax undefine symbol Description Removes the declaration of a symbol For information on declaring symbols see define on page 70 Parameters Name Type Description symbol symbol The name of the symbol to be undefined Return Value If successful returns the value of the symbol that was undefined Otherwise returns MONK_UNBOUND Example define new_symbol Hello displ line display line fine new_symbol defined new_symbol display Monk Developer s Reference lay new_symbol defined new_symbol 77
60. is case sensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns f if string is less than string2 Otherwise it evaluates to t Examples string lt SMITH SMITH gt f string lt SMITH SMYTHE gt t string lt SMITH SMITHY gt t string lt 2222 2222 gt PE string lt 2222 231 gt t Note that the comparison against 231 evaluates to t because this is a lexical ordering If this ordering were numeric the previous example would evaluate to f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 116 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string lt Syntax string lt stringl string2 Description Compares string1 and string2 for lexical order Lexical order is determined by comparing corresponding characters of both strings until a non match occurs If the non matching character of string is greater than the non matching character of string2 in the sense of the char gt function f is returned If less then t is returned Otherwise t is returned string lt is case sensitive Parameters Name Type Description string string First string to test string2 string Second string to test
61. pairs In function s the specified argument u is not an element ina pair 0121 s argument u must be a list of Exception InvalidArg length d In function s the specified argument d is not part of the list 0122 s path s is not valid for this Exception PathInvalid event map In function s the specified path s does not exist in the Event Type Definition that was applied to this 0123 os element s is defined to Exception PathInvalid have a maximum of u The element s was defined in the repetitions An instruction to add Event Type Definition has having a repetition u is an error maximum number of repetition Attempting to exceed this causes this error 0124 s map has more levels node gt Exception Mapping s than delimiters The Event Type Definition applied to this Event does not have enough levels for this Event There must be one delimiter for each level 0125 os YoLe M_PRIu64 will Exception Domain OVERFLOW The parameter will cause an OVERFLOW condition 0126 os YoLe M_PRIU64 will Exception Domain UNDERFLOW The parameter will cause an UNDERFLOW condition 0127 s element s is Yold in Exception PathInvalid length and the start byte is ld In function s the specified element is invalid The element has a length of ld and its starting byte is ld 0128 os element s is Yold in Exception PathInvalid length and the end byte is ld In fu
62. putenv system Monk Developer s Reference 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 SeeBeyond Proprietary and Confidential Contents Chapter 14 Standard Procedures 301 Booleans 301 boolean 302 Symbols 302 keyword 303 symbol 304 sys procedures 305 sys symbols 306 Sequence Operators 306 nth 307 qsort 308 Control Features 308 apply 309 map 310 procedure 311 Evaluation 311 eval 312 Literal Expressions 312 quote 313 quasiquote 314 Procedure 315 lambda 316 lambdaq 318 Comment 318 comment 319 Chapter 15 Event Definitions 320 event clear 321 event parse 322 event gt string 323 make event map 324 resolve event definition 326 change pattern 327 copy 329 copy strip 330 count data children 331 count map children 332 count rep 333 data map 334 display event data 336 display event dump 338 display event map 342 duplicate 345 duplicate strip 346 file check 347 file lookup 348 get 349 list lookup 350 path node has data 351 Monk Developer s Reference 9 SeeBeyond Proprietary and Confidential Contents not verify path path defined path defined as repeating path event path event symbol path nodeclear path nodedepth path nodename path nodeparentname path put path gt string
63. read current input port 15 gt This is a test Since current input port may return a port which is not a file it cannot be known that and end of file type of error has occurred Therefore it simply waits until the 15th character can be provided Monk Developer s Reference 281 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions read char Syntax read char port Description Reads data one character at a time from an input port The port is optional and if not specified standard input is assumed If standard input is specified then this function will wait until a character has been entered on standard input it will not return an end of file type error Parameters Name Type Description port port Handle to the open input random access string port Return Value character This function returns the character read from the input port eof object The end of file object Example define fp open input file home userl test txt read char fp gt T Monk Developer s Reference 282 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions read line Syntax read line port number Description Reads characters from a port up to either the number or end of line or end of data whichever is first Parameters Name Type Description port port Handle to the open file number integer Number of bytes to read
64. returns f Examples char ci gt 3 char ci gt 3 char ci gt a char ci gt a char ci gt a 3 4 A a b gt t gt f gt t gt t gt f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 89 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char alphabetic Syntax char alphabetic char Description Determines whether or not the specified character is an alphabetic character Parameters Name Type Description char character The character to compare Return Value Boolean Returns t if the specified character is alphabetic Otherwise returns f Examples char alphabetic a gt t char alphabetic gt f char alphabetic 3 gt f Monk Developer s Reference 90 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char and Syntax char and charl char2 Description Returns a new character which is the Boolean and operation on the specified character Parameters Name Type Description char1 character Initial character for the and operation char2 character Second character for the and operation Return Value character Returns a character representing the result of the B
65. such as the carriage return character r in the data will affect how the data is displayed when it is sent to the screen Return Value Unspecified Monk Developer s Reference 343 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Example define MonkExample delm endofrec t array ee amp define MonkExample struct Sresolv vent definition quote MonkExample ON 1 1 und und und 1 Name ON 1 1 und und und 1 0 0 N Address ON 1 1 und und und 1 0 1 N i 0 N define MonkExample data Ese Bodyne 404 Huntington Dr define MonkExOut open output file MonkExampleOutput dat define MonkExample event Smake event map MonkExample delm MonkExample struct Sevent parse MonkExample event MonkExample data display event map Monk gt Unspecified Example event Monk ExOut The file MonkExampleOutput txt now contains Modifiers Name Type MinRep MaxRep Tag Def Offset Length Encoding Delim BitFlags MonkExample ON 1 1 1 1 Su Dc Name ON 1 1 1 1 RNu undefined ON 1 1 0 0 Bdm Nu ee s undefined ON 1 20 0 amp Bdm Nu Address ON 1 1 ite 1 RNu undefined ON 1 fee 0 Bdm Nu Oe und acoso ei ae ee 0 Bdm Nu en ee ee 20 0 amp Bdm Nu Monk Developer s Reference 3
66. tabl ABC Monk Developer s Reference Sjis2euc convertl1 494 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions gb23122utf8 Syntax gb23122utf8 string Description Converts data encoded using the GB2312 character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The GB2312 string to be converted Return Value string The converted string in UTF8 Example gb23122utf8 ABC gt ABC Monk Developer s Reference 495 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions greek2utf8 Syntax greek2utf8 string Description Converts data encoded using the Greek character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Greek encoded string to be converted Return Value string The converted string in UTF8 Example greek2utf8 ABC gt ABC Monk Developer s Reference 496 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions hebrew2utf8 Syntax hebrew2utf8 string Description Converts data encoded using the Hebrew character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters N
67. the consequence not the alternate is evaluated Monk Developer s Reference 66 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions not Syntax not obj Description Determines if the object is false Parameters Name Type Description obj any The object to test for Boolean f Return Value Boolean If the object is f the return value is t Else the return is f Examples not t gt f not f gt t not a gt f not a b c gt Monk Developer s Reference 67 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions or Syntax or testli test2 Description Multi conditional expression or returns the result of the first test that evaluates to t or to a value equivalent to t Parameters Name Type Description test expression The expression to test Return Value If all tests evaluate to f the expression returns f If no tests are done returns f Examples define empty string s lambda and Ox string s path s zero string lengt Monk Developer s Reference r r F i i i r r i i i h begin define begin lambda begin and begin or test if s is test if s is returns f end or s end and end lambda end define 68 on string s a string else f a path else test i
68. 1 1 RNu 3 10 0 RDAC Ese Bodyne Address ON 1 1 1 1 RNu 2 18 1 DACB 404 Huntington Dr Address ON 1 1 1 1 RNu 3 18 0 RDAC 404 Huntington Dr Monk Developer s Reference 341 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions display event map Syntax display event map event port Description This function displays the structure for the specified Event For each node in the Event information about the node s structure is displayed on a single line using the following format Modifiers Name Type MinRep MaxRep Tag Def Offset Length Encoding Delim BitFlags The indentation shows the level at which the node resides in the Event structure more indented means further down in the structure Important The following table briefly identifies the type of structure information displayed For a complete discussion of the various values returned see Node List on page 44 Table 5 Key to Structure Line Values Name Description Modifiers Any of the following Bd Begin delimiter Ed End delimiter Ri Array repetition information Ex Exact map not extended Gr Group child repetitions Co Consumer Get Get function NofN Min Max children Put Put function Sc Scavenger string ScN Scavenger string with no first character Nt Not tagged data doesn t match tag character Name The name of the node
69. 20 seek cur 274 seek set 275 seek to end 276 send external down function 583 send external up function 584 sequence operators 306 set 75 any order 53 set precision 414 set 76 set break 385 set car 225 set cdr 226 set file encoding method 277 set gaiji table 521 set port callback 278 set utf8gaiji table 522 shutdown request function 585 sin 198 Monk Developer s Reference 666 sine 198 sjis2ebcdic 523 sjis2ebcdic_g 524 sjis2euc 525 sjis2euc_g 526 sjis2jef 527 sjis2jef_g 528 sjis2jef_m 529 sjis2jef_m_g 530 sjis2jef_p 531 sjis2jef_p_g 532 sjis2jipse 533 sjis2jipse_g 534 sjis2jis 535 Sjis2jis_g 536 sjis2keis 537 sjis2keis_g 538 sjis2sjis 539 sjis2utf8 540 sjis2utf8_g 541 sleep function 615 sqrt 199 square root 199 standard 301 standard procedures 106 standard gt julian 444 standard date 443 start schedule function 586 stc_monkmath dll 391 stctrans exe incompatibility with 594 597 598 614 stop schedule function 587 strftime 376 string 114 116 117 string data type 40 string function 114 string lt 117 string lt 116 string 118 string gt 120 string gt 119 string gt 7even function 616 string gt 8none function 617 string gt binary function 618 string gt hexdump function 621 string gt IBMpacdec 622 string gt IBMzoned 623 string gt list 140 string gt ntohl 142 string gt ntohs 143 string gt ntohs gt 143 string gt number 247 string gt pacdec func
70. 6 String Functions string gt list Syntax string gt list string Description string gt list breaks a specified string into a list of individual characters Parameters Name Type Description string string The specified string to decompose Return Value list A list composed of the individual characters making up the string Examples string gt list string gt Monk Developer s Reference list 17 String gt S t ring y Hi7 140 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string Irc Syntax string lrce string mod Description Performs a longitudinal redundancy check by successively adding up the byte values in the specified string and performing modulo on the resulting sum The modulo value must be a number between 1 and 255 on all bytes in a string using the Irc algorithm Parameters Name Type Description string string or path The string to check mod integer The value to use in performing modulo on the result of the Irc Return Value integer Returns the lrc of the specified string Examples string lrce AAAA 255 gt 5 string lre AA 100 gt 30 Monk Developer s Reference 141 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string gt ntohl Syntax string gt ntohl string Description Converts a binary blob that is a representation of
71. A literal can be one of the following number an integer or a real string character path boolean quote datum Monk Developer s Reference 2 4 Monk Conventions 26 SeeBeyond Proprietary and Confidential Monk Basics The Use of Characters For example all of the following are literals 10 10 5 This is a string a t three distinct strings u quote three more strings 247 Variables An variable is an identifier that names a storage location A variable is said to be unbound or bound to a location The value stored in the location to which a variable is bound is called the variable s value 248 Procedure or Function Calls A procedure call is written by simply enclosing in parentheses expressions for the procedure to be called and the arguments to be passed to it The procedure and the operand expressions are evaluated in unspecified order and the resulting procedure is passed the resulting arguments Procedure calls may return a value The terms function and procedure are interchangeable in Monk Examples newline The newline procedure takes no arguments string append Begin the Beguine The string append procedure permits any number of string arguments It is called here with three arguments 25 The Use of Characters The following topics discuss characters and how they are used in Monk Entering Interpreted Characters as Lit
72. Developer s Reference 42 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions Examples In the following list the delimiters are expressed as strings 7 Delimiter List define RAS delm r endofrec now array As background the delimiters are declared in the MSH segment as shown below The byte count appears beneath the MSH segment id and delimiters MSH amp In the following list the delimiters are expressed as byte locations Delimiter List ine RAS delm r endofrec Ah array D limiter List fine RAS delm wom wx In the following list the delimiters are expressed as strings In the following list the delimiters are expressed as character constants Delimiter List fine RAS delm d Monk Developer s Reference 43 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics Node List Syntax modifier list default data offset length Description 2 8 Monk and Event Definitions name of nod xpressionl expression2 type min rep max rep tag expressionN An argument to the make event map expression Use the node list to define the logical structure of the event Notes If no attributes are set then it uses the attributes from the default delimiter list If anchored or beginanchored is specified and no beginning delimiter is specified then the begin delimiter is i
73. FE Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 87 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char ci lt Syntax char ci lt charl char2 Description Compares two characters for being less or equal This function is case insensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is less or the same as char2 Otherwise returns f Examples char ci lt 3 4 char ci lt a char ci lt char ci lt a a char ci lt 3 3 A a b Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 88 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char ci gt 2 Syntax char ci gt charl char2 Description char ci gt compares two characters for order This function is not case sensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is the same as char2 Otherwise
74. Name Type Description path path The path to data to be verified reg_exp expression A regular expression See Regular Expressions on page 29 for the regular expression syntax Return Value If an exact match is found t is returned If an exact match is not found an exception is generated Examples check a location for a non empty field 7 matches any string of at least one character sample input is Hello verify input EVT SE 0 gt t check a location for a specific string verify input SRAS CID 8 F gt f match a location s contents against a regular expression this expression checks for a SSN sample input is 111 22 3333 verify input RAS CID 19 O0 9 3 0 9 2 O 9 4 gt t match a location s contents against a regular expression this expression checks for one of a set of strings sample input is CA verify input RAS CID 11 0 3 CA OR WA gt t Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 369 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time The Date and Time functions include difftime on page 371 gregorian_date gt julian_days on page 372 julian_days gt gregorian_date on page 373 mktime on page 374 strftime on page 376 time on page 377 Monk Developer s Reference 370 SeeBeyond Proprietary and Co
75. Our house is blue string The house is blue 13 violet gt The house is violet 130 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string crc16 Syntax string crel6 string Description Calculates a cyclical redundancy check on all bytes in a string using the CRC 16 algorithm Parameters Name Type Description string string or path The string to check Return Value integer Returns the CRC of the specified string Examples string crcl6 AAAAA gt 61332 string crcel6 12345 gt 21612 Monk Developer s Reference 131 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string crc32 Syntax string cre32 string Description Calculates a cyclical redundancy check on all bytes in a string using the CRC 32 algorithm Parameters Name Type Description string string or path The string to check Return Value integer Returns the CRC of the specified string Examples string crc32 AAAAA gt 435704073 string ere32 12345 gt 873121252 Monk Developer s Reference 132 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string downcase Syntax string downcase source Description Returns a copy of the source with all alphabetic characters converted to lower case Parameters Name Type Description source string or path The string to manipulate Return Valu
76. Proprietary and Confidential Chapter 7 Numerical Expressions real Syntax real number Description Determines whether the input argument is a real number or converts to a real number Integers are considered real Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Value of t if the input argument is a real number Otherwise it returns f Examples real real real real real real real 32 W abc 123 456 Monk Developer s Reference 195 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions remainder Syntax remainder numberl number2 Description Takes the input arguments and divides number1 by number2 to determine the remainder Parameters Name Type Description number integer Must be an integer number2 integer Must be an integer Return Value integer This function returns the remainder of the integer division of the two numbers input to the function Examples rem rem rem ai ai ai nder 10 4 nder 100 25 nder 3 5 rem rem al ai nder 12 Monk Developer s Reference inder 1000 2000 wT 196 1000 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions round Syntax round number
77. Reference 226 SeeBeyond Proprietary and Confidential Chapter 9 Vector Expressions 91 Vectors in Monk A vector is defined as a series of elements that can be indexed by integers A vector is indicated by enclosing the elements in For example the representation of a vector of three elements a b and c is a b c Vectors and Lists are not the same and should not be confused Vectors cannot be modified if they are specified as constants Such vectors are called immutable To create a mutable vector use the list gt vector or make vector function Vectors are passed by reference and are accessed differently than other Monk variable types Vectors are comprised of two types of arguments immediate and non immediate Therefore the vector definition will not contain any specific values for non immediate arguments Instead it will contain a reference to each non immediate argument value For example two arguments are defined define str abc define num 2 Each time it is called the vector will retrieve the value for str which is a non immediate argument type from the str argument itself However the vector will store and always use the value originally defined for num which is an immediate argument type If the user later changes the str arguments to define str def the vector will subsequently retrieve the new value def when it is called However if the user later changes the num argument to define num 3 the
78. Return Value Boolean Returns t true if a valid file encoding method is set otherwise returns f false Examples set fil set fil set fil Monk Developer s Reference le encoding method ASCIT gt t le encoding method DogByte gt le encoding method ASCII gt MONK_EXCEPTION 277 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions set port callback Syntax set port callback port procedure Description Sets the callback procedure for the specified port Parameters Name Type Description port port Handle to the open file procedure procedure Callback procedure Return Value Unspecified Example set port callback portl procedure_name Monk Developer s Reference 278 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions string port gt string Syntax string port gt string port Description Returns the string representing the contents of the specified port Parameters Name Type Description port port Handle to the string port Return Value string This function returns the string representing the contents of the specified port Example define buffer The quick brown fox jumps over the lazy dog define fp2 string port gt string fp2 The quick brown fox jumps over the lazy dog gt Monk Developer s Reference open in
79. SfixedMsg FirstName output SdelimMsg CID Name FirstName copy strip input fixedMsg Address output SdelimMsg CID Address copy strip input SfixedMsg BirthYear output SdelimMsg CID Birthdate copy strip input fixedMsg BirthMonth output SdelimMsg CID Birthdate copy strip input fixedMsg BirthDay output SdelimMsg CID Birthdate Sevent gt string output gt CID Simpson Homer 19801031 Monk Developer s Reference 323 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions make event map Syntax Smak vent map delim list node_list buffer Description Creates an structured definition when the buffer is not specified If the buffer is specified a structured event is created Parameters Name Type Description delim list list The list of delimiters that assist in parsing data into the structured event See Delimiter List on page 42 for details node_list event definition Event definition description See Node List on page 44 for details buffer string An optional data string that will be parsed into the structured event Return Value A structured event or a structured definition Example for Identification Function The make event map expression is used in the variable bindings component of the following let expression The let expression creates the environment for the lambda procedure That environment is only accessible by e
80. This document was written for experienced programmers writing Collaboration Rules Scripts in Monk It assumes that the reader has extensive training and or experience in computer programming skills Monk Developer s Reference 16 SeeBeyond Proprietary and Confidential Chapter 1 Introduction Section 1 3 Organization of Information 13 Organization of Information This document is organized topically as follows Chapter 1 Introduction Gives a general preview of this document its purpose scope and organization Chapter 2 Monk Basics Explains basic information about the Monk language and how it is used Chapter 3 Control Flow and Boolean Expressions Explains the Monk functions related to controlling the order of statement execution Chapter 4 Definition Binding and Assignment Explains the Monk functions that create and manage global variables Chapter 5 Character Functions Explains the Monk functions related to characters a character is a fundamental data type containing the representation of a single character within the machine s character set Chapter 6 String Functions Explains the Monk functions related to character strings Chapter 7 Numerical Expressions Explains the Monk functions related to Numerical Expressions that is expressions used for numerical calculations and conversions Chapter 8 Pairs and Lists Explains the Monk functions
81. Type Description list list The list to test num number The number of elements to ignore when determining the sublist Return Value list List values created by deleting the initial elements Examples list tail a b c d 2 gt c d list tail a bcd 4 2 list tail a bcd 5 gt MONKEXCEPT 0102 Monk Developer s Reference 218 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists member Syntax member obj list Description Creates a sublist representing the cdr of the given list whose car is the specified object If the object does not occur in the list then member returns f member uses the function equal to perform the test between the object and the list Parameters Name Type Description obj expression The object to search for object list list The list to search for the object Return Value sublist Those elements of the list whose car satisfies equal to the object Boolean If the object was not found f is returned Examples member a ab c gt a b c member b a b c gt b c member a b c d gt member list a b a c gt a c Monk Developer s Reference 219 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists memq Syntax memq obj list Description Creates a sublist representing the cdr of the given list whose car is the
82. Usage output or error port User may not perform an illegal operation 0136 os argument d must be an Exception InvalidArg input output port In function s the specified argument in position d is nota required input output pot 0137 s could not convert s to Exception Monk Usage number In function s could not convert the string s to a number 0138 s port is not available Exception Monk Usage In function s the specified port is not available 0139 os error closing s Exception System strerror od s In function s an exception occurred while trying to close string s The function outputs exception event s exception number d Monk Developer s Reference 654 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0140 s argument d ld must be 1 Exception InvalidArg 2 3 or 4 In function s the argument in position d must be either 1 2 3 or 4 0141 s argument d must have a Exception InvalidArg length of d In function s the argument in position d must have a length of d 0142 s path depth position d Exception PathInvalid greater than length d In function s the path depth position d may not be greater than the length d 0143 os array delimiter required for Exception Mapping s
83. a long integer in the network format 32 bit Parameters Name Type Description string string A long integer Must be 4 byte in length Return Value integer Returns an integer Examples string gt ntohl aaa gt MONK_EXCEPTION string gt ntohl aaaa gt 1633771873 Monk Developer s Reference 142 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string gt ntohs Syntax string gt ntohs gt string Description Converts a binary blob that is a representation of a short integer in the network format 16 bit Parameters Name Type Description string string A string integer with a length greater than 1 Return Value string Returns a string in two byte network byte order Examples string gt ntohs a string gt ntohs Monk Developer s Reference aa gt MONK_EXCEPTION gt 24930 143 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ref Syntax string ref source number Description Returns the character appearing at the index position in the specified string The index is a number that indicates the character s position from the beginning of the string starting with 0 Parameters Name Type Description source string The string to search number integer The index position of the desired character Return Value character Returns t
84. abcdef c gt ab def string tokens abcdef c e g gt ab d f Monk Developer s Reference 148 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string trim Syntax string trim source chars Description Removes the specified characters from the source string and returns a new string The chars parameter can be either characters or characters in a string list or vector This function trims the specified characters from both the left and right ends of the source until it encounters a non specified character The specified source string is left intact Parameters Name Type Description source string The string to trim chars character The characters to trim from the source string string list or vector Return Value string Returns a new string with all of the specified characters removed from ends Example string trim aa3bcde9fg a 3 9 f g gt bcde Monk Developer s Reference 149 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string type Syntax string type string Description Returns the type of the specified string Parameters Name Type Description string string A string Return Value string Returns one of the following encoding types Example 1Byte 3Byte ASCII EUC UCS2 define mystring abcd string type mystring gt Monk Developer s Reference 150 2Byte 4B
85. an integer result is returned that is too great to be held in 32 bits the variable receiving the numerical result is automatically convert to int64 24 Monk Conventions Discussions of the Monk conventions are divided into the following subtopics Naming Conventions on page 24 Identifiers on page 24 Comments on page 25 Whitespace on page 25 Notations on page 26 Literals on page 26 Variables on page 27 Procedure or Function Calls on page 27 24 1 Naming Conventions The names of procedures that always return a Boolean value usually end with a Such procedures are called predicates The names of procedures that store values into previously allocated locations usually end with a Such procedures are called mutation procedures By convention the value returned by a mutation procedure is the assigned value When a procedure takes an object of one type and returns a value of an analogous object of another type gt appears in the procedure name For example list gt vector takes a list and returns a vector whose elements are the same as those of the list 24 2 Identifiers Syntax initial subsequent peculiar_identifier Description Identifiers are a sequence of letters digits or extended alphabetic characters used to identify the elements of the Monk language Parameters Name Description initial letter special_initial letter a z A Z Monk Developer s Referen
86. argument quoted number Parameters Name Type Description string string Operand Return Value string The returned string quoted integer is the previous higher integer value of the input argument Examples mp floor mp floor Monk Developer s Reference WS AN T 5A gt 5 gt 6 397 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp max Syntax mp max stringl string2 Description Calculates the maximum value of two multiple precision numbers Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the greater of the two numbers input to the function Examples mp max 123456 mp max 123 456 Monk Developer s Reference 123459 1123 459 gt 123 459 gt 123459 398 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp min Syntax mp min stringl string2 Description Calculate the minimum value of two multiple precision numbers Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the lesser of the two numbers input to the function Examples mp min 123456 mp min 123 456 Monk Develo
87. assist in the data output process The following table identifies the terms that are necessary for this discussion Node Type Meaning Description RNU required non unique required untagged SU strongly unique required tagged WU weakly unique optional tagged NU non unique optional untagged In the first phase the event structure is created with the make event map procedure and the initial assignment of nodes types is based on the attributes of the node being defined During the second phase attributes are altered based on parent sibling and sibling sibling relationships The following list identifies the possible parent sibling promotions A strongly unique node promotes its preceding sibling from non unique to required non unique status A strongly unique child node promotes its parent from non unique to weakly unique status The third phase of promotion occurs at run time when data is passed into the structured event If a node is non unique NU and has data in any of it s trailing siblings NU sibling s output data to represent that node is generated If the above condition is not fulfilled an output node is generated only as the result of the sibling to sibling and child to parent interactions The table below identifies whether or not a node will be generated after all promotions have taken place Node Type Output Node Generated SU yes RNU yes WU n
88. begin delim requires an end Exception Mapping delim for node s A begin delimiter must be parsed with an end delimiter 0058 os argument You must be a list Exception InvalidArg In function s argument u must be a list 0059 s argument u must be atime Exception InvalidArg In function s argument u must be atime 0060 os error closing port Exception System strerror od s In function s an exception occurred while trying to close the port The function outputs exception event s exception number d 0061 os argument u must be an Exception InvalidArg input port In function s argument u is not the required input port number 0062 os argument u must be an Exception InvalidArg output port In function s argument u is not the required output port number 0063 s string s not found in file Exception FileLookup s In function s the expected string s was not found in the file s 0064 s couldn t find string s in Exception Monk Usage map The string s cannot be found in the map 0065 s multiple binding elements for Exception Monk Usage s Multiple binding forms cannot use the same variable name Monk Developer s Reference 648 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0066
89. characters into a string Parameters Name Type Description char character A series of characters Minimum of one character Return Value u a string consisting of the concatenated characters Examples string a b c gt abc string T h i s gt This string S T C space 3 gt STC 3 Monk Developer s Reference 114 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string Syntax string object Description Determines whether the object is a string Parameters Name Type Description obj any The object to be tested Return Value Boolean Returns t if the object is a string Otherwise returns f Examples string string string Monk Developer s Reference This is a string gt t 17 gt f a gt f 115 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string lt Syntax string lt stringl string2 Description Compares string1 and string2 for lexical order Lexical order is determined by comparing corresponding characters of both strings until a non match occurs If the non matching character of string is less than the non matching character of string2 in the sense of the char lt function t is returned If greater then f is returned Otherwise f is returned string lt
90. exception is not explicitly included in the catch list and the keyword always which is always executed if the stanza exists All of these entries are optional Three additional monk functions are available to support processing of exceptions These are exception category returns the category of the current exception exception symbol which returns the symbol of the current exception and exception string which returns an error string including the string which was included when the exception was defined to the system If a specific case is present for the thrown exception the associated code is processed and the system marks the exception as handled If an always stanza exists it is then Monk Developer s Reference 630 SeeBeyond Proprietary and Confidential Chapter 23 Exception Functionality Try Throw Catch Basics processed and processing continues with the next valid code after the end of the try block If the specific case is not present for the thrown exception but the otherwise stanza exists the catch block executes the code associated with the otherwise stanza If an always stanza exists it is then processed and processing continues with the next valid code after the end of the try block If the specific case is not present for the thrown exception and the otherwise stanza does not exist the catch executes the always clause if it exists The exception is not m
91. expression the expressions in the else clause are evaluated and the result of the last expression is returned as the result of the case expression 2 If the last clause in the series is not an else clause the result of the case expression is unspecified Parameters None Return Value Results of the evaluation of an expression associated with a particular datum Examples case 1 3 2 3 5 7 prime 1 4 6 8 9 composite Monk Developer s Reference 60 gt prime SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions case equal Syntax case equal key datum datum gt expression expression gt datum datumn gt expression expression or case equal key datum datum gt expression expression gt else expression Expressionp2 where key can be any expression Description Flow control expression In operation key is evaluated and its result is compared against each datum in each clause using the equal procedure There must be a minimum of one expression and one datum If the result of the evaluation is found to be true not f the expressions in that clause are evaluated left to right and the result of the last expression is returned as the result of the case equal expression However if the result is found to be different from every datum in the clause there are two possible results
92. file access functions Parameters Name Type Description string string The string to be converted Example reg get file MyDataMap dat gt MONK_UNSPECIFIED Note This function is not compatible with stctrans exe or with the Monk Test Console Monk Developer s Reference 614 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk sleep Syntax sleep time Description 22 4 Monk Utility Functions Waits the specified number of milliseconds then exits Parameters Name Type Description time integer The number of milliseconds to sleep Return Value Undefined Example sleep 5000 sleep 5 seconds Monk Developer s Reference 615 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string gt 7even Syntax 22 4 Monk Utility Functions string gt 7even string length Description Converts a raw string to a string such that for each character the parity is even and the high bit is set if the count of the remaining seven bits is even Parameters Name Type Description string string The string to be converted length integer The length of the string Return Value string Returns a string Example string gt 7even ABCDEFG 7 Monk Developer s Reference 616 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Func
93. following 1bBIG5 1bEUC 1bSJIS 1bUHC 1bUTF8 1Byte 2bBIG5 2bEUC 2bSJIS 2bUHC 2bUTF16 2bUTF8 2Byte 3bUTF8 3Byte 4AbDUTF16 4bUTF8 4Byte ASCII BIG5 EBCDIC UCS2 UTF16 char character A character Return Value Boolean Returns t if the character is of the specified type Otherwise it returns f Examples define mychar integer gt char 100 char type ASCII mychar gt t char type EBCDIC mychar gt f Monk Developer s Reference 101 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char upcase Syntax char upcase char Description Converts a character from lowercase to uppercase Parameters Name Type Description char character A character to convert Return Value char Returns an uppercase character for any alphabetic character found Examples char upcas a char upcas A char upcas 3 char upcas Monk Developer s Reference gt A gt A gt 3 gt 102 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char upper case Syntax char upper case char Description Determines whether the specified character is an uppercase alphabetic character Parameters Name Type Description char character The cha
94. function operating on the characters in string Example map string char upcase a string gt A STRING Monk Developer s Reference 441 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions not empty string Syntax not empty string param Description Tests the supplied parameter to determine whether or not it contains data Parameters Name Type Description parm string The string to be tested Return Value Boolean Returns t true if the supplied parameter is not empty otherwise returns f false Examples not empty string string gt t not empty string gt f Monk Developer s Reference 442 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions standard date Syntax standard date date Description Determines if the date represents a standard date in the form YYYYMMDD Parameters Name Type Description date string A standard date in the form YYYYMMDD Return Value Boolean Returns t true if the supplied string represents a valid standard date of the form YYYYMMDD otherwise returns f false Examples standard date 19480115 gt t standard date 48015 gt f Monk Developer s Reference 443 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions standard gt julian Syntax 20 1 Basic Li
95. functionl1 Description Sets a breakpoint upon entry or exit of the specified function You may set breakpoints for more than one function by specifying additional keyword function arguments See break on page 384 for more information about breakpoints Parameters Name Type Description keyword symbol One of the following on entry on exit all both on entry and on exit cont to continue with the execution next go to the next break point pop leave the current break point help for the Monk debugging function function The name of a function Return Value Unspecified Examples set break function executes on exit my function gt Break gt 1 gt Monk Developer s Reference on exit my function my function 385 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures Internal Debug Control Procedures 182 Internal Debug Control Procedures Internal Debug Control functions include monk flag check on page 387 monk flag clear on page 388 monk flag get on page 389 monk flag set on page 390 These functions operate on the following debug flags all other debug debug all path access debug debug dils print all failures file load debug print all features full stack debug rule trace debug make event debug single stack debug map event debug store last map failure
96. latin52uft8 516 SeeBeyond Proprietary and Confidential Index latin62uft8 517 latin72uft8 518 latin82uft8 519 latin92uft8 520 Ib gt 0z 477 lcm 181 leap year 440 least common multiple 181 length 214 length specification assigning to an structured event 52 less than 407 less than or equal to 406 let 72 let 73 letrec 74 library functions 370 383 417 629 Linux incompatibility with 391 list 215 definition of 22 list gt string 111 list gt vector 229 list 216 list lookup 350 list ref 217 lists definition of 204 list tail 218 literal expressions 312 literals 28 little endian gt integer 182 load 295 load directory 296 load extension 297 load interface 382 load path 290 295 log 183 logarithm 183 loop compare location to location 113 M make message structure 38 make string 112 make vector 230 map 310 map string 441 matching event data to file 348 max 184 maximum 184 398 member 219 memq 220 memv 221 message parse 322 Monk Developer s Reference 664 min 185 minimum 185 399 mktime 374 modulo 186 400 412 Monk conventions 24 definition of 21 language elements 24 library functions 370 383 417 629 monk event type definitions 37 extension library 391 using event type definitions 37 monk conventions 24 Monk Extension Functions 588 Monk functions argument types 22 variable types 22 Monk Test Console incompatibility with 594 597 598 614 Monk Utility Functions 599 monk flag che
97. map expression You access data in a structured event using the labels you assign in the node list The labels represent logical hierarchies and locations for data access Following is an example of a structured event The structured event is created using the delimiter information the event definition and the mapped data shown below Monk Developer s Reference 38 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions This is an event anda string Delimiters are spaces commas and periods In this example the delimiter list specifies that a period delimits top level structured event elements a comma delimits second level structured event elements and a space delimits third level structured event elements Also the node list specifies that the event is to be labeled Event The event will contain one or more top level structured event elements to be labeled Sentence Sentences will contain zero or more second level structured event elements to be labeled Phrase Phrases will contain zero or more third level structured event elements to be labeled Word Once the structured event is created you can use the labels from the node list to access event data as shown in the table below Use this label To access this part of the event Event This is an event and a string Del
98. may be a simple matter of comparing the address of two memory locations No effort to compare the contents of memory locations need be made if the addresses already match Alternatively two objects may be considered equivalent because their contents are the same The function equal on page 242 tests for this kind of equivalence It may take more time to compare for equivalence in the eqv sense since such comparison must examine the contents of all memory locations associated with the objects Objects which are not equivalent in the eqv sense may be equivalent in the equal sense Finally two objects may be considered equivalent because they print the same The function eq on page 240 tests for this kind of equivalence Monk Developer s Reference 239 SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing eq Syntax eq objl obj2 Description Determines if obj1 and obj2 should normally be regarded as the same object except for its behavior on numbers Compare eqv eq and eqv are guaranteed to have the same behavior on symbols booleans the empty list pairs procedures non empty strings and vectors eq s behavior on numbers and characters will always return either true or false and will return true only when eqv would also return true eq may also behave differently from eqv on empty vectors and empty strings Parameters Name Type Description obj1 expression The object to test agai
99. multiple copies to the same field without byte offset specified in the destination_path Monk Developer s Reference 329 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions copy strip Syntax copy strip source path dest format Description Copies data from the source path to the dest path while removing ASCII based trailing white space Parameters Name Type Description source path string path The string or path to data in a structured event destination_path path The path to the structured event format string A control instruction to direct the format of the data for placement See format on page 108 for the syntax Quotes are required but can be empty Return Value Unspecified Examples sample input is abc sample output is abc copy strip SE O output SORG CID 3 gt MONK_UNSPECIFIED copy strip inputSEVT NTE 0 3 1 output RAS OBXgrp 0 NTE 0 3 0 ES Notes The copy strip expression copies data as a string It does not exchange delimiters within the string copied If your destination delimiters differ the delimiters in the source data use the duplicate expression This expression appends data if you do multiple copies to the same field without byte offset specified in the destination_path Monk Developer s Reference 330 SeeBeyond Proprietary and Confidential Chapter 15 Event
100. of the test is returned as the result of the cond expression 2 If the last clause in the series is an else clause and no prior test evaluated to true then the expressions in the else clause are evaluated and the result of the last expression is returned as the result of the cond expression 3 If the last clause in the series is not an else clause and no prior test evaluated to true the result of the cond expression is unspecified Parameters None Return Value Returns unspecified if no conditions match Else returns the result of the valuation of the final expression in the test expression list end cond Examples cond gt 3 2 greater evaluates to t lt 3 2 less never evaluated end cond cond gt 3 3 greater evaluates to f lt 3 2 less evaluates to f else equal so the else is evaluated Monk Developer s Reference 62 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions do Syntax do variable init increment test result body Description Executes a body of statements iteratively The do expression has three parts the declaration of loop variables the test expression and the body First do creates zero or more variables and binds them to the evaluation of their init expressions Then do executes the test expression If the result of the test expression is f body expressions are evaluated in
101. path on page 365 timestamp on page 366 uniqueid on page 368 verify on page 369 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions event clear Syntax Sevent clear event Description Clears the data from the specified structured event Parameters Name Type Description event structured event Structured event to be cleared Return Value Unspecified Examples Sevent c l Sevent c l Monk Developer s Reference lear output lear input 321 gt MONK_UNSPECIF IED gt MONK_UNSPECIFIED SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions event parse Syntax Sevent parse struct definition string or Sevent parse struct definition input string port Description Maps event data into a structured event Parameters Name Type Description struct definition structured definition The event type definition to map data into string string The data to map into your event input string port port Exact match on data only Stops when no match occurs Can be called until there is no data in input string port Return Value Unspecified Examples Sevent parse input define port Sevent parse input port Monk Developer s Reference open input string test data gt MONKUNSPECIFIED gt
102. related to pairs and lists a pair is a structured data type having two parts called the car and the cdr Chapter 9 Vector Expressions Explains the Monk functions related to vector expressions a vector is defined as a series of elements that can be indexed by integers Chapter 10 Equivalence Testing Explains the Monk functions related to equivalence testing an equivalence predicate is a computational analogue of a mathematical equivalence relation Chapter 11 Conversion Procedures Explains the Monk functions related to conversion procedures Chapter 12 File I O Expressions Explains the Monk functions related to file input and output Monk supports the ability to open files read data from files and write data to files Chapter 13 System Interface Functions Explains the Monk functions related to System Interface functions These functions may be used to find out information about files that exist on the system to load files into the Monk engine or to execute system commands Chapter 14 Standard Procedures Explains the Monk functions related to standard procedures Chapter 15 Event Definitions Explains the Monk functions related to Event definitions Monk Developer s Reference 17 SeeBeyond Proprietary and Confidential Chapter 1 Section 1 4 Introduction Writing Conventions Chapter 16 Date and Time Explains the Monk functions related to date and
103. result The return from apply is the result of evaluating the procedure upon the list Examples apply list 3 4 define compose lambda f g lambda args apply g args compose sqrt 12 75 Monk Developer s Reference 309 SeeBeyond Proprietary and Confidential Chapter 14 14 Standard Procedures Control Features map Syntax map proc listi list2 Description Calls the given procedure using the corresponding element of each list as an argument of the procedure There must be as many lists as there are arguments to the procedure If there is more than one list all lists must be the same length Parameters Name Type Description proc procedure The procedure to apply list list The list of elements to use as arguments to the procedure Return Value list A list of results in order The dynamic order in which proc is applied to the elements of the listN is unspecified Examples map cadr a b da e g h gt b e h map lambda n expt n n 1 2 3 4 5 gt 1 0 4 0 27 0 256 0 3125 0 map 1 2 3 4 5 6 gt 5 7 9 let count 0 map lambda set count count 1 count a b gt 1 2 Monk Developer s Reference 310 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures procedure Syntax procedure obj Description 14 5 Evaluation Tests if the given obj
104. returns f Return Value The value of the do expression is the value of the result expression if it exists Otherwise the value is unspecified Example define ret MIXEDcase do i 0 1 1 or i string length ret char lower case string ref ret i i gt 5 Monk Developer s Reference 65 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions if Syntax if test consequence alternative Description Conditional construct used for flow control In the if expression the test is evaluated If the test returns anything other than f then the consequence is evaluated If the test returns f then the alternative is evaluated Alternative is optional and may be omitted Parameters Name Type Description test expression The expression to be evaluated consequence expression The expression to be evaluated if the test returns true not t alternative expression The expression to be evaluated if the test returns f Optional Return Value The result of the evaluation of the consequence or of the alternative If the test returns a false value and no alternative is specified then the result of the if expression is unspecified Example if begin if eee ee s to t a then test evaluates to f alternate r gt test evaluates to t In this example because 3 is greater than 2
105. s Reference 382 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures The debug procedures are grouped in two categories Interactive Debug Procedures on page 383 Internal Debug Control Procedures on page 386 181 Interactive Debug Procedures The Interactive Debug functions include break on page 384 set break on page 385 Monk Developer s Reference 383 SeeBeyond Proprietary and Confidential Chapter 18 18 1 Debug Procedures Interactive Debug Procedures break Syntax break Description Suspends execution and permits interaction with the Monk engine within an interactive environment Parameters None Return Value Unspecified Examples define x 5 define y 10 define z x y break break to interact and check that variables were set correctly display z 2 Additional Information Within a break loop the following keywords are meaningful Keyword Function Prints a help message cont Clears all active breaks and resumes processing next Evaluates the next expression then returns to the break state pop Exits the current break level and resumes processing Use this keyword within nested break statements Monk Developer s Reference 384 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures set break Syntax 18 1 Interactive Debug Procedures set break keyword function keywordl
106. simple structure below define delimiter La cm PAm define simple structure root with 2 children child_0O and child_1l define structure S resolv vent definition quote root ON 1 1 und und und und child_O ON 1 1 one und und und child_1 ON 1 1 two und und und define input and output structures define input Smak vent map delimiter structure Monk Developer s Reference 54 SeeBeyond Proprietary and Confidential Chapter 2 2 9 Monk Basics Sample Programs define output Smak vent map delimiter structure parser input data from string 1 and map to our simple structure Sevent parse input input stringl Input data file that gets passed in should display parsed successfully if we used Samplel dat display Parsed data successfully n call the function defined above call function Example 2 Sample of Delimited Event Definition Structure define all_node_types delm r endofrec separator an array separator amp separator 7Global Template Referenc load your ssc load HL7 HL7_2 2 h17_2 2_acc ssc End Global Template Referenc Local Template Definition define Internal_Templat Sresolv vent definition quote Internal_Template ON 1 1 und und und 1 unnamed_1l ON 1 1 und und und 1 unnamed_2 ON 1 1 und und und 1 unnamed_3 ON 1 1 und und und 1 End
107. specified source string origchar character The character to search for as well as replace newchar character The replacement character Return Value string Containing a copy of the original source with each occurrence of the original character replaced with the new character Example char substitute string a a b gt string b Monk Developer s Reference 422 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions char to char Syntax 20 1 Basic Library Functions char to char source origchar newchar Description Replaces each found origchar with a specified newchar Returns a copy of the original source with each occurrence of the origchar replaced with the newchar Parameters Name Type Description source string The specified source string origchar character The character to search for as well as replace newchar character The replacement character Return Value string Containing a copy of the original source with each occurrence of the original character replaced with the new character If the origchar is not found the source string is returned Example char to char string a Monk Developer s Reference a b gt string b 423 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions conv Syntax conv string Description Replaces the question mark with a s
108. string Description Converts a string to an IBM packed decimal number Parameters Name Type Description string string The string to be converted Return Value string Example string gt IBMpacdec IBMpacdec gt string 12345 gt 0x12345C string gt IBMpacdec IBMpacdec gt string 12345 gt 0x12345D In the above examples the output is equal to 3 bytes and the alpha character represents the sign Monk Developer s Reference 622 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string gt IBMzoned Syntax 22 4 Monk Utility Functions string gt IBMzoned string Description Converts a string to an IBM zone decimal Parameters Name Type Description string string The string to be converted Return Value string Examples The following examples work on an EBCDIC machine E is equivalent to xC5 or a positive sign The N is equivalent to xD5 or a negative sign string gt IBMzoned string gt IBMzoned IBMzoned gt string 12345 gt 1234E IBMzoned gt string 12345 gt 1234N In the above examples the E is equivalent to xC5 or a positive sign The N is equivalent to xD5 or a negative sign The following example works on an ASCII machine The inclusion of the identifier EBCDIC indicates to the Monk engine that the string to be converted is in EBCDIC format Without this identifier the data would b
109. string gt on page 119 string gt on page 120 string append on page 121 string append on page 122 string checksum on page 123 string ci on page 124 Monk Developer s Reference 106 string crc32 on page 132 string downcase on page 133 string empty on page 134 string fill on page 135 string insert on page 136 string left trim on page 137 string length on page 138 string length on page 139 string gt list on page 140 string Irc on page 141 string gt ntohl on page 142 string gt ntohs on page 143 string ref on page 144 string right trim on page 145 string set on page 146 string substitute on page 147 string tokens on page 148 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci lt on page 125 string trim on page 149 string ci gt on page 126 string type on page 150 string ci lt on page 127 string type on page 151 string ci gt on page 128 string type on page 152 string copy on page 129 string upcase on page 153 string copy on page 130 subseq on page 154 string crc16 on page 131 substring index on page 155 Monk Developer s Reference 107 SeeBeyond Proprietary and Confidential Chapter 6 String Functions format Syntax format formatinstruction value Description Converts value according to formatinstruction May be used to convert string data representing numbers to a variety of binary octal decimal or hexadecimal representations Also used to convert Monk time o
110. string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Big 5 Example ut f 82big5 ABC gt ABC Monk Developer s Reference 549 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82cyrillic Syntax utf82cyrillic string Description Converts data encoded using the UTF8 character encoding scheme to Cyrillic The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Cyrillic Example utf82cyrillic ABC gt ABC Monk Developer s Reference 550 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82 b2312 Syntax ut 82gb2312 string Description Converts data encoded using the UTF8 character encoding scheme to GB2312 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in GB2312 Example ut 82gb2312 ABC gt ABC Monk Developer s Reference 551 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82
111. string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in JIPSE Example init gaiji set gaiji table sjis2jipse_g id 0 ABC gt Monk Developer s Reference Sjis2euc convertl1 534 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions Sjis2jis Syntax sjis2jis string Description Converts an SJIS string into JIS then sets its type as 1Byte Parameters Name Type Description string string The SJIS string to be converted Return Value string The converted string in JIS Example sjis2jipse gt ABC Monk Developer s Reference ABC W 535 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jis_g Syntax sjis2jis_g string type Description Converts an SJIS string into JIS using a user defined custom Gaiji table associated with this function The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS string to be converted type int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in JIS Example
112. symbol represents a variable that the Monk code inserts into the exception The s in front of the exception string is the name of the function generating the exception The letters following the sign have the meanings shown in Table 8 Table 8 Error Argument Format Codes s string d decimal number ld long decimal number Le long double used more for scientific notation Lg long double lu long unsigned integer ul unsigned integer long e floating point number c character u unsigned M_PRIi64 platform dependent 64 bit numbers M_PRIu64 unsigned 64 bit numbers Table 9 Exception Code Table Exception Code Exception String Category and Description 0000 s argument u must be a Exception InvalidArg sequence In function s argument d returned a result that is not a sequence 0001 s arguments x and y must Exception Domain NOT satisfy x 0 and y lt 0 or x In function s arguments x and y lt 0 and y not an integer must not satisfy x 0 and y lt 0 or x lt 0 and Vy not an integer 0002 os must have numeric Exception InvalidArg arguments Anon numeric parameter has been specified in the function s 0003 os YoLg Yd will OVERFLOW Exception Domain The mathematical operation of the parameters e and e in the function s will cause an OVERFLOW condition Monk Developer s Reference
113. template set LTS Local template set MinRep The minimum number of repetitions of the node MaxRep The maximum number of repetitions of the node Tag Tag character Def Default data Offset Byte offset Length Encoding Length or encoding Delim Delimiter BitFlags Any of the following Su Strongly unique Wu Weakly unique Nu Not unique RNu Required not unique Dc Defined children Pd Parent delimited Lr Length rest Loc Local delimiters Dd Default path Le Length encoded Bdm Beyond defined map Ao Any ordered Monk Developer s Reference 339 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Table 4 Key to Data Line Values Name Description Depth The level in the Event structure where the data resides Length The number of bytes of data Children The number of child nodes associated with this node FLAGS Any of the following R Repetition node D Data A Arrayified the data is internally compressed C Constant B ChildData the child nodes have data S SibData the sibling nodes have data Data The actual data Parameters Name Type Description event event_struct The Event to be displayed port port Optional The port to which the Event data is displayed If no port is specified the Event data is sent to standard out Note the use of display formatting characters such as the c
114. the specified source looking for the first occurrence of the specified substring Parameters Name Type Description source string The string to test substring string The substring to parse Return Value string If the substring is found this function returns all characters of the source from the beginning of the first occurrence of the substring to the end of the source Boolean If the substring is not found in source the function returns f Examples find get after abcdefghidef def gt defghidef find get after abcdefghi jk1 gt f Monk Developer s Reference 435 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions find get before Syntax find get before source substring Description Searches the specified source character by character looking for the specified substring Parameters Name Type Description source string The string to test substring string The substring to parse Return Value string If the substring is found this function returns all characters of the source from the beginning of source up to but not including the beginning of the first occurrence of the substring Boolean If the substring is not found in the source the function returns f Examples find get before abcdefghidef def gt abc find get before abcdefghi jk1 gt f Monk Developer s Refer
115. times but not more than max times reg exp1 reg exp2 Matches either reg exp7 or reg exp2 The largest regular expression before or after the operator is matched Use and to group the regular expressions to remove ambiguity Monk Developer s Reference 30 SeeBeyond Proprietary and Confidential Chapter 2 2 6 Monk Basics Regular Expressions Operator Usage list Enclose a list or a range of characters to be matched within brackets A hyphen may be used to specify a range of matching characters for example a z specifies the set of all lowercase letters as a match All characters are ordinary within a list except Ends the list The sequence 4 begins a non matching list discussed below is ordinary except when it follows the open list operator Acts as a range operator within lists To make ordinary enter it either first or last in the list Acts as the open character class operator Acts as the close character class operator list Enclose a list or a range of characters to be excluded from a match within the opening characters and a closing bracket Otherwise the syntax is like the matching list above class Within a list a character class expression matches a single character from a given class A character class expression has the form 4 class class where class can be alnum letters and digits alpha l
116. to the specified port The port is optional If not specified standard output is assumed Parameters Name Type Description char character Character to write port port Handle to the open port optional Return Value Unspecified Example define fp4 open output file output dat write char A port2 gt MONK_UNSPECIFIED The file output dat now contains A Monk Developer s Reference 287 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions write exp Syntax write exp obj port Description Writes an expression to a port in a format that can be read back in by the monk engine For example vector objects have the output format and strings have double quotes around them The port is optional If not specified standard output is assumed Parameters Name Type Description obj any Any valid object to write port port Handle to the open file optional Return Value Unspecified Examples define fpl open output file c output dat define stO This is define stl exactly what we wanted write exp string append st0O stl fpl The file c output dat now contains This is exactly what we wanted Note The quotes are included in the output because the Monk engine requires quotes around string data define fpl open output file c output dat define stO A write exp st0O fpl The fi
117. to write this as list gt string Monk Developer s Reference s T C space 3 gt STC 3 111 SeeBeyond Proprietary and Confidential Chapter 6 String Functions make string Syntax make string nreps fill char fill str Description Creates a new mutable string You may specify either a character or a string indicated In either case the new string is created with that character or string repeated nreps times If no fillchar is indicated make string defaults to creating nreps single character bytes Typical usage for make string is in conjunction with define resulting in the creation of a mutable string Parameters Name Type Description n repetitions integer The number of repetitions of the fill character or string fill char character The character that comprises the new string Optional fill str character The string that comprises the new string Optional Return Value string Returns a string of characters Examples make string 5 a gt aaaaa make string 4 4 gt 4444 make string 2 Hello gt Hello Hello define nam make string 1 John The variable name becomes a mutable string as a result of defining to be the result of make string It may be manipulated later with commands that change string length pad the string set characters or otherwise alter the contents of name Monk D
118. types the component is configured to subscribe to Parameters None Return Value Call failure will throw an exception Otherwise a vector containing all input event types Example get the input Event Types define vEventTypes iq input topics display Input Event Types display vEventTypes newline Monk Developer s Reference 573 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq mark unusable Syntax iq mark unusable message handle Description Marks the message as unusable The message handle can be obtained from iq initial handle or iq peek functions Parameters Name Type Description handle string Used to access headers for events if multiple gets are called on the same event type Return Value Boolean t or f Example mark the Event unusable define szEventType iq mark unusable szEventHandle Important This Monk function is not supported by JMS IQs Monk Developer s Reference 574 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk iq output topics Syntax iq output topics Description 22 1 Queue Service Access Returns a vector of strings containing the names of the output event types the component is configured to publish Parameters None Return Value Call failure will throw an exception Otherwise a vecto
119. when the procedure is called the sequence of actual arguments are converted into a newly allocated list and the list is stored in the binding of the variable variable variableN variableN 1 If a space delimited period precedes the last variable then the procedure takes N or more arguments where N is the number of formal arguments before the period there must be at least one argument The value stored in the binding of the last variable the variable after the period will be a newly allocated list of any arguments unresolved after all other actual arguments have been matched up against the formal arguments Parameters Name Type Description formals symbols The arguments associated with the specified procedure body expressions The list of expressions that define the behavior of the procedure Return Value This expression returns the procedure to which the lambda expression evaluates Examples define define expression ave_3_nums symbol of define lambda lambda procedure x y z lambda formals x y z 3 lambda body end of lambda end of define Ne Ne NY Ne Ne Ne Ne Monk Developer s Reference 316 SeeBeyond Proprietary and Confidential Chapter 14 14 7 Standard Procedures Procedure Executing this define causes the symbol ave_3_nums to be associated with a lambda expression that is a procedure Once defined ave_3_nums may be called like any other procedure Given the definitio
120. whose car is obj1 and whose cdr is obj2 Examples cons a gt a cons a b cd gt a bcd cons a_ 3 gt a 3 cons a b c gt a b c Monk Developer s Reference 213 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists length Syntax length list Description Determines the length of a proper list Parameters Name Type Description list list The list to test Return Value integer The number of elements in the list Examples BS aS length a length Monk Developer s Reference length a b c b c de f gt 214 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists list Syntax list obj1 obj2 Description Creates a list from the given arguments Parameters Name Type Description obj1 any Argument to concatenate into a list obj2 any Argument to concatenate into a list Return Value list The list created from the given arguments Examples list list list a a Monk Developer s Reference b 3 4 ra gt a b c gt a 7 c gt 215 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists list Syntax list obj Description Determines if the given object is a proper list Parameters Name Type Description ob
121. 002 write permission other 0001 execute permission other 00755 read write execute permission owner write execute permission group write execute permission other Monk Developer s Reference 596 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions get data dir Syntax get data dir Description Returns the value of the SystemData parameter in the egate store file Parameters None Return Value string Returns the value of the SystemData parameter in the egate store file Example get data dir gt d eGate client Note This function is not compatible with stctrans exe or with the Monk Test Console Monk Developer s Reference 597 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions reg retrieve file Syntax reg retrieve file file registry_path Description Retrieves a file from the e Gate Registry If a file of the same name already exists in the local file system reg retrieve file will only overwrite the file if the local file has changed The function makes this determination by comparing a hash of the local file to a cached hash of the file in the Registry See the entry for stcregutil exe in the e Gate Integrator System Administration and Operations Guide for more information Parameters Name Type Description file string The name of the file to be retriev
122. 0048 s argument u lt s gt mustbea Exception InvalidArg pair In function s the two arguments u and s must be a pair 0049 s bad constant number s Exception Parser The constant number is not valid 0050 s for s required children Exception Range for serialization not in NofN u The minimum number of children lt u lt ul are not present for serialization 0051 s argument u u must be 2 Exception InvalidArg 8 10 or 16 In function s the argument u is not one of the required values The argument must be a 2 8 10 or 16 Monk Developer s Reference 647 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0052 s argument Yu must be in Exception Domain domain 1 1 The argument u being passed in must be within these limits 0053 s delimiter not in data u lt Exception Mapping u lt Yul An offset has been specified that is not in the data string 0054 s argument u must be a vector Exception InvalidArg In function s argument u must be of type vector 0055 s argument Yu must be a Exception InvalidArg ositive integer In function s argument d must p 8 8 be a positive integer 0056 s unrecognized char constant Exception Parser A S The character constant in this file is invalid 0057 os
123. 10 memv on page 221 cdr on page 211 null on page 222 caar cddddr on page 212 pair on page 223 cons on page 213 reverse on page 224 length on page 214 set car on page 225 Monk Developer s Reference 204 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists list on page 215 set cdr on page 226 list on page 216 Monk Developer s Reference 205 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists append Syntax append argl arg2 Description Creates a new list by appending arg2 to arg Arg1 must be a list Arg2 may be any expression If arg2 is a list then append returns a proper list If arg2 is any other type then append returns an improper list If arg is an empty list then append returns arg2 as the result Parameters Name Type Description arg list The primary object This argument must be a list arg2 any The object to append Return Value list If arg2 is a list append returns a list pair If arg2 is any other type append returns an improper list type If arg1 is an empty list append returns arg2 as the result Examples appends two lists and returns a list append a b c d gt a D c d appends empty list and symbol and returns a symbol append a gt a appends a list and a symbol and returns a dotted pair append c d a gt co d a l Monk Developer s Reference 206 SeeBeyond Proprietary a
124. 11 Conversion Procedures string gt symbol Syntax string gt symbol string Description Creates a symbol from the specified string Parameters Name Type Description string string The string to make into a symbol Return Value symbol A symbol created from the specified string Examples string gt symbol mISSISSIppi gt mISSISSIppi symbol string gt symbol mISSISSIppi gt t Monk Developer s Reference 249 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures symbol gt string Syntax symbol gt string symbol Description Creates a string from the specified symbol Parameters Name Type Description symbol any The symbol to make into a string Return Value string A string created from the specified symbol Example symbol gt string flying fish gt flying fish Monk Developer s Reference 250 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures char gt integer Syntax char gt integer char Description Returns the ASCII integer representation of the specified character Parameters Name Type Description char character The character for translation Return Value integer The integer representation of the specified character Examples char gt integer char gt integer char gt integer b gt 98
125. 2 pair 22 pair 223 pairs definition of 17 204 path accessing optional elements 40 appending data 40 evaluation error 41 examples 52 exceed maximum 41 overwriting data 51 reference an instance 51 reference bytes 51 52 to any ordered set 53 variables in 40 53 path gt string 363 path 353 354 path defined 354 path defined as repeating 355 path event 356 path event symbol 357 path nodeclear 358 path nodedepth 359 path node has data 351 path nodename 360 path nodeparentname 361 path put 362 paths definition of 23 path valid 364 port 23 positive 410 positive 193 predicates 24 procedure calls 27 procedure expression 315 procedure 311 procedures definition of 23 putenv 298 Q qsort 307 quasiquote 314 quote 313 quotient 194 411 R raw gt base64 function 613 SeeBeyond Proprietary and Confidential Index read 281 read char 282 read line 283 real numbers definition of 22 real 194 195 referencing byte count 51 regex 113 regex string port 272 reg get file function 614 reg retrieve file 598 regular expressions 29 character class 31 concatenating 29 escaped characters 32 grouping 31 lists of matching characters 31 lists of non matching characters 31 match begin 31 match end 31 with not verify 352 with verify 369 remainder 196 400 412 repeating nodes 51 repeating set 51 repetition exceed maximum 41 reference an instance 51 reverse 224 rewind 273 round 197 413 S SeeBeyond Web site
126. 4 0 4 0 Monk Developer s Reference 234 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions vector length Syntax vector length vector Description Returns the length of the specified vector Parameters Name Type Description vector vector The vector to test Return Value integer The number of elements in the specified vector Example vector length a b cd e gt 5 Monk Developer s Reference 235 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions vector ref Syntax vector ref vector num Description Returns the element of the specified vector whose index position corresponds to the specified number The offset begins with 0 Parameters Name Type Description vector vector The vector to manipulate num integer The index position of the vector element to return Return Value element The vector element found at the specified index position Examples vector ref 1 12 3 58 13 21 6 gt 13 vector ref it t 2 3 98 23 8J gt MONK_EXCEPTION Monk Developer s Reference 236 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions vector set Syntax vector set vector num obj Description Stores the object at the index position in the specified vector The offset begins with 0
127. 40 try 641 Chapter 24 Exception Codes 642 Index 660 Monk Developer s Reference 15 SeeBeyond Proprietary and Confidential Chapter 1 Introduction This chapter introduces you to this guide its general purpose and scope and its organization It also provides sources of related documentation and information 11 Document Purpose and Scope This guide is a reference for how to use the SeeBeyond Technology Corporation SeeBeyond Monk programming language This guide was developed to provide a single source of information about the core e Gate Integrator Monk functions This is not a how to program in Monk guide Instead each function available in the general Monk environment is described in its own section as follows Each description tells what the function does lists the arguments and tells what the function returns Each section includes a sample of Monk code showing the function in use The core Monk functions are those Monk functions made available with the basic e Gate installation as opposed to those made available with a specific add on product such as an e Way Intelligent Adapter The Monk functions made available with an add on product are described in the documentation for that product Important Any operation explanations given here are generic for reference purposes only and do not necessarily address the specifics of setting up and or operating individual e Gate systems 12 Intended Audience
128. 44 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions duplicate Syntax duplicate source path destination_path format Description Copies leaf data from the source path to the corresponding leaf positions of the destination structured event Leaf data is contained in nodes without children This function overwrites any existing data in the location Parameters Name Type Description source path path The path to the data in a structured event destination_path path The path to the data in the structured event format string An instruction to format the data for output See format on page 108 for the syntax Quotes are required but can be empty A Return Value Unspecified Examples sample input is sample output is duplicate input duplicate input Ss Monk Developer s Reference abc r abc EV SE 0 output ORG CID 3 EV N Hi E 0 3 1 output RAS OBXgrp 0 NTE 0 3 0 gt MONK_UNSPECIFIED 345 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions duplicate strip Syntax duplicate strip source path destination_path format Description Copies leaf data from the source path to the corresponding leaf positions of the destination structured event after removing trailing spaces for data at the leaf to be duplicated Leaf data is contained in nodes wit
129. 5 gt MONK_ATOM_TYPE_EVENT SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions sresolve event definition Syntax Sresolv Description vent definition node_list Scans the node_list for templates then replaces any template usage with the full event definition Parameters Name Type Description node_list list The quoted node list See Node List on page 44 Return Value event A resolved event definition Examples 7 Global Template Referenc load CID ssc End Global Template Referenc pin define RAS struct EvtStructure Definition RAS ON 1 1 und und und und MSH ON 1 1 NTE ON 0 Sresolv vent definition quote MSH MSH und und INF NTE NTE und und CIDGRP OS 0 1 und und und und AL1 T PV1 ON CID GTN 1 1 NTE ON 0 INF ON 0 INF O 1 CID ssc NTI AL 1 W PVL W PVI End Event Definition CID struct und und E NTE und und ALI und und und und The global external file CID ssc template is used to resolve the delimited node CID GTN GLobal Template Node and integrated with the RAS struct node list Monk Developer s Reference 326 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions change pattern Syntax change pattern source path destination cha
130. 643 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0004 os YoLg Yd will UNDERFLOW Exception Domain The mathematical operation of the parameters e and e in the function s will cause an UNDERFLOW condition 0005 os Lg M_PRIi64 will Exception Domain OVERFLOW The operation of the parameters ld and ld in the function s will cause an OVERFLOW condition 0006 s Lg M_PRIi64 will Exception Domain UNDERFLOW The operation of the parameters ld and ld in the function s will cause an UNDERFLOW condition 0007 s argument u must satisfy x gt Exception Domain 0 Argument d must be within the domain of numbers 0008 s takes numerical arguments Exception InvalidArg A non numeric argument has been specified in the function s 0009 s argument u must be a valid Exception InvalidArg path In function s a parameter d has been specified that is not a valid path name 0010 s argument u must be a list of Exception InvalidArg strings In function s a parameter d has been specified that is not a list of string values 0011 s takes a number as an Exception InvalidArg argument An argument has been specified that is not a number in function s 0012 s requires You argument s Exception InvalidArg In function s the required number of ar
131. 88 char ci lt 86 char ci 85 char ci gt 89 char ci gt 87 char downcase 92 char lower case 93 char not 94 char numeric 95 char or 96 char punctuation 421 char shift left 97 char shift right 98 char substitute 422 char to char 423 char type 99 char type 100 char type 101 char upcase 102 char upper case 103 char whitespace 104 char xor 105 clear gaiji table 487 clear port callback 254 close pipe 605 close pipe function 605 close port 255 collab get logical name 589 comment 319 comment function 319 comments 25 Compaq Tru 4 incompatibility with 391 compare operations 57 cond 62 cons 213 contents of an event type definition 38 control characters 28 Control flow expressions 57 conv 424 conventions 24 conventions writing in document 18 conversion functions international 482 Japanese 482 Korean 482 UTF8 482 copy 329 copy strip 330 cos 172 cosine 172 Monk Developer s Reference 661 count children 332 count data children 331 count map children 332 count rep 333 count used children 425 current debug port 256 current error port 257 current input port 258 current output port 259 current warning port 260 cyrillic2utf8 488 D data types event 40 data map 334 format of data file 334 mapping no match values 334 date and time 370 debug control procedures 383 default data node property 48 define 70 defined 71 define exception 635 degc gt degf 426 degf gt dege 427 delimiter list 42 deli
132. 9350 gt f Monk Developer s Reference 372 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time julian_days gt gregorian_date Syntax julian_days gt gregorian_date days Description Converts julian days to a gregorian date YYYYMMDD Parameters Name Type Description days integer string or number A valid julian date Return Value number This function returns the gregorian date calculated or f if no conversion possible Examples julian_days gt gregorian_date 0 julian_days gt gregorian_date 2451545 Monk Developer s Reference 373 gt 47131124 gt 20000101 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time mktime Syntax mktime year month day hour minute seconds DST Description Creates a Monk time object from the specified parameters Parameters Name Type Description year integer The year minus 1900 69 138 years Must be between 69 representing the year 1969 and 138 representing the year 2038 month integer The numeric month minus one 0 Jan 1 Feb 11 Dec day integer The day of the month 0 31 days 0 the last day of the previous month hour integer The hour of the day in 24 hour time 0 23 hours minute integer The minute of the hour 0 59 minutes seconds integer The second of the minute 0 59 seconds DST integer Optional Compensates for daylight savin
133. A standard date in the form YYYYMMDD Examples julian gt standard 245449 gt 19990927 julian gt standard 2436078 gt 19570827 Monk Developer s Reference 439 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions leap year Syntax leap year year Description 20 1 Basic Library Functions Determines if the year represents a leap year The year may be specified as either an integer or as a string value Parameters Name Type Description year integer A four digit integer representing a year string Return Value Boolean Returns t true if the integer does represent a leap year otherwise returns f false Examples leap year 1990 leap year 1996 Monk Developer s Reference 440 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions map string Syntax map string function source Description Returns a string that is itself the return from a specified Monk function operating on the characters in source You must specify a Monk character function which also returns a Boolean value as one of its Return Value Parameters Name Type Description function function The Monk function to operate on the source string source string The path or string on which to perform the Monk function Return Value string The return value of the Monk
134. Beyond Proprietary and Confidential Chapter 20 Monk Library Functions get middle name Syntax get middl Description nam name 20 2 Advanced Library Functions Returns the middle name in a string formatted as LAST FIRST MIDDLE that is everything following the space after the first name Monk does not check the validity of the string only that a comma exists within it If the data specifies a dual first name for example Mary Jo Elizabeth Smith this function will interpret Jo as the middle name Parameters Name Type Description name string Personal name Return Value string Returns a string containing the middle name in a string formatted as LAST FIRST MIDDLE that is everything after the space Example get middl Monk Developer s Reference nam Astor John Jacob 472 gt Jacob SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get state Syntax get state address Description Returns the state field from the string formatted as CITY STATE ZIP Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description address string Address in the form CITY STATE ZIP Return Value string Returns a string with the state field from the string formatted as CITY STATE ZIP
135. CDIC values Monk Developer s Reference 80 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char lt Syntax char lt charl char2 Description Compares two characters for order This function is case sensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is less than char2 within the character collation sequence Otherwise returns f Examples char lt 3 3 char lt 3 4 char lt a A char lt a b gt f gt t gt f gt t Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 81 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char gt 2 Syntax char gt charl char2 Description compares two characters for order within the character collation sequence This function is case sensitive Parameters Name Type Description char character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is greater than char2 Otherwise returns f Examples char gt 3 char gt 4 char gt a ch
136. Chapter 2 Monk Basics 2 8 Monk and Event Definitions Property Node Type Source Data Mapping Placing Data length delimited No impact No impact delimited array fixed byte Data available for this node If data written to node exceeds length must be this length or map specified length the data is declared fails if you have optional truncated and a warning is trailing fixed nodes in output definition do not declare length in root If a negative number is specified the length is determined from the current position to the current parent end less the bytes specified fixed no Defaults to und undefined No impact byte length meaning the rest of the data declared Rules for Naming Nodes Adhere to the following rules when naming nodes 1 The following characters are accepted A Z a Z 0 9 letters numbers plus sign hyphen asterisk slash equal sign exclamation point question mark dollar sign underscore ampersand caret 2 The first character cannot be Monk Developer s Reference numbers plus sign hyphen 49 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions 3 Node name interpretation is case sensitive 4 Each event type definition must be uniquely named 284 Behavior of Optional Nodes That Contain No Data This section discusses how optional nodes are assigned attributes to
137. Confidential Chapter 23 Exception Functionality Try Throw Catch Basics try display In Level 1 of try structure newline throw e555 My exception catch e555 display In Level 1 exception code display exception info otherwise display In Level 1 otherwise stanza display exception info The above example defines an exception handler using the define exception Monk routine The routine accepts two parameters one is the name actually a symbol representing the exception and the other is the exception category The symbol should be set to a unique value The category can be used to group exceptions for later processing purposes This definition must occur outside of the code block wherein the exception is to be trapped You encapsulate the code to trap exceptions within a try block which has the form try main body of code catch exception symbol to catch exception handling code otherwise exception handling code always exception handling code Within the main code body you can throw exceptions or the system may detect an error and throw an exception When an exception occurs processing control is immediately passed onto the catch stanza within the try block which then attempts to handle the exception There are three possible entries within the catch block specific symbols for exceptions the keyword otherwise which is executed if the symbol of the
138. Definitions count data children Syntax count data children path Description Counts the number of child nodes that exist in the data tree of the structured event location specified by path Parameters Name Type Description path path The path to the structured event location to be counted Return Value integer The count data children expression returns the total number of instances 0 to n of child nodes that are found in the data If the child nodes are nonexistent 0 is returned Examples Returns the actual number of SI count data children input SEG1 SEG2 SEG3 has three EVT S G1 displ ay input display count data children displ ay input EVT S EG3 EG s children EVT SEG optional children nodes input gt aaa bbb ccc EVT SEG1 gt 3 display count data children input Monk Developer s Reference 331 gt allb2 c3 d4 e5 f6 EVI SEG3 gt 6 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions count map children Syntax count map children path Description Counts counts the number of child nodes defined in the resolved event Note This function was formerly known as count children Parameters Name Type Description path path The path to the structured event location to be counted Return Value
139. Description Compares string1 and string2 for lexical order Lexical order is determined by comparing corresponding characters of both strings until a non match occurs If the non matching character of string1 is less than the non matching character of string2 in the sense of the char lt function f is returned Otherwise t is returned string gt is case sensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns t if string is greater than or equal string2 Otherwise it evaluates to f Examples string gt 1234 1234 gt t string gt 1234 1233 gt t string gt abcd abcd gt t string gt abcd abCd gt t string gt 2222 2222 gt t string gt 2222 231 gt f Note that the comparison against 231 evaluates to f because this is a lexical ordering If this ordering were numeric the previous example would evaluate to t Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 120 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string append Syntax string append string stringN Description Appends a list of specified strings to form a new string Parameters Name Type Description string stringN string A s
140. Description input topic string Name of the Event Type to get handle Event handle One of the following 0 The next Event in the IQ Event handle The Event associated with the Event handle Used to access headers for Events if multiple gets are called on the same Event Type Return Value Returns one of the following vector If an Event is available iq get returns a vector containing the Event and the Event handle Boolean If no Event is available iq get returns f false Example iq get input 0 Additional Information To run using stctrans a valid handle must be passed Monk Developer s Reference 569 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq get header Syntax iq get header handle Description Returns the event header for the input event The handle string is used to access headers for events if multiple gets are called on the same event type Parameters Name Type Description handle string Used to access headers for events if multiple gets are called on the same event type Return Value If there is no header for this event handle the function returns a Boolean f Call failure will throw an exception The return is a vector containing the following information for the input event referred to Subscriber vector Publisher string Priority number MajorSeqNumber number MinorSeqNumber nu
141. Developer s Reference 631 SeeBeyond Proprietary and Confidential Chapter 23 Exception Functionality 23 1 Try Throw Catch Basics abort Syntax abort message Description Generates an exception in which the message will become part of the exception explanation Parameters Name Type Description message string The message to display Optional Return Value Creates an exception condition similar to throw Examples abort Aborting function abort Monk Developer s Reference gt abort Aborting function gt abort 632 SeeBeyond Proprietary and Confidential Chapter 23 Exception Functionality Try Throw Catch Basics catch Syntax catch exception expression exception expression otherwis xpression always expression Description Indicates which exceptions are to be processed and provides the code for processing You may have more than one list of exceptions with their associate expressions The catch must be used within the context of the try block If not within the try block it is ignored The following exception types are not catchable Exception None Exception Catastrophic The following exception types are catchable Exception Generic Exception Verify Exception NotVerify Exception FileLookup Exception Mapping Exception CallArg Usage Exception PathInvalid Exception Interface Exception InvalidAr
142. If the source path data and the input pattern don t match no conversion takes place and an empty field or field element is written to a delimited output event No data is written to a fixed event Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 328 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions copy Syntax copy source path dest format Description Copies data from the source path to a dest path according to format Parameters Name Type Description source path string path The string or path to data in a structured event destination_path path The path into a structured event format string A control instruction to direct the format of the data for placement See format on page 108 for the syntax Quotes are required but can be empty Return Value Unspecified Examples sample input is abc sample output is abc copy inputSEVT SE 0 output ORG CID 3 gt MONK_UNSPECIFIED copy inputSEVT NTE 0 3 1 output SRAS OBXgrp 0 NTE 0 3 0 Ss Notes H The copy expression copies data as a string It does not exchange delimiters within the string copied If your destination delimiters differ the delimiters in the source path data use the duplicate expression This expression appends data if you do
143. If the specified string contains any non alpha numeric character a lowercase character following the character will be capitalized Examples capitalize ABCD gt ABCD capitalize abcd gt Abcd capitalize AB abcd gt AB Abcd Monk Developer s Reference 420 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions char punctuation Syntax char punctuation char Description Tests the specified character to determine whether or not it is a punctuation character Parameters Name Type Description char character The character to be tested Return Value Boolean Returns t true if and only if the specified character is a punctuation character Otherwise it returns f false Examples char punctuation A gt f char punctuation b gt char punctuation 3 gt char punctuation gt f char punctuation gt t Monk Developer s Reference 421 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions char substitute Syntax char substitute source origchar newchar Description Replaces each origchar found with a specified newchar A copy of the original source with each occurrence of the origchar replaced with the newchar is returned Parameters Name Type Description source string The
144. Local Template Definition e Example 3 MsgStructure Definition define all_node_types struct resolv vent definition quote all_node_types ON 1 1 und und und 1 endofrec fixed_examples ON 1 1 und und und 1 fixed_offset_length OF 1 1 und und 3 10 fixed_pos OF 1 1 und und 3 19 3 fixed_any_order OF 1 1 und und 3 10 delimited_examples ON 1 1 und und und 1 endofrec non_repeating_delimited ON 1 1 und und und 1 endofrec non_repeating_tagged ON 1 1 InputTag OutputDefaultData und 1 endofrec optional ON 0 1 und und und 1 endofrec optional_repeating ON 0 INF und und und 1 endofrec repeating ON 1 INF und und und 1 endofrec range ON 5 10 und und und 1 delimited_any_order AN 1 1 und und und 1 endofrec set_examples ON 1 1 und und und 1 ordered_set OS 1 1 und und und 1 unordered_set AS 1 1 und und und 1 ordered_separator_delim ONA 1 1 und und und 1 ordered_repeating OS 1 INF und und und 1 Monk Developer s Reference 55 SeeBeyond Proprietary and Confidential Chapter 2 2 9 Monk Basics Sample Programs Bd BeginDelim Ed EndDelim ndofrec required Ri Bd BeginRep Ed EndRep required overriden_delims ON 1 1 und und und 1 endofrec template_example ON 1 1 und und und 1 your GTF 1 1 your ssc your struct und und Internal_Template LTN 1 1 und Internal_Template und und ACC GIN 1 1 HL7 HL7_2 2 h17_2 2
145. Math Precision Functions mp negative Syntax mp negative string Description Determines whether the input argument quoted number is a negative number Parameters Name Type Description string string Operand Return Value Boolean This function returns t if the integer is negative Otherwise it returns f Examples mp negative mp negative mp negative 3 Monk Developer s Reference 123456 123455 28 402 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num eq Syntax mp num egq stringi string2 Description Compares two multiple precision numbers for equality Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value Boolean This function returns t if the numbers are equal Otherwise it returns f Examples mp num eq 123 456 mp num eq 123 455 Monk Developer s Reference 123 456 123 556 403 gt t gt f SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num ge Syntax mp num ge stringl string2 Description Compares two multiple precision numbers to determine if one is greater than or equal to the other Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value Boolean This
146. Monk Developer s Reference ENV home program value 298 gt t SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions system Syntax system command t func function Description Runs an operating system command from Monk The t option instructs the system command to provide the OS return code it receives upon completion of command as its return value The func function option calls the monk function specified with the OS return code as the argument Important This function must be used with extreme caution Invoking an executable file that takes a long time to run or has the potential to hang should be avoided Parameters Name Type Description command string The OS command to be executed function symbol A Monk function Return Value Returns one of the following any If no options are used system returns the return value of the command being executed integer If the t option is used system returns the OS return code any If the func function option is used system returns the result of the Monk function specified Monk Developer s Reference 299 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions Examples The following examples use the Solaris 2 6 UNIX operating system system l1s gt t system 1s t gt 0 system list t gt 256 The following exam
147. Moves an open port pointer to the specified offset relative to the beginning Parameters Name Type Description port port Handle to the open file offset integer Offset within the file Return Value Boolean Returns f if the seek was not successful Otherwise it evaluates to t Examples define fp display open input file home userl test txt seek set fp 18 ftell fp seek set fp 30 display Monk Developer s Reference ftel fp gt t gt 18 gt t gt 30 275 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions seek to end Syntax seek to end port Description Moves an open port pointer to the end of the file Parameters Name Type Description port port Handle to the open file Return Value Boolean Returns f if the seek was not successful Otherwise it evaluates to t Example define fp seek to end fp Monk Developer s Reference open input fil home userl test txt gt t 276 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions set file encoding method Syntax set file encoding method type Description Sets the file encoding method Parameters Name Type Description type symbol One of the following file encoding types 1Byte 2Byte 3Byte AByte ASCII EBCDIC UCS2 EUC SJIS
148. Names and Paths When names of files are given in the text they appear in bold as shown below Use a text editor to open the ValidationBuilder properties file When file paths and drive designations are used with or without the file name they appear in bold as shown below In the Open field type D setup setup exe where D is your CD ROM drive Parameter Function and Command Names When names of parameters functions and commands are given in the body of the text they appear in bold as follows The default parameter localhost is normally only used for testing The Monk function iq put places an Event into an IQ You can use the stccb utility to start the Control Broker 15 Supporting Documents The following SeeBeyond documents provide additional information relating to the Monk programming language explained in this guide Creating an End to end Scenario with e Gate Integrator e Gate Integrator Collaboration Services Reference Guide e Gate Integrator Intelligent Queue Services Reference Guide Monk Developer s Reference 19 SeeBeyond Proprietary and Confidential Chapter 1 Section 1 6 Introduction SeeBeyond Web Site e Gate Integrator System Administration and Operations Guide SeeBeyond eBusiness Integration Suite Deployment Guide Standard e Way Intelligent Adapter User s Guide See the SeeBeyond eBusiness Integration Suite Primer for a complete list of SeeBeyond eBI Suite related documentation You can also refe
149. Return Value Boolean Returns t if string is less or equal to string2 Otherwise it evaluates to f Examples string lt SMITH SMITH gt t string lt SMITH SMYTHE gt t string lt SMITH SMITHY gt t string lt 2222 2222 gt t string lt 2222 231 gt t Note that the comparison against 231 evaluates to t because this is a lexical ordering If this ordering were numeric the previous example would evaluate to f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 117 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string Syntax string stringl string2 Description Compares string1 and string2 for equality This function is case sensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns f if any character in string1 differs from its corresponding character in string2 Otherwise it evaluates to t Examples string string string string 1934 1234 abcd abcd 1234 WE2 35 abcd W abcd gt t gt f gt t gt f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Referenc
150. Return Value string Returns the name of the e Way as defined by the Enterprise Manager Throws None Additional Information The get logical name function cannot be loaded externally from a dll because it is already loaded into the external thread by the e Way and or BOB executable There is an equivalent function for use with Collaborations in the internal Monk environment It is named collab get logical name and is available when you load the stc_monkext dll Monk Developer s Reference 582 SeeBeyond Proprietary and Confidential Chapter 22 22 2 e Gate Extensions to Monk e Way Functions send external down Syntax send external down Description Instructs the e Way that the connection to the external system is down Parameters None Return Value None Monk Developer s Reference 583 SeeBeyond Proprietary and Confidential Chapter 22 22 2 e Gate Extensions to Monk e Way Functions send external up Syntax send external up Description Instructs the e Way that the connection to the external system is up Parameters None Return Value None Monk Developer s Reference 584 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk e Way Functions shutdown request Syntax shutdown request Description Completes the e Gate shutdown procedure that was initiated by the Control Broker but was interrupted by returning a non null value within the Generic e Way Shutd
151. SeeBeyond eBusiness Integration Suite Monk Developer s Reference Release 4 5 3 ra SEEBEYOND SeeBeyond Proprietary and Confidential The information contained in this document is subject to change and is updated periodically to reflect changes to the applicable software Although every effort has been made to ensure the accuracy of this document SeeBeyond Technology Corporation SeeBeyond assumes no responsibility for any errors that may appear herein The software described in this document is furnished under a License Agreement and may be used or copied only in accordance with the terms of such License Agreement Printing copying or reproducing this document in any fashion is prohibited except in accordance with the License Agreement The contents of this document are designated as being confidential and proprietary are considered to be trade secrets of SeeBeyond and may be used only in accordance with the License Agreement as protected and enforceable by law SeeBeyond assumes no responsibility for the use or reliability of its software on platforms that are not supported by SeeBeyond e Gate e Insight e Way e Xchange e Xpressway eB iBridge Intelligent Bridge IQ SeeBeyond and the SeeBeyond logo are trademarks and service marks of SeeBeyond Technology Corporation All other brands or product names are trademarks of their respective companies 1999 2002 by SeeBeyond Technology Corporation All Rights Reserved This wor
152. The Latin 4 string to be converted Return Value string The converted string in UFT8 Example latin42uft8 ABC gt ABC Monk Developer s Reference 515 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin52utf8 Syntax latin52uft8 string Description Converts data encoded using the Latin 5 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 5 string to be converted Return Value string The converted string in UFT8 Example latin52uft8 ABC gt ABC Monk Developer s Reference 516 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin62utf8 Syntax latin62uft8 string Description Converts data encoded using the Latin 6 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 6 string to be converted Return Value string The converted string in UFT8 Example latin62uft8 ABC gt ABC Monk Developer s Reference 517 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin72utf8 Syntax latin72uft8 string Description Converts data encoded using the Latin 7 character encoding sch
153. The UTF8 encoded string to be converted Return Value string The converted string in Latin4 Example utf82latin4 ABC gt ABC Monk Developer s Reference 557 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin5 Syntax utf82latin5 string Description Converts data encoded using the UTF8 character encoding scheme to Latin5 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin5 Example utf82latinS ABC gt ABC Monk Developer s Reference 558 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin6 Syntax utf82latin6 string Description Converts data encoded using the UTF8 character encoding scheme to Latin6 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin6 Example utf82latin6 ABC gt ABC Monk Developer s Reference 559 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin7 Syntax utf82latin7 string Description Converts data encoded using the UTF8 characte
154. _ELEM Element state ALERTCAT_MESSAGE_CONTENT Message content ALERTCAT_STATE_EXTERNAL External state ALERTCAT_OPERATIONAL Operational ALERTCAT_PERFORMANCE Performance ALERTCAT_RESOURCE Resource ALERTCAT_USERDEFINED User defined alert String ALERTSUBCAT_CUSTOM Custom category subcategory ALERTSUBCAT_DOWN Down ALERTSUBCAT_UP Up ALERTSUBCAT_UNRESP Unresponsive ALERTSUBCAT_RESP Responded ALERTSUBCAT_CANTCONN Unable to connect ALERTSUBCAT_CONN Connected ALERTSUBCAT_LOSTCONN Lost Connection ALERTSUBCAT_UNUSABLE Unusable can t ID ALERTSUBCAT_INTEREST Content of interest ALERTSUBCAT_EXPIRED Expired ALERTSUBCAT_INTHRESH Input threshold ALERTSUBCAT_OUTTHRESH Output threshold ALERTSUBCAT_USERAUTH User authentication Monk Developer s Reference 592 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk 22 3 Monk Extension Functions Parameter Type Possible values Meaning ALERTSUBCAT_DELIVERY Alert delivery ALERTSUBCAT_UNQUEUEABLE Unqueueable ALERTSUBCAT_DISKTHRESH Disk threshold ALERTSUBCAT_IQLIMIT IQ Limit ALERTSUBCAT_STATUS Status ALERTSUBCAT_TIMER Timer info code String ALERTINFO_NONE None ALERTINFO_FATAL Fatal ALERTINFO_CONTROLLED Controlled ALERTINFO_USER User ALERTINFO_LOW Low ALERTINFO_HIGH High ALERTINFO_IOFAILED 10 Failure ALERTINFO_BELOW Below ALERTINFO_ABOVE Above custom code String any one byte printable character Any
155. _acc ssc ACC struct und und End MsgStructure Definition e Example 4 Fixed MsgStructure Definition define fixed struct resolv vent definition quote fixed OF 1 1 und und und 0 fixed_len_offset OF 1 1 und und 3 3 fixed_encoded_length OF 1 1 und und 5 7 20 unnamed_3 OF 1 1 und und und 0 End MsgStructure Definition e Monk Developer s Reference 56 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions 3 0 1 Overview Control Flow Expressions control the order of statement execution They include conditional iteration and sequencing expressions Conditional expressions are used to test compare and selectively evaluate subordinate expressions Conditional expressions are case on page 60 case equal on page 61 cond on page 62 if on page 66 Iteration expressions evaluate subordinate expressions repeatedly according to specified conditions and include do on page 63 do on page 65 The sequencing expression groups subordinate expressions for evaluation in a specified order The sequencing expression is begin on page 59 Boolean expressions operate on zero or more arguments and return a Boolean value They are often used in conjunction with conditional and iteration expressions to cause a particular branch of code to execute over alternates The Boolean operators are and on page 58 or on page 68 not on page 67
156. _id Description Aborts the operation Parameters None Return Value None Example fail_id Monk Developer s Reference 431 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions fail_id_if Syntax fail_id_if arg Description Aborts the operation if the argument is true 20 1 Basic Library Functions Parameters Name Type Description arg Boolean The argument to test Return Value None Example fail_id_if odd 3 Monk Developer s Reference 432 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions fail_ translation Syntax fail_translation Description Aborts the operation Parameters None Return Value None Example fail_translation Monk Developer s Reference 433 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions fail_translation_if Syntax fail_translation_if arg Description Aborts the operation if the argument is true Parameters 20 1 Basic Library Functions Name Type Description arg Boolean The argument to test Return Value None Example fail_translation_if Monk Developer s Reference odd 3 434 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions find get after Syntax find get after source substring Description Searches
157. a positive EndByte Length in the path 0163 os element d not s for Exception Mapping n t s A way to create generic events while creating the map and is the only time it s ever used 0164 os min rep u is larger than Exception Mapping max rep u for n t s This is only used while creating the event map Monk Developer s Reference 656 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0165 s YoLe Le will OVERFLOW Exception Domain The mathematical operation of the parameters Le and Le in the function s will cause an OVERFLOW condition 0166 s YoLe YLe will UNDERFLOW Exception Domain The mathematical operation of the parameters Le and Le in the function s will cause an UNDERFLOW condition 0167 s C_API has not been Exception Monk Usage associated with executable The define c api function must be associated with an executable but has not been 0168 s invalid use of previously Exception Monk Usage defined Exception s Cannot redefine a previously defined exception 0169 s exception value must satisfy 0 Exception Monk Usage lt d User defined exception must be greater than zero 0170 s failed Exception Verify Failed 0171 s argument u must be an Exception InvalidArg exception In function s argument
158. a to a structured event element of an any ordered set by number instead of by name that number is related to the order of the members of the set as specified in the event definition not to the order of the structured event elements as they occur if mapped with the event data For example Monk Developer s Reference SeeBeyond Proprietary and Confidential Chapter 2 29 Monk Basics Sample Programs define anyorder struct event convert quote anyorder AS 1 1 und und 0 0 A ON 1 1 abc abc 0 0 B ON 11 def def 0 0 For this event definition the path input anyorder 0 accesses the structured event element A whether or not A occurs as the first element of the set anyorder 29 Sample Programs These sample programs give you a basic understanding of how to write Monk programs Refer to the comments for an explanation of each program Example 1 run this test case as follows stctrans ims Samplel dat Sample2 dat Sample txt 7expected results Parsed data successfully 7Call procedure successfully y to see full trace of the run issue the following command stctrans md ims Samplel dat Sample2 dat Sample txt define a simple funcition to get the length of data contained in the 7second input string define call function lambda string length input string2 2nd input data file that gets passed in display Call function successfully n delimiters used by our
159. able you must first call clear gaiji table before setting a new active table Monk Developer s Reference 487 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions cyrillic2utf8 Syntax cyrillic2utf8 string Description Converts data encoded using the cyrillic character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The cyrillic encoded string to be converted Return Value string The converted string in UTF8 Example cyrillic2utf8 ABC gt ABC Monk Developer s Reference 488 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions ebcdic2sjis Syntax ebcdic2sjis string Description Converts data encoded using the EBCDIC J character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The EBCDIC encoded string to be converted Return Value string The converted string in SJIS Example ebcdic2sjis gt Monk Developer s Reference ABC W 489 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions ebcdic2sjis_g Syntax ebcdic2sjis_g string Description Converts data encoded using the EBCDIC character encoding scheme to SJIS using a user def
160. ace function For more information see load interface on page 382 Parameters Name Type Description interface interface The name of the interface Return Value Returns an interface handle Example interface bad_interface gt interface good interface gt t Monk Developer s Reference 379 SeeBeyond Proprietary and Confidential Chapter 17 Interface API Functionality interface handle Syntax interface handle Description Creates a Monk interface handle This handle allows you to invoke Monk routines from other programs Parameters None Return Value interface Returns an interface handle to Monk Examples interface handle gt MONK_ATOM_TYPE_INTERFACE Monk Developer s Reference 380 SeeBeyond Proprietary and Confidential Chapter 17 Interface API Functionality invoke Syntax invoke obj string params Description Calls the function contained in the interface handle passing the function name and parameter values as input The invoke function is a generic interface to a set of functions within a dll The interface dll must use the architecture and protocols defined in the stcextif h file and first be loaded via the load interface function The resulting handle becomes the first argument of the invoke function The second argument is the name of the function contained in the interface handle Parameters three and beyond
161. age 620 string gt hexdump on page 621 string gt IBMpacdec on page 622 string gt IBMzoned on page 623 string gt pacdec on page 624 string gt zoned on page 625 util util f decode on page 626 util xml f decode on page 627 zoned gt string on page 628 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk Monk Utility Functions ascii gt ebcdic Syntax ascii gt ebcdic input fill length fill char Full Description Converts an ASCII character or string to an EBCDIC character or string using a one for one lookup table For example a B character on an ASCII machine hex 42 is converted to a B character on an EBCDIC machine hex c2 Optionally fills the end of the output string with a fill char The fill char chosen will also be converted to the corresponding EBCDIC character The parameters fill length and fill char are used as an optional pair Although optional one is not used without the other The keyword Full enables full conversion of both printable and not printable characters while the default converts non printable characters to NULL The keyword Full parameter must appear as the last parameter This option uses IBM 1047 for EBCDIC and ISO 850 for ASCII Parameters Name Type Description input string ASCII string to convert fill length integer Number of characters to fill fill char char Pad character Full keyword The use of the keyword ena
162. ail_translation 433 fail_translation_if 434 file check 347 file delete function 291 file exists 292 file lookup 348 file lookup expression 348 file rename 293 file set creation mask 595 find get after 435 find get before 436 floor 176 397 format 108 format expression 29 Format Specification 34 formatting strings 29 ftell 261 functions ascii gt ebcdic 600 base64 gt raw 602 binary gt string 603 change directory 604 close pipe 605 ebcdic gt ascii 606 get logical name 582 hexdump gt string 608 iq get header 570 iq initial handle 571 iq initial topic 572 iq input topics 573 iq mark unusable 574 iq output topics 575 iq peek 576 iq put 577 iq put 411 579 open pipe 611 pacdec gt string 612 raw gt base64 613 reg get file 614 send external down 583 send external up 584 shutdown request 585 sleep 615 start schedule 586 stop schedule 587 string gt 7even 616 string gt 8none 617 string gt binary 618 string gt hexdump 621 string gt pacdec 624 string gt zoned 625 string decrypt 619 string encrypt 620 SeeBeyond Proprietary and Confidential Index zoned gt string 628 G gb23122utf8 495 gcd 177 get 349 get 2 ssn 465 get 3 ssn 466 get 4 ssn 467 get apartment 468 get city 469 get data dir 597 getenv 294 get first name 470 get last name 471 get logical name function 582 get middle name 472 get port callback 262 get state 473 get street address 474 get timestamp 437 get zi
163. al Security Number of the format nnn nn nnnn O A 3 0 AN 2 0 AV Match themselves u n u Match the string banana bananana and so on but not ba na 2 bana Match the strings banana and bananana only ba na 2 3 Match either a or b alb babe abe be apple Match hello or bye or later hello bye later Match care or core or cure c a o Ju re Match aa or ab or ba or bb a b a b Match itself that is the character ae Match either the character x or the character y vod xy ms xyz XZy i xabcy Match any single character that is part of the set of all uppercase letters A through Z the digits 0 through 9 or the characters or l A Z0 9 Monk Developer s Reference 33 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 7 Format Specification Application Regular Expression Match any single character that is part of the set of the 0 9 digits 0 through 9 or the characters T J and Note that to match the close square bracket it must be at the beginning of the list Match themselves A Match any single character tha
164. al bar It must have a length of 1 or more As an integer which is the byte location of the delimiter in the event if delimiters are declared in the event in a standard location A length of 1 is assumed In the Monk notation for character constants for example newline In the following syntax to represent the byte location and length of the delimiter in the event byte_location length In the following syntax to represent the beginning delimiter and ending delimiter in the event begin_delim end_delim delim_type Type of delimiter Keywords are endofrec Delimiter always ends a event element at this level For example segments always terminate with r This is optional on input mapping but generated as part of output array Optional delimiter used for array type nodes The array delimiter is the repetition field delimiter used in the HL7 event format for repeating fields anchored If a delimiter is marked as anchored the Monk parser looks for that delimiter begin or end at the current byte location of the event data beginanchored If a delimiter is marked the begin delimiter must occur at the current location of the event data endanchored If a delimiter is marked as endanchored the end delimiter must occur at the current location of the event data required Used only for end delimiters The delimiter must exist in the data separator Used for backward compatibility only Monk
165. ame Type Description string string The Hebrew encoded string to be converted Return Value string The converted string in UTF8 Example hebrew2utf8 ABC gt ABC Monk Developer s Reference 497 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions init gaiji Syntax init gaiji Description Initializes the Gaiji Descriptor in the Monk engine Important You must call this function before using any of the Japanese Character conversion functions that use custom Gaiji tables Parameters None Return Value None Example init gaiji set gaiji tabl Sjis2euc convertl1 Monk Developer s Reference 498 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions init utf8gaiji Syntax init utf8gaiji Description Initializes the UTF8 Gaiji Descriptor in the Monk engine Important You must call this function before using any of the UTF8 Japanese Character conversion functions that use custom Gaiji tables Parameters None Return Value None Example init utf8gaiji set utf8gaiji table utf8big5 Monk Developer s Reference 499 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jef2sjis Syntax jef2sjis string Description Converts data encoded using the JEF character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Na
166. ameters Name Type Description protectionValue integer A five digit integer representing the file creation mask The first two digits from the left must be zero The remaining digits represent the protections assigned to owner group and world in that order Return Value string Returns an empty string Examples file set creation mask 00700 sets default protection to 00700 Sets the protection to owner read write execute all others no access file set creation mask 000755 sets default protection to 0075 Sets the protection to owner read write execute all others read execute no write Additional Notes The protection system uses the following values Protection Meaning value 00700 read write execute owner No access by group or other 00400 read permission owner No access by group or other 00200 write permission owner No access by group or other 00100 execute permission owner No access by group or other 00070 read write execute group 00040 read permission group No write or execute permissions 00020 write permission group Monk Developer s Reference 595 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions Protection Meaning value 00010 executed permission group 00007 read write execute permission other 00004 read permission other 00
167. an odd number Parameters Name Type Description string string Operand Return Value Boolean This function returns t if the integer is odd Otherwise it returns f Examples mp odd mp odd Monk Developer s Reference 123455 123456 409 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp positive Syntax mp positive string Description Determines whether the input argument quoted number is a positive number Parameters Name Type Description string string Operand Return Value Boolean This function returns t if the number is positive Otherwise it returns f Examples mp positive mp positive Monk Developer s Reference 123455 123465 gt t gt f 410 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp quotient Syntax mp quotient stringi string2 Description Divides two multiple precision integers Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted integer is the integer portion of the quotient Example mp quotient Monk Developer s Reference 20 Wipe gt Won 411 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp
168. ar gt a char gt a 3 gt 3 gt A gt a gt b gt FE Ft Ft FE FE Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 82 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char lt Syntax char lt charl char2 Description Compares two characters for order within the character collation sequence or for equality This function is case sensitive Parameters Name Type Description char character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is less than or the same as char2 Otherwise returns f Examples char lt char lt char lt char lt char lt 3 3 a a a 3 4 A a b Ft Ft FE FE FE Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 83 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char gt 2 Syntax char gt charl char2 Description Compares two characters for order within the character collation sequence or for equality This function is case sensitive Parameters Name T
169. are passed to invoke as input arguments to the requested function An object that can be called by the invoke function can optionally be called using the object s name alone For example the following are equivalent invoke my_object my_function my_object my_function Parameters Name Type Description object handle Interface handle returned by the load interface function string string Function that is being invoked params argument Optional The parameter s specified is dependent upon the argument list in the function being invoked Return Value Return Code Description Exit status is OK Invoke of function procedure call failed Failed to allocate memory successfully Unused Bad parameter to free function Oo BB Ww N Alo Bad argument to function procedure call Monk Developer s Reference 381 SeeBeyond Proprietary and Confidential Chapter 17 Interface API Functionality load interface Syntax load interface dll_file init_fn Description Loads a dll The dll must adhere to the architecture and protocols defined in the stcextif h file Parameters Name Type Description dil_file string Path to the dll to be loaded init_fn string Name of the init function to be called Optional Return Value Returns an interface handle Example define obj load interface sample_ext dll Monk Developer
170. arget Description Searches for the occurrence of a substring pattern within another string Parameters Name Type Description pattern string Pattern to search for target string String containing the pattern Return Value integer This function returns the character offset of the first occurrence of the substring pattern within the string The offset starts from zero 0 If the substring pattern cannot be found f is returned Example substring index test Monk Developer s Reference This is a test string gt 10 155 SeeBeyond Proprietary and Confidential Numerical Expressions Chapter 7 Numerical Expressions are used for numerical calculations and conversions Calculation include scientific functions such as sine or tangent functions and format conversion functions dealing with big endian and little endian numerical data formats The number functions available are on page 157 on page 158 on page 159 on page 160 lt on page 161 on page 162 lt on page 163 gt on page 164 gt on page 165 abs on page 166 acos on page 167 asin on page 168 atan on page 169 big endian gt integer on page 170 ceiling on page 171 cos on page 172 even on page 173 exp on page 174 expt on page 175 floor on page 176 gcd on page 177 integer on page 178 integer gt big endian on page 179 integer gt little endian on page 180 Monk Developer s Reference 156 Icm
171. arked as handled but is passed out of the try block If the block is at the top level the exception causes the system to return an error If the try block is encapsulated within another try the exception is immediately passed to the catch block within the encapsulating try block and exception processing continues as described above Note When using user defined exceptions and the define exception function you must first check to see if the exception has been defined previously Your collaboration rule will fail if you attempt to define for a second time the user defined exception This most likely will result when an e Way is always running and a new data file becomes available for processing In this case the tsc is executed a second time and the define exception statement also is executed unless it is part of an IF statement checking to see if already defined 23 1 1e Gate Events and Monk Exceptions If a Monk exception occurs while a BOB or an e Way is processing an Event no data is lost e Gate protects the data by doing one of the following If the exception occurs while processing an Event within the e Gate system specifically an Event that had been published to an IQ and to which another e Gate component was subscribing the Event will be rolled back and will remain in the IQ If the exception occurs while processing an Event that had been received from the external system the e Way will NAK the external system Monk
172. arriage return character r in the data will affect how the data is displayed when it is sent to the screen Return Value Unspecified Monk Developer s Reference 340 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Example define MonkExample delm endofrec t array Wen amp define MonkExample struct resolv vent definition quote MonkExample ON 1 1 und und und 1 Name ON 1 1 und und und 1 0 0 N Address ON 1 1 und und und 1 0 1 N 7 0 N define MonkExample data Ese Bodyne 404 Huntington Dr define MonkExOut open output file MonkExampleOutput dat define MonkExample event make event map MonkExample delm MonkExample struct Sevent parse MonkExample event MonkExample data display event dump MonkExample event MonkExOut gt Unspecified The file MonkExampleOutput txt now contains Modifiers Name Type MinRep MaxRep Tag Def Offset Length Encoding Delim BitFlags MonkExample ON 1 1 1 1 Su Dc Depth Length Children FLAGS Rep Data Arrayified Constant ChildData SibData 0 30 1 DACB Ese Bodyne 404 Huntington Dr MonkExample ON 1 1 1 1 Su Dc 1 30 2 RDACB Ese Bodyne 404 Huntington Dr Name ON 1 1 1 1 RNu 2 10 1 DACB Ese Bodyne Name ON 1 1
173. ary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get first name Syntax get first name name Description Returns the first name in a string formatted as LAST FIRST MIDDLE that is everything after the first comma and before the next space Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description name string Personal name Return Value string Returns a string containing the first name in a string formatted as LAST FIRST MIDDLE that is everything after the first comma and before the next space Example get first name Astor John Jacob gt John Monk Developer s Reference 470 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get last name Syntax get last name name Description Returns the last name in a string formatted as LAST FIRST MIDDLE that is everything before the comma Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description name string Personal name Return Value string Returns a string containing the last name in a string formatted as LAST FIRST MIDDLE that is everything before the comma Example get last name Astor John Jacob gt Astor Monk Developer s Reference 471 See
174. ates conversion characters to the format flags permitted to the conversion character Peka Permitted Format Flags a A b B 0 space d D Space e E f F i n N none 0 O 0 space s S none t T none x X 0 Space none Examples format Sb 33 gt 100001 format 8c Tiger gt Tiger format S070 33 gt 0000041 These examples demonstrate binary conversion left justify using the minus character and padding with zeros The following table lists a variety of inputs formats and the resulting string Note The double quotes are not part of the result data They are included to delimit significant spaces Input Format Instruction Result Floating point format examples Monk Developer s Reference 36 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions Input Format Instruction Result 12 345 SIUE g 12 12 345 9 1f i leo 12 345 69 2 12 34 12 345 BOs SE s 12 345 12 345 69 4f 12 3450 12 345 68 4f 123450 12 345 o7 4 M12 3450 12 345 66 4f MAD 5 3450 12 345 09 0f 000000012 12 345 09 1 f 0000012 3 12 345 09 2f 000012 34 12 345 09 2f T2434 12 345 09 2f 12 s34 12 345 09 2f 00012 34 12 345 09 2f 00012 34 12 345 09 2 12 34 n 12 345 09 2
175. backward compatibility for code written for e Gate 4 1 1 The iq put 411 function makes a call to iq put If an exception is thrown it will catch the exception and return f The exception will be noted in the log file For more information on the iq put function see iq put on page 577 Parameters Name Type Description output event type string Name of the Event Type to which to publish event string The Event to publish input event type list List of input Event Types which were used to create this Event priority number Priority to assign to the output Event Default is 0 major seq num number Major sequence number to assign minor seq num number Minor sequence number to assign An entry of 0 defaults major and minor sequence numbers Return Value Boolean Returns t if the Event was successfully placed on the queue Otherwise it returns f Examples if iq put 411 initial topic begin displ begin displ Monk Developer s Reference ay ay et_middle get input SGenericInEvent list iq 5 0 0 The igq put 411 returned t newline The iq put 411 returned f newline 579 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk e Way Functions 22 Way Functions The following functions are available to all e Ways based on the Extension Kit the Generic Monk based e Ways in the external Monk e
176. bcdic string Description Converts an SJIS string into EBCDIC J then sets its type as 1Byte Parameters Name Type Description string string The SJIS string to be converted Return Value string The converted string in EBCDIC J Example sjis2ebcdic idt gt ABC Monk Developer s Reference 523 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2Zebcdic_g Syntax sjis2ebcdic_g string Description Converts an SJIS string into EBCDIC J using a user defined custom Gaiji table associated with this function The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS string to be converted Return Value string The converted string in EBCDIC J Example init gaiji set gaiji sjis2ebcidic_g idt tabl sSjis2euc gt ABC Monk Developer s Reference 524 convertl1 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2euc Syntax sjis2euc string Description Converts an SJIS string into EUC then sets its type as EUC Parameters Name Type Description string string The SJIS string to be converted Return Value string The converted string in EUC Example sjis2euc ABC gt ABC Monk Developer s Reference 525 SeeBe
177. bjects and other Monk objects For a comprehensive list of examples see Format Specification on page 34 Parameters Name Type Description format spec expression The specification of the output format The syntax for the format instruction is documented in Format Specification on page 34 arg string path A string or path Return Value The format expression takes a string and formats according to format spec instruction and returns the formatted string as its result Examples Input define Format format define format format define format format str string Ss gt end str 10s gt end str num 123456 d gt end num S10d gt end num float 123 456 Sf gt end float S15f gt end float Monk Developer s Reference 108 string gt end string gt end 123456 gt end r 123456 gt end 123 456000 gt end n 123 456000 gt end SeeBeyond Proprietary and Confidential Chapter 6 String Functions htonl gt string Syntax htonl gt string num Description Converts a long integer from the host byte order to a string in network byte order Parameters Name Type Description num integer A long integer Return Value string Returns a string in two byte network byte order Examples hton l hton hton Monk Developer s Refe l gt strin
178. bles full conversion of non printable and printable characters Return Value character If a character is input returns an EBCDIC character corresponding to the ASCII version of the original character string If a string is input returns a string of EBCDIC characters corresponding to the ASCII version of the original string Note EBCDIC characters displayed on an ASCII machine display differently from the same characters displayed on an EBCDIC machine The character displayed is the ASCII version of the underlying hex representation of the EBCDIC character For example and EBCDIC a hex 42 displays as B on an ASCII machine Examples These examples were created on an ASCII machine ascii gt ebcdic amp gt P ascii gt ebcdic gt N Monk Developer s Reference 600 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk Monk Utility Functions ascii gt ebcdic cat gt atu ascii gt ebcdic cat 15 x67 gt atiucececececece This example creates a file containing a list of all the conversions define a2e_out open output file a2e output txt load extension stc_monkutils dll do i O i 1 i 256 begin display string append number gt string i a2e_out write exp ascii gt ebcdic integer gt char i a2e_out newline a2e_out Notes By default Monk converts all alphanumeric characte
179. brary Functions standard gt julian date Description Converts a standard date in the format YYYYMMDD specified by the date parameter to a Julian date Parameters Name Type Description date string A standard date in the form YYYYMMDD Return Value string Returns the Julian date Examples standard gt juli standard gt juli Monk Developer s Reference 19480115 gt 2432556 18980215 gt 2414716 444 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions string begins with Syntax string begins with source substring Description Determines if the source begins with the substring Parameters Name Type Description source string String to test substring string Substring to test Return Value Boolean Returns t true if the supplied source begins with the supplied substring otherwise returns f false Examples string begins with This is input This gt t string begins with This is input input gt f Monk Developer s Reference 445 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions string contains Syntax string contains sourcestring substring Description Determines if the substring is a member of the sourcestring Parameters Name Type Description sourcestring string String to t
180. bstring Return Value Boolean Returns t true if the substring is equal to string1 otherwise returns f false Examples substring abc xyzabc 3 t substring abc xyzabc 0 f Monk Developer s Reference 453 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions symbol table get Syntax symbol table get key string Description Queries the symbol table for the specified key string Parameters Name Type Description key string symbol The name of the string Return Value Returns one of the following symbol The symbol for the specified key string Boolean Returns f false if the string is not found Example symbol table put one 1 symbol table put two 2 symbol table put three 3 display symbol table get three results in the string 3 being displayed Monk Developer s Reference 454 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions symbol table put Syntax symbol table put key string value Description Assigns a string value to a symbol 20 1 Basic Library Functions Parameters Name Type Description key string The name of the string value The value assigned to the symbol Return Value Returns one of the following symbol The symbol for the specified key string Boolean
181. bytes of data that represent the node If unspecified it defaults to und undefined meaning the rest of the data or bound by the size of the parsed children Supported for fixed F nodes only Optionally you can specify start end instead of length Start is the first byte to read and end is the last byte to read counting from byte 0 expression Remainder of list specifying children Node Properties Effect The following table summarizes how node properties affect placement of data into a structured event Property Node Type Source Data Mapping Placing Data min rep all Data must contain at least the If an expression attempts to max rep minimum number of place data in a node repetition repetitions specified and at that exceeds the specified most the maximum number of maximum a warning is written repetitions specified to to the current warning port successfully map and the process terminates with no action taken tag delimited Node contents must match No impact delimited the tag or the map fails that is array represented by regular expression Atag fixed Fixes start location length of No impact node in data stream default data delimited No impact If no data is placed in a node delimited and it is a required node then array fixed the default data represents the content of the node Monk Developer s Reference 48 SeeBeyond Proprietary and Confidential
182. ce 24 SeeBeyond Proprietary and Confidential Chapter 2 2 4 Monk Basics Monk Conventions 2 4 3 special_initial I amp F i lt c gt 2 _A subsequent initial digit special_subsequent digit 0 9 special_subsequent u n peculiar_identifier Examples The following are typical identifiers johnny list gt vector v1l7 or and Comments Syntax comments Description Comments are text inserted within a Monk program A comment begins with a semicolon and runs from the semicolon to the end of the line in which the semicolon appears The comment is invisible to Monk Example SYNOPSIS Multiplies 10 by 20 and displays the result ae it ee ley de ae ee Ae ae ie ae dae es a J See ie es ae ae ie ie da dae ie Mee ae dae Mae de da de de ee de a de Se ie Ae STC define x 10 define y 20 display x y newline Special Note There is also the comment procedure which is used by the GUI to insert comments into monk code Comments written in this fashion are displayed by the GUI but have no executable effect 24 4 Whitespace Whitespace characters are spaces tabs and newlines Whitespace is used for improved readability and as necessary to separate tokens from one another A token is an indivisible lexical unit such as an identifier or number Whitespace may occur between any two tokens but not within a token Whitespace between tokens is not significa
183. chemes for encoding characters For example in Japan to encode Japanese characters UNIX uses EUC WINDOWS uses SJIS MAINFRAMES use EBCDICJ and EMAIL uses JIS The Monk engine uses SJIS for encoding Japanese characters in its internal processing Therefore it is necessary at times to convert data that uses a different character encoding scheme to SJIS before it can be further processed by the Monk engine It is also necessary to be able to convert the product of a Monk program back to these other character encoding schemes arabic2utf8 on page 485 big52utf8 on page 486 clear gaiji table on page 487 cyrillic2utf8 on page 488 ebcdic2sjis on page 489 ebcdic2sjis_g on page 490 ebcdic2uhc on page 491 ebcdic2uhc_m on page 492 euc2sjis on page 493 euc2sjis_g on page 494 gb23122utf8 on page 495 greek2utf8 on page 496 hebrew2utf8 on page 497 init gaiji on page 498 init utf8gaiji on page 499 jef2sjis on page 500 jef2sjis_g on page 501 Monk Developer s Reference 482 sjis2euc_g on page 526 sjis2jef on page 527 sjis2jef_g on page 528 sjis2jef_m on page 529 sjis2jef_m_g on page 530 sjis2jef_p on page 531 sjis2jef_p_g on page 532 sjis2jipse on page 533 sjis2jipse_g on page 534 Sjis2jis on page 535 sjis2jis_g on page 536 sjis2keis on page 537 sjis2keis_g on page 538 sjis2sjis on page 539 sjis2utf8 on page 540 sjis2utf8_g on page 541 uhc2ebcdic on page 542 SeeBeyond Proprietary and Confidential Chapter 21 Internati
184. cision Syntax mp set precision integer Description Sets the level of precision for the underlying math engine You can enter an integer from 32 to 1024 The default precision for the library is set to 128 bits Parameters Name Type Description number integer Number of bits Return Value Unspecified Examples mp set precision 256 mp set precision 12 Monk Developer s Reference 414 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp subtract Syntax mp subtract stringl string2 Description Subtracts two multiple precision numbers Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the difference of the two numbers input to the function Example mp subtract Monk Developer s Reference 123 45678 Wg Wa 415 gt 122 34567 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp truncate Syntax mp truncate string Description Truncates a multiple precision number by removing the decimal point and any numbers following the decimal point Parameters Name Type Description string string Operand 1 Return Value string The returned string quoted integer is the integer portion of the number input to the functio
185. ck 387 monk flag clear 388 monk flag get 389 monk flag set 390 mp abs 392 mp absolute value 392 mp add 393 mp ceiling 394 mp divide divide 395 mp floor 397 mp max 398 mp min 399 mp modulo 400 412 mp multiply 401 mp negative 402 mp num eq 403 mp num ge 404 mp num gt 405 mp num le 406 mp num lt 407 mp num ne 408 mp odd 409 mp positive 410 mp quotient 411 mp remainder 400 412 mp round 413 mp set precision 414 mp subtract 415 mp truncate 416 multiply 401 mutation procedures 24 SeeBeyond Proprietary and Confidential Index N Naming Conventions 24 naming nodes 49 natural exponent 174 natural logarithm 183 negative 402 negative 187 newline 285 node legal names 49 node properties effect 48 node properties summary 48 nodes list 38 44 default data 48 node naming rules 49 tag 48 not 67 not equal 408 Notations 26 not verify 352 nth 307 null 222 number gt integer 189 number gt real 190 number gt string 246 number gt uint 191 number 188 O octal characters 29 odd 409 odd 192 open append file 264 open input file 265 open input string 265 266 open output file 267 open output string 268 open pipe 611 open pipe function 611 open random access file 269 optional nodes behavior 50 or 68 organization of information document 17 output port 270 output string port 271 overwriting data 51 oz gt gm 478 oz gt lb 479 Monk Developer s Reference 665 P pacdec gt string function 61
186. conversion is provided through the UTF8 Conversion utility utf8convert exe The UTF8 conversion utility is used to convert Collaboration Rules Scripts tsc Event Type Definitions ssc and XML files into UTF8 format The UTF8 Conversion utility is located in eGate client bin Monk Developer s Reference SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions UTF8 Conversion utility usage utf8convert sgbuacgh 123456789 XM i input o output Table 6 Command Arguments for utf8convert Parameter Description S ShiftJIS table g GB2312 file b Big 5 file u UHC file a Arabic file C Cyrillic file k Greek file h Hebrew file 1 12345678 Latin file X XML file option M MONK tsc or ssc file option i input Multi byte file name option o output UTF 8 file name option Monk Developer s Reference 484 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions arabic2utf8 Syntax arabic2utf8 string Description Converts data encoded using the Arabic character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Arabic string to be converted Return Value string The converted string in UFT8 Example arabic2utf8 ABC gt ABC Mo
187. d To resolve the path in the desired environment you may need to perform an eval Parameters Name Type Description string string The characters to convert to a path Return Value path Newly created unresolved path Examples string gt path input SMSG gt input MSG path string gt path input SMSG gt t Monk Developer s Reference 365 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions timestamp Syntax timestamp destination_path timeformat Description Inserts the current date and time of the server s host system into the structured event You can specify a custom format or use the default format If you give timestamp an empty string it will output nothing Parameters Name Type Description destination_path path The path to the structured event element for placement timeformat string An instruction to format the data Syntax is detailed below Quotes are required but can be empty The timeformat can include one or more of the following format choices Text can be included for example time test Yor generates the output time test 02 15 03 PM Format abbreviations Time Division Option Description Value Range or Sample Output Days Yow day of week Sunday is day 0 0 6 a day of week using site for example Sun Mon Tue and defined abbreviations so forth A day
188. d ADT output Sfixed RX S qs wey AWA EY remove leading zeros and trailing spaces sample inout is 0000123 sample ouput is 123 change pattern input strung out output trim trunc V 0 S Ss Monk Developer s Reference 327 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions remove punctuation parens dash x X from a phone number leaving only digits sample input is 123 456 7890x1234 sample output is 12345678901234 change pattern input delim 0 3 output fixed 1 xx ey wy reformat name delimited to fixed remove digits exchange space for sample input is 5678 Manson Louie A sample output is Manson Louie A change pattern input ORD 0 3 output DRO 3 1 0 9 an I oy aA Notes If the data in the source matches input patternN then output stringN is applied If there are additional input pattern output string pairs in the list the output from the first is used as the input to the next until all pairs have been processed in turn The final result is written to the destination_path Because conversions are executed in the order listed be sure to check input patterns carefully If one input pattern matches part of another input pattern place the longer pattern first Otherwise the longer pattern will never be matched since the matching subpattern will already have been matched and replaced
189. d decima Syntax I valid decimal number Description 20 1 Basic Library Functions Tests the number to determine if it is a valid decimal number Parameters Name Type Description number string The number to test Return Value Boolean Returns t if the supplied number is a valid decimal number Otherwise it returns Hf Examples valid de cimal cimal valid de valid de cimal valid de cimal Monk Developer s Reference WALA Aa 30 44 91066 458 gt t gt t gt f SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions valid integer Syntax valid integer number Description 20 1 Basic Library Functions Tests number to determine if it is a valid integer number Parameters Name Type Description number string The number to test Return Value Boolean Returns t if the supplied number is an integer number Otherwise it returns f Examples valid integer valid integer valid integer Monk Developer s Reference 816 123335 gt t gt t 459 gt f SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions verify type Syntax verify t Description 20 1 Basic Library Functions ype checkfunc param Checks that the argument answers t to the specified Monk function If
190. d must be an exception 0172 s element s of clause not a Exception Monk Usage defined exception Element s of the clause is not a valid exception 0173 s first element of lt clause gt must Exception Monk Usage be lt exception1 gt or The first element is not in a valid otherwise or always form or is not the correct keyword 0174 s expected lt s gt to evaluate to Exception Monk Usage a lt procedure gt following gt Evaluation of the parameter is supposed to be a procedure specific to Case statements 0175 s failed to find symbol_size Exception CallArgUsage arg u The function was called without proper symbol_size specified 0176 s failed to find blob_size Exception CallArgUsage arg u The function was called without proper blob size specified 0177 s invalid element type Exception CallArgUsage encountered The function was called without an invalid element type Monk Developer s Reference 657 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0178 s invalid index 0 lt u lt u Exception CallArgUsage for vector The function tried to reference a vector element beyond the range of the vector 0179 s invalid Argument vector Exception CallArgUsage The function expect
191. ddr 212 cons 213 length 214 list 215 list 216 list ref 217 list tail 218 member 219 memq 220 memv 221 null 222 pair 223 reverse 224 set car 225 set cdr 226 Chapter 9 Vector Expressions 227 Vectors in Monk 227 The Vector Functions 228 list gt vector 229 make vector 230 vector 231 vector 232 vector gt list 233 vector fill 234 vector length 235 vector ref 236 vector set 237 vector gt string 238 Chapter 10 Equivalence Testing 239 eq 240 equal 242 eqv 243 Chapter 11 Conversion Procedures 245 number gt string 246 string gt number 247 Monk Developer s Reference 7 SeeBeyond Proprietary and Confidential Contents keyword string gt symbol symbol gt string char gt integer integer gt char Chapter 12 File I O Expressions clear port callback close port current debug port current error port current input port current output port current warning port ftell get port callback input string port open append file open input file open input string open output file open output string open random access file output port output string port regex string port rewind seek cur seek set seek to end set file encoding method set port callback string port gt string eof object read read char read line display newline write write char write exp Chapter 13 System Interface Functions directory file delete file exists file rename getenv load load directory load extension
192. do i O i 1 i 256 begin display string append number gt string i e2a_out write exp ebedic gt ascii integer gt char i e2a_out newline e2a_out Notes By default Monk converts all alphanumeric characters plus the following subset of the EBCDIC character set alert vertical tab bell backspace space octal 3 digits newline hexadecimal 2 digits formfeed a z A Z carriage return 0 9 horizontal tab The following EBCDIC code points are translated according to the IBM 3274 specification EBCDIC 0x4a cent ASCII 0x5b EBCDIC 0x4f solid ASCII 0x21 EBCDIC 0x5a ASCII Ox5d J EBCDIC 0x6a ASCII 0x7c EBCDIC 0x5f top right ASCII 0x5e 4 A carriage return may have to be inserted for certain ASCII devices when converting the following EBCDIC 0x15 nl ASCII Ox0a If Monk Developer s Reference 607 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions hexdump gt string Syntax hexdump gt string string Description Converts a hexdump string which has been created using string gt hexdump to a character string Parameters Name Type Description string string The string to be converted Return Value string Returns the converted string If the conversion is not successful returns an empty string Example hexdump gt string 636174
193. e Parameters Name Type Description obj1 expression The object to test against obj2 expression The object to test for equivalence Return Value Boolean Returns f if obj2 is not equal to or same type as obj1 Otherwise returns t Examples equal a a equal a a equal a b c a b c equal make vector 5 a make vector 5 a gt t equal lambda x x lambda y equal list aj list a equal a c equal equal equal 2 2 equal 1A 1A equal car car let n 2 3 equal n n let x a equal x x let p lambda x x equal p p Monk Developer s Reference 242 gt t gt t gt t gt f gt t gt f gt t gt t gt t gt t gt f gt t gt t gt f SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing eqv Syntax eqv objl obj2 Description Determines if obj1 and obj2 should normally be regarded as the same object Compare to eq eqv returns t if obj1 and obj2 are both t or both f obj1 and obj2 are both symbols and string symbol gt string objl1 symbol gt string obj2 gt t obj1 and obj2 are both characters and are the same character according to the char procedure see char on page 80 both obj1 and obj2 are the
194. e Parameters Name Type Description string string Full path to the string to input Return Value This function returns the port Example define buffer The quick brown fox jumps over the lazy dog open input string buffer gt InputString port Monk Developer s Reference 266 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open output file Syntax open output file filename file64 Description Opens a port in output mode Since this function creates an output file the directory where the file exists must be accessible and usable Parameters Name Type Description filename string Full path to the file file64 optional Used to provide large file support This option is available on the following platforms AIX Compaq HP Linux Sun This parameter is optional Return Value This function returns the port to the output file Example open output file output dat gt Output port open output file output dat file6 4 gt Output port Monk Developer s Reference 267 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open output string Syntax open output string Description Opens a port for output Parameters None Return Value This function returns the port of the output string Example open output string gt OutputString port Monk De
195. e 118 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string gt Syntax string gt stringl string2 Description Compares string1 and string2 for lexical order Lexical order is determined by comparing corresponding characters of both strings until a non match occurs If the non matching character of string is less than the non matching character of string2 in the sense of the char lt function f is returned If greater then t is returned Otherwise f is returned string gt is case sensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns t if string is greater than string2 Otherwise it evaluates to f Examples string gt 1234 1234 gt string gt 1234 1233 gt t string gt abcd abcd gt string gt abcd abCd gt t string gt 2222 2222 gt f string gt 2222 231 gt f Note that the comparison against 231 evaluates to f because this is a lexical ordering If this ordering were numeric the previous example would evaluate to t Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 119 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string gt Syntax string gt stringl string2
196. e This function returns t if the input argument is an odd number Otherwise it Boolean returns f Examples odd 23 gt odd 40 gt odd 20 gt odd 12 3 gt t Monk Developer s Reference 192 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions positive Syntax positive number Description Determines whether the input argument is a positive number Zero is considered a positive number Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean This function returns t if the input argument is a positive number Otherwise it returns f Examples positive 2 positive 3 3 positive 0 Monk Developer s Reference gt gt f gt 193 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions quotient Syntax quotient numberl number2 Description Divides number1 by number2 ignoring the remainder Parameters Name Type Description number integer Must be an integer number2 integer Must be an integer Return Value integer Value of the integer portion of the quotient Examples quotient 22 3 quotient 21 3 quotient 20 3 quotient 20 3 quotient 20 3 quotient 20 3 Monk Developer s Reference 194 SeeBeyond
197. e strin aie a copy of the source with all alphabetic characters converted to lower case Examples string downcase A String gt a string string downcase AAA gt aaa Monk Developer s Reference 133 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string empty Syntax string empty string Description Checks to see whether a string is empty or not Parameters Name Type Description string string The string to be checked Return Value string Returns t if the string is empty Otherwise returns f Examples string empty gt ie string empty x gt f Monk Developer s Reference 134 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string fill Syntax string fill string char Description Replaces every character in the specified string with the specified character string must be mutable Parameters Name Type Description string string The string to manipulate Must be a mutable string char character Character with which to fill the string Return Value Unspecified Example define mystring make string 5 string fill mystring d gt ddddd The function make string when combined with define will create a mutable string Mutable strings can be have their contents changed Monk Developer s Reference 135 SeeBeyond Proprietary and Confidential Chapter 6 St
198. e The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 127 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci gt Syntax string ci gt stringl string2 Description Compares string and string2 for lexical order without regard for case Lexical order is determined by comparing corresponding characters of both strings until a non match occurs in the sense of char ci function If the non matching character of string1 is less than the non matching character of string2 in the sense of the char ci lt function f is returned Otherwise t is returned string ci gt is case insensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns f if each character in string is not greater than or the same as the corresponding character in string2 Otherwise it evaluates to t Examples string ci lt 1234 string ci lt 1234 string ci lt abcd string ci lt abcd 1234 1233 ABCD ABCC gt t gt f gt t gt f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 128 SeeBeyond Proprietary and Confidential Chapter 6 String Functions strin
199. e caller is letting the system assign the default priority as entered in the Enterprise Manager If the default priority has been defined as 0 in the Enterprise Manager then messages published by iq put will have a priority of 0 Parameters Name Type Description output event type string Name of the Event Type to which to publish event string The Event to publish input event type list List of input Event Types which were used to create this Event priority number Priority to assign to the output Event Default is 0 major seq num number Major sequence number to assign minor seq num number Minor sequence number to assign An entry of 0 defaults major and minor sequence numbers Return Value Boolean Returns t if the Event was successfully placed on the queue Throws Exception Generic Monk Developer s Reference 577 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access Examples try iq put OutEmpEvent szMessage list EmpData 2 0 0 catch Exception Generic display Exception Raised exception category display number gt string exception category newline display exception symbol display symbol gt string exception symbol newline display exception string display exception string newline This example queues an Event of type OutEmpEven
200. e character Return Value string The converted string in SJIS Example jipse2sjis gt Monk Developer s Reference id6u ABC 0 506 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jipse2sjis_g Syntax jipse2sjis_g string type Description Converts data encoded using the JIPSE character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The JIPSE encoded string to be converted type integer Describes the type of characters in the string being converted One of the following 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string Example init gaiji set gaiji tabl jipse2sjis_g ABC 0 gt Monk Developer s Reference id6u Sjis2euc convertl1 507 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jis2sjis Syntax jis2sjis string Description Converts data encoded using the JIS character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The JIS encoded string to be converted Return Val
201. e incorrectly interpreted as ASCII data display string gt IBMzoned ebcdic gt ascili IBMzoned gt string EBCDIC xf1 xf1 xfl xcl Full gt 111A Monk Developer s Reference 623 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions string gt pacdec Syntax string gt pacdec string digits_before digits_after Description Converts a string representation of a number to a packed decimal string Parameters Name Type Description string string The string to be converted digit_before integer The number of digits before the decimal point digit_after integer The number of digits after the decimal point Return Value string Returns a string Example define mypacdec string gt pacdec 123 12345 3 5 pacdec gt string mypacdec 5 gt 123 12345 Monk Developer s Reference 624 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string gt zoned Syntax string zoned string Description 22 4 Monk Utility Functions Converts a string representation of a number into a zone decimal string Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example zoned gt string Monk Developer s Reference string gt zoned 12345 gt 12345 625 SeeBeyond Proprietary and Confidential Chapt
202. e number of digits to the right of the decimal If used must be preceded by a period to distinguish it from lt width gt alt format Only used with t T When specified uses the time format defined by the mk time procedure on mktime on page 374 lt C gt Conversion character indicating output data type Data types with capital letters attempt to print that element as Monk readable text Lowercase data types print in a normal text readable format Not available for E F T or reserved for future use Select one of the following a A Any Monk object b B Binary output of a number d D Decimal output of a number Integer positive or negative e E Exponent output of a number Floating point number formatted with scientific notation n me xx f F Fixed output of a number Floating point number formatted with decimal notation n m where is output for negative numbers i Decimal output of a number n N Number of bytes written so far o 0O Octal output of a number s S String output Monk Developer s Reference 35 SeeBeyond Proprietary and Confidential Chapter 2 27 Monk Basics Format Specification Name Description tT Time output x X hexadecimal output of a number x Use next argument as directive information A literal string may be included in the format For example format Cherries are s red gt Cherries are red The following table rel
203. eBeyond Proprietary and Confidential Chapter 5 Character Functions char Syntax char parm Description Tests the supplied parameter to determine whether or not it is a character Parameters Name Type Description parm any The object to check Return Value Boolean Returns a t if the parameter is a valid character Otherwise returns f Examples char char ia char char char char k Way 137 1 formfeed string ref a b c 2 Monk Developer s Reference 79 gt gt gt FE FE Ff Ft FE FE z is not a character It is a string because it is contained within double quotes SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char 2 Syntax char charl char2 Description Compares two characters for equality This function is case sensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is the same as char2 Otherwise returns f Examples char 3 3 char 3 4 char a A gt t gt f gt f Note The return values may vary on different platforms due to the differences between ASCII and EB
204. ebug Control Procedures monk flag get Syntax monk flag get Description Tells you what Monk flags are currently set You can also use this to return the integer that corresponds to a particular group of set Monk flags and then use the integer in monk set flag to set these flags without having to set them individually Parameters None Return Value A integer value whose bits correspond to the Monk flags currently set Example monk flag clear all gt t monk flag set store last map failure gt t monk flag get gt 2048 monk flag clear all gt t monk flag set all gt t monk flag get gt 793727 Monk Developer s Reference 389 SeeBeyond Proprietary and Confidential Chapter 18 Debug Procedures monk flag set Syntax Internal Debug Control Procedures monk flag set flag additional flags Description Sets the valid Monk flag by using either the symbol name or an integer that corresponds to a particular flag set s See monk flag get on page 389 for more information Parameters Name Type Description flag symbol or Valid Monk flag s The flags can be referenced individually interger by symbol name or by the integer that corresponds that flag You can also reference a set of flags by using the single integer that corresponds to that group of flags Return Value Boolean The result of the function is the success or failure of setting the last flag in
205. ect is a procedure Parameters Name Type Description obj any The object to test if it is a procedure Return Value Boolean Returns t if the object is a procedure Otherwise it returns f Examples procedure procedure procedure procedure 145 Evaluation car car lambda Lambda gt t gt f x x x gt t x x x gt f The Evaluation function evaluates the specified object in the current environment and returns the result eval on page 312 Monk Developer s Reference 311 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures eval Syntax eval obj Description 14 6 Literal Expressions Evaluates the specified object in the current environment and returns the result Parameters Name Type Description obj any The object to be evaluated based on the current environment Return Value The result returned depends on the given object For example a number returns a number and a string returns a string Example define myfunc display display string append n The value of myfunc is myfunc n eval string gt symbol myfunc n This worked n 146 Literal Expressions gt This worked The literal function available is quote on page 313 quasiquote on page 314 Strings quoted lists and vectors are immutable M
206. ed SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 8 Monk and Event Definitions Table 1 Attributes of the Node List Continued Name Description ANA Any ordered delimited node array A node array is similar to a set but the group it represents comprises sub nodes instead of nodes at the same delimiter level Use a node array to represent a repeating field where repetitions are delimited by the repetition field array delimiter for example character The nodes below an any ordered node array may occur in an order different from the specified order Use this option with care the event parsing process can take much longer when this option is specified GTN Global external file template delimited node The template Is defined in a file other than the current file LTN Local template delimited node The template is defined in the current file GTF Global external file template fixed node The template is defined in the current file LTF Local template fixed node The template is defined in the current file GTS Global external file template set The template is defined in the current file LTS Local template set min rep The minimum number of repetitions of the node that must occur when mapping the structured event Number must be positive Samples are shown below min max 11 Minimum of one maximum of one Non repeating required 01 Maximum of one Optional
207. ed registry_path The path to the file within the e Gate Registry Return Value string Returns the pathname to the downloaded file on the local file system if the file exists Otherwise returns the name of the non existent requested file Example reg retrieve file Notification tsc monk_scripts common gt d eGate client monk_scripts common Notification tsc Note This function is not compatible with stctrans exe or with the Monk Test Console Monk Developer s Reference 598 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk 24 Monk Utility Functions 22 4 Monk Utility Functions The Monk Utility functions are contained in the stc_monkutils dll file To use these functions you must use the load extension function to load the Monk extension file eGate client bin stc_monkutils dll The Monk Utility Functions include ascii gt ebcdic on page 600 base64 gt raw on page 602 binary gt string on page 603 change directory on page 604 close pipe on page 605 ebcdic gt ascii on page 606 hexdump gt string on page 608 IBMpacdec gt string on page 609 IBMzoned gt string on page 610 open pipe on page 611 pacdec gt string on page 612 raw gt base64 on page 613 reg get file on page 614 sleep on page 615 Monk Developer s Reference 599 string gt 7even on page 616 string gt 8none on page 617 string gt binary on page 618 string decrypt on page 619 string encrypt on p
208. ed but was not passed a vector argument 0180 UNUSED Not implemented 0181 s desired element Y u type Exception CallArgUsage does not match arg The function argument did not match expected argument type 0182 s NULL lt parameter gt passed Exception CallArgUsage The function received a NULL argument where a non NULL argument was expected 0183 os argument u must be an Exception InvalidArg interface In function s argument d is not an interface 0184 s invalid argument s for Exception Interface interface Argument s is not valid for the interface 0185 s interface call s failed Exception Interface with code d The function called failed with this code 0186 s interface s has no Exception Interface pointer to executable Interface s has no pointer to the executable 0187 s variable lt s gt must resolve to Exception PathInvalid number The symbol must resolve to a number 0188 s variable lt s gt must resolve to Exception PathInvalid an integer gt 0 The symbol must resolve to a positive number 0189 s expected lt formals gt Exception Monk Usage lt body gt n t Description must be a valid lambda lt formals gt gt lt var1 gt lt var gt expression lt var1 gt lt varN gt lt varN 1 gt 0190 os in invalid context Exception Monk Usage Must be acomma before the at sign not a quasi quote 0191 UNUSED Not implemented 0192 s failed to map event de
209. ed when you use either the Monk or the Monk ID Collaboration Service The queue service access functions are iq get on page 569 iq get header on page 570 iq initial handle on page 571 iq initial topic on page 572 iq input topics on page 573 iq output topics on page 575 iq peek on page 576 iq put on page 577 iq put 411 on page 579 Monk Developer s Reference 568 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq get Syntax ig get input topic event handle Description Gets an Event of the type specified from an IQ if an Event of that type is available If an Event is returned the queuing service marks the Event as accessed for the subscriber under which iq get was called If the caller provides an input topic Event Type and 0 for the event handle iq get returns the next Event available for that Event Type If the caller provides an input topic and a valid event handle the Event associated with the specified event handle is returned iq get can retrieve an Event from any IQ included on the list of topics returned by iq input topics For this function to operate properly it must be run within an environment that provides the correct Event handle such as within a translation used by a Collaboration in an e Gate schema Note When using this function with stctrans you cannot use 0 for the handle you must use a valid handle instead Parameters Name Type
210. een pi 2 and pi 2 Examples atan 1 gt 0 785398163397448 atan 1 gt 0 785398163397448 atan 0 896 gt 0 730600756424333 atan 0 22 gt 0 216550304976089 atan 1000000 gt 1 5707953267949 Monk Developer s Reference 169 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions big endian gt integer Syntax big Description ndian gt int ger string size Converts a string representing an integer in big endian format to a Monk integer size specifies the size of the string in bytes and is permitted to have the values 1 2 3 or 4 Parameters Name Type Description string binary Binary string to be converted to a number string size integer An integer the size of the binary string in bytes 1 4 Return Value integer This function returns an integer representation of the big endian number Examples big big big big ndian gt integer A 1 gt 65 ndian gt integer a 1 gt 97 ndian gt integer Aa 2 gt 16737 ndian gt integer y 1 gt 121 Monk Developer s Reference 170 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions ceiling Syntax ceiling number Description Calculates the smallest integer which is not smaller than the input argument Parameters Name Type Description number number Any type of number or string that converts to a number Re
211. egment jin the third instance of the N1 group of event EVT count rep inputSEVT N1 2 REF display input EVT DTM gt DTM one MDTM two M display count rep inputSEVT DTM gt 2 display input EVT NT1 2 gt N1 AAA REM one REM two REM three CCC display count rep input SEVT N1C2 REM gt 3 The most frequent application of the count rep expression is in the do expression where it sets the maximum value for iterations of the loop and is compared to the iteration count in the do expression test This is shown in the sample below do i O i 1 gt i count rep input Msg In PL copy strip input SMsg In NAM outputSMsg Out Detail Set lt i gt NAM copy strip input Msg In PL lt i gt output Msg Out Detail Set lt i gt PL Monk Developer s Reference 333 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions data map Syntax data map source path destination_path filename format trim chars Description Matches a string to a string stored in an ASCII text file The data associated with the matching string is inserted into the structured event Parameters Name Type Description source path string path The string or path to the data in a structured event destination_path path The path to the data in the structured event filename string The name of the file containi
212. eme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 7 string to be converted Return Value string The converted string in UFT8 Example latin72uft8 ABC gt ABC Monk Developer s Reference 518 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin82utf8 Syntax latin82uft8 string Description Converts data encoded using the Latin 8 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 8 string to be converted Return Value string The converted string in UFT8 Example latin82uft8 ABC gt ABC Monk Developer s Reference 519 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin92utf8 Syntax latin92uft8 string Description Converts data encoded using the Latin 9 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 9 string to be converted Return Value string The converted string in UFT8 Example latin92uft8 ABC gt ABC Monk Developer s Reference 520 SeeBeyond Proprietary and Confidential Chapter 21 International Conversio
213. empty list obj1 and obj2 are pairs vectors or strings that denote the same location in the store obj1 and obj2 are procedures whose location tags are equal The eqv expression returns f if obj1 and obj2 are of different types one of obj1 and obj2 is t but the other is f obj1 and obj2 are symbols but string symbol gt string objl symbol gt string obj2 gt f obj1 and obj2 are numbers for which the char procedure see char on page 80 returns f one of obj1 and obj2 is an empty list but the other is not obj1 and obj2 are pairs vectors or strings that denote distinct locations obj1 and obj2 are procedures that would behave differently return different values or have different side effects for some arguments Parameters Name Type Description obj1 any The object to test against obj2 any The object to test for equivalence Return Value Boolean Returns a f if obj2 is not equivalent of obj1 Otherwise returns t Monk Developer s Reference 243 SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing Examples Notes eqv a eqv a eqv 2 2 eqv eqv 10000000 10000000 eqv cons 1 2 cons 1 2 eqv lambda 1 lambda 2 eqv nil let p lambda x x eqv p p t FE Ft Ft Ft FE FE FE FE The following examples illustrate cases in which the rules specified in the descript
214. ence 436 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions get timestamp Syntax get timestamp format Description 20 1 Basic Library Functions Generates a user specified timestamp and returns it as a string Parameters Name Description format The specification of the output format The syntax for the format instruction is documented in Format Specification on page 34 Return Value string Monk Developer s Reference 437 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions julian date Syntax julian date date Description 20 1 Basic Library Functions Determines if the seven digit date provided in the call is a valid Julian date Parameters Name Type Description date string Seven digit Julian date Return Value Boolean Returns t true if the string is a valid Julian date otherwise returns a f false Examples julian date julian date Monk Developer s Reference 2444239 gt t 244239 gt f 438 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions julian gt standard Syntax julian gt standard date Description Converts a Julian date to a standard date in the form YYYYMMDD Parameters Name Type Description date string Julian date Return Value string
215. ent Smake event map MonkExample delm MonkExample struct Sevent parse MonkExample event MonkExample data display pat gt Monk Example Monk Developer s Reference h event symbol MonkExample event MonkExample Name event 357 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path nodeclear Syntax path nodeclear path Description Deletes all the data from the specified node and marks the node as containing no data Parameters Name Type Description path path The path of the node to clear Return Value Unspecified Examples path nodeclear input root an friend Monk Developer s Reference 358 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path nodedepth Syntax path nodedepth path Description Determines the depth of the node indicated by the path parameter The depth is calculated from the root node Parameters Name Type Description path path The structured event element to be tested Return Value integer This expression returns an integer of 0 or more Examples The following example would return a result of 3 path nodedepth input SEV SEG A path nodedepth input EV path nodedepth input Monk Developer s Reference 359 gt 3 gt 1 gt 0 SeeBeyond Proprietary and Confidential Chapter 15 Eve
216. ential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0040 os error opening s Exception System strerror od s In function s an exception occurred while trying to open the function The function outputs exception event s exception number d 0041 os invalid syntax Exception Monk Usage The syntax is not correct 0042 s requires You or more Exception InvalidArg arguments Not enough arguments have been entered in function s Function requires a minimum of You arguments 0043 s S y d m d d d Exception System h d m d s d i d The date time format is in exception strerror od s The system will output an event strerror d s indicating what element or elements are in error 0044 os argument Yu must be a Exception InvalidArg number In function s argument u must be of type number 0045 s argument u is not mutable Exception Monk Usage The function s attempted to store a value into the location represented by argument u which is already in use and thus immutable 0046 os argument u must be an Exception Range integer and in 0 lt u ul In function s the string must be an integer and is in the specified range You ul 0047 s expected arg s are s Exception Generic An explanation of the expected arguments
217. er 22 e Gate Extensions to Monk util util f decode Syntax util util f decod Description 22 4 Monk Utility Functions string Decodes a url encoded string Parameters Name Type Description string string The url encoded string to be decoded Return Value string Returns a url decoded string if successful Otherwise returns f or throws an exception Example util url f decod Monk Developer s Reference 12345 gt 12345 626 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk util xml f decode Syntax util xml f decod Description 22 4 Monk Utility Functions string Decodes an xml encoded string Parameters Name Type Description string string The xml encoded string to be decoded Return Value string Returns an xml decoded string if successful Otherwise returns f or throws an exception Example util xml f decod Monk Developer s Reference 12345 gt 12345 627 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk zoned gt string Syntax 22 4 Monk Utility Functions zoned gt string string Description Converts a zone decimal string to a string representation of a number Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example zoned
218. er number Any type of number or string that converts to a number Return Value number Value represent the quotient of the input argument s Examples 25 gt 04 100 50 gt 2 24 3 2 gt 4 Monk Developer s Reference 160 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions lt Syntax lt number number Description Determines whether the first argument is less than the second argument If you specific three or more arguments it returns t if each input parameter is less than the input parameter that follows it Otherwise it returns f Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Value of the comparison of all arguments Examples lt x 3 10 gt lt 3 10 25 gt t lt 3 10 7 gt f Monk Developer s Reference 161 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Syntax number number Description Compares two or more numeric values to see if they are equal Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Returns t true if all the arguments are equal otherwise returns f false Examples 1 1 1 11 2 Monk Developer s Reference 162
219. erals on page 28 Characters to be Escaped in Monk Expressions on page 28 Representing Control Characters in Monk Expressions on page 28 Representing Octal or Hex Characters as Monk Expressions on page 29 Monk Developer s Reference 27 SeeBeyond Proprietary and Confidential Chapter 2 2 5 Monk Basics The Use of Characters 251 Entering Interpreted Characters as Literals An interpreted character is any character that is parsed as part of the syntax of an expression For example when copying a string with the copy expression copy copy this string output MSG SE 0 The double quote character is an interpreted character marking the boundaries of the string to be copied After the initial double quote the next double quote to be found is interpreted as the end of the copy string To include a double quote in the copy string the double quote must be escaped An interpreted character is escaped by preceding it with the backslash character for example The escaped character is then interpreted as a literal character So to copy the string the word begin has 5 letters The copy string is copy the word begin has 5 letters output MSG SE 0 The characters are referred to as an escape sequence 25 2 Characters to be Escaped in Monk Expressions Within strings only the double quote and the backslash characters need to be escaped Within regular expressions the backslash precedes characte
220. erence 258 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions current output port Syntax current ouput port Description Returns the current standard output port Parameters None Return Value This function returns the standard output port Example current output port gt output port Monk Developer s Reference 259 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions current warning port Syntax current warning port Description Returns the current warning port Parameters None Return Value The port Example current warning port gt output port Monk Developer s Reference 260 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions ftell Syntax ftell port Description Obtains the current read write position of the port Parameters Name Type Description port port Handle to the open file Return Value integer The ftell function returns a positive integer including 0 to indicate the current position of the read write position within an open port If the file is not open it will return an error Examples define fp ftell fp open input file home userl temp text read fp 80 ftell fp Monk Developer s Reference gt 80 261 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions get p
221. erence 32 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 6 Regular Expressions Application Regular Expression Match any string comprising zero or more strings of the abc pattern abc Match any string comprising zero or more characters NN Match itself that is the character xn Match any string comprising one or more digits 0 9 Match a string comprising one or more spaces ADNE space Match any string comprising one or more strings of the abc pattern abc Match any string comprising one or more characters AAE Match a string comprising one or more o s between the do g characters d and g for example dog doog and dooooog but not dg Match itself that is the character Halt Match any string comprising zero or one digits 0 9 2 Match any string comprising zero or one string of the abc pattern abc Match any string comprising zero or one character NNO Match a string comprising zero or one o s between the do g characters d and g that is dog or dg Match itself that is the character a Match the string aaa ABY Match a telephone number of the format nnn nnn nnnn O A VY MO A I3 V O A Match a Soci
222. eries of strings to concatenate Return Value string Returns a new string consisting of the concatenated specified strings Example string append 345 012 gt 345012 Monk Developer s Reference 121 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string append Syntax string append Description old_string new_ring Appends a string of characters to an existing string and dynamically increases the size of the existing string to fit the new length Parameters Name Type Description old_string string The previously existing string symbol new_string string The string to append to the original string Return Value string Returns the newly created string with the additional string appended Examples define old_string string append display old_string gt Monk Developer s Reference make string 5 a old_string append this string aaaaa append this string 122 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string checksum Syntax string checksum string Description Calculates a successive XOR exclusive OR operation on all bytes in the specified string Parameters Name Type Description string string The string on which to perform the checksum Return Value integer Returns an integer representing the checksum of the string Examples string checksum ABCDEFGHIJKK
223. est substring string Substring used to test Return Value Boolean Returns t true if the substring appears in the source string otherwise returns f false Example string contains Islkjg jk 1ls gt t Monk Developer s Reference 446 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions string ends with Syntax string ends with source substring Description Determines whether or not the source ends with the supplied substring Parameters Name Type Description source string String to test substring string Substring used to test Return Value Boolean Returns t true if the source ends with the supplied substring otherwise returns f true Examples string ends with This is input input gt t string ends with This is input abc gt f Monk Developer s Reference 447 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions string search from left Syntax string search from left function source Description 20 1 Basic Library Functions Searches a string using a specified Monk function to find the first character which matches It returns the index of the first character in source that causes function to return true or the length of source if no such character exists You must specify a Monk character function which returns a Boolean value as its return value
224. et on page 454 symbol table put on page 455 trim string left on page 456 trim string right on page 457 valid decimal on page 458 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions julian date on page 438 valid integer on page 459 julian gt standard on page 439 verify type on page 460 Monk Developer s Reference 418 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions allcap Syntax allcap source Description Determines whether or not all ASCII characters are upper case Parameters Name Type Description source string The expression to be checked Return Value Boolean Returns t true if all characters in the specified string are upper case Otherwise it returns f false Examples allcap ALL CAPS gt t allcap Not All Caps gt f Monk Developer s Reference 419 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions capitalize Syntax capitalize string Description Converts any lower case letter found in the initial position in the specified string to upper case Parameters Name Type Description string string The string to test Return Value string Containing a copy of the string with any character found in the initial position in the string converted to upper case
225. etters blank a space or tab cntrl control characters ASCII code 0177 and codes less than 040 digit digits graph same as print omitting space character lower lowercase letters print printable characters ASCII space tilde and codes 040 through 0176 punct any character that is not a control character a letter or a digit space space carriage return newline vertical tab and form feed upper uppercase letters xdigit hexadecimal digits 0 9 a f A F alnumletters and digits reg exp Remove ambiguity by grouping sub expressions in and Areg exp Matches reg exp if reg exp appears at the beginning of the string matched against reg exp Matches reg exp if reg exp appears at the end of the string matched against Monk Developer s Reference 31 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 6 Regular Expressions Operator Usage Backslash activates certain characters to make them operators be period i 2 ae 1 1 I Backslash declares certain operators as ordinary characters namely page 29 Backslash is also used to introduce octal and hex characters see Representing Octal or Hex Characters as Monk Expressions on 264 Regular Expression Examples The following table lists common applications of regular expressions Application Regular Expression Match alternate strings string s
226. eturn Value integer Represents the number of days between the two user specified standard dates The result may be positive or negative Examples diff two dates 19960602 19960225 gt 98 diff two dates 19960101 19970101 gt 364 Monk Developer s Reference 428 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions display error Syntax display error data Description 20 1 Basic Library Functions Writes data from the display statement to the error port Parameters Name Type Description data string path The data to display on the error port Return Value Unspecified Example display Monk Developer s Reference error string append i i n 429 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions empty string Syntax empty string param Description 20 1 Basic Library Functions Tests the supplied parameter to determine whether or not it is empty Parameters Name Type Description parm string The string to be tested Return Value Boolean Returns t true if the supplied parameter is empty otherwise it returns f false Examples empty string empty string Monk Developer s Reference W wj string gt f gt t 430 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions fail_id Syntax fail
227. eveloper s Reference 112 SeeBeyond Proprietary and Confidential Chapter 6 String Functions regex Syntax regex reg_exp string Description Matches a string against a regular expression and returns t if there is a match Otherwise returns f Parameters Name Type Description reg_exp expression The regular expression to test string string The string to test against the regular expression Return Value Boolean Returns t if the string does match the regular expression Otherwise returns f Example compare Event Type Code to regular expression A01 regex A01 input X12 EVN ETC compare message location to message location regex input X12 PID Policy_N input xX12 IN2 Insured_SSN compare message location to message location where both locations are in repeating segments do C O Gd 1 gt i count input X12 ORCGRP do G 0 j 1 gt j count input X12 ORCGRP if regex input X12 ORCGRP lt i gt ORC 11 input X12 ORCGRP lt j gt RXR 2 copy input X12 ORCGRP lt i gt OBXGRP OBX 2 output3MSG DTM lt i gt O Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 113 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string Syntax string char char Description Concatenates a series of individual
228. expression If acomma appears immediately before an at sign then the following expression must evaluate to a list The opening and closing parentheses of the list are stripped away and the elements of the list are inserted in place of the comma and at sign expression sequence A comma at sign should only appear within a list or vector qqtemplate Parameters Name Type Description qqtemplate list or vector The structure to evaluate Return Value A list or vector as the result of the evaluation of qqtemplate Examples quasiquote list 1 2 4 gt list 3 4 list 1 2 4 gt list 3 4 let name a list name gt list a a 1 2 map abs 4 5 6 b gt a 3 45 6 b foo 10 3 cdr c car cons gt foo 7 cons 10 5 sqrt 4 map sqrt 16 9 8 gt 10 5 2 4 3 8 Notes Quasiquote forms can be nested Substitutions are made only for unquoted components appearing at the same nesting level as the outermost backquote The nesting level increases by one inside each successive quasiquotation and decreases by one inside each unquotation a b 1 2 foo 1 3 d e gt a db 4 1 2 foo 4d e f Monk Developer s Reference 314 SeeBeyond Proprietary and Confidential 14 7 Chapter 14 Standard Procedures Procedure The two notations quasiquote qqtemplate and
229. f I2 s34 7 Integer Format Examples 123 SL T23 123 8i 123 123 7i a 123 123 6i I23 123 5i r23 M 123 4i F123 123 3i MELO Octal Format Examples 33 O 41 39 o ie lee 33 090 000000041 33 S080 00000041 33 380 m 41 33 70 41 33 60 m 41 33 50 i 41 33 90 41 33 090 00000041 33 090 00000041 33 S 90 a 41 33 S 90 41 33 S IO A 28 Monk and Event Definitions Creating event definitions to process event data is the fundamental usage of Monk When you create an event definition you define how the event is to be parsed into logical hierarchies You also assign names to those logical units so that data can be Monk Developer s Reference 37 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions accessed more easily This makes the task of accessing and manipulating the data more straightforward The process of mapping event data to a structured event is an implicit verification of the data against the structure If the elements specified in the event definition don t match the event data mapping fails When the event data does map successfully to the event definition the result is a parsed and labeled a structured event 28 1 Contents of an Event Definition An event definition is the skeleton or blueprint of event data The event definition describes how to locate data in an event It is constructed using
230. f length is zero SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment Definition expressions create and manage global variables They include define on page 70 defined on page 71 undefine on page 77 Binding forms are expressions used to create local variables with local scopes and bind new values to the variables They include let on page 72 let on page 73 letrec on page 74 Assignment expressions are used to assign new values into existing variables They include set on page 75 set on page 76 Monk Developer s Reference 69 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment define Syntax define variable expression Description Creates a new symbol equivalent to the evaluation of an expression The define function may be used to define procedures for later evaluation or to define symbols that evaluate to a given constant value You cannot use define to change the way Monk interprets keywords such as do case if filename and so forth To remove the declaration of a symbol use the undefine function See undefine on page 77 Parameters Name Type Description variable symbol The symbol to be bound expression expressions The procedure being defined formals symbols The newly allocated list of actual arguments formal single symbol The list of all arguments body expressions The list of expressions to be eval
231. ference 123 45 6789 467 gt SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get apartment Syntax get apartment address Description Returns the apartment information from a string formatted as ADDRESS APARTMENT that is everything after the comma Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description address string Street address Return Value string Returns a string containing the apartment information from a string formatted as ADDRESS APARTMENT that is everything after the comma Examples get apartment 12 Main St Apt 22 gt Apt 22 get apartment 345 Main St 7 gt 7 Monk Developer s Reference 468 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get city Syntax get city address Description Returns the city field from the string formatted as CITY STATE ZIP Monk does not check the validity of the string only that a comma exists within it Parameters Name Type Description address string Address formatted as CITY STATE ZIP Return Value string Returns a string containing the city field from the string formatted as CITY STATE ZIP Example get city Arcadia CA 91066 gt Arcadia Monk Developer s Reference 469 SeeBeyond Propriet
232. ference 12 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 SeeBeyond Proprietary and Confidential Contents keis2sjis_g 511 latin12utf8 512 latin22utf8 513 latin32utf8 514 latin42utf8 515 latin52utf8 516 latin62utf8 517 latin72utf8 518 latin82utf8 519 latin92utf8 520 set gaiji table 521 set utf8gaiji table 522 sjis2ebcdic 523 sjis2ebcdic_g 524 sjis2euc 525 sjis2euc_g 526 sjis2jef 527 sjis2jef_g 528 sjis2jef_m 529 sjis2jef_m_g 530 sjis2jef_p 531 sjis2jef_p_g 532 sjis2jipse 533 sjis2jipse_g 534 sjis2jis 535 sjis2jis_g 536 sjis2keis 537 sjis2keis_g 538 sjis2sjis 539 sjis2utf8 540 sjis2utf8_ 541 uhc2ebcdic 542 uhc2ebcdic_m 543 uhc2ksc 544 uhc2ksc_m 545 uhc2uhc 546 uhc2utf8 547 utf82arabic 548 utf82big5 549 utf82cyrillic 550 utf82gb2312 551 utf82greek 552 utf82hebrew 553 utf82latin1 554 utf82latin2 555 utf82latin3 556 utf82latin4 557 utf82latin5 558 utf82latin6 559 utf82latin7 560 utf82latin8 561 utf82latin9 562 utf82sjis 563 utf82s is_g 564 utf82uhc 565 utf82utf8 566 Chapter 22 e Gate Extensions to Monk 567 Queue Service Access 568 Monk Developer s Reference 13 SeeBeyond Proprietary and Confidential Contents iq get iq get header iq initial handle iq in
233. fication Syntax lt flag gt lt width gt lt precision gt alt format lt cC gt Monk Developer s Reference 34 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics Description 2 7 Format Specification Format specification converts arguments from their internal representation to a printable form The format specification can be used with several of the expressions detailed in this document Parameters Name Description lt flag gt Formatting option that modifies the lt C gt conversion character Multiple flags can be specified Not all flags can be used with each data type See Examples on page 36 for a list if flags that can be used with each data type Output is left aligned A sign or always precedes output space If the first character to be output is not a sign or a space character is prefixed Only one space is allowed in a format specification 0 Numbers are right aligned and padded with leading zeros Output includes a decimal point lt width gt Number equal to 1 or greater The width of the field is determined by the length of the formatted data but cannot be less than lt width gt If the formatted data is narrower than lt width gt then the result is left padded or right padded with spaces or zeros depending on other flags Note The width of a field cannot be greater than 9 999 999 places lt precision gt Number equal to zero or greater Indicates th
234. finition Exception Mapping to data In function s event definition does not agree with data Monk Developer s Reference 658 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0193 UNUSED Not implemented 0194 s s Exception Abort This type of exception is a port abort 0195 s Vos Exception Regex Failure This type of exception is a reg ex failure 0196 s node s with type ONA Exception Mapping ANA may not be at leaf Specific nodes may not be leaf must have at least one child associated with it 0197 s unknown type for node Exception Mapping s An unknown type for the node is specified 0198 s invalid byte offset for type Exception Mapping OF AF node s Function s returned an invalid byte location during mapping 0199 s error s Exception File This is a system failure function s can t find open file 0200 s symbol to be created exceeds Exception Monk Usage internal limits The potential symbol contains more than 1 000 characters Monk Developer s Reference 659 SeeBeyond Proprietary and Confidential Index Index Symbols 159 event gt string 323 event clear 321 event parse 322 make event map 324 resolve event definition 326 default 334 157 158 160 lt 161 lt 163
235. function returns t if string is greater than or equal to string2 Otherwise it returns f Examples mp num ge 123 556 123 556 gt t mp num ge 123 656 123 556 gt FE mp num ge 123 456 123 556 gt f Monk Developer s Reference 404 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num gt Syntax mp num gt stringi string2 Description Compares two multiple precision numbers to see if one is greater than another Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value Boolean This function returns t if string is greater than string2 Otherwise it returns f Examples mp num gt mp num gt Monk Developer s Reference 123 656 123 456 123 556 123 556 405 gt t gt f SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp num le Syntax mp num le stringi string2 Description Compares two multiple precision numbers to see if one is less than or equal to the other Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value This function returns t if string is less than or equal to string2 Otherwise it Boolean returns f Examples mp num le 123 556 mp num le 123 456 mpo num le 123 656 Monk Developer s Reference 1234596
236. g Delim BitFlags Depth Length Children FLAGS Data The indentation shows the level at which the data resides in the Event structure more indented means further down in the structure Important The following table briefly identifies the type of structure information displayed For a complete discussion of the various values returned see Node List on page 44 Table 3 Key to Structure Line Values Name Description Modifiers Any of the following Bd Begin delimiter Ed End delimiter Ri Array repetition information Ex Exact map not extended Gr Group child repetitions Co Consumer Get Get function NofN Min Max children Put Put function Sc Scavenger string ScN Scavenger string with no first character Nt Not tagged data doesn t match tag character Name The name of the node Monk Developer s Reference 338 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Table 3 Key to Structure Line Values Name Description Type The type of node Any of the following ON Delimited AN Any ordered delimited node OF Fixed node AF Any ordered fixed node OS Ordered set AS Any ordered set ONA Ordered delimited node array ANA Any ordered delimited node array GTN Global template delimited node LTN Local template delimited node GTF Global template fixed node LTF Local template fixed node GTS Global
237. g Exception Domain Exception Range Exception Monk Usage Exception Abort Exception Regex Failure Exception File Exception System The following exception type is catchable outside load but ignored in load directory Exception Parser Monk Developer s Reference 633 SeeBeyond Proprietary and Confidential Bee in Finetiowaliy Try Throw Catch Basics The following exception type is not registered with the system Exception Unknown Refer to Exception Codes on page 642 for a complete listing of all exception codes Parameters None Return Value The catch is not entered unless there is an active exception If the current active exception matches one of the listed exceptions to be caught or the otherwise clause then the return value is the result of evaluating the last expression If the always clause exists the expressions that follow are evaluated and the exception remains active unless a new one is generated If the exception is caught the result is the result of the clause that catches the expression If the exception is not caught this includes always there is no result and the exception is not terminated Example Refer to the try example Monk Developer s Reference 634 SeeBeyond Proprietary and Confidential Chapter 23 Exception Functionality define exception Syntax 23 1 Try Throw Catch Basics define exception exception category Description Defines an exception ca
238. g 98 gt l gt string 43 gt h l gt string 35 gt 0 rence pr 4 109 SeeBeyond Proprietary and Confidential Chapter 6 String Functions htons gt string Syntax htons gt string num Description Converts a short hex integer from the host byte order to a string in network byte order Parameters Name Type Description num integer A short integer Return Value string Returns a string in two byte network byte order Examples htons gt string 98 htons gt string 43 htons gt string 35 Monk Developer s Reference gt p gt 4 i 110 SeeBeyond Proprietary and Confidential Chapter 6 String Functions list gt string Syntax list gt string list Description Concatenates a series of characters into a string Parameters Name Type Description list list A list of characters to concatenate into a string Return Value string Returns a string of the characters in the list Examples list gt string list gt string list gt string a b c gt abc T h i s gt This S T C 3 gt STC 3 Note that which is the escape sequence for a space must be followed by another space in order to delimit the space character from the following character 3 Better style is
239. g copy Syntax string copy source Description Copies the source string Parameters Name Type Description source string The string to copy Return Value string Returns a copy of the specified source Examples string copy This is input define x Wabea set x string copy 12345 display x prints 12345 to the display Monk Developer s Reference 129 gt This is input SeeBeyond Proprietary and Confidential Chapter 6 String Functions string copy Syntax string copy Description dest str char pos copy str Modifies the destination string at the character position with the copy string The byte length of the destination string and the copy string must be identical The string length is self expanding only when the byte length of the copy string exceeds that of the destination string at the end of a string See the second example Parameters Name Type Description dest str string The original string to be modified char pos integer The character position where the modification begins copy str string The new string to copy into the original string at the character position Return Value string Returns the modified string Examples define sentence mak string copy sentence define sentence mak string copy sentence Monk Developer s Reference string The house is blue 0 Our gt
240. g representing the data in the path location Examples rget regex A01 get Current Balance convert to a number and check that it s greater than 0 gt string gt number get input SORG PV1 46 0 Event Type Code and compare to string A01 get inputSORG EVN ETC sample input is hello get input SORG EVN ETC gt hello Monk Developer s Reference 349 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions list lookup Syntax list lookup source path destination_path lookup list format trim chars Description Matches data in the source path against the key elements of a list and copies the associated value into the structured event Parameters Name Type Description source path path The data to match destination_path path The path to the structured event destination lookup list list A list of the form matchstring1 output string1 matchstring2 output string2 matchstringN output stringN else default output string Can also be a variable name that has a value of a list of this form See Notes below format string An instruction to format the data for output See format on page 108 for the syntax Quotes are required but can be empty trim chars string Any leading or trailing characters to be trimmed from the source data before matching against the lookup list A
241. greek Syntax utf82greek string Description Converts data encoded using the UTF8 character encoding scheme to Greek The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string Example ut f82greek ABC gt ABC Monk Developer s Reference 552 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82hebrew Syntax utf82hebrew string Description Converts data encoded using the UTF8 character encoding scheme to Hebrew The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Hebrew Example utf82hebrew ABC gt ABC Monk Developer s Reference 553 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin1 Syntax utf82latinl string Description Converts data encoded using the UTF8 character encoding scheme to Latin1 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin1 Example utf82latinl ABC gt ABC
242. gs time DST If you specify a time that falls in DST specifying 0 zero for this parameter causes mktime to add one hour to the time If you specify a time that fall in standard time specifying any valid monk integer except 0 zero causes mktime to subtract one hour from the time returned Return Value Monk Time object Limitations On a Windows machine the time must between 1969 Dec 31 4 00 00 PM and 2038 Jan 18 19 14 07 The limitations may be different under other operating systems Monk Developer s Reference 374 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time Examples These examples were created and tested under Windows 2000 mktime 69 11 31 16 0 0 gt Wed Dec 31 16 00 00 1969 mktime 70 0 0 16 0 0 gt Wed Dec 31 16 00 00 1969 mktime 138 0 18 19 14 7 gt Mon Jan 18 19 14 07 2038 mktime 99 0 1 12 30 33 0 gt Fri Jan 1 12 30 33 1999 mktime 100 6 1 12 30 33 0 gt Tue Jul 1 13 30 33 2000 mktime 100 6 1 12 30 33 77777 gt Tue Jul 1 12 30 33 2000 mktime 100 1 1 12 30 33 88888 gt Tue Feb 1 11 30 33 2000 mktime 100 1 1 12 30 33 0 gt Tue Feb 1 12 30 33 2000 Monk Developer s Reference 375 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time strftime Syntax strftime format spec time Description Formats a date time to user specifications Parameters Name Type Description format spec string A string specifying t
243. gt string Monk Developer s Reference string gt zoned 12345 gt 12345 628 SeeBeyond Proprietary and Confidential Chapter 23 Exception Functionality The exception functions include abort on page 632 catch on page 633 define exception on page 635 exception category on page 636 exception string on page 637 exception string all on page 638 exception symbol on page 639 throw on page 640 try on page 641 23 1 Try Throw Catch Basics The try throw catch exception and handling mechanism enables the Monk environment to automatically generate exceptions for detected error conditions You can trap and execute exception handlers for most of these errors This book includes a list of internally generated exceptions which can be trapped along with the standard Monk Exception Codes You can also define your own exceptions and cause them to be thrown as required The code fragment below shows a simple implementation of the exception handling interface display Starting the test newline define exception e555 3 define display exception info newline display string append Exception category number gt string exception category newline display string append Exception symbol symbol gt string exception symbol newline display string append Exception string exception string X wy newline Monk Developer s Reference 629 SeeBeyond Proprietary and
244. gt string Sevent clear Sevent parse Smak vent map Sresolve event definition lt lt gt gt abort abs acos and append apply asin assoc assq assv atan begin big endian gt integer boolean more functions follow Monk Developer s Reference 305 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures sys symbols Syntax sys symbols Description Creates a list of all the known symbols in the Monk environment Parameters None Return Value list Returns a list of symbols Example sys symbols gt Sevent gt string Sevent clear S event parse Smak Sresolv vent definition 1Byte 1bEUC 2bSJIS 3Byte more symbols follow 143 Sequence Operators The Sequence Operator functions include nth on page 307 qsort on page 308 Monk Developer s Reference 306 14 3 Sequence Operators vent map lbSJIS 2Byte 2bE SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures Sequence Operators nth Syntax nth index integer sequence Description Retrieves the nth element from the specified sequence Parameters Name Type Description index positive integer The number of the element in the list to retrieve integer list list string or The elements of the list enclosed in parentheses and vector separated by spaces Return Value This function returns the contents of the nth element
245. guments d have not been specified 0013 s malloc u failed strerror Exception Catastrophic Yd s In function s the attempt to allocate memory has failed The function outputs error event s exception number d 0014 s realloc u failed strerror Exception Catastrophic d s In function s the attempt to reallocate memory has failed The function outputs exception event s exception number d Monk Developer s Reference 644 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0015 s input arg count u doesn t Exception InvalidArg match formal arg count u Procedure call the number of arguments do not match 0016 s fwrite failed strerror d Exception System s The system fwrite call failed 0017 s call of s has failed with Exception Monk Usage code d The init function in load interface has failed 0018 s path message variable s Exception PathInvalid is not type event In function s the path variable s entered is not a valid event type 0019 s fprintf failed Exception System strerror od s In function s the fprintf instruction failed The function outputs exception event s exception number d 0020 s invalid result received from Exception Monk Usage
246. he character appearing at the index position in the specified string source Example string ref abcdefg 3 Monk Developer s Reference gt d 144 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string right trim Syntax string right trim source chars Description string right trim removes the specified characters from the specified source string from the right end of the source until it encounters a non specified character The specified source string is left intact The characters can be specified as a character type a list of characters a vector or a string Parameters Name Type Description source string The string to trim chars character The characters to trim from the source string string list vector Return Value string Returns a new string with all of the specified characters trimmed from right Example string right trim aa3bcde9fg a f g gt aa3bcde9 Monk Developer s Reference 145 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string set Syntax string set Description source index char Replaces the character appearing at the index position in the source with the specified character The index is a number that indicates the character s position from the beginning of the string starting with 0 Parameters Name Type Description source string The string to search
247. he expression a b is a pair where the car is a and the cdr is b Note that a b is not proper notation for a pair A list is defined recursively as either an empty list indicated by or a pair whose cdr is another list For example a is a list since the cdr is the empty list All non empty lists are pairs by definition But not all pairs are lists since the cdr of a pair could be something other than a list Example 1 The expression a b is a pair but not a list since the cdr b is neither a list nor an empty list Example 2 The expression a b is both a pair and a list since the cdr b is a list having a single element The equivalent expression for b is b making it clear that b is a list by the recursive definition An equivalent expression for a b is a b Example 3 The expression a b c is both a pair and a list because all non empty lists are pairs The notation a b c is shorthand for the equivalent expression a b c Lists cannot be modified if constants Lists like vectors are passed by reference and are accessed differently than other Monk variable types For more information on how these are accessed see Vectors in Monk on page 227 Functions which operate on lists are shown here append on page 206 list ref on page 217 assoc on page 207 list tail on page 218 assq on page 208 member on page 219 assv on page 209 memq on page 220 car on page 2
248. he file file64 optional Used to provide large file support This option is available on the following platforms AIX Compaq HP Linux Sun This parameter is optional Return Value This function returns a port to the open file Example open append fil open append fil port Monk Developer s Reference hnome userl test txt gt Append port home userl test txt file 4 gt Append 264 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open input file Syntax open input fil Description Opens a file in input mode filename file64 Parameters Name Type Description filename string Full path to the file file64 optional Used to provide large file support This option is available on the following platforms AIX Compaq HP Linux Sun This parameter is optional Return Value This function returns a port to the input file If the file does not exist it will return an error Example open input fil open input fil port Monk Developer s Reference home userl test txt gt Input port hnome userl test txt file 4 gt Input 265 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open input string Syntax open input string string Description Opens a port on the specified string in input mod
249. he following two paths are equivalent input ROOT NTE 0 FONE input ROOT NTE FONE Referencing Data with Byte Count Byte positions can be specified as the final path element in the list Note that specifying byte positions in the path when placing data to a structured event turns off the auto append feature and overwrites any data that may exist in the specified byte locations There are two methods for specifying byte positions The first method specifies relative addressing while the second specifies absolute addressing The syntax for these two methods is shown below Monk Developer s Reference 51 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions finalpathelement byte_offset length or finalpathelement byte_offset end_byte byte_offset The beginning byte position counted from the first byte of the structured event data location the starting position is inclusive That is the first byte is counted as 0 length The number of bytes to be accessed Length is optional You can leave it out or use the keyword END to indicate from byte_offset to the end of the structured event element end_byte The ending byte position The ending position is exclusive the up to end_byte is absolute and an end_byte is optional You can leave it out or use the keyword END to indicate from byte_offset to the end of the event element For example the follow
250. he format of the date time The syntax is the same as accepted by the C library function strftime time time object A time object You can use the time or mktime functions to return a time object Return Value Formats the input date according to the format specification and returns the formatted date as a string Examples strftime SdSb sy mktime 70 0 0 16 0 0 gt 31Dec69 strftime SYSmSdSHSM time gt 200011141330 The time function returns the current system time as a Monk time object Monk Developer s Reference 376 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time time Syntax time Description Retrieves the current system time defined as the number of seconds since midnight 1 January 1970 Coordinated Universal Time Parameters None Return Value The current system time as a Monk time object Example time gt Thu Apr 15 09 07 33 1999 Monk Developer s Reference 377 SeeBeyond Proprietary and Confidential Chapter 17 Interface API Functionality The Interface API functionality includes interface on page 379 interface handle on page 380 invoke on page 381 load interface on page 382 Monk Developer s Reference 378 SeeBeyond Proprietary and Confidential Chapter 17 Interface API Functionality interface Syntax interface interface Description Checks to see if an interface is available or not This can only be used with the load interf
251. he use of the keyword enables full conversion of non printable and printable characters Return Value character If the input is a character returns the ASCII version of the EBCDIC character string If the input is a string returns an ASCII string Note ASCII characters displayed on an EBCDIC machine display differently from the same characters displayed on an ASCII machine The character displayed is the EBCDIC version of the underlying hex representation of the ASCII character For example an ASCII a hex e2 displays as S on an EBCDIC machine Examples These examples were created on an ASCII machine The first example converts a string Since this string doesn t actually originate from an EBCDIC machine it must be cast as EBCDIC before it can be converted to ASCII define ebcdic_str Use the string type function to cast the string as EBCDIC set ebcdic_str string type EBCDIC ascii gt ebcdic cat Monk Developer s Reference 606 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk Monk Utility Functions display ebcdic_str gt newline display ebedic gt ascii ebcdic_str gt cat ebcdic gt ascii x50 gt amp ebcdic gt ascii x6d gt This example creates a file containing a list of all the conversions define e2a_out open output file e2a output txt load extension stc_monkutils dll
252. he work in this example is accomplished in the test and result portions of the do loop Monk Developer s Reference 64 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions do Syntax do variablel initl incrementl test result body Description Executes a body of statements iteratively The do expression has three parts the declaration of loop variables the test expression and the body First do creates zero or more variables and binds them to the evaluation of their init expressions Then do executes the test expression If the result of the test expression is f body expressions are evaluated in order Then the increment expressions are evaluated the increment values are stored in the bound locations of the loop variables and test is evaluated again If the result of the test expression is t or equivalent to t the result expression is evaluated and the do loop is complete do operates just like the do expression with the exception that the bindings in do are evaluated in order and are available in subsequent bindings Parameters Name Type Description triplet list of two or The variable init increment statement The increment three elements portion is optional test expression The test to evaluate result variable The expressions to be evaluated if the test returns not f Optional body expression The expressions to be evaluated if the test
253. hout children This function overwrites any existing data in the leaf locations Parameters Name Type Description source path path The path to the data in a structured event destination_path path The path to the data in the structured event format string An instruction to format the data for output See format on page 108 for the syntax Quotes are required but can be empty Return Value Unspecified Examples sample input is abc sample output is abc duplicate strip input EVT SE 0 oa ORG CID 3 duplicate strip input EV pore 3 1 output RAS OBXgrp 0 NTE 0 3 0 s gt MONK_UNSPECIFIED Monk Developer s Reference 346 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions file check Syntax file check source filename Description Compares the file contents against the source data Parameters Name Type Description source string path The data to be compared filename string The name of the file to compare including its absolute directory location for example home user1 filename Return Value Boolean This expression returns t if the files are equal Otherwise it returns f Examples Compares the contents of the SEG node with the contents of th file check contents of fil file check file check Monk Developer s Reference specified fil
254. iji tabl sjis2euc convert1 sjis2jef_m_g ABC gt ABC Monk Developer s Reference 530 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef_p Syntax Sjis2jef_p string conversion_mode Description Converts data encoded using the SJIS character encoding scheme to JEF using a hexadecimal KI Kanji In code The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted conversion_mode int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string Example The converted string in JEF sjis2jef_p ABC 2 Monk Developer s Reference gt 531 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef_p_g Syntax sjis2jef_p_g string conversion_mode Description Converts data encoded using the SJIS character encoding scheme to JEF using a hexadecimal KI Kanji In code and a user defined custom Gaiji conversion table The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted conversion_mode int Indicates the number of bytes in
255. imiters are spaces commas and periods Event Sentence 0 This is an event and a string Event Sentence 1 Delimiters are spaces commas and periods Event Sentence 0 Phrase 0 This is an event Event Sentence 0 Phrase 1 and a string Event Sentence 1 Phrase 0 Delimiters are spaces Event Sentence 1 Phrase 1 commas Event Sentence 1 Phrase 2 and periods Event Sentence 0 Phrase 0 Word 0 This Event Sentence 0 Phrase 0 Word 1 is Event Sentence 0 Phrase 0 Word 2 an Event Sentence 0 Phrase 0 Word 3 event Event Sentence 0 Phrase 1 Word 0 and Event Sentence 0 Phrase 1 Word 1 a Event Sentence 0 Phrase 1 Word 2 string Event Sentence 1 Phrase 0 Word 0 Delimiters Event Sentence 1 Phrase 0 Word 1 are Event Sentence 1 Phrase 0 Word 2 spaces Event Sentence 1 Phrase 1 Word 0 commas Event Sentence 1 Phrase 2 Word 0 and Event Sentence 1 Phrase 2 Word 1 periods Monk Developer s Reference 39 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions 28 3 How Monk Uses Paths to Access Structured Events A path specifies a structured event location to access You can use a path in any Monk expression that operates on a structured event When you access data via a path you are working with a copy of the node data as a string There are two ways to specify paths in Monk expressions You can specify a complete path or you can specify a partial path Complete Path
256. index integer The index position of the character char character The replacement character Return Value Unspecified Example define str make string 6 a gt aaaaaa string set str 3 Monk Developer s Reference x gt aaaxaa 146 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string substitute Syntax string substitute old new target Description Searches the target string and replaces all instances of old with new Parameters Name Type Description old string The original string new string The replacement string target string The string to perform the substitution on Return Value string Returns a new string with substitutions performed Example string substitute Monk Developer s Reference John Doe Medical Doctor MD John Doe Medical Doctor MD 147 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string tokens Syntax string tokens source char delim Description Creates a list of string tokens from the specified source using the specified char delim Parameters Name Type Description source string The string to search char bag character The characters to make into tokens string list or vector Return Value E a new list of string tokens delimited by char delim The original source is left unchanged Examples string tokens
257. ined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The EBCDIC encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji ebcdic2sjis_g ABC gt tabl Monk Developer s Reference sjis2euc convert1 490 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions ebcdic2uhc Syntax ebcdic2uhc string Description Converts data encoded using the EBCDIC J character encoding scheme to UHC The character type of the converted string is set to UHC Parameters Name Type Description string string The EBCDIC encoded string to be converted Return Value string The converted string in UHC Example ebcdic2uhc gt hd Monk Developer s Reference ABC 491 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions ebcdic2uhc_m Syntax ebcdic2uhc_m string conversion_mode Description Converts single and or double byte data encoded using the EBCDIC J character encoding scheme to UHC The character type of the converted string is set to UHC Parameters Name Type Description string string The EBCDIC encoded string to be converted conversion_mode
258. ing path elements access eight bytes starting at the third byte byte 2 and ending at the tenth byte byte 9 of the N1 event location N1 2 8 N1 2 10 The path elements below are also equivalent They each access from the third byte byte 2 to the end of the N1 event location N1 2 N1 2 END N1 2 N1 2 END Length Specification When Assigning Data to Structured Event If you use a length specification in the path expression and the data to be assigned is shorter than the length specified the string is padded with trailing spaces For example copy AAA output root node field 0 5 copies the string AAA to the output location In all cases the assigned data is left justified in the destination location Examples This path Locates this event element input MSG The entire structured event data A structure s root node represents the complete event input MSG ST The complete string represented by the ST node including all repetitions if it is a repeating node and all children input MSG ST 0 The first repetition of ST if it is a repeating node or the first child of ST if it has children Monk Developer s Reference 52 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 8 Monk and Event Definitions This path Locates this event element input MSG ST 2 The third field first repetition of the ST segment of the MSG node input MSG DTM 2 4
259. inits are evaluated in the current environment sequentially from left to right the variables are bound to fresh locations holding the results and the body is evaluated in the extended environment The value of the last expression of the body is returned as the value of the let expression It operates just like the let expression with the exception that the bindings in let are evaluated sequentially from left to right and are available to subsequent bindings Parameters Name Type Description bindings expression Each init is an expression It is an error for a variable to appear more than once in the list of variables being bound body expression A sequence of one ore more expressions Return Value The result of the evaluation the final expression in the body Example let x 2 y 3 let x 7 z x y z sees the new value of x 7 Z xX gt 70 Because let is used the binding for z sees the new value of x namely 7 The result is that z holds the value 10 and the final expression evaluates to 70 Monk Developer s Reference 73 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment letrec Syntax letrec bindings body where bindings have the form variablel initi Description Creates bound variables of local scope The variables are not evaluated until they are actually called The inits are evaluated in the current e
260. into that variable This feature is called latent data types Monk recognizes the following types of arguments string character integer uint int64 uint64 Idouble real number Data type containing zero or more characters Indicated by a set double quotation marks Example this is a string Data type containing a single alphanumeric character Indicated by Examples a b 9 Non printing characters are referred to by name Examples space tab Data type containing an integer that is a numeric value without a fractional part Examples 10 35 Data type containing an unsigned integer Examples 10 35 but not 123 Data type containing a 64 bit integer Range is platform dependent Examples 5 5000 1099511627776 Data type containing a 64 bit unsigned integer Range is platform dependent Examples 5 5000 1099511627776 Data type containing a double precision numerical value with a fractional part Number of digits of precision is platform dependent Example 10995116 27776 Data type containing numerical value with a fractional part The fractional part is separated from the integer part with a decimal point Examples 10 5 35 0 07 boolean Data type containing a value of either true t or false f vector Structured data type of arbitrary elements permitting direct access to any specific element Indicated by the expression Example AA 10 CCC b is a fo
261. ion do not fully specify the behavior of eqv All that can be said about such cases is that the value returned by eqv must be a Boolean Monk Developer s Reference eqve eqv 0 eqv lambda x x lambda x x eqv lambda x x lambda y y eqv a a eqv a a eqv b cdr a b let x a eqv x x eqv list a list a eqv A A eqv car car let n 2 3 eqv n n let x a eqv x x 244 FE FE Ff FE FE Ff FE Ft Ff Ft Ft FE FE SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures The numerical input and output functions include number gt string on page 246 string gt number on page 247 keyword on page 248 string gt symbol on page 249 symbol gt string on page 250 char gt integer on page 251 integer gt char on page 252 Monk Developer s Reference 245 SeeBeyond Proprietary and Confidential Chapter 11 Conversion Procedures number gt string Syntax number gt string number radix Description Translates a number into the string representation by the radix Radix must be one of 2 8 10 or 16 If you specify no radix base 10 is assumed If number is real no translation is done Parameters Name Type Description number number Any type of number or string that converts to a number radix number The base value of the number 2 8 10 16
262. ion Monk Usage must be string The result of the Put function specified in the map must be a string 0078 s argument Yu is not a valid Exception InvalidArg string type The function was expecting an argument that resolves to a string 0079 s argument Yu is not a valid Exception InvalidArg char type The function was expecting an argument that resolves toa character Monk Developer s Reference 649 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0080 os argument Yu must be a Exception InvalidArg keyword The function was expecting an argument that resolves to a keyword 0081 s expected argument u tobe Exception Monk Usage s The function was expecting a keyword 0082 s for path s could not Exception PathInvalid convert s to a number The contents at the specified path could not be converted to a number 0083 s accepts u or Yu arguments Exception InvalidArg The number of arguments is incorrect 0084 os unrecognized char token Exception Parser s The parser found a token with an invalid character 0085 s file os n t tMUST have Exception File dlII extension The function s found a file without the required dll extension 0086 os argument You must evaluate Exception InvalidArg to a symbol In func
263. ion shows the level at which the data resides in the Event structure more indented means further down in the structure Table 2 Key to Data Line Values Name Description Depth The level in the Event structure where the data resides Length The number of bytes of data Children The number of child nodes associated with this node FLAGS Any of the following R Repetition node D Data A Arrayified the data is internally compressed C Constant B ChildData the child nodes have data S SibData the sibling nodes have data Data The actual data Parameters Name Type Description event event_struct The Event to be displayed port port Optional The port to which the Event data is displayed If no port is specified the Event data is sent to standard out Note the use of display formatting characters such as the carriage return character r in the data will affect how the data is displayed when it is sent to the screen Return Value Unspecified Monk Developer s Reference 336 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Example define define define define define MonkExample delm endofrec wy wan array Wee Wey MonkExample struct S resolv vent definition quote MonkExample ON 1 1 und und und 1 Name ON 1 1 und und und 1 0 0 N Address ON 1 1 und u
264. ipe bin 1ls la define data do done 0 done 0 done 1 set data read line fp 1024 if eof object data begin set done 1 begin display data newline gt output of ls la command close pipe fp Monk Developer s Reference 605 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk Monk Utility Functions ebcdic gt ascii Syntax ebcdic gt ascii input fill length fill char Full Description Converts an EBCDIC character or string into an ASCII character or string using a one for one lookup table For example a B character on an EBCDIC machine hex c2 is converted to a B character on an ASCII machine hex 42 Optionally fills the end of the output string with a fill char The fill char chosen will also be converted to the corresponding EBCDIC character The parameters fill length and fill char are used as an optional pair Although optional one is not used without the other The keyword Full enables full conversion of both printable and not printable characters while the default converts non printable characters to NULL The keyword Full parameter must appear as the last parameter This option uses IBM 1047 for EBCDIC and ISO 850 for ASCII Parameters Name Type Description input string EBCDIC string to convert fill length integer Number of characters to fill fill char char Pad character Full keyword T
265. iption number number Any type of number or string that converts to a number Return Value real number Returns the real number corresponding to the input number Examples number gt real number gt real number gt real number gt real Monk Developer s Reference 65 40 3 99 HeLlo 65 40 MONK__ EXCEPTION 190 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions number gt uint Syntax number gt uint number Description Converts a number into the corresponding unsigned integer The bits for the input number become the bits for the unsigned integer no interpretation is done Parameters Name Type Description number number Any type of number or string that converts to a number Return Value uint Returns the unsigned integer corresponding to the input number Examples number gt uint number gt uint number gt uint number gt uint Monk Developer s Reference 65 gt 40 gt 3 14 gt Hello gt 191 65 40 MONK EXCEPTION SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions odd Syntax odd Description number Determines whether the input argument is an odd number Parameters Name Type Description number number Any type of number or string that converts to a number Return Valu
266. irectory my_monk_library gt MONK UNSPECIFIED Monk Developer s Reference 296 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions load extension Syntax load extension filepath Description Loads a shared dll into the Monk environment Important If the specified dll does not exist or if the filepath is too long a severe exception condition results Parameters Name Type Description filepath string Load path to the shared dll Can be a partial load path The filepath consists of the path plus the filename The path must be 256 or fewer characters in length and the filename must be 64 or fewer characters in length for a maximum total of 320 characters Return Value Unspecified Example Monk Developer s Reference load extension load extension gt gt stc_monkutils dll d egate client bin stc_dbodbc dll1 MONK_UNSPECIFIED MONK_UNSPECIF IED 297 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions putenv Syntax putenv variable_value Description Assigns a value to an environment variable Parameters Name Type Description variable_value string Name and value of the environment variable Return Value Boolean Returns f if the operation was not successful Otherwise it evaluates to t Example putenv PROGRAM
267. irst character in source that causes function to return t true otherwise returns 1 if no such character exists Examples string search from right char numeric 345 Elm Ave 7 gt 15 string search from right char upper case 345 Elm Ave 7 gt 8 Monk Developer s Reference 449 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions string gt ssn Syntax string gt ssn source Description Converts a string of 9 digits to a Social Security number Parameters Name Type Description source string A number to convert Return Value Returns one of the following string Returns a string containing the valid social security number in the form nnn nn nnnn where n is a digit between 0 9 Boolean Returns f false if the source is not exactly nine digits in length Examples string ssn 123456789 gt 123 45 6789 string ssn 91066 gt Monk Developer s Reference 450 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions strip punct Syntax strip punct source Description Removes punctuation from the specified source Parameters Name Type Description source string The string to manipulate Return Value string Returns a string containing a copy of the source with all punctuation removed If nothing was stripped the origina
268. is assigned into the variable A monk variable may change its data type depending upon the data that was last assigned into the variable This feature of Monk is called latent data typing For example you may see code that looks like this define myfileptr 0 set myfileptr open input file C mydatafile txt When the variable myfileptr is defined it is associated with an integer data type because zero is an integer However after the set is executed the variable myfileptr is associated with a port data type because the function open input file returns a port The benefits of latent data types are simplifies syntax enhances maintainability of code makes expressions more compact In languages like Java or C which are statically typed changing the data type of a variable may be difficult To change a type you must change the declaration of the variable and you must examine each occurrence of the variable to ensure that it s usage is consistent with its new type With Monk there is no declaration section to maintain Where possible Monk handles data type conversions automatically Because of latent data types you do not need to worry about numerical conversions between 32 bit representations and 64 bit representations For example the table of data types lists the int and int64 data types Monk Developer s Reference 23 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 4 Monk Conventions When
269. itial topic iq input topics iq mark unusable iq output topics iq peek iq put iq put 411 e Way Functions event send to egate get logical name send external down send external up shutdown request start schedule stop schedule Monk Extension Functions ee display encrypt password event send file set creation mask get data dir reg retrieve file Monk Utility Functions ascii gt ebcdic base64 gt raw binary gt string change directory close pipe ebcdic gt ascii hexdump gt string IBMpacde c gt string IBMzoned gt string open pipe pacdec gt string raw gt base64 reg get file sleep string gt 7even string gt 8none string gt binary string decrypt pe ete oh string gt hexdump string gt IBMpacdec string gt IBMzoned string gt pacdec string gt zoned util util f decode util xml f decode zoned gt string Monk Developer s Reference 14 569 570 571 572 573 574 575 576 577 579 580 581 582 583 584 585 586 587 588 589 590 591 592 595 597 598 599 600 602 603 604 605 606 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 SeeBeyond Proprietary and Confidential Contents Chapter 23 Exception Functionality 629 Try Throw Catch Basics 629 e Gate Events and Monk Exceptions 631 abort 632 catch 633 define exception 635 exception category 636 exception string 637 exception string all 638 exception symbol 639 throw 6
270. j any The object to test if it is a list Return Value Boolean Returns t if the object is a list Otherwise it returns f Examples list a bc list list a b Monk Developer s Reference gt ja gt t gt f 216 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists list ref Syntax list ref list num Description Returns the element of a given list found at the index position indicated by the number List indexing is zero based If you specify an index value equal to or greater than the number of elements in the list an exception is raised Name Type Description list list The list to test num number The index position of the required element Return Value element Returns the element found at the index position specified by the number Examples list ref a b c d list ref a b c d list ref a bc d Monk Developer s Reference 0 2 4 217 EXCEPT 0102 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists list tail Syntax list tail list num Description Creates a sublist obtained of those elements of a given list remaining after omitting the first number of elements If you specify a number greater than the number of elements in the list an exception will be raised Parameters Name
271. k is protected as an unpublished work under the copyright laws This work is confidential and proprietary information of SeeBeyond and must be maintained in strict confidence Version 20021031110819 Monk Developer s Reference 2 SeeBeyond Proprietary and Confidential Contents Contents Chapter 1 Introduction Document Purpose and Scope Intended Audience Organization of Information Writing Conventions Supporting Documents SeeBeyond Web Site Chapter 2 Monk Basics Overview Data Types Latent Data Typing Monk Conventions Naming Conventions Identifiers Comments Whitespace Notations Literals Variables Procedure or Function Calls The Use of Characters Entering Interpreted Characters as Literals Characters to be Escaped in Monk Expressions Representing Control Characters in Monk Expressions Representing Octal or Hex Characters as Monk Expressions Regular Expressions The Simplest Regular Expression Building Complex Regular Expressions Regular Expression Operators Regular Expression Examples Monk Developer s Reference 3 16 16 16 17 18 19 20 21 21 22 23 24 24 24 25 25 26 26 27 27 27 28 28 28 29 29 29 29 30 32 SeeBeyond Proprietary and Confidential Contents Format Specification Monk and Event Definitions Contents of an Event Definition Structured Events How Monk Uses Paths to Access Structured Events Delimiter List Node List Behavior of Optional Nodes That Con
272. keis2sjis gt Monk Developer s Reference id6u ABC 0 510 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions keis2sjis_g Syntax keis2sjis_g string type Description Converts data encoded using the KEIS 83 character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The KEIS 83 encoded string to be converted type integer Describes the type of characters in the string being converted One of the following 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string Example init gaiji set gaiji tabl keis2sjis_g ABC 0 gt Monk Developer s Reference id6u Sjis2euc convertl1 511 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin1 2utf8 Syntax latinl2uft8 string Description Converts data encoded using the Latin 1 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 1 string to be converted Return Value string The converted string in UFT8 Example latinl2uft8 ABC g
273. l string is returned Example strip punct 12 Main St Apt 22 gt 12 Main St Apt22 Monk Developer s Reference 451 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions strip string Syntax strip string function source Description Removes all characters from the source string which cause the specified Monk function to evaluate to t Parameters Name Type Description function char function The Monk function to perform on the character source string The string on which the function performs its character search Return Value string Returns a string containing a copy of the source from which all characters that would cause function char to return true have been removed Examples strip string char numeric 345 Elm Ave 7 gt Elm Ave strip string char whitespace A p p 1 e gt Apple Monk Developer s Reference 452 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions substring Syntax substring stringl string2 index Description Checks if the substring of string2 starting at the index offset is equal to string1 Parameters Name Type Description string string The string that may be equal to the substring string2 string The string that contains the substring indicated by the index offset index integer Index offset of the su
274. le c output dat now contains A Monk Developer s Reference 288 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions System Interface functions may be used to find out information about files that exist on the system to load files into the Monk engine or to execute system commands The System Interface functions include directory on page 290 file delete on page 291 file exists on page 292 file rename on page 293 getenv on page 294 load on page 295 load directory on page 296 load extension on page 297 putenv on page 298 system on page 299 Monk Developer s Reference 289 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions directory Syntax directory pathstring Description Returns the contents of the specified directory as a vector Parameters Name Type Description pathstring string The full or partial path of the directory Will use the load path value if a partial path is given The Monk load path is an internal Monk variable that is automatically set The load path is populated in part by the SharedExe and SystemData values in the egate store file See the e Gate Integrator System Administration and Operations Guide for more information about this file Return Value vector A vector of strings The strings vector elements are the file names of the files and subdirectories found in the specified directory Boolean Retur
275. lements of the lambda An outline of a typical function used to identify an event by type is shown below define IDfunction let input Smak vent map delim delm delim struct lambda message string Sevent parse input message string let result and Sevent clear input result When the identification function is called the event is passed to the function and bound to the variable message string The variable name input is later used in path expressions to reference locations within the event Example for Collaboration Function An outline of a typical function used to collaborate an event follows define Xlate function let input Smak vent map delim delm delim struct output Smak vent map delim delm delim struct lambda message string Monk Developer s Reference 324 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions Sevent parse input message string Sevent clear output begin let resul Sevent c l lear input Sevent c l result lear output t Sevent gt string output The variable name input is later used in path expressions to reference locations within the event The structured output event bound to the variable output initially has no content define str CID Doe Jane 123 Anywhere 19990101 Smak vent map delimMsg delm delimMsg struct str Monk Developer s Reference 32
276. lements of the list in reverse order Examples reverse a b c gt c b a reverse a b c d e f gt e d b c a Monk Developer s Reference 224 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists set car Syntax set car pair obj Description Stores the object into the car field of the given pair Parameters Name Type Description pair pair The pair to manipulate obj expression The object to store in the car field of the pair Return Value obj Returns an object Examples define f list 1 2 3 4 5 set car f 3 display f gt 3 2 3 4 5 define g list abc def set car g 3 display g gt 3 def Monk Developer s Reference 225 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists set cdr Syntax set cdr pair obj Description Stores the object into the cdr field of the given pair Parameters Name Type Description pair pair The pair to manipulate obj expression The object to store in the cdr field of the pair Return Value obj Returns an object Examples define f list 1 2 3 4 5 s t cdr 8 display f gt 1 8 A list is a pair where the cdr is another list or the empty list In this example the cdr is the list 2 3 4 5 which gets replaced by 8 define g list abc def set cdr g 3 display g gt abc 3 Monk Developer s
277. ll trim chars are interpreted as literals Quotes are required but can be empty Return Value Unspecified Examples 7 the trim chars quotes contain a space char sample input is ADD sample output is A01 list lookup inputS SEVT SI MOVE Notes E 0 output ORG CID 3 ADD A01 A02 DELETE A03 else DONTKNOW Tig CLA gt MONK_UNSPECIFIED The data in the source path is matched against each matchstring If a match is found then the associated output string is written to the destination_path If no match is found then the default output string is written to the destination_path If no match is found and there is no default output string it will error out Monk Developer s Reference 350 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path node has data Syntax path node has data path Description Verifies whether or not the specified path location of a structured event contains data Parameters Name Type Description path path The path to the event element to be verified Return Value Boolean This expression returns t if the specified path location contains data Otherwise it returns f Examples Verifies whether the SEG node contains data sample input is aaa bbb path node has data input EVT SEG gt t path node has data i
278. lm endofrec Me array ANY amp define MonkExample struct resolv vent definition quote MonkExample ON 1 1 und und und 1 Name ON 1 1 und und und 1 0 0 N Address ON 1 1 und und und 1 0 1 N 7 0 N define MonkExample data Ese Bodyne 404 Huntington Dr define MonkExample event Smake event map MonkExample delm MonkExample struct Sevent parse Monk display gt MONK_ATOM_TYPE path event Monk Example event MonkExample data Example event sMonkExample Name TG F EV ENT Monk Developer s Reference 356 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path event symbol Syntax path event symbol path Description Gets the symbol that represents the Event structure for the specified path Parameters Name Type Description path path A complete path Return Value symbol The symbol representing the Event associated with the specified path Example define MonkExample delm endofrec wow array An amp define MonkExample struct Sresolv vent definition quote MonkExample ON 1 1 und und und 1 Name ON 1 1 und und und 1 7 0 0 N Address ON 1 1 und und und 1 7 0 1 N riS 0 N define MonkExample data Ese Bodyne 404 Huntington Dr define MonkExample ev
279. loper s Reference 164 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions gt Syntax gt number number Description Determines whether the first argument is greater than or equal to the second argument If you specific three or more arguments it returns t if each input parameter is greater than or equal to the input parameter that follows it Otherwise it returns f Parameters Name Description number number Any type of number or string that converts to a number Return Value Boolean This function returns t if each input parameter is greater than or equal to the input parameter that follows it Otherwise it returns f Examples gt 3 10 gt 100 100 gt 4 1 gt 15 4 4 Monk Developer s Reference gt f gt T gt t gt T 165 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions abs Syntax abs Description number Calculates the absolute value of the input argument Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number Absolute value of the input argument Examples abs abs abs abs 34 gt 50 gt 3 gt 4 gt Monk Developer s Reference 34 50 166 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions
280. lt to be ul assigned into a variable that cannot accept it because it is out of range 0106 s argument u must be a Exception InvalidArg procedure In function s argument number u must be a procedure Monk Developer s Reference 651 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0107 os argument You must evaluate Exception InvalidArg to a list In function s argument u must evaluate to a list 0108 s invalid use of Keyword s Exception Monk Usage A Monk keyword is being used outside of a valid context 0109 os expected symbol for Exception Monk Usage lt variable gt in gt n t define Failed to identify the lambda form lt variable gt lt expression gt n t define lt variable gt lt formals gt lt body gt n t define lt variable gt lt formal gt lt body gt 0110 s number not in M_PRIi64 Exception Range lt Lg lt M_PRIu64 In function s an exception occurred while performing a floating point operation 0111 s invalid use of System Exception Monk Usage Keyword s The use of the keyword s by function s is invalid 0112 s calloc 1 u failed strerror Exception Catastrophic d s In function s an exception occurred while trying to get the time of day The function out
281. lti linecomment string Complete description Return Value None Example comment Online Monitors This section is optimized for the STC Enterprise Montior DO NOT CHANGE ANYTHING IN THIS SECTION Monk Developer s Reference 319 SeeBeyond Proprietary and Confidential Event Definitions Chapter 15 The Monk expressions listed below accept a structured event as a parameter Each of these expressions is described in the following subsections event clear on page 321 event parse on page 322 event gt string on page 323 make event map on page 324 resolve event definition on page 326 change pattern on page 327 copy on page 329 copy strip on page 330 count data children on page 331 count map children on page 332 count rep on page 333 data map on page 334 display event data on page 336 display event dump on page 338 display event map on page 342 duplicate on page 345 duplicate strip on page 346 file check on page 347 file lookup on page 348 get on page 349 Monk Developer s Reference list lookup on page 350 path node has data on page 351 not verify on page 352 path on page 353 path defined on page 354 path defined as repeating on page 355 path event on page 356 path event symbol on page 357 path nodeclear on page 358 path nodedepth on page 359 path nodename on page 360 path nodeparentname on page 361 path put on page 362 path gt string on page 363 path valid on page 364 string gt
282. lue number Value of the sum of the input argument s Examples 50 50 100 50 100 200 Monk Developer s Reference 50 50 150 158 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Syntax number number Description ei Subtracts the second argument from the first If you specify only one argument this function subtracts that argument from zero If you specify three or more arguments this function is applied successively from left to right with the result of the previous subtraction becoming the left argument for the next subtraction Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number Value representing the difference of the input argument s Examples 123 gt 123 gt 123 1 gt 123 1 2 gt Monk Developer s Reference 123 123 122 120 159 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Syntax number number Description Divides the first argument by the second argument If you specify only one argument it divides 1 by that argument If you specify three or more arguments the division function is applied from left to right with the result of the previous division becoming the left argument numerator in the next division Parameters Name Type Description numb
283. mber Example get the initial message header define vMessageHeader iq get header szMessageHandle Important This Monk function is not supported by JMS IQs Monk Developer s Reference 570 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq initial handle Syntax ig initial handle Description Returns the queue handle of the event which invoked the current event collaboration or identification process Parameters None Return Value A valid event handle Example get the initial message handle define szMessageHandl iqg initial handle Monk Developer s Reference 571 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq initial topic Syntax ig initial topic Description Returns a string containing the event topic which invoked the current event collaboration or identification process Parameters None Return Value string event topic Example get the initial message type define szMessageType iq initial topic display string append Message type of initiating message szMessageType n Monk Developer s Reference 572 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq input topics Syntax iq input topics Description Returns a vector of strings containing the names of the event
284. mber of bytes 0095 s number not in Yod lt g lt Exception Range ul Number is out of range 0096 s attempt to insert zero length Exception PathInvalid path lt s gt is invalid In function s the specified path s is bad 0097 s YoLe You will OVERFLOW Exception Domain Number is out of range 0098 os YoLe Yu will UNDERFLOW Exception Domain Number is out of range 0099 s invalid result type for Exception Monk Usage consumer s The function returns the wrong result type for how the result is used 0100 s gettimeofday 0 failed Exception System strerror od s In function s an exception occurred while trying to get the time of day The function outputs exception event s exception number d 0101 s time failed Exception System strerror od s In function s an exception occurred while trying to get the time The function outputs exception event s exception number d 0102 s list does not contain You Exception Monk Usage elements The list does not contain the specified ld elements 0103 os trying to divide by zero is a Exception Domain bad idea Function s is trying to divide by zero This operation causes the system to crash 0104 s empty string not found in file Exception FileLookup s Function s can not find the expected empty string in file s 0105 s invalid result for consumer Exception Range s not in range 0 lt u lt Function returns a resu
285. me Type Description string string The JEF encoded string to be converted Return Value string The converted string in SJIS Example jef2sjis ABC gt ABC Monk Developer s Reference 500 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jef2sjis_g Syntax jef2sjis_g string Description Converts data encoded using the JEF character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The JEF encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji Monk Developer s Reference tabl sjis2euc convert1 jef2sjis_g ABC gt ABC 501 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jef2sjis_m Syntax jef2sjis_m string Description Converts single and or double byte data encoded using the JEF character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The JEF encoded string to be converted Return Value string The converted string in SJIS Example jef2sjis_m ABC gt Monk Developer s Reference ABC 502
286. me Type Description string string The SJIS encoded string to be converted Return Value string The converted string in UTF8 Example init gaiji set gaiji tabl Sjis2euc convertl1 sjis2utf8_g ABC gt ABC Monk Developer s Reference 541 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2ebcdic Syntax uhc2ebcdic string Description Converts data encoded using the UHC character encoding scheme to EBCDIC The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UHC encoded string to be converted Return Value string The converted string in EBCDIC Example uhc2ebcdic ABC gt B B B Monk Developer s Reference 542 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2ebcdic_m uhc2ebcdic_m string conversion_mode Description Converts single and or double byte data encoded using the UHC character encoding scheme to EBCDIC The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UHC encoded string to be converted conversion_mo de int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The co
287. meaning required for user application reason name String descriptive string Reason that the event described by reason code occurred event info string String Reserved for user agents or other Example gives applications using SeeBeyond s This is a bad API to create Monitoring Events message that use this field reason code integer Status or error code Status error code sent by the operating system or by the application generating the event event detail list of lists Reserved for future use In this field always enter just the list command which will generate an empty list Return Value integer Returns 0 if successful Examples event send Monk Developer s Reference Otherwise it returns 1 ALERTCAT_MESSAGE _CONTENT 593 ALERTSUBCAT_UNUSABLE SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions ALERTINFO_NONE 0 Bad Sequence This is a bad message 0 list gt I1 Note This function is not compatible with stctrans exe or with the Monk Test Console Monk Developer s Reference 594 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions file set creation mask Syntax file set creation mask protectionValue Description file set creation mask sets the default permission for new files similar to UNIX unmask Par
288. miters list 38 character constants 43 extracting from event 43 X12 default 43 difftime 371 directory 290 display 284 displayb 590 display error 429 display event data 336 display event dump 338 display event map 342 divisor 177 do 63 do expression set maximum counter 333 do 65 document purpose and scope 16 duplicate 345 346 duplicate strip 346 E e Gate extension functions collab get logical name 589 SeeBeyond Proprietary and Confidential Index displayb 590 encrypt password 591 get data dir 597 reg retrieve file 598 e Gate extensions to Monk 567 e Way Functions 580 ebcdic gt ascii 606 ebcdic2sjis 489 ebcdic2sjis_g 490 ebcdic2uhc 491 492 empty string 430 encrypt password 591 eof object 280 eq 240 equal 403 equal 242 eqv 243 euc2sjis 493 euc2sjis_g 494 eval 312 evaluate operations 57 evaluate whether true or false 301 evaluation function 311 even 173 Event 320 event type definition contents 38 definition 38 delimiters list 38 nodes list 38 test of event type 38 using with monk 37 event type definitions 29 320 format expression 108 event types format instruction 108 event_struct 23 event send 592 event send to egate 581 exception code table 643 exception codes 642 exception functionality 629 exception category 636 exception string 637 exception string all 638 exception symbol 639 exp 174 exponent 174 175 expt 175 F fail_id 431 fail_id_if 432 Monk Developer s Reference 662 f
289. n Example mp truncate Monk Developer s Reference 1234 567 416 gt 1234 SeeBeyond Proprietary and Confidential Monk Library Functions Chapter 20 Monk Library functions are those functions created by SeeBeyond specifically for the user These functions include Basic Library Functions on page 417 Advanced Library Functions on page 461 To use these functions you must load the following directory lt eGate gt client monk_library 2 1 Basic Library Functions allcap on page 419 capitalize on page 420 char punctuation on page 421 char substitute on page 422 char to char on page 423 conv on page 424 count used children on page 425 degc gt degf on page 426 degf gt degc on page 427 diff two dates on page 428 display error on page 429 empty string on page 430 fail_id on page 431 fail_id_if on page 432 fail_translation on page 433 fail_translation_if on page 434 find get after on page 435 find get before on page 436 get timestamp on page 437 Monk Developer s Reference 417 leap year on page 440 map string on page 441 not empty string on page 442 standard date on page 443 standard gt julian on page 444 string begins with on page 445 string contains on page 446 string ends with on page 447 string search from left on page 448 string search from right on page 449 string gt ssn on page 450 strip punct on page 451 strip string on page 452 substring on page 453 symbol table g
290. n Functions set gaiji table Syntax set gaiji table function name table file name Description Sets the table file name as a Gaiji table for the conversion function function name Parameters Name Type Description function name string Name of the function table file name string Name of the file containing the Gaiji conversion table Return Value None Example init gaiji set gaiji tabl Sjis2euc convertl1 Additional Information Gaiji Table Format is comment Source Code Destination Code 0x1234 0x3456 0x1235 0x3457 Monk Developer s Reference 521 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions set utf8gaiji table Syntax set utf8gaiji table function name table file name Description Sets the table file name as a UTF8 Gaiji table for the conversion function function name Parameters Name Type Description function name string Name of the function table file name string Name of the file containing the UTF8 Gaiji conversion table Return Value None Example init utf8gaiji set utf8gaiji table sjis2euc convert1 Additional Information UTF8 Gaiji Table Format is comment Source Code Destination Code 0x1234 0x3456 0x1235 0x3457 Monk Developer s Reference 522 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2ebcdic Syntax sjis2e
291. n above the following expressions would evaluate as shown ave_3_nums 2 5 8 gt 5 ave_3_nums 3 6 18 2 gt 6 Monk Developer s Reference 317 SeeBeyond Proprietary and Confidential Chapter 14 14 8 Standard Procedures Comment lambdaq Syntax lambdaq formals body The formals can have one of the following three forms variablel variable variablel variableN variableN 1 Description lambdagq is identical to lambda see lambda on page 316 except that it does not evaluate its arguments formals before executing the procedure Parameters Name Type Description formals symbols The arguments associated with the specified procedure body expressions The list of expressions that define the behavior of the procedure Return Value This expression returns the procedure to which the lambdaq expression evaluates Examples define myfn lambdaq x y let a 10 b 20 c 30 d 40 eval x eval y myfn a b gt 30 myfn a c gt 40 myfn c d gt 70 1448 Comment The comment functions is comment on page 319 Monk Developer s Reference 318 SeeBeyond Proprietary and Confidential Chapter 14 14 8 Standard Procedures Comment comment Syntax comment title multi linecomment Description Documents Monk code Has no runtime value Parameters Name Type Description title string A one line description of the comment mu
292. n object is a vector Parameters 9 2 The Vector Functions Name Type Description obj any The object to test Return Value Boolean Returns t if the object is a vector Otherwise it returns f Examples vector vector a b c a b c Monk Developer s Reference gt t gt FE 232 SeeBeyond Proprietary and Confidential Chapter 9 Vector Expressions vector gt list Syntax vector gt list vector Description Creates a list from a given vector 9 2 The Vector Functions Parameters Name Type Description vector vector The vector of elements from which to create the list Return Value list A list is created from the given vector Example vector gt list dididit dah Monk Developer s Reference 233 dididit dah SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions vector fill Syntax vector fill vector fill Description Stores the fill value in every element of the specified vector The specified item must be a vector Parameters Name Type Description vector vector The vector whose elements need to be filled fill any The value with which to fill the elements of the specified vector Return Value vector A vector with each element filled with the specified value Example vector fill a b c 4 0 gt 4 0
293. n page 34 for information on formatting output Return Value Unspecified Monk Developer s Reference 362 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path gt string Syntax path gt string path Description Converts the specified path to a string Parameters Name Type Description path path The path to convert to a string Return Value string The string conversion of the path Examples path gt string input MSG gt input SMSG string path gt string input MSG gt t Monk Developer s Reference 363 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path valid Syntax path valid path Description Verifies that the path specified is valid for the structured event Parameters Name Type Description path path The path to be verified Return Value Boolean This expression returns t if the specified path is valid in the event type definition Otherwise it returns f Example path valid input SEVT gt e This function call will evaluate as shown if the path EVT exists in the input structure Monk Developer s Reference 364 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions string gt path Syntax string gt path string Description Converts the contents of the specified string to a path or partial path The path is unresolve
294. nction s the specified element is invalid The element has a length of ld and its ending byte is ld Monk Developer s Reference 653 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0129 s path s has start Yld Exception PathInvalid greater than end ld In function s the start Yld of the specified path s is greater than its end ld 0130 s path s is trying to access Exception PathInvalid repetition u and the map has The Event Type Definition applied to only defined u this Event only defines a certain limit on repetitions for this element but the function is trying to access a repetition outside that limit 0131 s argument u must be a path Exception InvalidArg or string In function s the specified argument d must be either a path or string 0132 os argument Yd must be a Exception InvalidArg string number or path os the specified argument d must be either a string a number or a path 0133 s for argument u expected Exception InvalidArg keyword lt val gt pairing Must be a keyword value pairing 0134 s argument d must be a sV Exception InvalidArg In function s the specified argument in position d is nota required string s 0135 s may not close standard input Exception Monk
295. nctions are accessed by loading stc_monkext dll The Monk Extension functions include collab get logical name on page 589 displayb on page 590 encrypt password on page 591 event send on page 592 file set creation mask on page 595 get data dir on page 597 reg retrieve file on page 598 Monk Developer s Reference 588 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk collab get logical name Syntax collab get logical name Description Retrieves the logical name of the e Way Parameters None Return Value string 22 3 Monk Extension Functions Returns the name of the e Way as defined by the Enterprise Manager Throws None Additional Information There is an equivalent function get logical name for use in the external Monk environment with Generic Monk e Ways Monk Developer s Reference 589 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk displayb Syntax displayb string Description 22 3 Monk Extension Functions Displays the specified string in both literal and hexadecimal formats Parameters Name Type Description string string The string to be converted Return Value Unspecified Example displayb Hello world n gt 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 OA Hello world Monk Developer s Reference 590 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Mo
296. nd Confidential Chapter 8 Pairs and Lists aSSOC Syntax assoc key alist Description Tests each pair in the association list until it finds a pair whose car is equivalent to the object It returns the pair if found Otherwise returns f The assoc function uses the procedure equal to perform the test Parameters Name Type Description key any The object to search for alist list The association list to search Return Value pair The pair whose car is equivalent to the key Boolean If the key was not found f is returned Examples define e assoc assoc assoc assoc a 1 b 2 c 3 a e gt a 1 b e b 2 d e gt f list a a b c gt a 207 SeeBeyond Proprietary and Confidential Monk Developer s Reference Chapter 8 Pairs and Lists assq Syntax assq key alist Description Tests each pair in the association list until it finds a pair whose car is equivalent to the key It returns the pair if found Otherwise returns f This function uses the procedure eq to perform the test Parameters Name Type Description key any The object to search for alist list The association list to search Return Value pair The pair whose car is equivalent to the key Boolean If the key was not found f is returned Examples define e a 1 b 2 c 3 assq a e gt
297. nd und 1 0 1 N 7 0 N MonkExample data Ese Bodyne 404 Huntington Dr MonkExOut open output file MonkExampleOutput dat MonkExamp MonkExamp e event Smake event map MonkExample delm e struct Sevent parse MonkExample event MonkExample data display event data MonkExample event MonkExOut gt Unspecified The file MonkExampleOutput txt now contains Depth Length Children FLAGS Rep Data Arrayified Constant ChildData SibData 0 iis t bi w Ba 30 30 rO lt 10 18 218 OrRORNER DACB RDACB DACB RDAC DACB RDAC Monk Developer s Reference Ese Bodyne 404 Huntington Dr Ese Bodyne 404 Huntington Dr Ese Bodyne Ese Bodyne 404 Huntington Dr 404 Huntington Dr 337 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions display event dump Syntax display event dump event port Description This function combines the two functions display event data and display event map It displays the data in the specified Event along with the Event structure For each node in the Event information about the node s structure is displayed first on a single line then the data in the node and information about that data is displayed on the next line using the following format Modifiers Name Type MinRep MaxRep Tag Def Offset Length Encodin
298. ned string ci lt is case insensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns t if string is less than string2 without regard for case Otherwise it evaluates to f Examples string ci lt string ci lt string ci lt string ci lt 1234 1234 abcd abcd 1234 1235 ABCD ABCE gt f gt t gt f gt f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 125 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci gt Syntax string ci gt stringl string2 Description Compares string and string2 for lexical order without regard for case Lexical order is determined by comparing corresponding characters of both strings until a non match occurs in the sense of char ci function If the non matching character of string is less than the non matching character of string2 in the sense of the char ci lt function f is returned Otherwise t is returned string ci gt is case insensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns t if string is greater than string2 without
299. nes whether the input argument is a number Parameters Name Type Description number number Any type of number or string that converts to a number Return Value This function returns t if the input argument is a number Otherwise it returns f Examples num num ber ber ber ber ber ber 32 10 10 abc a Monk Developer s Reference 188 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions number gt integer Syntax number gt integer number Description Translates a number into the corresponding integer If the number has a fractional part the fractional part is truncated removed and no rounding performed Parameters Name Type Description number number Any type of number or string that converts to a number Return Value 65 40 MONK_EXCEPTION integer Returns the integer corresponding to the input number Examples number gt integer 65 gt number gt integer 40 gt number gt integer 3 99 gt number gt integer Hello gt Monk Developer s Reference 189 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions number gt real Syntax number gt real number Description Translates a number into the corresponding real number data type Parameters Name Type Descr
300. nfidential Chapter 16 Date and Time difftime Syntax difftime timel time2 Description Calculates the difference between two time arguments Parameters Name Type Description time1 integer Use the parameters specified in mktime on page 374 or time on time2 page 377 function to set the time parameters See the description of these functions in this section for further details Return Value integer Number of seconds difference between time1 and time2 Examples difftime mktime 99 01 01 12 30 43 1 mktime 99 01 01 12 30 33 1 gt 10 difftime time mktime 99 01 01 12 30 33 gt 6225903 difftime mktime 99 01 01 12 30 33 time gt 6225903 difftime mktime 99 01 01 12 30 33 mktime 100 01 01 12 30 33 gt 31536000 Monk Developer s Reference 371 SeeBeyond Proprietary and Confidential Chapter 16 Date and Time gregorian_date gt julian_days Syntax gregorian_date gt julian_days date Description Converts a gregorian date to a julian days Parameters Name Type Description date string Integers in the format YYYYMMDD where YYYY is the year MM is the month DD is the day Return Value integer This function returns the julian days calculated If no conversion occurs f is returned Examples gregorian_date gt julian_days 47131124 gt 0 gregorian_date gt julian_days 20000101 gt 2451545 gregorian_date gt julian_days 9
301. ng the matching data including its absolute directory location For example home user1 data data map The data file is an ASCII text file containing one matchstring and mapped data pair per line as discussed below format string An instruction to format the data before placement See format on page 108 for the syntax Quotes are required but can be empty trim chars string Any leading or trailing characters to be trimmed from the source data before matching against a matchstring All trim chars are interpreted as literals Quotes are required but can be empty Data File Specifications Entries in the data map data file have the format matchstring mapped data For example Dr John Dr Jane Edwards 818 555 1564 Docen 302 555 1823 If no match to the source data is found in the data file a default value entry is written to the output event The syntax for the default value entry is shown below Both lines are equivalent sdefault mapped data ymapped data where mapped data is the data to be output For example default NO MATCH Because a comma is used as the delimiter in the data file a comma must be preceded by a backslash if it appears in either the matchstring or mapped data To represent a backslash in the data enter two backslashes Monk Developer s Reference 334 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions A backsla
302. nge list format Description Copies the source path path into the dest path while making substitutions according to change list You can specify a series of input pattern to output string pairs change list so that several conversions can take place in sequence Optionally you can use a regular expression to represent a pattern to match in the input Parameters Name Type Description source path string or path The string or path to data in a structured event destination_path path The path to the data in the output event change list list A list of the form input pattern1 output string1 input pattern2 output string2 input patternN output stringN format string An instruction to format the data for output See format on page 108 for the syntax Quotes are required but can be empty Wy Return Value Boolean If any conversion took place t If no conversion occurred f is returned Examples use change pattern to expand an abbreviation sample input is LPC sample output is Laboratory Personnel Center display change pattern input ORG MSH 6 output ORG MSH 6 LPC Laboratory Personnel Center fo exchange two characters for at sign is a transitional place holding character not found in source data sample input is info ab sample output is info ab change pattern input sfixe
303. nherited from the default delimiter list If no end delimiter is specified an end delimiter is inherited from the default delimiter list If an begin delimiter is specified and no end delimiter is given then an end delimiter is inherited and the required attribute is set No other modifiers are inherited If you set any modifier attribute then all other attributes from the default delimiter list are cleared Examples default delim list endanchored lt rep gt lt rep gt array CMN node level 1 Ed Begin Delim none End Delim J J attributes none Rep delims Begin Delim End Delim attributes Bd none none none Begin Delim attributes Rep delims Begin Delim End Delim attribs End Delim J J required none none none Ed foo Ed Begin Delim none attributes Rep delims Begin Delim End Delim Monk Developer s Reference End Delim J J none none none SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics attribs none Ri Ed Ed endanchored Begin Delim none End Delim me attributes endanchored Rep delims 2 8 Monk and Event Definitions Begin Delim none End Delim lt rep gt attribs none Ri Ed Begin Delim none End De im al W attributes none Rep delims Begin Delim none End Delim se Ye attrib
304. nk encrypt password Syntax 22 3 Monk Extension Functions encrypt password username password Description Creates an encrypted password using the specified username as a key Parameters Name Type Description username string The username password string The password in clear Return Value String Returns the encrypted password Example encrypt password Administrator mypwd gt 523AA853EFF Monk Developer s Reference 591 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions event send Syntax event send alert category alert sub category info code custom code reason nam event info string reason code event detail Description Issues a Monitoring Event from any Monk script Events can use the standard SeeBeyond event codes or a user event code you can use to communicate status conditions of user created applications Note that reason code is unquoted since it is an integer rather than a string Strings supplied for event send parameters should not contain characters that are used as delimiters in the EventMsg ssc or NotificationMessage ssc structures Using these characters may cause the events to be incorrectly parsed Parameters Parameter Type Possible values Meaning alert category String ALERTCAT_STATE
305. nk Developer s Reference gt gt gt gt 3 80666248977032 0 207014169384326 11 5129254649702 MONK EXC EPT 0007 183 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions max Syntax max Description number number Finds the maximum value of all input arguments Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number The maximum value of the input parameters Examples max max max max 10 gt 10 2 gt 10 2 10 1 gt 1000 2000 gt Monk Developer s Reference 10 10 10 1 1000 184 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions min Syntax min number number Description Finds the minimum value of all input arguments Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number The minimum value of the input parameters Examples max max max max 10 10 2 10 2 10 1 1000 2000 Monk Developer s Reference gt 10 gt 2 gt 10 gt 2 000 185 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions modulo Syntax modulo number modulus Description Calculates the value of number reduced by modulus Both arguments must be intege
306. nk Developer s Reference 485 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions big52utf8 Syntax big52utf8 string Description Converts data encoded using the Big 5 character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Big 5 encoded string to be converted Return Value string The converted string in UTF8 Example big52utf8 ABC gt ABC Monk Developer s Reference 486 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions clear gaiji table Syntax clear gaiji table function name Description Removes all Gaiji conversion tables associated with the function name Parameters Name Type Description function name_ string Function name whose conversion tables are to be removed Return Value None Example clear gaiji table sjis2euc Additional Information A table that contained a complete Gaiji conversion would be too large for efficient processing Consequently a complete Gaiji conversion is typically broken up into multiple tables The custom Gaiji conversion functions can use only one table at a time with the table in use called the active table The active table and is set by the function set gaiji table In order to use a different Gaiji table from the active t
307. nputSEVT SEG three gt f sample input is 111 333 optio path sample input is nal set node has data input EVT SEG two gt f optio path sample input is nal node without tag node has data input EVT SEG two gt t optio path Notes nal node with tag node has data input EVT SEG two gt f W111 333 AG S33 If an optional node has no tag and the input data for that node ends with a delimiter this function will return t since the empty string is valid Monk Developer s Refer ence 351 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions not verify Syntax not verify path reg_exp Description Matches data against a regular expression The not verify expression is the complement of verify Parameters Name Type Description path path The path to the data to be verified reg_exp string A regular expression See Regular Expressions on page 29 for the regular expression syntax Return Value Boolean If no exact match is found t is returned If an exact match is found an exception is generated Examples check a location for an empty field 7 t matches any string of at least one character sample input is Hello not verify input SEVT SE O gt error check a location for a specific string not verify inputSRAS CID 8 F gt t match l
308. ns f if the directory does not exist Examples directory data gt ETDS FileIn txt directory c test gt sa Docl txt Doc2 txt NoMoreDocs txt directory bogus gt f Monk Developer s Reference 290 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions file delete Syntax file delet Description Deletes a file filename Parameters Name Type Description filename string Full path to the file Return Value Boolean This function returns f if the file specified does not exist or was not successfully deleted evaluates to t if the file was deleted Example if file exists file delete display Cannot delet Monk Developer s Reference output dat output dat file Does not exist 291 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions file exists Syntax file exists filename Description Checks for the existence of a file Parameters Name Type Description filename string Full path to the file Return Value Boolean Returns f if the file specified does not exist Otherwise it evaluates to t Examples file exists file exist Monk Developer s Reference output dat gt t nonfile dat gt f 292 SeeBeyond Proprietary and Confidential Chapter 13 System Interface Functions file rename Syntax
309. nst obj2 expression The object to test for equivalence Return Value Boolean Returns f if obj2 is not equivalent of obj1 Otherwise returns t Examples eq a a eq a a eq list a list a eq a a eq on eq 7 eq 2 2 eq A A eq car car let n 2 3 let x a eq x x let x eq x x let p lambda x x Notes eq p p gt Ft FE Ff FE FE The implementation of eq is usually much more efficient than eqv for example as a simple pointer comparison instead of as some more complicated operation It may not Monk Developer s Reference 240 SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing be possible to compute eqv of two numbers in constant time whereas eq implemented as pointer comparison will always finish in constant time eq may be used like eqv in applications using procedures to implement objects with state since it obeys the same constraints as eqv Monk Developer s Reference 241 SeeBeyond Proprietary and Confidential Chapter 10 Equivalence Testing equal Syntax equal objl obj2 Description Determines if the obj1 and obj2 are the same type and have the same contents equal performs the least discriminating checks on the two objects To be considered equal all the objects must do is print the sam
310. nt 64 interface 1doublel list symbol ul nt ulnt64 vector void n t lt in params gt gt lt result type gt 0153 s C_API call param u has Exception CallArgUsage type mismatch from definition A parameter in the define c api function call does not match the definition expected 0154 s C_API call param u s Exception CallArgUsage not supported at this time A parameter in the define c api function call does not match the definition expected 0155 s must provide repetition Exception PathInvalid number to be counted A repetition number to be counted must be provided 0156 os terminal gt missing in path Exception PathInvalid s In function s the terminal gt is missing in path s 0157 s ill formed delimiter Exception Mapping specification s The delimiter is not correct 0158 os encountered unresolved Exception Mapping delimiter The encountered delimiter is unresolved 0159 os encoded length not wholly Exception Mapping contained in data In function s the encoded length is not wholly contained in the data 0160 os argument u must be an Exception InvalidArg integer and 0 lt d lt ul Argument d must be an integer within range 0 lt d lt ul 0161 s for path s ByteOffset Exception PathInvalid must be gt 0 Must have a positive ByteOffset in the path 0162 s for path s EndByte Exception PathInvalid Length must be gt 0 Must have
311. nt Whitespace may occur inside a string where it is significant Monk Developer s Reference 25 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 245 Notations The following notations are used by Monk These are used in numbers and may also occur anywhere in an identifier except as the first character A delimited plus or minus sign by itself is also an identifier A delimited dot not occurring within a number or identifier is used in the notation for pairs and to indicate a rest parameter in a formal parameter list A delimited sequence of three successive dots is also an identifier Parentheses are used for grouping and to notate lists A single quote character is used to indicate literal data The backquote character is used to indicate almost constant data The character comma and the sequence commaat sign are used in conjunction with the backquote a The double quote character is used to delimit strings Backslash is used in the syntax for character constants and as an escape character within a string of constants The sharp sign is used for a variety of purposes depending on the character that immediately follows it t Hf Boolean constants A This introduces a character constant This introduces a vector Vectors are terminated by b 0 d x These are used in the notation for numbers 246 Literals
312. nt Definitions path nodename Syntax path nodename path depth Description Provides the name of the node in the event definition indicated by the path parameter Parameters Name Type Description path path The structured event element to be tested depth integer Optional parameter giving the depth for the name Return Value symbol This expression returns the node name for the indicated path If the depth is not specified this expression returns the last element Examples The foll path nodename The foll path nodename owing owing Monk Developer s Reference example returns EVT input EVT example returns SEG output SEVT SEG field 2 360 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path nodeparentname Syntax path nodeparentname path grandparent Description Provides the parent node name from the specified path and depth Parameters Name Type Description path path The structured event element to access grandparent integer Optional parameter specifying the number of levels above the last node in the path Return Value symbol This expression returns the parent node name from the specified path If no integer is specified this expression returns the parent of the child If an integer is specified this expression returns the parent node name at the
313. ntax string upcase source Description Converts alphabetic characters to upper case Parameters Name Type Description source string The string to manipulate Return Value string Returns a copy of the source with all alphabetic characters converted to upper case Example string upcase Monk Developer s Reference A String gt A STRING 153 SeeBeyond Proprietary and Confidential Chapter 6 String Functions subseq Syntax subseq string start end Description Creates a new string by copying a substring of an existing string The copy starts with the index start inclusive and the index end exclusive The offset starts from zero 0 The index start and end parameters must both be exact integers satisfying 0 lt start lt end lt string length string Parameters Name Type Description pattern string Substring to test start integer Index position of the start of the pattern inclusive end integer Index position of the end of the pattern exclusive Return Value string Returns a newly allocated string from the characters of string beginning with index start inclusive and index end exclusive Examples subseq abcdefg 0 3 gt abc subseq abcdefg 1 4 gt bcd Monk Developer s Reference 154 SeeBeyond Proprietary and Confidential Chapter 6 String Functions substring index Syntax substring index pattern t
314. ntial Chapter 12 File I O Expressions close port Syntax close port port Description Closes the specified port if open Parameters Name Type Description port port Handle to open port Return Value Unspecified Example close port fp gt MONK_UNSPECIFIED Monk Developer s Reference 255 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions current debug port Syntax current debug port Description Routes the output resulting from any debug flags set to the specified port defined in monkext monk Parameters None Return Value The port where the debug output is sent Example current debug port gt Debug port Monk Developer s Reference 256 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions current error port Syntax current error port Description Returns the current error port Parameters None Return Value This function returns the current error port Example current error port gt output port Monk Developer s Reference 257 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions current input port Syntax current input port Description Returns the current standard input port Parameters None Return Value This function returns the standard input port Example current input port gt Input port Monk Developer s Ref
315. number of nodes above the child If the integer specified is greater than the depth of the path f is returned Examples path nodeparentname input SEVT SEG1 gt EVT path nodeparentname output EVT SEG1 SEG2 SEG3 6 gt f Monk Developer s Reference 361 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path put Syntax path put source destination format Description Similar to copy in that it places the source data into the Event at the location specified in the destination The important difference is that copy only works with strings but path put works with other Monk data types Important If the source is not a string then the node specified in the destination path must have the put modifier set in order for this function to complete successfully The put node modifier converts the source argument to a string before placing the data into the Event See Node List on page 44 for more information on node modifiers Parameters Name Type Description source any The data you want to place in the destination node Note If the source is not a string then the node specified in the destination path must have the put modifier set See Node List on page 44 for more information on node modifiers destination path A complete path format string Optional A valid format specification See Format Specification o
316. nverted string in EBCDIC Example uhc2ebcdic_m gt ABC Monk Developer s Reference ABC 1 543 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2ksc Syntax uhc2ksc string Description Converts data encoded using the UHC character encoding scheme to KSC The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UHC encoded string to be converted Return Value string The converted string in KSC Example uhc2ksc ABC W gt ABC Monk Developer s Reference 544 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2ksc_m Syntax uhc2ksc_m Description string Converts single and or double byte data encoded using the UHC character encoding scheme to KSC The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UHC encoded string to be converted Return Value string The converted string in KSC Example uhc2ksc_m ABC W gt ABC Monk Developer s Reference 545 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2uhc Syntax uhc2uhc string Description Sets the type of the string to UHC Parameters Name Type Description string string String that will be se
317. nvironment that is the Monk environment that supports the e Way s configuration file Important These functions are not available to the internal Monk environment that is the Monk environment that supports the e Way s Collaborations See a Generic Monk based e Way User s Guide for more information on the differences between the two Monk environments event send to egate on page 581 get logical name on page 582 send external down on page 583 send external up on page 584 shutdown request on page 585 start schedule on page 586 stop schedule on page 587 Monk Developer s Reference 580 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk e Way Functions event send to egate Syntax event send to egate string Description Sends data that the e Way has already received from the external system into the e Gate system as an Event Parameters Name Type Description string string The data to be sent to the e Gate system Return Value Boolean Returns t if the data is sent successfully Otherwise returns f Notes This function can be called by any e Way function when it is necessary to send data to the e Gate system in a blocking fashion Monk Developer s Reference 581 SeeBeyond Proprietary and Confidential Se nacmionsteMank e Way Functions get logical name Syntax get logical name Description Retrieves the logical name of the e Way Parameters None
318. nvironment sequentially from left to right the variables are bound to fresh locations holding the results and the body is evaluated in the extended environment The value of the last expression of the body is returned as the value of the letrec expression It operates just like the let expression where the bindings in let are evaluated sequentially from left to right and are available to subsequent bindings Parameters Name Type Description bindings expression Each init is an expression It is an error for a variable to appear more than once in the list of variables being bound body expression A sequence of one ore more expressions Return Value The result of the evaluation the final expression in the body Example letrec x 2 y x 3 display y gt Monk Developer s Reference 74 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment set Syntax set symbol_var expression Description Evaluates the symbol_var parameter and the expression parameter and then binds the resulting expression to the resulting symbol Name Type Description symbol_var symbol The variable to set as the result of the evaluation of the expression expression expression One or more expressions to evaluate Return Value Returns the result of an evaluated expression Example define hello define abc string gt symbol hello set abc
319. o NU and data in sibling yes NU and no data in sibling no Monk Developer s Reference 50 SeeBeyond Proprietary and Confidential 2 8 Chapter 2 Monk and Event Definitions Monk Basics 285 Dynamic Parsing of Data When adding data to an existing child node data present in its parent node is marked invalid When data is written to a child node that does not exist the data is parsed from the parent node into the children nodes Data is added to the child node and data in the parent node is marked invalid When data is added to a parent node but the parent node does not contain valid data the following happens 1 Data is re constituted from the children nodes 2 The child subtree is deleted 3 Data is added to the parent node When data is added to a parent node and the parent node contains valid data the following happens 1 The child subtree is deleted 2 Data is appended to the parent node 286 Referencing an Instance of a Repeating Node To specify an instance of a repeating node the syntax is pathelement index index An integer that represents the repetition desired or can be replaced by a variable name as discussed below For example input ROOT play it again sam 5 the sixth repetition of the structured event element play it again sam If a repetition is not specified for a structured event element the first repetition is accessed by default if followed by path elements For example t
320. o test Return Value Boolean This expression returns t if object represents a valid ETD path Otherwise it returns f Examples define path_str input root unknownnode path defined path defined inputS Sroot firstnode Monk Developer s Reference 354 string gt path path_str gt 2 t SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path defined as repeating Syntax path defined as repeating path Description Verifies whether the specified node is defined as repeating in the event definition Parameters Name Type Description path path The structured event element to be tested Return Value Boolean This expression returns t if the specified node is defined as repeating Otherwise it returns f Examples The following will return f because it is verifying a root node which cannot be defined as repeating r path defined as repeating input EVT gt f Monk Developer s Reference 355 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path event Syntax path event path Description Gets the Event associated with the specified path Parameters Name Type Description path path A complete path Return Value event_struct Returns the Event associated with the specified path Example define MonkExample de
321. ocation s contents against a regular expression this expression checks for a Social Security Number sample input is 111 222 3333 not verify input RAS CID 19 LO 9 I 3 LO 9 I 2 O 9 4 gt t match location s contents against a regular expression this expression checks for one of a set of strings sample input is CA not verify input RAS CID 11 0 3 CA OR WA gt error Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 352 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path Syntax path object Description Tests the object to determine whether or not it represents a path Parameters Name Type Description object any The object to test Return Value Boolean This expression returns t if object represents a path Otherwise it returns f Examples The following example returns f path EVT SEG gt f 7 The following example returns t path input EVT SEG gt t Monk Developer s Reference 353 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions path defined Syntax path defined object Description Tests the object to determine whether or not it exists as a path in an ETD Parameters Name Type Description object any The object t
322. of expressions Description Creates bound variables of local scope The inits are evaluated in the current environment in unspecified order the variables are bound to fresh locations holding the results and the body is evaluated in the extended environment The value of the last expression of the body is returned as the value of the let expression Parameters Name Type Description bindings expression Each init is an expression It is an error for a variable to appear more than once in the list of variables being bound body expression Sequence of one or more expressions Return Value The result of the evaluation the final expression in the body Examples let x 3 y 7 x y gt 21 let x 2 y 3 let x 7 variable x is bound to the value of 7 z x y but for z the old value of x 2 is used ZAR but here the new value of x 7 is used gt 35 Even though x is being bound to a location containing the number 7 this binding is not yet visible to the expression used for binding of variable z Thus when z is bound the expression is evaluated using the old value of the variable x namely two Monk Developer s Reference 72 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment let Syntax let bindings body where bindings have the form variablel initi Description Creates bound variables of local scope The
323. of the sequence Examples nth 3 list a bh ent dh teny gt d nth 0 hello goodbye red blue gt hello nth 7 abcdefghijkimnop gt h Monk Developer s Reference 307 SeeBeyond Proprietary and Confidential Chapter 14 14 4 Standard Procedures Control Features qsort Syntax qsort list vector procedure Description Sorts the list or vector using the specified procedure Name Type Description list vector list vector The list or vector to run the procedure against procedure procedure The procedure to use for comparison Return Value vector or list Can have optionally a Boolean or tri state integer result Examples qsort Mp e a qg c string lt gt a bed e qsort zero bbbbb hello end string gt gt zero hello end bbbbb 44 Control Features The following are the available control functions apply on page 309 map on page 310 procedure on page 311 Monk Developer s Reference 308 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures apply Syntax apply proc list Description 14 4 Control Features Calls the given procedure using the elements of the list as the arguments of that procedure Parameters Name Type Description proc procedure The procedure to be applied list list The list of elements to use as arguments to the procedure Return Value
324. of week using site for example Sunday Monday and defined spellings so forth d day of month 01 31 e day of month single digits 1 31 are preceded by a space j day of year 001 366 Weeks U week of year Sunday is the 01 52 first day of the week W week of year Monday is the 01 52 first day of the week Months m month number 01 12 b month using site defined for example Jan Feb Mar Apr and so forth B month using site defined for example January February spellings and so forth Years y year within century 00 99 Y year including century for example 1988 Monk Developer s Reference 366 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions i TEE Format P Time Division Option Description Value Range or Sample Output Hours H hour 00 23 I hour 00 12 k hour single digits are 0 23 preceded by a space l hour single digits are 1 12 preceded by a space Minutes M minute 00 59 Seconds S seconds 00 59 Morning p AM or PM AM or PM or Afternoon Time Zone Z time zone abbreviation for example PDT Composites D date as m d y for example 02 05 04 R time as H M for example 14 15 T time as H M S for example 14 15 03 r time as l M S p for example 02 15 03 PM x site defined standard date for example 09 12 93 format Example Current date time is March 5 1995 4 15 p m sample outp
325. on page 181 little endian gt integer on page 182 log on page 183 max on page 184 min on page 185 modulo on page 186 negative on page 187 number on page 188 number gt integer on page 189 number gt real on page 190 number gt uint on page 191 odd on page 192 positive on page 193 quotient on page 194 real on page 195 remainder on page 196 round on page 197 sin on page 198 sqrt on page 199 tan on page 200 truncate on page 201 uint on page 202 zero on page 203 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Syntax number number Description Calculates the product of the input parameters Accepts zero or more arguments If no arguments are specified a value of 1 is returned Parameters Name Type Description number number Any type of number or string that converts to a number Return Value number Value of the product of the input argument s Examples 25 2 3 2 3 4 Monk Developer s Reference gt 25 gt 24 157 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Syntax number number Description ei Adds the input arguments Accepts zero or more arguments If you specify no input arguments the number zero is returned Parameters Name Type Description number number Any type of number or string that converts to a number Return Va
326. onal Conversion Functions jef2sjis_m on page 502 jef2sjis_m_g on page 503 jef2sjis_p on page 504 jef2sjis_p_g on page 505 jipse2sjis on page 506 jipse2sjis_g on page 507 jis2sjis on page 508 jis2sjis_g on page 509 keis2sjis on page 510 keis2sjis_g on page 511 latin12utf8 on page 512 latin22utf8 on page 513 latin32utf8 on page 514 latin42utf8 on page 515 latin52utf8 on page 516 latin62utf8 on page 517 latin72utf8 on page 518 latin82utf8 on page 519 latin92utf8 on page 520 set gaiji table on page 521 set utf8gaiji table on page 522 sjis2ebcdic on page 523 sjis2ebcdic_g on page 524 sjis2euc on page 525 uhc2ebcdic_m on page 543 uhc2ksc on page 544 uhc2ksc_m on page 545 uhc2uhc on page 546 uhc2utf8 on page 547 utf82arabic on page 548 utf82big5 on page 549 utf82cyrillic on page 550 utf82 b2312 on page 551 utf82greek on page 552 utf82hebrew on page 553 utf82latin1 on page 554 utf82latin2 on page 555 utf82latin3 on page 556 utf82latin4 on page 557 utf82latin5 on page 558 utf82latin6 on page 559 utf82latin7 on page 560 utf82latin8 on page 561 utf82latin9 on page 562 utf82sjis on page 563 utf82sjis_g on page 564 utf82uhc on page 565 utf82utf8 on page 566 To use these functions you must load the following directories eGate client monk_library conversions japanese eGate client monk_library conversions korean eGate client monk_library conversions UTF8 The UTF8 Conversion Utility Additional support for UTF8
327. onk Developer s Reference 312 SeeBeyond Proprietary and Confidential Chapter 14 14 6 Standard Procedures Literal Expressions quote Syntax quote datum or datum Description Evaluates to the object in the datum parameter The datum can be any data type recognized by Monk The expressions quote datum and datum are equivalent in all respects Numerical constants string constants character constants and Boolean constants always evaluate to themselves and thus they do not have to be quoted Parameters Name Type Description datum expression The object to be evaluated Return Value The evaluated object Examples The result is the symbol a quote a gt a The result is a non mutable vector a b c gt a bc Monk Developer s Reference 313 SeeBeyond Proprietary and Confidential Chapter 14 14 6 Standard Procedures Literal Expressions quasiquote Syntax quasiquote qqtemplate or qqtemplate Description Constructs a list or vector structure when most but not all of the desired structure is known in advance If no commas appear within the qqtemplate the result of the evaluated quasiquote qgtemplate is equivalent to the result of evaluating quote ggtemplate If a comma appears within the qqtemplate however the expression following the comma is evaluated unquoted and its result is inserted into the structure instead of the comma and the
328. oolean and on the specified characters Example char and G C gt C Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 91 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char downcase Syntax char downcase char Description Converts the specified character from upper case to lower case Parameters Name Type Description char character The character to convert Return Value char Returns a lower case character for any alphabetic character found Examples char downcas char downcas char downcas Monk Developer s Reference A gt a a gt a 3 gt 3 92 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char lower case Syntax char lower case char Description Tests the specified character to determine whether or not it is a lowercase alphabetic character Parameters Name Type Description char character The character to test Return Value Returns t if the specified character is a lowercase alphabetic character Otherwise Boolean returns f Examples char lowercas char lowercas char lowercas char lowercas char lowercas Monk Developer s Reference A gt f a gt t 3 gt f 7 gt
329. order Then the increment expressions are evaluated the increment values are stored in the bound locations of the loop variables and test is evaluated again If the result of the test expression is t or equivalent to t the result expression is evaluated and the do loop is complete Parameters Name Type Description triplet list of two or The variable init increment statement The increment three elements portion is optional test expression The test to evaluate result variable The expressions to be evaluated if the test returns not f Optional body expression The expressions to be evaluated if the test returns f Return Value The value of the do expression is the value of the result expression if it exists Otherwise the value is unspecified Example define str MIXEDcase do i 0 i 1 or i string length str char lower case string ref str i i gt 5 This code calculates the index of the first lower case character in the string str In this ea case the character c is the first lower case character and its index is 5 Recall that strings are indexed starting from 0 Monk Developer s Reference 63 SeeBeyond Proprietary and Confidential Chapter 3 Control Flow and Boolean Expressions The index variable is 7 which is initialized to zero and incremented by 1 at each step The return value is also 7 The body of this do loop is empty All t
330. ort callback Syntax get port callback port Description Retrieves the current callback procedure from the specified port Parameters Name Type Description port port Handle to the open file Return Value This procedure returns the callback procedure from the specified port Example get port callback portl Monk Developer s Reference 262 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions input string port Syntax input string port port Description Tests whether the specified port is an input string port Parameters Name Type Description port port Handle to the input string Return Value Boolean Returns f if the port is not an input string port Otherwise it evaluates to t Examples define fp input string port fp open input file home userl test txt gt define buffer the quick brown fox jumps over the lazy dog open input string buffer define fp2 input string port fp2 Monk Developer s Reference gt 263 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open append file Syntax open append fil Description filename file64 Opens a file in append mode If the file does not exist it will be created if possible Parameters Name Type Description filename string Full path to t
331. own Command Notification Function Once this function is called shutdown proceeds immediately Once interrupted the e Way s shutdown cannot proceed until this Monk function is called If you do interrupt an e Way shutdown we recommend that you complete the process in a timely fashion Parameters None Return Value None Monk Developer s Reference 585 SeeBeyond Proprietary and Confidential Chapter 22 22 2 e Gate Extensions to Monk e Way Functions start schedule Syntax start schedule Description Requests that the e Way execute the Exchange Data with External function specified within the e Way s configuration file Does not affect any defined schedules Parameters None Return Value None Monk Developer s Reference 586 SeeBeyond Proprietary and Confidential Chapter 22 22 e Gate Extensions to Monk e Way Functions stop schedule Syntax stop schedule Description Requests that the e Way halt execution of the Exchange Data with External function specified within the e Way s configuration file Execution will be stopped when the e Way concludes any open transaction Does not affect any defined schedules and does not halt the e Way process itself Parameters None Return Value None Monk Developer s Reference 587 SeeBeyond Proprietary and Confidential Chapter 22 22 3 e Gate Extensions to Monk Monk Extension Functions 2 3 Monk Extension Functions The Monk Extension Fu
332. p 475 greater than 405 greater than or equal to 404 greatest common divisor 177 greek2utf8 496 gregorian_date gt julian_days 372 H hebrew2utf8 497 hex characters 29 hexdump gt string function 608 htonl gt string 109 htons gt string 110 IBMpacdec gt string 609 IBMzoned gt string 610 icate 346 identifiers 24 if 66 in gt cm 476 init gaiji 498 init utf8gaiji 499 input string port 263 instance repeating node or set 51 integer gt big endian 179 integer gt char 252 integer gt little endian 180 Monk Developer s Reference 663 integer 178 integers definition of 22 intended audience document 16 Interactive Debug Procedures 383 interface api functionality 378 interface object 23 interface 379 interface handle 380 Internal Debug Control Procedures 386 invoke 381 iq get 569 iq get header function 570 iq initial handle function 571 iq initial topic function 572 iq input topics function 573 iq mark unusable function 574 iq output topics function 575 iq peek function 576 iq put function 577 iq put 411 function 579 J jef2sjis 500 jef2sjis_g 501 jef2sjis_m 502 jef2sjis_m_g 503 jef2sjis_p 504 jef2sjis_p_g 505 jipse2sjis 506 jipse2sjis_g 507 jis2sjis 508 jis2sjis_g 509 julian gt standard 439 julian_days gt gregorian_date 373 julian date 438 K keis2sjis 510 keis2sjis_g 511 keyword 248 303 L lambda 316 lambdagq 318 latin12uft8 512 latin22uft8 513 latin32uft8 514 latin42uft8 515
333. p set precision on page 414 mp subtract on page 415 mp truncate on page 416 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp absolute value Syntax mp absolute value string Description Calculates the absolute value of its input argument quoted number Parameters Name Type Description string string Operand Return Value string The returned string quoted number is the absolute value of the input argument Example mp absolute value Monk Developer s Reference 123456 789 392 gt 123456 789 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp add Syntax mp add stringi string2 Description Adds two multiple precision numbers Parameter Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the sum of the two numbers input to the function Example mp add 123 45678 Monk Developer s Reference Miele 393 gt 124 56789 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp ceiling Syntax mp ceiling string Description Calculates the next higher integer value of the input argument quoted number Parameters Name Type Description string string Operand Return Value The ret
334. pace This function is a specific example of the more general function char substitute Parameters Name Type Description string string A specified string to test and convert Return Value string All question marks are replaced by spaces If no substitution takes place the original source string is returned Example conv ab cd ef gt ab cd ef Monk Developer s Reference 424 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions count used children Syntax count used children input path Description Retrieves the count of subnodes found on the input path of a node which contains data This function can be used to determine the number of subnodes within a event structure if you are performing some type of iterative operation on the structure Parameters Name Type Description input path path The path to be checked for subnodes Return Value number A count of the subnodes found on the input path of a node which contain data Example count used children input Incoming gt count of subnodes containing data Monk Developer s Reference 425 SeeBeyond Proprietary and Confidential Chapter 20 20 1 Monk Library Functions Basic Library Functions degc gt degf Syntax degc gt degf temp Description Converts a temperature from Celsius to Fahrenheit Parameters Name Type Description
335. page 477 oz gt gm on page 478 oz gt lb on page 479 valid phone on page 480 valid ssn on page 481 Monk Developer s Reference 461 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions calc surface bsa Syntax calc surface bsa height weight Description Calculates the surface area of a human body in square meters based on an individual s height in centimeters and weight in kilograms The formula for determining the body surface area is bsa 0 024265 weight 8 height These calculations are generally performed on newborn babies for determining proper medication doses Parameters Name Type Description height number or numeric string Height of the individual in centimeters weight number or numeric string Weight of the individual in kilograms Return Value number Returns the calculated body surface area in square meters Examples calc surface bsa 144 0 100 gt 2 0708812096829 calc surface bsa 19960101 19970101 gt 364 Monk Developer s Reference 462 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions calc surface g g Syntax calc surface gg height weight Description Calculates the surface area of a human body using the Gehan George formula The function takes the height of an individual in centimeters and the weight in kilograms and uses
336. path valid string gt path timestamp uniqueid verity Chapter 16 Date and Time difftime gregorian_date gt julian_days julian_days gt gregorian_date mktime strftime time Chapter 17 Interface API Functionality interface interface handle invoke load interface Chapter 18 Debug Procedures Interactive Debug Procedures break set break Internal Debug Control Procedures monk flag check monk flag clear monk flag get monk flag set Chapter 19 Math Precision Functions mp absolute value mp add Monk Developer s Reference 10 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 368 369 370 371 372 373 374 376 377 378 379 380 381 382 383 383 384 385 386 387 388 389 390 391 392 393 SeeBeyond Proprietary and Confidential Contents mp ceiling mp divide mp even mp floor mp max mp min mp modulo mp multiply mp negative mp num eq mp num ge lara mp num le mp num lt mp num ne mp odd mp positive mp quotient mp remainder mp round mp set precision mp subtract mp truncate Chapter 20 Monk Library Functions Basic Library Functions allcap capitalize char punctuation char substitute char to char conv count used children degc gt degf degf gt degc diff two dates display error empty string fail_id fail_id_if fail_translation fail_translation_if find get after find get before get timestamp julian date
337. per s Reference 123459 11234459 gt 123 456 gt 123456 399 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp modulo Syntax mp modulo stringi string2 Description Calculates the modulo function on two multiple precision integers It performs the same calculation as the mp remainder function Parameters Name Type Description string string Operand 1 string2 string Operand 1 Return Value string The returned string quoted integer is the remainder of the integer division of the two numbers input to the function Examples mp modulo 26 5 gt mT mp modulo 45 3 gt mor mp modulo 3 26 gt 3 Monk Developer s Reference 400 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp multiply Syntax mp multiply stringi string2 Description Multiplies two multiple precision numbers Parameters Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the product of the two numbers input to the function Examples mp multip mp multip mp multip Monk Developer s Reference 123 45678 1 11111 ARN wgw ly 3 123 45678 401 gt 137 1740628258 gt 135 gt 370 37034 SeeBeyond Proprietary and Confidential Chapter 19
338. ple uses the Windows NT operating system define myfunction Lambda returncode display string append nOperating System Returns number gt string returncode system dir func myfunction gt Operating System Returns 0 Monk Developer s Reference 300 SeeBeyond Proprietary and Confidential Chapter 14 Standard Procedures The Standard Procedure functions include Booleans on page 301 Symbols on page 302 Sequence Operators on page 306 Control Features on page 308 Evaluation on page 311 Literal Expressions on page 312 Procedure on page 315 Comment on page 318 141 Booleans Boolean expressions are those that evaluate to either true or false In Monk a Boolean expression returns false f or the expression is assumed to be true boolean on page 302 Monk Developer s Reference 301 SeeBeyond Proprietary and Confidential Chapter 14 14 2 Standard Procedures Symbols boolean Syntax boolean obj Description Determines if the object is a Boolean value Parameters Name Type Description obj expression The object to test for being a Boolean value Return Value Boolean Value of t if the argument is Boolean Otherwise returns false f Examples boolean 0 gt f boolean t gt t boolean B gt f boolean f gt t 14 2 Sym bols The available symbol functions are
339. port callback Result of the callback must be the result of making the call of the original functionality on the port 0021 os invalid result received from Exception Monk Usage C_API call Invalid result received from an API call 0022 s expect last expression to be Exception Monk Usage catch An exception was thrown somewhere in try 0023 s Strftime Yu s 2 failed Exception System strerror d s In function s the strftime instruction failed The function outputs exception event s exception number d 0024 os argument u must be an Exception InvalidArg string port This in an incorrect argument 0025 os argument You exceeds valid Exception InvalidArg string length This is an internal or system limitation 0026 os s is not an event structure Exception InvalidArg In function s the input string is not a valid event structure 0027 s monk stack overflow Limit is u Exception Monk Usage Inputting function s onto the Monk stack caused the stack to overflow The limit of the stack is d Monk Developer s Reference 645 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0028 os argument u must be an Exception InvalidArg event In function s the d argument is expected to be an event type 0029 os arg
340. property 48 tan 200 tangent 200 technical support 20 throw 640 time 23 377 timestamp 366 token 25 trim string left 456 trim string right 457 truncate 201 416 try 641 try throw catch Basics 629 U uhc2ebcdic 542 uhc2ebcdic_m 543 uhc2ksc 544 uhc2ksc_m 545 uhc2uhc 546 uhc2utf8 547 uint 202 undefine 77 uniqueid 368 using paths in event type definitions 51 UTF 8 conversion utility utf8convert exe 483 utf82arabic 548 utf82big5 549 utf82cyrillic 550 utf82gb2312 551 utf82greek 552 utf82hebrew 553 utf82latin1 554 utf82latin2 555 556 utf82latin4 557 SeeBeyond Proprietary and Confidential Index utf82latin5 558 utf82latin6 559 utf82latin7 560 utf82latin8 561 utf82latin9 562 utf82sjis 563 utf82sjis_g 564 utf82uhc 565 utf82utf8 566 util xm f decode 627 V valid decimal 458 valid integer 459 valid phone 480 valid ssn 481 variable names 27 variables in path 40 53 using to represent path elements 53 vector 231 vector gt list 233 vector gt string 238 vector 232 vector fill 234 vector length 235 vector ref 236 vectors definition of 22 vector set 237 vector set 237 verify 369 verify type 460 W Whitespace 25 write 286 write char 287 write exp 288 Z zero 203 zoned gt string function 628 Monk Developer s Reference 668 SeeBeyond Proprietary and Confidential
341. put number is an unsigned integer For purposes of this function an integer and an unsigned integer are not the same Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean Returns t true if the number is an unsigned integer otherwise returns f false Examples uint number gt uint 65 gt uint 65 gt uint 40 gt uint 3 99 gt uint Hello gt Monk Developer s Reference 202 Ft Ff FE FE FE SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions zero Syntax zero number Description Determines whether the input argument is zero Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean This function returns t if the input argument is zero Otherwise it returns f Examples zero zero zero zero zero zero 32 O0 Monk Developer s Reference gt f gt f gt f gt t gt t gt 203 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists A pair is a structured data type having two parts called the car and the cdr A pair is indicated by enclosing the car and the cdr in parentheses and separating them by a period with whitespace on either side For example t
342. put string buffer 279 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions eof object Syntax eof object obj Description Tests the object as an EOF object Parameters Name Type Description obj any An object to be tested Return Value Boolean This function returns t if the object is an EOF object Otherwise it returns f Example define fp define eofchar eof object eofchar seek to end fp define eofchar eof object eofchar Monk Developer s Reference open input fil home userl test txt read char fp gt f read char fp t 280 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions read Syntax read port number Description Reads a specified number of characters from an open port If read is used to read characters from either standard input or the port returned by current input port then read will not return until the specified number of characters has been read Parameters Name Type Description port port Handle to the open input random access string port number integer Number of characters to read Return Value string This function returns the number of characters read or less if not available eof object The end of file object Example define fp open input file home userl test txt read fp 17 gt how now brown cow
343. puts exception message s exception number d 0113 s path length for lt gt too Exception File long The potential path that is specified exceeds the internal limits 0114 os Vos Exception Parser Generically prints our errors from the parser 0115 s Call to strdup failed Exception Catastrophic Probable System Memory In function s the attempt to call Allocation Problem strdup function failed Caused by a probable problem with System Memory allocation 0116 s invalid path s n tMust Exception PathInvalid have event An invalid path s has been name pathelement s or specified in function s Y pathelement s 0117 s must have string to place in Exception Monk Usage data tree Data placed into a data tree must bea string Monk Developer s Reference 652 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0118 os argument u must be an Exception InvalidArg integer and in u lt u lt ul Integer argument is out of range for the function is using it 0119 s invalid lt Bindings gt Expect Exception Generic lt variable1 gt lt init1 gt In function s the specified bindings are invalid Function was expecting lt variable1 gt lt init1 gt 0120 s argument u must be a list of Exception InvalidArg
344. quired when entering an area code Parameters Name Type Description number string Number to test Return Value Boolean Returns t if the supplied number is a phone number Otherwise it returns f Examples valid phone 44 326 323 5909 gt t valid phone 818 445 7000 gt t valid phone 123 45 6789 gt f valid phone 91066 gt f Monk Developer s Reference 480 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions valid ssn 2 Syntax valid ssn number Description 20 2 Advanced Library Functions Tests the supplied number to determine if it is a valid social security number A valid social security number is a string formatted as DDD DD DDDD where all the D s are digits Dashes are required between the three groups making up the social security number Parameters Name Type Description number string The number to test Return Value Boolean Returns t if the supplied number is a social security number Otherwise it returns Hf Examples valid ss valid ss Monk Developer s Reference n 123 45 6789 gt t n 91066 gt f 481 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions In the US we have for the most part ASCII and to a lesser extent EBCDIC for character encoding Other countries on the other hand have several widely used s
345. r and the second argument must be non zero If modulus is positive then the result is the positive or zero remainder when number is divided by modulus If modulus is negative then the result is the negative or zero remainder when number is divided by modulus Parameters Name Type Description number integer Must be an integer number2 integer Must be an integer Return Value integer Value of the modulo of the division of the two input arguments Examples modul modul modul modul modul modul IOP gt 3 18 7 gt 4 19 7 gt 5 19 7 gt 2 19 7 gt 2 19 7 gt 5 Monk Developer s Reference 186 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions negative Syntax negative number Description Determines whether the input argument is a negative number Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean This function returns t if the input argument is a negative number Otherwise it returns f Examples negative 2 negative 2 1 negative 3 negative 3 6 Monk Developer s Reference gt f gt im gt gt tC 187 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions number Syntax number number Description Determi
346. r encoding scheme to Latin7 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin7 Example utf82latin7 ABC gt ABC Monk Developer s Reference 560 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin amp Syntax utf82latin8 string Description Converts data encoded using the UTF8 character encoding scheme to Latin8 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin8 Example utf82latin8 ABC gt ABC Monk Developer s Reference 561 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82latin9 Syntax utf82latin9 string Description Converts data encoded using the UTF8 character encoding scheme to Latin9 The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in Latin9 Example utf82latin9 ABC gt ABC Monk Developer s Reference 562 SeeBeyond Proprietary and Confidential
347. r expression is a pattern that represents a set of matching strings The function regex defines the set of strings that will match Regular expressions are constructed with ordinary characters and operators An ordinary character matches itself only Operators are used to build more complex statements The regular expression instruction can be used with the following functions change pattern not verify verify regex 261 The Simplest Regular Expression TL The simplest regular expression consists of a single character for example a an ordinary character which matches itself A slightly more complex regular expression consists of a string of ordinary characters for example abc Each character matches itself therefore the regular expression abc matches with any string that contains abe 262 Building Complex Regular Expressions Complex regular expressions are built from simple regular expressions Link them together by listing them one after another no special punctuation is used Monk Developer s Reference 29 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 6 Regular Expressions Note regex does not seek an exact match unless you start the string with and end with To Construct Concatenate And This h Possible This Regular This Regular Regular Matches Expression Expression Expression ab Nar b ab a a a
348. r of event types Example 7 get the output Event Types define vEventTypes igq output topics display Output Event Types display vEventTypes newline 575 SeeBeyond Proprietary and Confidential Monk Developer s Reference Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access iq peek Syntax iq peek input topic handle Description Accesses additional events from the input queues without changing the event state in the queuing service The transformation function can get from any input queue included on the list of topics in the iq input topics vector Parameters Name Type Description input topic string Name of the event type to get handle valid handle or 0 Used to access headers for events if multiple gets are called on the same event type Return Value The call returns a vector containing the next event and the event handle if a event is available a Boolean if no data is available and it throws an exception if the call failed for any other reason If the caller provides an input topic name and a handle containing the number 0 the call will return the next event available for that input topic If the caller provides a valid event handle and input topic next event available relative to the supplied event handle is returned Example display Performing peek operations on input queues n do 0 1 n_ ine vMessageAndHandle q peek vecto
349. r ref vInputMessageTypes i 0 Important This Monk function is not supported by JMS IQs Monk Developer s Reference 576 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk iq put Syntax 22 1 Queue Service Access iq put output event type event input event type priority major seq num minor seq num Description Places an Event on the output queue but does not commit it to the queue until the Monk transformation or identification function returns successfully If the Monk function is operating under the Monk Collaboration service and the transformation is only generating a single Event it does not have to make an explicit call to iq put to forward the Event to the queuing system You should include this call if a Monk Collaboration generates more than one output Event The Monk Collaboration service enqueues the returned string to the default Event Type vector The output Event Type and input Event Type must be from the list of configured Event Types that the component is able to receive and produce The input Event Type is included to help maintain the history of the Event as it passes through the system All Events of lower priority level are dequeued before any Events of a higher priority level Priority zero Events are dequeued first In typical usage all calls to this function will be made with the same priority level Setting the priority to 0 using the iq put function designates that th
350. r s Reference 272 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions rewind Syntax rewind port Description Moves an open port position to the beginning of the data Parameters Name Type Description port port Handle to the open file Return Value Boolean Returns f if the rewind was not successful Otherwise it evaluates to t Example rewind fp Monk Developer s Reference t 273 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions seek cur Syntax seek cur port offset Description Moves an open port pointer to the specified offset within the file relative to the pointer s current position When the offset integer is negative the pointer moves backward relative to the current pointer position Parameters Name Type Description port port Handle to the open file offset integer Offset within the file Return Value Boolean Returns f if the seek was not successful Otherwise it evaluates to t Examples define fp display open input file home userl test txt seek set fp 72 ftel fp read fp 18 seek cur fp 45 display Monk Developer s Reference ftel fp gt 72 gt t gt 45 274 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions seek set Syntax seek set port offset Description
351. r the input argument is an integer Parameters Name Type Description number any Any type of number or string that converts to a number Return Value Boolean This function returns t if the input argument is an integer Otherwise it returns f Examples integer 32 integer 10 integer 10 integer 10 3 integer abc Monk Developer s Reference Ft FE Ft FE FE 178 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions integer gt big endian Syntax integer gt big endian number size Description Converts an integer into a number represented as a big endian Takes an integer argument as its input number along with a second numeric argument that specifies the size of the big endian number to be created 1 4 bytes Parameters Name Type Description number integer An integer to convert size number The size of the integer to convert in bytes 1 4 Return Value string This function returns a string that has been formulated in big endian notation to represent the input argument to the function Examples integer gt big endian 65 2 gt A integer gt big endian 97 2 gt a integer gt big endian 16737 4 gt Aa integer big endian 121 2 gt y Monk Developer s Reference 179 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions integer gt little endian Syntax
352. r to the appropriate Microsoft Windows or UNIX documents if necessary Note For information on how to use a specific add on product for example an e Way Intelligent Adapter see the user s guide for that product Additional Sources of Information For information on the general e Gate programming environment see the e Gate Integrator System Administration and Operations Guide For information on specialized Monk functions see the documentation for the product that makes them available For example the db sql select Monk function used to perform a SQL SELECT statement on an Oracle database from within Monk is described in the e Way Intelligent Adapter for Oracle User s Guide For brief information about the syntax of a core Monk function similar to what is provided in this guide see the online help for the Collaboration Rules Editor 16 SeeBeyond Web Site The SeeBeyond Web site is your best source for up to the minute product news and technical support information The site s URL is http www SeeBeyond com Monk Developer s Reference 20 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics This chapter provides a brief comprehensive introduction to the Monk programming language 21 Overview Monk is a specialized algorithmic programming language developed by SeeBeyond Monk is used with many SeeBeyond products to extend basic functionality This language is an implementation of the Scheme p
353. racter to test Return Value Boolean Returns t if the character is an uppercase alphabetic character Otherwise returns f Examples char PP cas char PP cas char PP cas char Pp cas char Pp Monk Developer s Reference cas A a 3 i 103 Ft FE FE FE F SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char whitespace Syntax char whitespace char Description Determines whether the character is a blank space character Parameters Name Type Description char character The character to test Return Value Boolean Returns t if the specified character is a blank character Otherwise returns f Examples whit char whit spac char whit spac char whit spac char whit spac char Monk Developer s Reference spac A b 3 i 104 Ft E Ff FE FE SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char xor Syntax char xor charl char2 Description Returns a new character which is the Boolean XOR exclusive OR on two specified characters Parameters Name Type Description char character Initial character for the XOR operation char2 character Second character for the XOR operation Return Value
354. regard for case Otherwise it evaluates to f Examples string ci gt string ci gt string ci gt string ci gt 1234 1234 abcd abcd 1234 1233 ABCD ABCC gt f gt t gt f gt f Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 126 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string ci lt Syntax string ci lt stringl string2 Description Compares string and string2 for lexical order without regard for case Lexical order is determined by comparing corresponding characters of both strings until a non match occurs in the sense of char ci function If the non matching character of string is greater than the non matching character of string2 in the sense of the char ci gt function f is returned Otherwise t is returned string ci lt is case insensitive Parameters Name Type Description string string First string to test string2 string Second string to test Return Value Boolean Returns t if string is less than or equal to string2 without regard for case Otherwise it evaluates to f Examples string ci lt 1234 string ci lt 1234 string ci lt abcd string ci lt abcd 1234 1233 ABCD ABCC gt t gt f gt t gt f Not
355. remainder Syntax mp remainder stringl string2 Description Calculates the remainder after division of two multiple precision integers Parameters Name Type Description string string Operand 1 string2 string Operand 1 Return Value string The returned string quoted integer is the remainder of the integer division of the two numbers input to the function Example mp remainder 26 Monk Developer s Reference STY 412 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp round Syntax mp round string or mp round string integer Description Rounds off a string argument quoted number It also takes a second optional parameter indicating the rounding depth to the right of the decimal point Parameters Name Type Description string string Operand 1 integer integer Operand 2 Return Value string The returned string is the rounded value of the number input to the function Examples mp rou mp rou mp rou mp rou mp rou mp rou mp rou nd nd nd nd nd nd nd Monk Developer s Reference 123 123 123 123 123 123 123 456 567 95 1 45678 45678 45678 45678 413 W123 1247 124 W123 23 5T TI2346 123 457 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp set pre
356. ring Address in the form CITY STATE ZIP Return Value string Returns a string with the zip code field from the supplied string formatted as CITY STATE ZIP Example get zip Arcadia CA 91066 gt 91066 Monk Developer s Reference 475 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions in gt cm Syntax in gt cm number Description Converts a number from inches to centimeters 20 2 Advanced Library Functions Parameters Name Type Description number real number Number of inches Return Value number Returns a number representing the number of centimeters resulting from the conversion Examples in gt cm 10 0 in gt cm 39 4 Monk Developer s Reference gt 25 4 gt 100 076 476 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions Ib gt 0z Syntax lb gt oz number Description 20 2 Advanced Library Functions Converts a number expressed as weight in pounds number and converts this number from pounds to ounces Parameters Name Type Description number real number Weight in pounds Return Value number Returns a number representing the weight in ounces resulting from the conversion Examples lb gt oz 2 0 lb gt oz 6 25 Monk Developer s Reference gt 32 0 gt 100 0 477 SeeBeyond Proprietary and Confidential Chapter 20 Monk Librar
357. ring Functions string insert Syntax string insert dest str char pos insert str Description Inserts a new string into an existing string The characters in the existing string are shifted right dest str must be mutable This function does not alter the data on the original string Parameters Name Type Description dest str string The original string to be modified char pos integer The character position where the insertion begins insert str string The new string to copy into the original string at the character position Return Value string Returns the modified string Example make string The house is blue string insert The house is blue 3 ir gt Their house is blue Monk Developer s Reference 136 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string left trim Syntax string left trim source chars Description Removes the specified characters from the specified source string from the left end of the source The specified source string is left intact The characters can be specified as a character type a list of characters a vector or a string Parameters Name Type Description source string The string to trim chars character The characters to trim from the source string string list or vector Return Value string Returns a new string with all of the specified characters trimmed from left Example s
358. rns off the auto append feature and overwrites any data that exists in the specified byte locations Appended data is truncated if it exceeds the maximum byte length of an event definition This feature can be used to build strings within a field for example Monk Developer s Reference 40 SeeBeyond Proprietary and Confidential Chapter 2 2 8 Monk Basics Monk and Event Definitions If an expression attempts to place data to a node repetition that exceeds the specified maximum repetition count a warning is generated and the excessive repetitions are not written to the structured event If the path specified has no corresponding location in the structured event definition an exception is generated Monk Developer s Reference 41 SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 8 Monk and Event Definitions Delimiter List Syntax delimiterspecl delimiterspec2 delimiterspecN where the syntax of delimiterspec is delimiter delim_type Description Elements from the delimiter list are used by the make event map expression to specify the event separators Delimiters describe the event s physical hierarchy and thereby how it is to be parsed into its units from its highest to its lowest level List delimiters in their hierarchical order from highest to lowest Parameters Name Description delimiter A delimiter that can be represented As a string such as vertic
359. rogramming language Monk has several desirable features that make it extensible and flexible About the Monk Programming Language Monk has latent data types This means that the data type of a variable is carried with variable and is not defined in a declaration section as in language like Java or C This makes Monk code simple to write and keep consistent Monk has a simple syntax Once the syntax is mastered all of Monk functions are interpreted according to the same simple rules regardless of whether the language capabilities have been extended These simplicities permit efficient graphical user interface GUI design allowing drag and drop capability in the programmer interface For further information on Scheme refer to this Web site http www swiss ai mit edu projects scheme Chapter Topics Data Types on page 22 Latent Data Typing on page 23 Monk Conventions on page 24 The Use of Characters on page 27 Regular Expressions on page 29 Format Specification on page 34 Monk and Event Definitions on page 37 Sample Programs on page 54 Monk Developer s Reference 21 SeeBeyond Proprietary and Confidential Chapter 2 2 2 Monk Basics Data Types 22 Data Types All variables in Monk are associated with a data type There is no declaration section in Monk as there is in languages like C or Java where a variable is assigned its data type Rather the data type is determined by the most recent assignment
360. roprietary and Confidential Chapter 21 International Conversion Functions jef2sjis_p_g Syntax jef2sjis_p_g string conversion_mode Description Converts data encoded using the JEF character encoding scheme to SJIS using a hexadecimal KI Kanji In code and a user defined custom Gaiji conversion table The character type of the converted string is set to SJIS Parameters Name Type Description string string The JEF encoded string to be converted conversion_mode int Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in SJIS Example init gaiji set gaiji tabl Sjis2euc convertl1 jef2sjis_p_g ABC 2 gt ABC Monk Developer s Reference 505 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jipse2sjis Syntax jipse2sjis string type Description Converts data encoded using the JIPSE character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The JIPSE encoded string to be converted type integer Describes the type of characters in the string being converted One of the following 0 Mixed single and or double byte 1 Single byte character 2 Double byt
361. rs in the string are consumed before attempting to map the node ScN Scavenger node Specifies that the first character in the output node will not be output name of node The name you give to the node Node name limitations are detailed in Rules for Naming Nodes on page 49 node type Monk Developer s Reference The type of node ON AN OF AF OS AS ONA 46 Delimited node Any ordered delimited node The nodes below an any ordered node can appear in any order Fixed node Any ordered fixed node Ordered set A set represents a group of nodes at the same level Sets are used to represent a pattern of repeating elements The nodes below an ordered set must occur in the order specified Any ordered set A set represents a group of nodes at the same level Sets are used to represent a pattern of repeating elements The nodes below an any ordered set may occur in an order different from the specified order Use this option with care the event parsing process can take much longer when this option is specified Ordered delimited node array A node array is similar to a set but the group it represents comprises sub nodes instead of nodes at the same delimiter level Use a node array to represent a repeating field where repetitions are delimited by the repetition field array delimiter for example character The nodes below an ordered node array occur in the event in the order specifi
362. rs plus the following subset of the ASCII character set alert vertical tab bell backspace space octal 3 digits newline hexadecimal 2 digits formfeed a z A Z carriage return 0 9 horizontal tab The ASCII codes that are not translated are 0x00 0x03 0x18 0x19 0x0b 0x13 0x1c 0x1f The ASCII codes that do not have an EBCDIC equivalent and are translated into an arbitrary EBCDIC code are ASCII 0x5b EBCDIC 0x4a cent character ASCII 0x5d EBCDIC Ox5a ASCII 0x5e 4 EBCDIC Ox5f top right character The ASCII code that does not have an EBCDIC equivalent but is translated into a non equivalent character is ASCII 0x21 EBCDIC 0x4f Monk Developer s Reference 601 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk base64 gt raw Syntax base64 gt raw string Description 22 4 Monk Utility Functions Converts a base 64 string to a character string Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example base64 gt raw SGVsbG8gd29ybGOQ gt Hello world Monk Developer s Reference 602 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions binary gt string Syntax binary gt string string Description Converts a binary string into a string representation of a number
363. rs to be used as regular expression operators So as with strings the double quote and the backslash characters need to be escaped However within a regular expression three backslashes are required to escape the backslash 253 Representing Control Characters in Monk Expressions Use the character sequences shown in the following table to represent control characters in Monk expressions To represent a control character cee Alert or audible bell Control G a Backspace Control H b Form feed Control L f Newline or linefeed Control J n Carriage return Control M r Horizontal tab Control l t Vertical tab Control K v Monk Developer s Reference 28 SeeBeyond Proprietary and Confidential Chapter 2 2 6 Monk Basics Regular Expressions 254 Representing Octal or Hex Characters as Monk Expressions Use the character sequences shown in the following table to represent octal or hex characters in Monk expressions To represent an octal Use this sequence for its or hex character character representation Hexadecimal value represented xHH by the hex digits 0 F for example x4B Octal value onnn for example 0113 In a regular expression use this In a string use this sequence sequence xHH xHH for example x4B for example x4B onnn onnn for example o113 for example o113 26 Regular Expressions A regula
364. ry Syntax try expression catch Description Creates a block of code wherein expressions are evaluated sequentially and where errors may be handled when detected If an exception that is an error is generated by an included expression the catch is entered You may write the catch clause to execute any of several different expressions depending upon the exception that is raised There are a number of predefined exceptions for known error conditions You may also define additional exceptions using the function define exception on page 635 Parameters Name Type Description expression any May be any expression Return Value The result of evaluating the last expression Example display Starting the test newline define exception e555 3 define display exception info newline display string append Exception category number gt string exception category newline display string append Exception symbol symbol gt string exception symbol newline display string append Exception string exception string ee newline try display In Level 1 of try structure newline throw e555 My exception catch e555 display In Level 1 exception code display exception info otherwise display In Level 1 otherwise stanza display exception info Monk Developer s Reference 641 SeeBeyond Proprieta
365. ry and Confidential Chapter 7 Numerical Expressions floor Syntax floor number Description Determines the greatest integer which not greater than the input argument Parameters Name Type Description number number Any type of number or string that converts to a number Return Value integer The returned value is the previous lower integer value of the input argument Examples E loor loor floor floor floor 34 34 4 50 5 01 50 6 Monk Developer s Reference 34 34 50 g zpl 176 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions gcd Syntax gcd numberl number2 Description Calculates the greatest common divisor of the input arguments Each input argument must be an integer Accepts negative values for either input argument Parameters Name Type Description number1 integer Any type of number or string that converts to a number number2 integer Any type of number or string that converts to a number Return Value Value of the greatest common divisor of the input arguments integer Examples gcd 32 36 gcd 32 36 gcd 10 6 gcd 4 5 Monk Developer s Reference gt 4 gt 4 gt 2 gt 1 177 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions integer Syntax integer number Description Determines whethe
366. ry and Confidential Exception Codes Chapter 24 When an error condition is detected the system raises an exception to indicate its existence When an exception is raised it may be detected and handled Exceptions fall into categories When you write a try catch block you will catch one or more exception categories The System exception categories are listed in Table 7 The programmer can define additional exception categories using the define exception monk function Note Exception None and Exception Catastrophic may not be caught Table 7 System Exception Categories Type Category Exception None 0 Exception Catastrophic 1 Exception Generic 2 Exception Verify 3 Exception NotVerify 4 Exception FileLookup 5 Exception Mapping 6 Exception CallArgUsage 7 Exception PathInvalid 8 Exception Interface 9 Exception InvalidArg 10 Exception Domain T1 Exception Range 12 Exception Monk Usage 13 Exception Abort 14 Exception Regex Failure 15 Exception File 16 Exception Parser 17 Exception System 18 Monk Developer s Reference 642 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes When an error is detected an exception code and an exception message are written to the log file of the component in which the error occurred Table 9 below lists all the exception codes that can be generated In the table the percent
367. s Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string in UHC Example utf82uhe ABC gt ABC Monk Developer s Reference 565 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82utf8 Syntax ut f82utf8 string Description Sets the type of the string to UTF8 Parameters Name Type Description string string String that will be set as UTF8 Return Value string The converted string in UTF8 Example utf82utf8 ABC gt ABC Monk Developer s Reference 566 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk This chapter explains the Monk functions that extend the Monk environment Instructions in each section discuss how to load the extensions into the Monk environment These functions include Queue Service Access on page 568 e Way Functions on page 580 Monk Extension Functions on page 588 Monk Utility Functions on page 599 Monk Developer s Reference 567 SeeBeyond Proprietary and Confidential Chapter 22 22 1 e Gate Extensions to Monk Queue Service Access 21 Queue Service Access The queue service access functions allow interaction between the Monk environment and the e Gate system Specifically they provide increased control over the event flow These functions are automatically load
368. s element u must be symbol Exception Mapping In function s element u must be a symbol 0067 s return value mismatch for arg Exception Monk Usage u Expected s In function s return value does not match the expected value of s 0068 s variable must be a symbol not Exception Monk Usage s In function s the variable must bea symbol not s 0069 os s Exception Generic In funxtion s argument is invalid 0070 s invalid lt Bindings gt Expect Exception Monk Usage lt variable1 gt lt init1 gt lt step1 gt The bindings are incorrect 0071 s expected test expression Exception Monk Usage do do and condition require that a some test expression be there 0072 s Variable lt s gt must be an Exception PathInvalid integer gt 0 or path In function s a variable lt s gt has been specified that is not a string number or path 0073 s lt s gt evaluates to s Not Exception Monk Usage a procedure or interface The function s was expecting a procedure name The name specified lt s gt evaluates to the name s which is not a recognized procedure name 0074 os argument u must be a Exception InvalidArg proper list In function s argument u is nota proper list 0075 s s Exception Monk Usage In function s argument is invalid 0076 s s Exception Mapping In function s argument is invalid 0077 s result of Put procedure lt s gt _ Except
369. s none Attributes Table 1 Attributes of the Node List Name Description modifier list Bd BdB Co Ed EscD Ex ExF Get NofN Monk Developer s Reference Bd delim type Ed delim type Optional list of modifiers 45 Begin delimiter Begin delimiter bind Designates that if you have a begin delimiter you must have a matching end delimiter from the same pair Consumer node If you have written a Monk function to map the data you must return a length of how much of the data you expect to consume End delimiter Treats the string as a literal Specifies that you cannot expand the data map Only the mapped data will be used Specifies that you cannot expand the data map If the data exceeds the map it will fail and not map any of the data Specifies that you can only get data from this node Group repetitions Groups disjoint repetitions of a child Minimum number of occurrences of N optional children nodes SeeBeyond Proprietary and Confidential Chapter 2 Monk Basics 2 8 Monk and Event Definitions Table 1 Attributes of the Node List Continued Name Description Nt Not tagged Results all characters that are not designated as tagged Pp Parent precedence The parent delimiter will take precedence over the child node delimiters Put Specifies that you can only put data into this node Ri Array repetition information Sc Scavenger Designated characte
370. security number A valid ssn string consists of nine digits with a hyphen following the third and fifth digits Return Value number Returns the second group of digits in a social security number Example get 2 ssn 123 45 6789 Monk Developer s Reference 465 gt SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions get 3 ssn Syntax get 3 ssn ssn Description Parses the specified social security number and returns the first group of digits Parameters Name Type Description ssn string Social security number A valid ssn string consists of nine digits with a hyphen following the third and fifth digits Return Value number Returns the first group of digits in a social security number Example get 3 ssn 123 45 6789 gt 123 Monk Developer s Reference 466 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions get 4 ssn Syntax get 4 ssn ssn Description 20 2 Advanced Library Functions Parses the specified social security number and returns the third group of digits Parameters Name Type Description ssn string Social security number A valid ssn string consists of nine digits with a hyphen following the third and fifth digits Return Value Returns the third group of digits in a social security number Example get 4 ssn Monk Developer s Re
371. sh before a NewLine character at the end of a data file line is interpreted as a literal and the NewLine character is written to the output event Return Value Unspecified Examples 7 the format quotes are empty 7 the trim chars quotes contain a space char datamap input EVT S home userl gt MONK_UNSPECIFI Notes E 0 output ORG CID 3 data datamap dat ED The data in the source path is matched against each matchstring in the filename data file If a match is found then the associated mapped data is written to the destination_path If no match is found and there is a default value entry in the data file the mapped data for the default entry is written to the destination_path If no match is found and there is no default value entry in the data file an exception is returned and the data map function fails If the string in the event may be padded with leading or trailing spaces use the trim chars parameter to ensure that the matchstring matches the source path data Monk Developer s Reference 335 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions display event data Syntax display event data event port Description Displays the data in the specified Event For each node in the Event the node s data and information about that data is displayed on a single line using the following format Depth Length Children FLAGS Data The indentat
372. specified object If the object does not occur in the list then memq returns f memq uses the function eq to perform the test between the object and the list Parameters Name Type Description obj expression The object to search for object list list The list to search for the object Return Value sublist Those elements of the list whose car satisfies equal to the object boolean If the object was not found f is returned Examples memg a a b c memg b a b c memq a b c d memq list a r q mem Monk Developer s Reference 101 100 101 102 gt 220 a b c b c f E 101 102 SeeBeyond Proprietary and Confidential Chapter 8 Pairs and Lists memv Syntax memv obj alist Description Creates a sublist representing the cdr of the given list whose car is the specified object If the object does not occur in the list then memv returns f memv uses the function eqv to perform the test between the object and the list Parameters Name Type Description obj expression The object to search for object list list The list to search for the object Return Value sublist Those elements of the list whose car satisfies equal to the object Boolean If the object was not found f is returned Examples mem mem mem mem mem V VvV a a bc gt a b c bob
373. t to the queue This Event must be one of the Events that the Collaboration publishes to The queued Event depends upon an input Event type called EmpData The input Event must be one of the Events that the Collaboration subscribes to Check the Collaboration details in the e Gate GUI Enclosing the iq put function in a try catch clause is the normal way to handle possible queue errors This example simply displays information to the log file but you may want to include more robust error recovery in the catch clause Additional Information The iq put function is not supported by the Monk Test Console For testing purposes the following solution is suggested define iq put lambda pl p2 p3 p4 p5 p6 display string append iq put EventTYPE p1 EventCONTENT p2 newline wee The sample script shown above can be used as a dependency file when testing a collaboration that uses iq put Monk Developer s Reference 578 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk iq put 411 Syntax 22 1 Queue Service Access iq put 411 output event typ vent input event type priority major seq num minor seq num Description This function replicates the behavior of the iq put function in e Gate version 4 1 1 In that version of e Gate iq put returned t or f The current version of iq put returns t or an exception The iq put 411 function was created to provide
374. t ABC Monk Developer s Reference 512 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin22utf8 Syntax latin22uft8 string Description Converts data encoded using the Latin 2 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 2 string to be converted Return Value string The converted string in UFT8 Example latin22uft8 ABC gt ABC Monk Developer s Reference 513 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin32utf8 Syntax latin32uft8 string Description Converts data encoded using the Latin 3 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The Latin 3 string to be converted Return Value string The converted string in UFT8 Example latin32uft8 ABC gt ABC Monk Developer s Reference 514 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions latin42utf8 Syntax latin42uft8 string Description Converts data encoded using the Latin 4 character encoding scheme to UFT8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string
375. t optional Return Value Unspecified Example define fp4 open output file output dat newline fp4 gt MONK_UNSPECIFI ED The file output dat now contains a newline Monk Developer s Reference 285 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions write Syntax write object size port Description write is similar to the display function except for the addition of the size parameter write sends a specified number of bytes of an object to a port If no port is specified the bytes are sent to standard out typically the display screen If the number of bytes N to write is less than the size of the object then only the first N bytes of the object are written and the rest are truncated Parameters Name Type Description object any The monk object to be written size integer The number of bytes N to be written port port Optional The port to which the data is written If no port is specified the data is sent to standard out Return Value Unspecified Examples define fp4 open output file output dat write Please have a nice day 10 fp4 gt MONK_UNSPECIFIED The file output dat now contains Please hav Monk Developer s Reference 286 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions write char Syntax write char char port Description Writes one character
376. t as UHC Return Value string The converted string in UHC Example uhc2uhe ABC W gt ABC Monk Developer s Reference 546 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions uhc2utf8 Syntax uhc2utf8 string Description Converts data encoded using the UHC character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The UHC encoded string to be converted Return Value string The converted string in UHC Example uhc2utf8 ABC gt ABC Monk Developer s Reference 547 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82arabic Syntax utf82arabic string Description Converts data encoded using the UTF8 character encoding scheme to Arabic The character type of the converted string is set to 1Byte Parameters Name Type Description string string The UTF8 encoded string to be converted Return Value string The converted string Example utf82arabic ABC gt ABC Monk Developer s Reference 548 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions utf82big5 Syntax utf82big5 string Description Converts data encoded using the UTF8 character encoding scheme to BIG5S The character type of the converted
377. t is not x or y ALAXY Match any single character that is not part of the set of all uppercase letters A through Z the digits 0 through 9 or the characters or AA Z0 9 Match any single character that is not part of the set of the digits 0 through 9 or the characters J and AO 9 Match a lowercase letter E lower Match any string of at least one character followed by zero or more white space characters L blank MAN space Enclose a set of alternates anti pro tion Enclose a complex regular expression to be operated on ba na by a A or V2 Enclose sub expressions within a set of alternates A CA F WA Match themselves eoe Match the string abc if it appears at the beginning of Aabc the string matched against Match a string of one or more zeros at the beginning of A0 the string matched against Match itself that is the character a Match the string abc if it appears at the end of the abc string matched against Match a string of one or more zeros at the end of the A string matched against Match itself that is the character g Match the backslash character WV or within a list ARW 27 Format Speci
378. tain No Data Dynamic Parsing of Data Referencing an Instance of a Repeating Node Referencing Data with Byte Count Length Specification When Assigning Data to Structured Event Use of Variables to Represent Path Elements Path to Any Ordered Set Sample Programs Chapter 3 Control Flow and Boolean Expressions Overview and begin case case equal cond do do if not or Chapter 4 Definition Binding and Assignment define defined let let letrec set set undefine Chapter 5 Character Functions char char char lt char gt char lt char gt 34 37 38 40 42 44 50 51 51 51 52 53 53 54 69 70 72 73 74 75 77 78 79 81 82 83 84 Monk Developer s Reference 4 SeeBeyond Proprietary and Confidential Contents char ci char ci lt char ci gt char ci lt char ci gt char alphabetic char and char downcase char lower case char not char numeric char or char shift left char shift right char type char type char type char upcase char upper case char whitespace char xor Chapter 6 String Functions format htonl gt string htons gt string list gt string make string regex string string string lt string lt string string gt string gt string append string append string checksum string ci string ci lt string ci gt string ci lt string ci gt string copy string copy string crc16 string crc32 s
379. tegory in addition to exception categories pre defined by the system Exception categories predefined by the have one or many individual error messages associated with it User defined exception categories are not associated with individual error messages They are used to all user programs to participate in the try catch functionality Parameters Name Type Description exception symbol The symbol that represents the exception category integer Must be greater than zero Return Value Unspecified Example define exception e555 3 Monk Developer s Reference 635 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics exception category Syntax exception category Description Retrieves the category of the current active exception Parameters None Return Value Returns an integer as follows zero if there is no exception category negative if it is a system exception category positive if it is a user defined exception category Example exception cateory gt 3 Monk Developer s Reference 636 SeeBeyond Proprietary and Confidential Chapter 23 23 1 Exception Functionality Try Throw Catch Basics exception string Syntax exception string Description Retrieves the message portion of the current active exception Parameters None Return Value Returns the message included when the exception was generated
380. ter Functions char ci lt Syntax char ci lt charl char2 Description Compares two characters for order This function is case insensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is the same as char2 Otherwise returns f Examples char ci lt 3 char ci lt 3 char ci lt a char ci lt a char ci lt a 3 4 A a b Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 86 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char ci gt Syntax char ci gt charl char2 Description Compares two characters for order This function is case insensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is the greater than char2 Otherwise returns f Examples char ci gt 3 char ci gt 4 char ci gt a char ci gt a char ci gt a 3 gt 3 gt A gt a gt b gt Ff Ft FE FE
381. the parameter list which will be t or f Example monk fl monk fl monk fl monk fl 3 onk f1 ag set make event debug gt t ag set make event debug file load debug gt t ag set 2048 gt t ag set make event debug 2048 gt t ag set all gt t 390 SeeBeyond Proprietary and Confidential Monk Developer s Reference Chapter 19 Math Precision Functions These functions provide arithmetic operations with a user definable precision Arithmetic with large numbers can be done without any loss in the accuracy of the results To use these functions load stc_monkmath dll into your environment using the function load extension on page 297 Important The stc_monkmath dll is not supported on Compaq Tru64 or Linux machines Therefore the math precision functions are not supported on this platform The math precision functions include the following mp absolute value on page 392 mp add on page 393 mp ceiling on page 394 mp divide on page 395 mp even on page 396 mp floor on page 397 mp max on page 398 mp min on page 399 mp modulo on page 400 mp multiply on page 401 mp negative on page 402 mp num eq on page 403 mp num ge on page 404 Monk Developer s Reference 391 mp num gt on page 405 mp num le on page 406 mp num lt on page 407 mp num ne on page 408 mp odd on page 409 mp positive on page 410 mp quotient on page 411 mp remainder on page 412 mp round on page 413 m
382. the argument answers t processing continues Otherwise an exception condition code is returned which terminates processing This function is generally used for internal run time checking The check function specified must be a Monk function which returns a Boolean value Parameters Name Type Description checkfunc function The Monk function to test param integer The argument to test Return Value None Examples verify type number 3 gt continue verify type number a gt exception Monk Developer s Reference 460 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions 2 2 Advanced Library Functions Before using any of the advanced library functions you must load them This is accomplished by either adding monk_library advanced into the monk path or including the line load directory monk_library advanced in the Collaboration Rule tsc file where the advanced library function is being used The Advanced Library Functions are listed below calc surface bsa on page 462 calc surface gg on page 463 cm gt in on page 464 get 2 ssn on page 465 get 3 ssn on page 466 get 4 ssn on page 467 get apartment on page 468 get city on page 469 get first name on page 470 get last name on page 471 get middle name on page 472 get state on page 473 get street address on page 474 get zip on page 475in gt cm on page 476 lb gt 0z on
383. the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted Return Value string The converted string in JEF Example init gaiji set gaiji Monk Developer s Reference table sjis2euc convertl1 sjis2jef_g ABC gt ABC 528 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef_m Syntax Ssjis2jef_m string Description Converts single and or double byte data encoded using the SJIS character encoding scheme to JEF The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted Return Value string The converted string in JEF Example sjis2jef_m ABC gt ABC Monk Developer s Reference 529 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef_m_g Syntax sjis2jef_m_g string Description Converts single and or double byte SJIS string using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set ga
384. the formula In bsa 3 75080 0 42246 In height 0 51456 In weight where In is the log natural log to calculate the body surface area in square meters These calculations are generally performed on newborn babies for determining proper medication doses Parameters Name Type Description height number or numeric string Height of the individual in centimeters weight number or numeric string Weight of the individual in kilograms Return Value number Returns the calculated body surface area in square meters Example calc surface gg 12 12 gt 0 24113634200082 Monk Developer s Reference 463 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions cm gt in Syntax cm gt in number Description Converts a number from centimeters to inches Parameters Name Type Description number real number Number of centimeters Return Value number Returns the number of inches resulting from the conversion Examples cm gt in 2 54 gt 1 0 cm gt in 5 08 gt 2 0 Monk Developer s Reference 464 SeeBeyond Proprietary and Confidential Chapter 20 Monk Library Functions get 2 ssn Syntax get 2 ssn ssn Description 20 2 Advanced Library Functions Parses the specified social security number and returns the second group of digits Parameters Name Type Description ssn string Social
385. the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in JEF Example init gaiji set gaiji tabl sjis2jef_p_g ABC gt ABC Monk Developer s Reference Sjis2euc convertl1 532 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jipse Syntax sjis2jipse string type Description Converts an SJIS string into JIPSE then sets its type as 1Byte Parameters Name Type Description string string The SJIS string to be converted type integer Indicates the number of bytes in the string to be converted 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in JIPSE Example gt Monk Developer s Reference sjis2jipse idt 0 ABC 533 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jipse_g Syntax sjis2jipse_g string type Description Converts an SJIS string into JIPSE using a user defined custom Gaiji table associated with this function The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS string to be converted type int Indicates the number of bytes in the
386. time Chapter 17 Interface API Functionality Explains the Monk functions related to interface application program interface API functionality Chapter 18 Debug Procedures Explains the Monk functions related to debug procedures Chapter 19 Math Precision Functions Explains the Monk functions that provide arithmetic operations with a user definable precision Chapter 20 Monk Library Functions Explains all the available Monk Library functions Chapter 21 International Conversion Functions Explains the international character type conversion functions Chapter 22 e Gate Extensions to Monk Explains the Monk functions that are specific to e Gate version 4 1 Chapter 23 Exception Functionality Explains the Monk exception functions Chapter 24 Exception Codes Explains the Monk exception codes After this introductory chapter Chapter 2 discusses the basic concepts and applications of Monk Chapters 3 through 21 describe Monk functions Chapters 22 and 23 list the Monk exception functions codes and messages Note The functions are grouped according to their use in Monk 14 Writing Conventions The writing conventions listed in this section are observed throughout this document Hypertext Links When you are using this guide online cross references are also hypertext links and appear in blue text as shown below Click the blue text to jump
387. tion s argument u must evaluate to a symbol 0087 os argument Yu must be a Exception InvalidArg symbol In function s argument u must be a symbol 0088 os first argument of lt clause gt Exception Monk Usage must be lt datum1 gt or In function s the first argument of else the clause is not the expected datum or else 0089 s lt clause gt must contain at least Exception Monk Usage one lt expression gt to be In function s a clause is found evaluated without at least one expression to be evaluated 0090 os requires at least a lt key gt and Exception Monk Usage one lt clause gt Function s does not contain the required key and at least one clause 0091 s file s not readable Exception File Function s can not read the file s 0092 s argument u must be a string Exception InvalidArg or symbol In function s argument u must be a symbol or string 0093 s path doesn t exist in the event Exception PathInvalid map In function s the specified path does not exist in the event map Monk Developer s Reference 650 SeeBeyond Proprietary and Confidential Chapter 24 Exception Codes Table 9 Exception Code Table Continued Exception Code Exception String Category and Description 0094 os invalid byte count in string Exception Generic for char conversion Cannot convert string because wrong nu
388. tion 624 string gt path 365 string gt ssn 450 SeeBeyond Proprietary and Confidential Index string gt symbol 249 string 115 string append 121 string append 122 string begins with 445 string checksum 123 string ci 125 127 string ci lt 127 string ci lt 125 string ci 124 string ci gt 128 string ci gt 126 string contains 446 string copy 129 string copy 130 string crc16 131 string cre32 132 string decrypt function 619 string downcase 133 string empty 134 string encrypt function 620 string ends with 447 string fill 135 string insert 136 string left trim 137 string length 138 string length 139 string Irc 141 string port gt string 279 string ref 144 string right trim 145 strings 106 definition of 22 string search from left 448 string search from right 449 string set 146 string substitute 147 string tokens 148 string trim 149 string type 150 string type 151 string type 152 string upcase 153 string zoned function 625 strip punct 451 strip string 452 structured events 38 structured message definition 38 39 subseq 154 substring 154 substring 453 substring index 155 subtract 415 Monk Developer s Reference 667 supporting documents 19 symbol gt string 250 symbol 304 symbols 302 symbol table get 454 symbol table put 455 sys procedures 305 sys symbols 306 system 299 System Interface Functions 289 T table exception code 643 regular expression examples 32 tag node
389. tions string gt 8none Syntax string gt 8none string length Description Resets the high order bit of each character within a string This function is the complement of string gt 7even Parameters Name Type Description string string The string to be converted length integer The length of the string Return Value string Returns a string Example define mystring string gt 7even ABCDEFG 7 string gt 8none mystring gt ABCDEFG Monk Developer s Reference 617 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions string gt binary Syntax string gt binary string bytes Description Converts a string representation of an integer to a blob representation of a big endian number Parameters Name Type Description string string The string to be converted bytes integer The number of bytes in the resulting string Valid values are 1 2 3 or 4 Return Value string Returns a string Example binary gt string string gt binary 12345 3 gt 12345 Monk Developer s Reference 618 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string decrypt Syntax string decrypt key string Description 22 4 Monk Utility Functions Decrypts the specified string using the specified key Parameters Name Type Description key string The encryption key string s
390. to the section For information on these and related topics see Parameter Function and Command Names on page 19 Command Line Text to be typed at the command line is displayed in a special font as shown below java jar ValidationBuilder jar Variables within a command line are set in the same font and bold italic as shown below stcregutil rh host name rs schema name un user name up password ef output directory Monk Developer s Reference 18 SeeBeyond Proprietary and Confidential Chapter 1 Section 1 5 Introduction Supporting Documents Code and Samples Computer code and samples including printouts on a separate line or lines are set in Courier as shown below Configuration for BOB Promotion However when these elements or portions of them or variables representing several possible elements appear within ordinary text they are set in italics as shown below path and file name are the path and file name specified as arguments to fr in the stcregutil command line Notes and Cautions Points of particular interest or significance to the reader are introduced with Note Caution or Important and the text is displayed in italics for example Note The Actions menu is only available when a Properties window is displayed User Input The names of items in the user interface such as icons or buttons that you click or select appear in bold as shown below Click Apply to save or OK to save and close File
391. tring Match specific alternate strings at the end of the string matched against while any data at the beginning matches string string Match any data except an empty string AA Match a string at least one character in length that contains at least a letter a zA Z Match a string at least one character in length that contains at least a numbers 0 9 Match a string that contains at least one character that is not a number A0 O Match a single character that may be a space or a digit 0 9 Match a string that contains at least one character that is 40 9 not a number Match leading zeros N AD Match leading spaces N A H Match trailing spaces A Match a Social Security Number of the nnn nn nnnn 0 9 3 0 9 2 0 A AV Match a telephone number of the format nnn nnn nnnn LO 9 3 0 AN 3 0 9 AV Match any 3 character string beginning with t and the ending with e Match any 4 character string beginning with and A ending with Match itself that is the character sd Match a string beginning with f followed by zero or fo more o s Match any string 0 9 Match a string of numbers only NA O O Monk Developer s Ref
392. tring The string to be decrypted Return Value string Returns a string Example string decrypt Monk Developer s Reference key 06C22BA54DC811 619 gt mypass SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string encrypt Syntax 22 4 Monk Utility Functions string encrypt key string Description Encrypts the specified string using the specified key Parameters Name Type Description key string The encryption key string string The string to be encrypted Return Value string Returns a string Example string encrypt key mypass gt 06C22BA54DC811 See also encrypt password on page 591 Monk Developer s Reference 620 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk string gt hexdump Syntax string gt hexdump string Description Converts a character string to a hexdump string 22 4 Monk Utility Functions Parameters Name Type Description string string The string to be converted Return Value string Returns a string Example string gt hexdump cat gt 636174 See hexdump gt string on page 608 for more information Monk Developer s Reference 621 SeeBeyond Proprietary and Confidential Chapter 22 22 4 e Gate Extensions to Monk Monk Utility Functions string gt IBMpacdec Syntax string gt IBMpacdec
393. tring downcase string empty string fill string insert string left trim string length string length string gt list string Irc string gt ntohl string gt ntohs string ref Monk Developer s Reference 106 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 SeeBeyond Proprietary and Confidential Contents string right trim 145 string set 146 string substitute 147 string tokens 148 string trim 149 string type 150 string type 151 string type 152 string upcase 153 subseq 154 substring index 155 Chapter 7 Numerical Expressions 156 i 157 158 159 160 lt 161 162 lt 163 gt 164 gt 165 abs 166 acos 167 asin 168 atan 169 big endian gt integer 170 ceiling 171 cos 172 even 173 exp 174 expt 175 floor 176 gcd 177 integer 178 integer gt big endian 179 integer gt little endian 180 Icm 181 little endian gt integer 182 log 183 max 184 min 185 modulo 186 negative 187 number 188 number gt integer 189 number gt real 190 number gt uint 191 odd 192 positive 193 quotient 194 real 195 remainder 196 round 197 sin 198 sqrt 199 tan 200 truncate 201 uint 202 zero 203 Monk Developer s Reference 6 SeeBeyond Proprietary and Confidential Contents Chapter 8 Pairs and Lists 204 append 206 assoc 207 assq 208 assv 209 car 210 cdr 211 caar cdd
394. tring left trim aa3bcde9fg a f g gt 3bcde9fg Monk Developer s Reference 137 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string length Syntax string length source Description Returns the length of a specified string Parameters Name Type Description source string The string to measure Return Value integer The length of the specified source Examples string length string length Monk Developer s Reference 12345 abcdefg gt 7 gt 5 138 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string length Syntax string length Description dest str new len fill char Alters the length of the string dest str must be mutable If lengthened you can specify extra characters to fill the string Parameters Name Type Description dest str string The original string to be modified new len integer The new byte length fill char character The characters to fill any new bytes created Return Value string Returns the modified string Examples define str string length define str string length string length Monk Developer s Reference make string 7 s gt sssssss str 4 gt ssss make string 3 ab gt ababab str 8 7 gt ababab77 str 10 gt ababab77 139 SeeBeyond Proprietary and Confidential Chapter
395. turn Value integer The returned number is the next higher integer value of the input argument Examples ceiling 34 gt 34 ceiling 34 4 gt 25 ceiling 50 gt 50 ceiling 50 1 gt 50 ceiling 50 6 gt 50 Monk Developer s Reference 171 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions Cos Syntax cos radians Description Calculates the cosine of the input argument The input argument must be in radians Parameters Name Type Description radians radians number Any type of number or string that converts to a number Return Value Number Value of the cosine of the input argument Examples cos 0 cos 1 cos 1 cos 3 141592 3 Monk Developer s Reference gt TO gt 0 54030230586814 gt 0 54030230586814 gt 0 50000018867511 172 SeeBeyond Proprietary and Confidential Chapter 7 Numerical Expressions even Syntax even number Description Determines whether the input argument is an even integer Parameters Name Type Description number number Any type of number or string that converts to a number Return Value Boolean This function returns t if the integer is even Otherwise it returns f Examples eve eve eve eve eve eve Monk Developer s Reference 173 SeeBeyond Proprietary and Confidential Chapter 7
396. turn Value string The string corresponding to the Examples zone decimal The following examples work on an EBCDIC machine IBMzoned gt string string gt IBMzoned 1234E gt 12345 IBMzoned gt string string gt IBMzoned 1234D gt 12345 The following example works on an ASCII machine The inclusion of the identifier EBCDIC indicates to the Monk engine that the string to be converted is in EBCDIC format Without this identifier the data would be incorrectly interpreted as ASCII data display ebcdic gt ascii IBMzoned gt string 1 Full gt 1111 Monk Developer s Reference EBCDIC xf1 xf1 xf1 xcl 610 SeeBeyond Proprietary and Confidential Chapter 22 e Gate Extensions to Monk open pipe Syntax open pipe string Description Monk Utility Functions Spawns the specified application and returns a file handle from which you can read the application s output Note This command is only available under the UNIX operating system Parameters Name Type Description string string An executable file or script to be executed Return Value handle Returns a file handle Example define fp open pipe bin 1ls la define data do done 0 done 0 done 1 set data read line fp 1024 if eof object data begin set done 1 begin display data newline gt output of ls la command close pipe fp
397. uated Return Value The return value is unspecified Examples define add3 lambda x x 3 add3 5 gt 8 Add3 is created and is defined as the value of a lambda expression A lambda expression returns a procedure so add3 is a procedure Anytime after this define is executed add3 can be invoked like any other function When passed the value 3 the expression evaluates to 8 The capabilities of Monk are extended through this mechanism of defining functions define y 7 add3 y gt 10 In the second example y is defined to have a constant value of 7 The symbol y can be passed to the function previously defined to generate the desired result Monk Developer s Reference 70 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment defined Syntax defined symbol Description Determines if the symbol is defined globally or in the current environment Parameters Name Type Description symbol symbol The symbol to test for binding Return Value This expression returns true t if the symbol is bound otherwise it returns false f Examples defined x gt defined x 10 defined x gt Ft Monk Developer s Reference 71 SeeBeyond Proprietary and Confidential Chapter 4 Definition Binding and Assignment let Syntax let bindings body where bindings have the form variablel initi ses and body is a set
398. ue string The converted string in SJIS Example jis2sjis gt ABC Monk Developer s Reference ABC 508 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions jis2sjis_g Syntax jis2sjis_g string Description Converts data encoded using the JIS character encoding scheme to SJIS using a user defined custom Gaiji conversion table associated with this function The character type of the converted string is set to SJIS Parameters Name Type Description string string The JIS encoded string to be converted Return Value string The converted string in SJIS Example init gaiji set gaiji tabl Sjis2euc convertl1 jis2sjis_g ABC gt ABC Monk Developer s Reference 509 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions keis2sjis Syntax keis2sjis string type Description Converts data encoded using the KEIS 83 character encoding scheme to SJIS The character type of the converted string is set to SJIS Parameters Name Type Description string string The KEIS 83 encoded string to be converted type integer Describes the type of characters in the string being converted One of the following 0 Mixed single and or double byte 1 Single byte character 2 Double byte character Return Value string The converted string in SJIS Example
399. ument u must be an Exception InvalidArg integer In function s the d argument is expected to be an integer 0030 s argument u must be a char Exception InvalidArg In function s the d argument is expected to be a char 0031 os arguments must be strings Exception InvalidArg The arguments to function s must be strings A non string argument has been specified 0032 s argument u is not mutable Exception Monk Usage The function s attempted to store a value into the location represented by argument d which is already in use and thus immutable 0033 s Vos Exception Generic The generic exception event indicator in function s 0034 os failed Exception NotVerify Operation being performed in function s failed 0035 os string argument u must be Exception Domain of length gt u The length of the string must be d length 0036 os variable lt s gt has not been Exception Monk Usage defined The variable s in function s has not been defined 0037 s argument u must be a non Exception InvalidArg negative number In function s argument d has been expressed as a negative number it must be non negative 0038 s arguments must be chars Exception InvalidArg In function s all arguments must be of type character 0039 os argument Yu must be a Exception InvalidArg string In function s argument u must be of type string Monk Developer s Reference 646 SeeBeyond Proprietary and Confid
400. ur element vector pair Structured data type with two fields called the car and the cdr Pairs are created by the cons procedure Example cons a b gt a b list Structured data type defined recursively as either an empty list or a Monk Developer s Reference pair whose cdr is a list Examples a b ac or a b a c 22 SeeBeyond Proprietary and Confidential Chapter 2 2 3 Monk Basics Latent Data Typing procedure Definable using the lambda expression Example The lambda expression lambda d d 3 1416 evaluates to a procedure which takes one argument and returns the value of that argument multiplied by pi path Structured value signifying a location within a parsed message Indicated by a list of message elements separated by dots Example input A0X PID first name partial path Structured value signifying a location which contains sub nodes within a parsed message It may be further specified to make it a fully qualified path Example input A0X PID time Structured data type for use with time functions event_struct Structured event returned by the make event map procedure interface Structured value returned by the load interface routine The loaded object dll adheres to the use of an interface handle and the interface API functionality port Structures value representing the source or destination of data 23 Latent Data Typing Monk variables are associated with their data types when data
401. urned string quoted integer is the next higher integer value of the input string argument Examples mp ceiling 5 4 gt 6 mp ceiling 5 4 gt 5 Monk Developer s Reference 394 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp divide Syntax mp divide stringl string2 Description Divides two multiple precision numbers Name Type Description string string Operand 1 string2 string Operand 2 Return Value string The returned string quoted number is the quotient of the two numbers input to the function Example mp divide Monk Developer s Reference 123 45678 2 56 395 gt 48 2253046875 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp even Syntax mp even string Description Determines whether the input argument quoted integer is an even number Parameters Name Type Description string string Operand Return Value Boolean This function returns t if the integer is even Otherwise it returns f Examples mp even mp even Monk Developer s Reference 123456 123455 gt gt 396 SeeBeyond Proprietary and Confidential Chapter 19 Math Precision Functions mp floor Syntax mp floor string Description Determines the previous higher integer value of the input
402. ut is timestamp output ORG CID 3 gt MONK_UNSPECIFIED Current date and time is March 5 1995 4 15 03 p m sample output is current time 03 05 95 04 15 03PM timestamp output ORG CID 3 current time D SH SM 3S p gt current time 03 05 95 04 15 03PM Monk Developer s Reference 367 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions uniqueid Syntax uniqueid path Description Creates a unique identifier string The identifier string is based upon the current system time day month and year to a string Parameters Name Type Description path path Where to write the string in the output event Return Value Unspecified Examples The uniqueid data is written to the SEG node uniqueid output SEVT SEG gt MONK_UNSPECIFIED display output SEVT SEG gt 200001271415290854 Note Although the uniqueid function provides a properly unique identifier it should not be used as a time stamp For time stamp functionality see timestamp on page 366 Monk Developer s Reference 368 SeeBeyond Proprietary and Confidential Chapter 15 Event Definitions verify Syntax verify path reg_exp Description Matches data against a regular expression A regular expression can be used to check if a field is empty match a specified string match from a set of strings Parameters
403. vector will still use the original value 2 for num each time it is called Argument types are defined as follows Immediate Types Non Immediate Types character string number vector boolean list symbol interface keyword port function event time Monk Developer s Reference 227 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions 92 The Vector Functions This chapter describes the functions that are used to work with vectors The Monk vector functions available are listed below list gt vector on page 229 make vector on page 230 vector on page 231 vector on page 232 vector gt list on page 233 vector fill on page 234 vector length on page 235 vector ref on page 236 vector set on page 237 vector gt string on page 238 Monk Developer s Reference 228 SeeBeyond Proprietary and Confidential Chapter 9 9 2 Vector Expressions The Vector Functions list gt vector Syntax list gt vector list Description Creates a vector from a given list of elements Parameters Name Type Description list list The list of elements from which to create the vector Return Value vector The vector created from the given list of elements Example list gt vector dididit dah gt dididit dah Monk Developer s Reference 229 SeeBeyond Proprietary and Confidential Chapter 9 Vector Expressions make vector Syntax
404. veloper s Reference 268 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions open random access file Syntax open random access file filename file64 Description Opens a port in random access mode If the file does not exist it will be created if possible Parameters Name Type Description filename string Full path to the file file64 optional Used to provide large file support This option is available on the following platforms AIX Compaq HP Linux Sun This parameter is optional Return Value Returns a port to the open file Example open random access file home userl temp txt gt RandomAccess port open random access file home user1 temp txt v file64 gt RandomAccess port Monk Developer s Reference 269 SeeBeyond Proprietary and Confidential Chapter 12 File I O Expressions output port Syntax output port port Description Tests whether the specified port is an output port type Parameters Name Type Description port port Handle to the port Return Value Boolean This function returns f if the port is not an output port type Otherwise it evaluates to t Example define fp4 open output file output dat output port fp4 Monk Developer s Reference 270 gt t SeeBeyond Proprietary and Confidential
405. verted string in KEIS 83 Example sjis2keis_g 0 ABC gt Monk Developer s Reference 538 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2sjis Syntax sjis2sjis string Description Sets the type of string to SJIS Parameters Name Type Description string string String that will be set as SJIS Return Value string The converted string in SJIS Example sjis2sjis gt ABC Monk Developer s Reference ABC 539 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2utf Syntax sjis2utf8 string Description Converts data encoded using the SJIS character encoding scheme to UTF8 The character type of the converted string is set to UTF8 Parameters Name Type Description string string The SJIS encoded string to be converted Return Value string The converted string in UTF8 Example sjis2utf8 ABC gt ABC Monk Developer s Reference 540 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2utf8_ g Syntax sjis2utf8_g string Description Converts data encoded using the SJIS character encoding scheme to UTF8 using a user defined custom Gaiji table associated with this function The character type of the converted string is set to UTF8 Parameters Na
406. y Functions oz gt gm Syntax oz gt gm number Description 20 2 Advanced Library Functions Converts a number which represents weight in ounces to grams Parameters Name Type Description number real number Weight in ounces Return Value number Returns a number representing weight in grams resulting from the conversion Examples oz gt gm 0 035 gt 99225 oz gt gm 1 0 gt 28 35 Monk Developer s Reference 478 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions oz gt lb Syntax oz gt lb number Description Converts a weight in ounces to pounds Parameters Name Type Description number real number Weight in ounces Return Value number Returns a number representing the weight in pounds resulting from the conversion Examples oz gt lb 32 gt 2 0 oz gt lb 100 gt 6 25 Monk Developer s Reference 479 SeeBeyond Proprietary and Confidential Chapter 20 20 2 Monk Library Functions Advanced Library Functions valid phone Syntax valid phone number Description Tests the supplied number to determine if it is a valid phone number A valid phone number is a string of the form NN NNN NNN NNNN where the first two groups of characters country code and area code are both optional and there can be any number of spaces between the three character groups Parenthesis are re
407. yond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2euc_g Syntax sjis2euc_g string Description Converts an SJIS string into EUC using a user defined custom Gaiji table associated with this function The character type of the converted string is set to EUC Parameters Name Type Description string string The SJIS string to be converted Return Value string The converted string in EUC Example init gaiji set gaiji sjis2euc_g ABC tabl ABC Monk Developer s Reference Sjis2euc convertl1 526 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef Syntax sjis2jef string Description Converts data encoded using the SJIS character encoding scheme to JEF The character type of the converted string is set to 1Byte Parameters Name Type Description string string The SJIS encoded string to be converted Return Value string The converted string in JEF Example sjis2jef ABC gt ABC Monk Developer s Reference 527 SeeBeyond Proprietary and Confidential Chapter 21 International Conversion Functions sjis2jef_g Syntax sjis2jef_g string Description Converts data encoded using the SJIS character encoding scheme to JEF using a user defined custom Gaiji conversion table associated with this function The character type of
408. ype Description char character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is greater than or the same as char2 Otherwise returns f Examples char gt 3 char gt 3 char gt a char gt a char gt a 3 4 A a b gt gt Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 84 SeeBeyond Proprietary and Confidential Chapter 5 Character Functions char ci Syntax char ci charl char2 Description Determines if the two specified characters are equal This function is not case sensitive Parameters Name Type Description char1 character Initial character for the comparison char2 character Second character for comparison Return Value Boolean Returns t if char1 is the same as char2 Otherwise returns f Examples char ci 3 3 gt char ci 3 4 gt char ci a A gt char ci a a gt Note The return values may vary on different platforms due to the differences between ASCII and EBCDIC values Monk Developer s Reference 85 SeeBeyond Proprietary and Confidential Chapter 5 Charac
409. yte EBCDIC SJIS ASCII SeeBeyond Proprietary and Confidential Chapter 6 String Functions string type Syntax string type Description type string Sets the type of the specified string and returns the modified string Parameters Name Type Description type symbol One of the following 1Byte 2Byte 3Byte AByte ASCII EBCDIC EUC SJIS UCS2 string string A string Return Value string Returns a modified string Examples define mystring abcd string type mystring gt ASCII define yourstring string type EBCDIC mystring string type yourstring gt EBCDIC Monk Developer s Reference 151 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string type Syntax string type type string Description Tests whether specified string is of the specified type Parameters Name Type Description type symbol One of the following 1Byte 2Byte 3Byte AByte ASCII EBCDIC EUC SJIS UCS2 string string A string Return Value Boolean Returns t if the string is of the specified type Otherwise it returns f Examples define mystring abcd string type string type Monk Developer s Reference ASCII mystring gt t EBCDIC mystring gt f 152 SeeBeyond Proprietary and Confidential Chapter 6 String Functions string upcase Sy

Download Pdf Manuals

image

Related Search

Related Contents

User MANUAL - Avery Dennison  SES-ASA ENGINEERING Srl    Emerson ES1 Stereo System User Manual  Garland G Series 60" User's Manual  Sony VGN-NS190J/W Marketing Specifications  自動電子血圧計及び手動式電子血圧計における 測定誤差および禁忌  INSTALLATION MANUAL Cassette Type Series  Shuttle PC55 power supply unit  NEC V311X - VideoCorp  

Copyright © All rights reserved.
Failed to retrieve file