OMB + / TCL help

Hello

We have a large number of ETL mappings are deployed in each of our markets (we have different markets in the system)

STEP_1_CUSTOMER_DE
STEP_1_PRODUCT_DE
STEP_1_SALES_DE

and so on, this list is long.

When we add a new market today, copy us the entire ETL mappings and change the names of the new market code card

STEP_1_CUSTOMER_US example)

I started to create a script, but Im struggling a bit on the subsition of characters in the market code, I need to exchange the last 2 characters with my new variable

Something like this (like PLSQLish)

OMBCOPY MAPPING TO subStr ' $map_name' {"$map_name",-2, |} {' $market'}
So I support-2 steps in the chain and concat with my new code market
(Notice: statement above isn't correct)

Any help from anyone who knows what to do?

BR /.

Here's a way to do...

the market value IN
s the value "abcd_US".
Figure i [length of string $s]
incr I have-3
Define newstr [string $s $i range 0] $market

See you soon
David

Tags: Business Intelligence

Similar Questions

  • How to run a script using the OMB tcl

    I'm trying to run a tcl script using the following syntax in cmd

    D:\app\Username\product\11.1.0\db_2\owb\bin\win32 > ombplus.bat c:\t.tcl

    and I get the error

    OMB01001: Not connected to the repository.

    The tcl script was basically accompanied by a tutorial and I can't continue the OWB tutorial, unless I run it first

    Departure ombplus.bat

    You can then start the script with the source command such as

    source C:/t.tcl
    

    Be careful with the backslash (he is not C:\t.tcl)

    You must also add a connection before your script to OWB with the OMBCONNECT

    OMBCONNECT $UserLogin/$UserPassword@$DBHostName:$DBHostPort:$ServiceName USE REPOSITORY '$RepositoryUser' USE MULTIPLE_USER_MODE
    

    Replace the parameters $ with your own value.

    And then your script, you can disconnect:

    OMBDISCONNECT
    

    Success
    Nico

    Documentation is here for the 11g OMBCOMMAND
    http://download.Oracle.com/docs/CD/B28359_01/OWB.111/b31279/TOC.htm

  • Deployment of the OMB via the TCL script

    I need to deploy all of the mappings in a module in a new target database. I want the configuration settings for
    (1) default operating mode = "DΘfinir base" and for
    (2) default audit level = 'NONE '.
    on all maps.

    It seems that the default repository for these parameters (and I can't find where these default values can be managed) are
    (1) default operating mode = "Line in function from set failover" and
    (2) level of auditing by default = "ERROR DETAILS" on all the mappings.
    While when I deploy via the script all mappings have these settings (which we do not want) as it appears that OMB orders use these repository/user settings. Card via interface OWB deployment allows you to change the settings of configuration as requires it, but it's the long answer.

    These configuration settings can be overridden in the TCL script via OMBDEPLOY or OMBALTER or any other command OMB parameter so all mappings are deployed/configured as
    (1) default operating mode = "DΘfinir base" and for
    (2) level of auditing by default = 'NONE' on all the mappings.

    Thank you
    Dave.

    Hi Dave

    Yes, you can set the code generation and the non-use of the properties of mode from a script...
    OMBALTER MAPPING "$map" DEFINED the VALUES of PROPERTIES (GENERATION_MODE, DEFAULT_OPERATING_MODE) ("SET_BASED", "SET_BASED")

    So that you can loop around all the cards and do these things, there are also a few experts on the Exchange utility, allowing you to block of updates quickly
    http://www.Oracle.com/technology/products/warehouse/htdocs/experts/multi_config.zip

    The model is available from scripts, for example to a PLSQL mapping batch you can query the properties as follows:
    OMBDESCRIBE CLASS_DEFINITION 'BATCH_MAPPING' GET PROPERTY_DEFINITIONS

    See you soon
    David

  • OMB + help

    Hello

    Im trying to change mappings of 200 with a camo + script but I can't get enough, right Iv summer check manual omb, but I cannot make it work.


    I need to change all the mappings of my in my module to analyze sample table 10. I could have done this by hand but its nice to now how omb works also.

    Anyone have any bright ideas?

    See you soon

    If you want to change only the selected mappings and then place the mapping instead of the MAP1 MAP2

    set map {
    MAP1
    MAP2 }
    foreach  ba $map {
    OMBALTER MAPPING '$ba' SET PROPERTIES (ANALYZE_TABLE_SAMPLE_PERCENTAGE) VALUES (0)
    }
    OMBCOMMIT;
    

    If you want to change the mapping of all use them below a

    set map [OMBLIST MAPPINGS]
    foreach  ba $map {
    OMBALTER MAPPING '$ba' SET PROPERTIES (ANALYZE_TABLE_SAMPLE_PERCENTAGE) VALUES (0)
    }
    OMBCOMMIT;
    
  • OMB more creation of site Modules and import metadata?

    Hi all

    First I want to thank you all of you in advance for your time and concern. I have serious questions, and I'll ask them in 3 different parties because they are slightly different.

    How can I implement the steps below using the OMB more? If you could sample provided script and rating it will be highly appreciated.

    -Creating a location of Oracle for a schema and save it
    -Creating a Module and it relative to the location that was created.
    -Import of metadata for all objects in this schema in this module.

    For example,.

    You have a schema called ORACLE_SRC. I need to create the location and the module for this diagram and attach the other. Then I need to import all the metadata for all objects in the schema of this ORACLE_SRC. During this import all declarations of the reserve must be unchecked. And I need accomplish all of this by using more of the OMB and TCL scripts.

    -Creating a location not Oracle (SQL server 2005) to a database and save it
    -Creating a Module and it relative to the location that was created.
    -Import of metadata for all objects in this schema in this module.

    For example,.

    You have a schema called SQLSERVER_SRC. I need to create the location and the module for this diagram and attach the other. Then I need to import all the metadata for all objects in the schema of this SQLSERVER_SRC. During this import all declarations of the reserve must be unchecked. And I need accomplish all of this by using more of the OMB and TCL scripts.

    -Creation of a flat file to a folder structure location and save it
    -Creating a Module and it relative to the location that was created.

    For example,.

    You have a schema called FLATFILE_SRC. I need to create the location and the module for this diagram and attach the other.

    Thanks again for your help and concern!

    Kind regards

    Mike

    Script guide OWB Oracle 10 g 2 explains that they support only to import metadata of the tables, views and sequences.
    This should explain why your logic does not work for materialized views.

    See you soon,.

    Emrah

  • Run the installation script owbdemoinit.tcl get the error message

    Hi all:

    Once I changed owbdemoinit.tcl to adapt to my environment, and then run this script to OMB * Plus get the following message: could someone help?



    OMB + > source owbdemoinit.tcl
    wrong # args: should be "set varName. newValue? »

    Thank you very much

    Frank

    the seventh orcl sid value

    There may be some space between the use of the variable

    the sid orcl_seventh value

  • Windows 7 Professional disc (DVD) is missing the OMB. The disc is genuine?

    I bought 2 (two) DVD Windows 7 Professional (English) of different sellers on eBay. One is 32-bit, the other is 64-bit. Both discs have a pretty beautiful DGI (the inner mirror band), but does not have an OMB. Can someone confirm my suspicions (very high degree of confidence) that these discs are fake?

    Hi Marc,

    We strongly suggest that coordinate with our response Office for further assistance. They will help you check your multimedia software and help you with your concern

    Kind regards

  • TcL (Ping/Trace) validation script

    I'm looking for a script that I can use to help simplify the validation steps of my when I do work on my devices. I usually have anywhere from 2-10 IP addresses I need to validate (generally less than 5 although). My common steps are to ping to each of my IP addresses and I have run a traceroute to these IP to validate that they are initially accessible second then I need to validate the path that is taken is correct before my work and then after my work. So far, I'm here its a TcL script that I could use to Ping, but not trace. Ideally it would be nice if I could run single command line for each IP address and then when I press on enter the script will do the rest.

    a sample of what I want to do is to type:

    Name of the script: validate

    R1 (tcl) #validate x.x.x.x y.y.y.y z.z.z.z

    The Ping script, I found is underneath. I like it because it is not dynamic enough to what I was looking for, and I can't seem to make this work for the trace.

    R1 #tclsh

    R1 (tcl) #foreach address}

    + > (tcl) #172.12.23.2

    + > (tcl) #172.12.23.3

    + > (tcl) #172.12.23.4

    + > (tcl) #172.12.23.6

    + > (tcl) #172.12.23.7

    {+ > (tcl) #} {ping $address

    {+ > (tcl) #}

    Thank you

    Toby

    I'm also learning TCL and I can help some of this for you.

    The reason why you get an invalid argument is that you use argv that only accepts the arguments when you call a tcl script to run from a command line and you add arguments to the end to feed in the script dynamically.

    for example if you record a script called pingtest.tcl in the routers flash, then after the .tcl are your arguments that argv will soak in

    in otherwors ' command line arguments are stored in the named list ' argv '.

    Pingtest.Tcl 192.168.1.1 192.168.1.2 192.168.1.3 etc etc.

    I would recommend for now just turning it into a procedure that you can use in the shell interactive tcl on the router. After you do that then you can you forking by saving in flash or whatever.

    To turn it into a procedure, you can forget the argv stuff and just put the ip address directly in the proc argument.

    This means that when you call your proc name it will execute the body of the procedure using the argument in the proc.

    have a go at this. To make it cleaner, you can create a variable placeholder for all peoples to validate.

    What this will do, if the ping is successful, then it goes on to run the traceroute.

    However if the ping command then no traceroute is run and it will be the next IP in the list.

    EG-

    the value of intellectual property "192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.11.5 192.168.12.5 192.168.1.5 192.168.1.6 184.32.33.1 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10.

    ----------------------------------------------------------------------------

    Copy this into your interactive shell of routers

    ----------------------------------------------------------------------------

    the value of intellectual property "192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.11.5 192.168.12.5 192.168.1.5 192.168.1.6 184.32.33.1 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10.

    validate the proc {x} {}

    the value of counter 1

    puts "###########################"

    puts "# Running Ping Validation #

    puts "###########################\n\n"

    foreach IPAddress $x {}

    define pings [ping exec $ip_address]

    If {{[{!} $pings regexp]}}

    puts "Analysing Ping $counter IP - $ip_address.

    puts "Ping at $ip_address - \[SUCCESSFULL\]\n\n.

    puts "* Validating $ip_address via traceroute path."

    Traceroute $ip_address

    puts \n

    puts "\[COMPLETED\]\n\n".

    puts -----------------------------------------------------------

    puts \n\n

    } else {}

    puts "Analysing Ping $counter IP - $ip_address.

    puts "Ping at $ip_address - \[FAIL\]\n\n.

    puts -----------------------------------------------------------

    }

    incr counter

    }

    }

    validate $ip

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    END

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    -its worth worth noting the traceroute of tcl command is also finiky, if you use exec he is most likely don't work and just hang until all 30 jumps are doing. (potentially ios version to load that I read a few posts Josephs on similar problems with it)

    It would be easy to convert argv. Simply replace foreach IPAddress $argv and get rid of the procedure.

  • Socket TCL

    Hello friends,

    not so long ago, I discovered on the tcl scripts that can be executed on cisco devices and found it very exciting. So I got me a few books with basics of tcl and had some time now to study, now I want to explore more advanced topics, such as let's say client-server communication. I found examples and even a few explanations, but I just don't get it. Is there a nice guy here on this forum who could chew for me? Let's say for example I want to create a socket between client and server on one single router on another and I want the server and the client communicate via messages bidirectionaly (client sends a string then the server receives and prints to stdout and vice versa).

    Server-side is something like:

    proc OnConnectProcedure {channel clientaddr clientport} {}

    puts 'connected $clientaddr ".

    puts $channel ' Hello, customer.

    Close $channel

    }

    Socket - server OnConnectProcedure 9990

    vwait forever

    and this server will wait for connection on port 9990, print "connected x.x.x.x" and send client message hello to the customer. Right?

    What is on the other side?

    Set the server x.x.x.x

    the value sckt [socket $server 9990]

    Gets $sock str

    puts "server says: $str.

    close $sockChan

    But what about when a lot of questions come to mind... How messages should go the other way - from the client to the server, how and when can I use fileevent (readable, writable), fconfigure, synchronization option, when should I empty the channel? How and when should I wait for the expressions of folklore in the channel?

    I am very grateful for any help and thank you in advance.

    You can actually use examples directly to the communications server Tcl on IOS with some minor mods.  Take a look at

    http://www.tcl.tk/about/netserver.html .  What you need to do, is to wrap these scripts in the syntax of the EEM.  For example, on the side Server:

    ::cisco::eem::event_register_none

    namespace import ::cisco::eem::*
    namespace import ::cisco::lib::*

    array set arr_einfo [event_reqinfo]

    # Echo_Server --
    #     Open the server listening socket
    #     and enter the Tcl event loop
    #
    # Arguments:
    #     port     The server's port number

    proc Echo_Server {port} {
        set s [socket -server EchoAccept $port]
        vwait forever
    }

    # Echo_Accept --
    #     Accept a connection from a new client.
    #     This is called after a new socket connection
    #     has been created by Tcl.
    #
    # Arguments:
    #     sock     The new socket connection to the client
    #     addr     The client's IP address
    #     port     The client's port number
         
    proc EchoAccept {sock addr port} {
        global echo

    # Record the client's information

    puts "Accept $sock from $addr port $port"
        set echo(addr,$sock) [list $addr $port]

    # Ensure that each "puts" by the server
        # results in a network transmission

    fconfigure $sock -buffering line

    # Set up a callback for when the client sends data

    fileevent $sock readable [list Echo $sock]
    }

    # Echo --
    #     This procedure is called when the server
    #     can read data from the client
    #
    # Arguments:
    #     sock     The socket connection to the client

    proc Echo {sock} {
        global echo

    # Check end of file or abnormal connection drop,
        # then echo data back to the client.

    if {[eof $sock] || [catch {gets $sock line}]} {
         close $sock
         puts "Close $echo(addr,$sock)"
         unset echo(addr,$sock)
        } else {
         puts $sock $line
        }
    }

    Echo_Server $arr_einfo(arg1)

    Save as EEM Tcl font (assuming that this script lives in flash: / policies such as no_echo_server.tcl on the device):

    Event Manager user Directorystrategie flash: / policies

    political event manager no_echo_server.tcl

    Then run it from the EXEC mode:

    Manager of event executed no_echo_server.tcl 3333

    That starts a socket listening on tcp/3333 on this unit.

    On the client machine, create a script named no_echo_client.tcl with:

    ::cisco::eem::event_register_none

    namespace import ::cisco::eem::*
    namespace import ::cisco::lib::*

    array set arr_einfo [event_reqinfo]

    #
    # A client of the echo service.
    #

    proc Echo_Client {host port} {
        set s [socket $host $port]
        fconfigure $s -buffering line
        return $s
    }

    set sock [Echo_Client $arr_einfo(arg1) $arr_einfo(arg2)]
    puts $sock "Hello!"
    gets $sock response
    puts "Response is $response"

    Yet once, register for this policy, then run it from EXEC mode with:

    Manager of event executed no_echo_client.tcl 10.1.1.1 3333

    10.1.1.1 pointing to the IP address of the first (that is, the server) device.

    That's all.  This is a simple client/server example on IOS with EEM.

  • port-securty - EEM tcl access violation

    Hi all!

    I have problem with regexp expression inside my script.

    I need to have two variables, one for PortID i.e. Ge, Fe, Ethernet and the other the MAC address which is a cause of breach of policy, where events happen I see that my regexp is not workin. Please help me or point in the right direction)

    =

    21:45:23.516 Jul 13: [fh_event_reqinfo_cmd]
    * 21:45:23.516 Jul 13: [fh_process_event_reqinfo]
    * 21:45:23.516 Jul 13: [fh_event_reqinfo_cmd] event_trigger_num 1 19 21 event_pub_sec 1468446323 event_pub_msec 160 event_pub_time 1468446323.160 job_id event_id event_type {41} event_type_string {syslog} event_severity {gravity-major} msg_count {1} {critical} priority msg {}
    {* 21:45:23.161 Jul 13: % PORT_SECURITY-2-PSECURE_VIOLATION: security breach took place, caused by MAC address aabb.cc00.0100 on port Ethernet0/0.} timestamp sequence {} {* 21:45:23.161 Jul 13} mnemonic installation {PORT_SECURITY} {PSECURE_VIOLATION}
    * 21:45:23.517 Jul 13: [fh_cli_debug_cmd]
    * 21:45:23.517 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): IN: switch > activate
    * 21:45:23.517 Jul 13: [fh_tty_write_cmd]
    * 21:45:23.517 Jul 13: [fh_tty_write_cmd] cmd = enable, cmdsize = 6
    * 21:45:23.517 Jul 13: [fh_sys_reqinfo_routername_cmd]
    * 21:45:23.535 Jul 13: [fh_tty_read_cmd]
    * 21:45:23.535 Jul 13: [fh_tty_read_cmd] read not ready
    * 21:45:23.638 Jul 13: [fh_tty_read_cmd]
    * 21:45:23.638 Jul 13: [fh_tty_read_cmd] size = 9
    * 21:45:23.638 Jul 13: [fh_tty_prompt_cmd]
    * 21:45:23.738 Jul 13: [fh_cli_debug_cmd]
    * 21:45:23.738 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): OUT: switch #.
    * 21:45:23.738 Jul 13: [fh_cli_debug_cmd]
    * 21:45:23.738 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): IN: terminal #configure switch
    * 21:45:23.738 Jul 13: [fh_tty_write_cmd]
    * 21:45:23.738 Jul 13: [fh_tty_write_cmd] cmd = configure terminal, cmdsize = 18
    * 21:45:23.739 Jul 13: [fh_sys_reqinfo_routername_cmd]
    * 21:45:23.750 Jul 13: [fh_tty_read_cmd]
    * 21:45:23.750 Jul 13: [fh_tty_read_cmd] read not ready
    * 21:45:23.860 Jul 13: [fh_tty_read_cmd]
    * 21:45:23.860 Jul 13: [fh_tty_read_cmd] size = 80
    * 21:45:23.860 Jul 13: [fh_tty_prompt_cmd]
    * 21:45:23.967 Jul 13: [fh_cli_debug_cmd]
    * 21:45:23.967 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): OUT: enter configuration commands, one per line. End with CNTL/Z.
    * 21:45:23.967 Jul 13:
    Switch #% HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): OUT: Switch (config) #.
    * 21:45:23.967 Jul 13: [fh_cli_debug_cmd]
    * 21:45:23.967 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): IN: Switch (config) #file quiet quickly
    * 21:45:23.967 Jul 13: [fh_tty_write_cmd]
    * 21:45:23.967 Jul 13: [fh_tty_write_cmd] cmd = quiet prompt file, cmdsize = 17
    * 21:45:23.972 Jul 13: [fh_sys_reqinfo_routername_cmd]
    * 21:45:23.992 Jul 13: [fh_tty_read_cmd]
    * 21:45:23.992 Jul 13: [fh_tty_read_cmd] read not ready
    * 21:45:24.100 Jul 13: [fh_tty_read_cmd]
    * 21:45:24.100 Jul 13: [fh_tty_read_cmd] size = 17
    * 21:45:24.100 Jul 13: [fh_tty_prompt_cmd]
    * 21:45:24.171 Jul 13: % LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed State to down
    * 21:45:24.200 Jul 13: [fh_cli_debug_cmd]
    * 21:45:24.200 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): OUT: Switch (config) #.
    * 21:45:24.200 Jul 13: [fh_cli_debug_cmd]
    * 21:45:24.200 Jul 13: % HA_EM-6-LOG: test.tcl: DEBUG (cli_lib): IN: Switch (config) #interface IDE oucederomsurlesecondport Ethernet0/0.
    * 21:45:24.200 Jul 13: [fh_tty_write_cmd]
    * 21:45:24.200 Jul 13: [fh_tty_write_cmd] cmd = interface Ethernet0/0 IDE oucederomsurlesecondport., cmdsize = 30
    * 21:45:24.200 Jul 13: [fh_sys_reqinfo_routername_cmd]
    * 21:45:24.218 Jul 13: [fh_tty_read_cmd]
    * 21:45:24.218 Jul 13: [fh_tty_read_cmd] read not ready
    * 21:45:24.323 Jul 13: [fh_tty_read_cmd]
    * 21:45:24.323 Jul 13: [fh_tty_read_cmd] read not ready
    * 21:45:24.426 Jul 13: [fh_tty_read_cmd]
    * 21:45:24.426 Jul 13: size [fh_tty_read_cmd] =

    ==

    : model cisco::eem:event_register_syslog ' % PORT_SECURITY-2-PSECURE_VIOLATION: "maxrun 600
    import namespace: cisco::eem: *.
    import namespace: cisco::lib: *.

    Table game rn [sys_reqinfo_routername]
    the value of hostname $rn (routername)
    Set the SERVER "192.168.116.1".
    set the 'nuk.
    set PASSWORD "malina".

    If {{[result catch {cli_open}]}
    Output 1
    } else {}

    Table game arr_einfo [event_reqinfo]
    Set _regexp_result [regexp {caused by MAC address (. +) on the port (. +).} $arr_einfo (msg) MAC PORT]

    Try this one.

    Table game arr_einfo [event_reqinfo]

    Set the msg '$arr_einfo (msg).

    If [regexp {caused by MAC address ([0 - 9 - f\ a.] +) on the port ([a-zA-Z0-9 /-.] +)} $msg game PORT MAC] {}

    } else {}

    action_syslog msg 'Unable to parse syslog message.

    }

  • TCL Script work until it gets recorded

    Hello!

    I'm fumbling my way through TCLtrying to meet a need.

    I had an EEM script that would daily pull into a file via TFTP and apply the content of this file. It's the different ACL update daily automatically. It worked well except that every day, he created a version of config, meaing my off the Strip frames and my LMS withdrew in a new copy of the configuration of all day even when nothing has really changed, but the ACL file has been updated. The most effective use of resources.

    I created a TCL script that does the following. Takes an argument passed, uses to create a path, and download a Flash file.

    He MD5s queue and compares it to the eve of the downloaded file's MD5. If the MD5s are equal, does nothing and quit unexpectedly. If they are different, the commands in the file are applied and removed in flash.

    The script works very well using tclsh:

    VID - RTR # tcltest.tcl VID - ACL.txt
    VID - ACL.txt

    VID - RTR #.
    23507465: 16:55:12.669 on April 26: signature of downloaded file ACL is identical to the previous. No changes. Deletion of source file

    I'm trying to save the script and most of the commands does not work. More specifically, the exec commands. I managed to get the hourly part of it worked to test, I used this:

    : cisco::eem:event_register_none

    What I've read, to do with the script being not approved and running in Safe-TCL mode. I ask for help. How can I convert this script in a script which will be executed via cron per day and get the same results?

    Define ACLFile «»
    Set oldmd5 «»

    If {$: argc > 0} {d
    Set ACLFile $argv
    } else {}
    does 'No success of ACL, outgoing Filename'
    breaking
    }

    puts $argv

    exec "enable."
    exec ' copy tftp://192.168.101.179/$ACLFile flash:

    If {[file exists "flash: $ACLFile ']} {}

    } else {}
    puts "file not downloaded, an abortion!"
    breaking
    }

    If {!} [There is file 'flash: md5old.txt']} {}
    Define sysout [open "syslog:" 'w']
    puts $sysout {file not found, variable settting = 0}
    close $sysout
    Set oldmd5 "0".
    } else {}
    set fin [open "flash: md5old.txt' 'r']
    Set oldmd52 [read $fIN]
    Set oldmd5 [string trim $oldmd52]
    close $fIN
    }

    the value fo [open "flash: md5old.txt' 'w']
    adjust the input setting [exec "check /md5 flash: $ACLFile ']
    All RegExp - nocase {= ([a-f0-9] {32})} $input matched md5
    #puts ' NewMD5: ^ $md5 ^ '.
    puts $fo $md5
    close $fo

    If {[string equal $oldmd5 $md5]}}
    Define sysout [open "syslog:" 'w']
    puts $sysout {ACL downloaded signature file is the same as the previous one.} No changes. Deletion of source file}
    close $sysout
    exec "delete flash: $ACLFile.
    } else {}
    Define sysout [open "syslog:" 'w']
    puts $sysout {file ACL found updates. Applying the config and removing the file source...}
    exec ' copy flash: running-config $ACLFile.
    exec "copy run start".
    close $sysout
    exec "delete flash: $ACLFile.
    }

    This command is interactive.  Then you need to either set "fast file calm" or interact with the guests using cli_read_pattern and cli_write.

    cli_write $cli (fd) ' copy tftp://192.168.101.179/$ACLFile flash:

    cli_read_pattern $cli (fd) '192.168.101.179 '.

    cli_write $cli (fd) '\r '.

    ...

    Essentially, repeat using cli_write and cli_read_pattern on the lookout for trends in the guests that you get by doing the command manually until you return to the EXEC prompt IOS.

  • Unable to wait 30 seconds and then call the TCL Script as Action?

    Hello and good afternoon all!

    I was browsing through different threads and did some research and I am unable to get my applet to wait 30 seconds and then call a script TCL to a succession of 'action '.  Here is the Basic script I am trying to run:

    Event Manager applet track-loopback1
    Event track 10 down state
    command action 1.0 cli 'enable '.
    Action 1.1, «config t» cli command
    Action 1.3 cli command "event manager applet-counting backwards.
    action 1.4 cli command 'event timer countdown 30 '.
    action 1.5 cli command "action 1.0 wait 30.
    Action 1.6 cli command "end".
    Action 1.7 cli command "tclsh Loopback1 - Notification.tcl.

    The goal of this applet is simply wait interface Loopback1 go down, and then launch the applet "-Countdown ' which waits 60 seconds before calling end my TCL script.  The pattern of ' countdown time 30 "and the" action 1.0 wait 30 "is my (lack of?".  :-)) understand that after counting 30 I need to a trial of the action - but I'm not 100% clear on this?  Ironically, he does, in fact, call the TCL script, it does not wait 30 seconds.  My current workaround is to simply throw a statement "after 30000' in the TCL script, but I'm really curious to know why it does not work as expected (well, as I expected to work anyway!).  Any help would be GREATLY appreciated.  Thank you very much!

    See you soon,.

    Travis

    See my response to https://supportforums.cisco.com/discussion/13009231/eem-applet-wont-fire... .  What you do not work, so you should not call tclsh to EEM anyway.

  • Problems with failure of script TCL AS5350XM

    Hi all

    We are facing problems using AS5350XM as an IVR server to our network, where it is used as a server MGCP with Cisco BTS 10200 to meet the demand of the customer. What we have seen is the gateway that struck after a while, and the error in the debug level is

    Jun 11 10:28:16.260: / / 5550 / / AFW_: / AFW_FSM_Drive: Tcl_Eval driving WSF inside modulespace Tcl code = 1 code = ERROR

    16.260: TCL script failure

    Result:

    Illegal parameters. Ord1 and Ord2 are the same 55495550

    :<191>198118:079727: 10:28:16.260 Jun 11: TCL script failure errorInfo:

    <191>198119: illegal parameters. Ord1 and Ord2 are the same 55495550

    <191>198120: when running

    <191>198121: 'connection create $incLeg $outLeg '.

    <191>198122: (procedure "do_ignore" line 30)

    <191>198123: called from inside

    <191>198124: "do_ignore."

    This shows the failure of TCL script. Your help means a lot to us will wait for your help.

    Concerning

    Yasser yasin

    Start the update of IOS.

    You can also use 'catch' to avoid crashing on "create a link".

  • OMB + sending output to the log file (no script)?

    Hello

    When you run the script OMB + below, the syntax rather than the output is sent to the log file.

    I'm a bit of an OMB + newb - is it possible to remove the code and just see the results in the newspaper?  It seems like it should be obvious, but I can't get out.

    Any help gratefully received!

    Thank you

    Charlie

    Set OMBLOG C:/DOCUME~1/User1/Desktop/OWB11/OMBSCR~1/get_deployable.log

    OMBCC "DWH_DEVELOPMENT".

    the value of mods [OMBLIST ORACLE_MODULES]

    foreach $mods {} mod

    OMBCC ' / DWH_DEVELOPMENT / $mod.

    define tabs [OMBLIST TABLES]

    foreach $tabs {} tab

    puts "$mod $tab [OMBRETRIEVE TABLE '$tab' (DEPLOYABLE) GET PROPERTIES]"

    }

    }

    OMBCC ' / '.

    OMBCC "DWH_DEVELOPMENT".

    the value of mods [OMBLIST ORACLE_MODULES]

    foreach $mods {} mod

    OMBCC ' / DWH_DEVELOPMENT / $mod.

    define tabs [OMBLIST VIEWS]

    foreach $tabs {} tab

    puts "$mod $tab [PROPERTIES of OMBRETRIEVE VIEW '$tab' (DEPLOYABLE) GET]."

    }

    }

    OMBDISCONNECT

    Hello

    I don't know if I understand what you want to achieve. If by just seeing the results in the paper mean you saw that puts the output of the order, you can use another file to write the output (I wouldn't leave out the OMBLOG file, it can be handy when you are trying to debug an error). You can use this piece of code:

    Set p_logfile "C:\\my directory\\my file.log.

    Set v_usefile [open "$p_logfile" +]

    puts $v_usefile 'your message '.

    close $v_usefile

    I like to use double quotas in case the file has spaces in its path or name, if there is no space, quotas are not necessary. You can bring order to open at the beginning of your script and the file close to the end, although if your script fails, you will need a new log file, because the one you were using will get blocked until you restart your computer. For complex scripts, I have a procedure that I give the word to write my messages in a file that I keep in a global variable, this procedure opens the file, write the message, and then closes the file. Once get you it working, you don't get the locked log file because the script that you run fails.

    Concerning

    Ana GH

  • I have a break next to my black cloud icon symbol creative. Why and what it means? I need to delete .omb file 1 / 3 starts. Frustrating!

    I have a break next to my black cloud icon symbol creative. Why and what it means? I need to delete .omb file 1 / 3 starts. Frustrating!

    In addition, there is nothing in my OOBE folder. Usually, it rebuilt itself once its content is deleted and I restart the computer.

    Since this is an open forum, not Adobe support... you must contact Adobe personnel to help

    Chat/phone: Mon - Fri 05:00-19:00 (US Pacific Time)<=== note="" days="" and="">

    Don't forget to stay signed with your Adobe ID before accessing the link below

    Creative cloud support (all creative cloud customer service problems)

    http://helpx.Adobe.com/x-productkb/global/service-CCM.html

Maybe you are looking for