Eem script monitor routing table - multiple entries into 1 email

I have the following script running to report on routing table changes
event manager applet route-table-monitor
event routing network 0.0.0.0/0 ge 1
action 0.5 set msg "Route changed: Type: $_routing_type, Network: $_routing_network, Mask/Prefix: $_routing_mask, Protocol: $_routing_protocol, GW: $_routing_lastgateway, Intf: $_routing_lastinterface"
action 1.0 syslog msg "$msg"
action 2.0 cli command "enable"
action 4.0 info type routername
action 5.0 mail server "10.*.*.*" to "roger.perkin@****" from "Switch1" subject "Routing Table Change" body "$msg  $_cli_result"
It works perfectly however if multiple routes change I get multiple emails.
Last night we had a site go out and I got about 20 separate email for each subnet change.
What I would like to do is get this script to take all routes changed in a 1 minute interval and then output them into an email.
Not quite sure how I would go about that?
Thanks
Roger
Currently studying for my CCIE and just started on EEM, have not done much scripting before so this is all good stuff to know.

You can't do this with one policy.  However, you could accomplish this with a timer policy that will batch up the pending updates, though.  Something like this would work.
event manager applet route-table-monitor event routing network 0.0.0.0/0 ge 1 action 0.5 set msg "Route changed: Type: $_routing_type, Network:  $_routing_network, Mask/Prefix: $_routing_mask, Protocol:  $_routing_protocol, GW: $_routing_lastgateway, Intf:  $_routing_lastinterface" action 0.6 syslog msg "$msg" action 1.0 handle-error type ignore action 2.0 context retrieve key RTRCTXT variable msgs action 3.0 if $_error ne FH_EOK action 4.0  set msgs "$msg\n" action 5.0 else action 6.0  append msgs "$msg\n" action 7.0 end action 8.0 handle-error type exit action 9.0 context save key RTRCTXT variable msgs!event manager applet route-table-batcher event timer watchdog time 60 action 1.0 handle-error type ignore action 2.0 context retrieve key RTRCTXT variable msgs action 3.0 if $_error eq FH_EOK action 4.0  info type routername action 5.0  mail server "10.*.*.*" to "roger.perkin@****" from "$_info_routername" subject "Routing Table Change" body "$msgs" action 6.0 end action 7.0 handle-error type exit

Similar Messages

  • Can I combine multiple entries into a single statement?

    I am relatively new to Live Cycle so forgive my lack of technical wording.
    I would like to use multiple entry fields to fill in a statement.
    For example:
    I'd like the user to see this:
    Target Dropdown     Endo Dropdown     Type Dropdown     Version # Entry     Date 1 Entry     Date 2 Entry
    and then have the form merge all that together into a line that looks like this:
    RS_(target)_(endo)_(type)\(version)_(date)_(date)
    Preferably without repeating information on the page as we'll have multiple of these entries and the page will get hectic quick.
    Is this possible?
    I first had each dropdown in individual table fields, but due to regulations we follow the entries need to be merged without spaces.
    I always have a backup if this can't be done, but any help is appreciated.

    Not sure where you're sending it, but if you have a global variable named "bob".
    bob.value = "RS_"+target.rawValue+"_"+endo.rawValue+"_"+type.rawValue+"\"+version.rawValue+"_"+date.r awValue+"_"+date2.rawValue;
    Something like that should work.

  • Making Multiple Entries Into iTunes Library Columns

    Is there any way to enter the same data for multiple songs into a column I have selected for my iTunes library? For instance I would like to subdivide my jazz songs into categories like Bop, Bosa Nova and Progressive. I added the columns "Category" and "Description" to my library by selecting View>View Options and checking the boxex for Category and Description. Those columns now appear in my library and I can enter data for one song at a time by clicking on the column for that song. However, I cannot find a way to enter data for multiple songs in those columns at one time. I can highlight multiple songs and go to File>GetInfo>Info to enter the same data for the selected songs but only for the fields included in the Info dialogue box. The new columns I selected, "Category" and "Description", were not added to the Info dialogue box so I cannot modify this data there. A simple solution from Apple would seem to be to automacally add all selected fields to the GetInfo>Info dialogue box, but that option does not seem to exist at this time. Does anyone know how I can enter the same data in multiple songs in these additional columns all at once. Thanks
    HP Pavillion dv1000   Windows XP Pro   iTunes version 7.0.2.16

    OK, I'm done writing the app.
    Go to my iTunes scripts page and follow the link there for downloading Perl (if you don't have it already). Install Perl, and then download my itunes_info script. Select the track(s) in iTunes, then run the script to edit the Comment and Description fields for multiple (or single) tracks. You can get a freeware utility similar to GhostTyperXML to attach the script to a key combo if you're going to be doing this a lot.
    In addition to allowing you to edit the comment and description fields, it will allow also you to rate songs using 1/2 stars (e.g. 2.5 stars).
    Sorry, you cannot use it to change the artwork.

  • Add Internal Table Multiple Lines into Single Line

    Hi Gurus,
    Before post this thread, i hav searched SDN but i could not find the exact solution.
    I hav an internal table, i want to add the records of this internal table into single line (string variable), separated by tab operator.
    can any one give me suggestions to solve this?
    Thanks
    Meher

    Hi,
    Program should be some thing like below:
    REPORT  ZTEST36.
    *-- test program to concatenate internal table to string.
    DATA:STRING TYPE STRING.
    TYPES:BEGIN OF TY_ITAB,
          WEEK(15),
          END OF TY_ITAB.
    DATA:GT_ITAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'SUNDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'MONDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'TUESDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'WEDNESDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'THURSDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'FRIDAY'.
    APPEND GT_ITAB.
    CLEAR GT_ITAB.
    GT_ITAB-WEEK = 'SATURDAY'.
    APPEND GT_ITAB.
    CLEAR:GT_ITAB, STRING.
    LOOP AT GT_ITAB.
      CONCATENATE STRING '/' GT_ITAB INTO STRING.
    ENDLOOP.
    WRITE: / STRING.
    Regards
    Ramesh.
    Moderator message - Ramesh - please use code tags
    Edited by: Rob Burbank on Jul 3, 2009 12:26 PM

  • Updating multiple entries into one field

    Hi i have a legal directory in which when a solicitor
    registers they can select as many or as few areas of law they want.
    I have all of the areas in a check box
    <input type="checkbox" name="areaoflaw" value="Agricultural
    Law">
    <input type="checkbox" name="areaoflaw" value="Aviation
    Law">
    <input type="checkbox" name="areaoflaw" value="Charity
    Law">
    <input type="checkbox" name="areaoflaw" value="Civil
    Liberties & Human Rights">
    <input type="checkbox" name="areaoflaw" value="Computer
    & IT Law">
    <input type="checkbox" name="areaoflaw"
    value="Construction & Civil Engineering">
    <input type="checkbox" name="areaoflaw" value="Consumer
    Problems">
    <input type="checkbox" name="areaoflaw"
    value="Conveyancing (non-UK)">
    <input type="checkbox" name="areaoflaw" value="Corporate
    Finance">
    <input type="checkbox" name="areaoflaw" value="Dental
    negligence">
    <input type="checkbox" name="areaoflaw" value="Debt
    Collection">
    <input type="checkbox" name="areaoflaw" value="Defamation
    Law">
    <input type="checkbox" name="areaoflaw" value="European
    Law">
    <input type="checkbox" name="areaoflaw" value="Education
    Law">
    <input type="checkbox" name="areaoflaw"
    value="Environmental Law">
    <input type="checkbox" name="areaoflaw"
    value="Enfranchisement & Lease extensions">
    <input type="checkbox" name="areaoflaw" value="Fraud">
    <input type="checkbox" name="areaoflaw" value="Insurance
    Miss-selling">
    <input type="checkbox" name="areaoflaw"
    value="Intellectual Property">
    <input type="checkbox" name="areaoflaw"
    value="Landlord">
    <input type="checkbox" name="areaoflaw" value="Tenant">
    <input type="checkbox" name="areaoflaw" value="Licensing
    Law">
    <input type="checkbox" name="areaoflaw" value="Media &
    Entertainment Law">
    <input type="checkbox" name="areaoflaw"
    value="Mediation">
    <input type="checkbox" name="areaoflaw" value="Mental
    Health">
    <input type="checkbox" name="areaoflaw" value="Motoring
    Offences">
    <input type="checkbox" name="areaoflaw" value="Planning
    Law">
    <input type="checkbox" name="areaoflaw"
    value="Professional Negligence">
    <input type="checkbox" name="areaoflaw"
    value="Pharmaceutical Claims">
    <input type="checkbox" name="areaoflaw" value="Regulatory
    Investigations">
    <input type="checkbox" name="areaoflaw" value="Sports
    Claims">
    <input type="checkbox" name="areaoflaw" value="Shipping
    Law">
    <input type="checkbox" name="areaoflaw" value="Tax
    Law">
    <input type="checkbox" name="areaoflaw" value="Travel
    & Tourism">
    <input type="checkbox" name="areaoflaw" value="Welfare
    Benefits">
    When they submit i want it to insert as many areas as they
    have selected but it only submits the last one checked.
    <cfquery name="insertsolicitor" datasource="law4essex"
    dbtype="odbc">
    insert into
    solicitors(companyname,contactname,address1,address2,town,county,postcode,tel,fax,email,w ebsite,areaoflaw)Values('#companyname#','#contactname#','#address1#','#address2#','#town#' ,'#county#','#postcode#','#tel#','#fax#','#email#','#website#','#areaoflaw#')
    </cfquery>
    Does anyone how i can add all or a few of them depending what
    is selected. they should all go into the area of law field in the
    database

    cybertek23, I'd seriously reconsider doing an INSERT INTO
    for these fields as a comma delimited list. This will undoubtedly
    cause nothing but headaches in the near future. A better way might
    be use each checkbox fieldname as its own column name in the dB.
    In any case, see if this works for you:
    <input type="checkbox" name="areaoflaw"
    value="Agricultural Law">
    <input type="checkbox" name="areaoflaw" value="Aviation
    Law">
    <input type="checkbox" name="areaoflaw" value="Charity
    Law">
    <input type="checkbox" name="areaoflaw" value="Civil
    Liberties & Human Rights">
    <input type="checkbox" name="areaoflaw" value="Computer
    & IT Law">
    <input type="checkbox" name="areaoflaw"
    value="Construction & Civil Engineering">
    <input type="checkbox" name="areaoflaw" value="Consumer
    Problems">
    <input type="checkbox" name="areaoflaw"
    value="Conveyancing (non-UK)">
    <input type="checkbox" name="areaoflaw" value="Corporate
    Finance">
    <input type="checkbox" name="areaoflaw" value="Dental
    negligence">
    <input type="checkbox" name="areaoflaw" value="Debt
    Collection">
    <input type="checkbox" name="areaoflaw" value="Defamation
    Law">
    <input type="checkbox" name="areaoflaw" value="European
    Law">
    <input type="checkbox" name="areaoflaw" value="Education
    Law">
    <input type="checkbox" name="areaoflaw"
    value="Environmental Law">
    <input type="checkbox" name="areaoflaw"
    value="Enfranchisement & Lease extensions">
    <input type="checkbox" name="areaoflaw" value="Fraud">
    <input type="checkbox" name="areaoflaw" value="Insurance
    Miss-selling">
    <input type="checkbox" name="areaoflaw"
    value="Intellectual Property">
    <input type="checkbox" name="areaoflaw"
    value="Landlord">
    <input type="checkbox" name="areaoflaw" value="Tenant">
    <input type="checkbox" name="areaoflaw" value="Licensing
    Law">
    <input type="checkbox" name="areaoflaw" value="Media &
    Entertainment Law">
    <input type="checkbox" name="areaoflaw"
    value="Mediation">
    <input type="checkbox" name="areaoflaw" value="Mental
    Health">
    <input type="checkbox" name="areaoflaw" value="Motoring
    Offences">
    <input type="checkbox" name="areaoflaw" value="Planning
    Law">
    <input type="checkbox" name="areaoflaw"
    value="Professional Negligence">
    <input type="checkbox" name="areaoflaw"
    value="Pharmaceutical Claims">
    <input type="checkbox" name="areaoflaw" value="Regulatory
    Investigations">
    <input type="checkbox" name="areaoflaw" value="Sports
    Claims">
    <input type="checkbox" name="areaoflaw" value="Shipping
    Law">
    <input type="checkbox" name="areaoflaw" value="Tax
    Law">
    <input type="checkbox" name="areaoflaw" value="Travel
    & Tourism">
    <input type="checkbox" name="areaoflaw" value="Welfare
    Benefits">
    <!--- ON THE PROCESSING PAGE, CREATE A VAR THAT'S BLANK
    --->
    <cfset listone = "">
    <cfif isDefined("FORM.areaoflaw")>
    <cfloop list="#FORM.areaoflaw#" index="i">
    <!--- APPEND EACH CHECKBOX VALUE THAT WAS SUBMITTED
    --->
    <cfset listone = ListAppend(listone, "#i#")>
    </cfloop>
    </cfif>
    <cfquery name="insertsolicitor" datasource="law4essex"
    dbtype="odbc">
    INSERT INTO solicitors
    (companyname,contactname,address1,address2,town,county,postcode,tel,fax,email,website,are aoflaw)
    VALUES
    ('#companyname#','#contactname#','#address1#','#address2#','#town#','#county#','#postcode #','#tel#','#fax#','#email#','#website#',
    '#i#')
    </cfquery>
    ------------------------------------------------------------------------------------------ --------------------------

  • Syslogging routing table updates

    I have a stable network that rarely has any routing changes. I would like any routing table updates to be sent to a logging server or possibly generate a trap so I am aware of the changes. Currently I use a Debug ip routing command and get the output sent. Is there another way to accomplish this without using the debug command?
    Keith

    This will depend on your version of IOS.  Newer versions of IOS include the Embedded Event Manager version 3.0.  This version of EEM includes a route table event detector that can be used to spot routing updates.  You can try something like this:
    event manager applet routing-changes event routing type all network 0.0.0.0/0 ge 1 action 1.0 syslog msg "Routing table changed; Type: $_routing_type, Network: $_routing_network, Mask: $_routing_mask, Protocol: $_routing_protocol, Gateway: $_routing_lastgateway, Interface: $_routing_lastinterface"

  • Fiiling multiple entries in model node.

    Hi Experts,
    I am new to wdjava,i have query please help me on this:
    In my RFC(General reimbursement) i need to fill table(multiple entries), which is described under table tab.When i execute that filling the data in table, my entries gets saved in the backend.
    My issue is how to set multiple enteris in the model node(table which is required to be filled before execution).Moreover do i need to set this model node to context node .(zhr_welfare_rem_input).
    i am also using the addelement() method in loop but that is overwriting my previous data and thus outcome is single data.
    Regards:
    somya

    Hi Tony,
    I tried using the method as mentioned by you.
    The code in use is as mentioned below :
    Zess_Emp_Welfare_Input inpNew= new Zess_Emp_Welfare_Input();
    IPrivateEmployeeWalfareOverView.IU_DetailsNode nunode = wdContext.nodeU_Details();     
    for(int i=size-1;i>0;i--)
    Zwelfare_Details inp1 = new Zwelfare_Details();
    IPrivateEmployeeWalfareOverView.IU_DetailsElement nuele = wdContext.nodeU_Details().createU_DetailsElement(inp1);
              if(lead==i || wdContext.nodeU_Details().isMultiSelected(i))
                         nuele.setAmount(new BigDecimal(wdContext.nodeCa_PPTE_INS().getCa_PPTE_INSElementAt(i).getAmount()));
         nuele.setBer_Type("PPTE");
         nuele.setBill_Date(wdContext.nodeCa_PPTE_INS().getCa_PPTE_INSElementAt(i).getBill_Date());
         nuele.setBill_No(wdContext.nodeCa_PPTE_INS().getCa_PPTE_INSElementAt(i).getBill_No());
         nuele.setParticulars(wdContext.nodeCa_PPTE_INS().getCa_PPTE_INSElementAt(i).getParticulars());
         nuele.setZmonth("AUG");
         nuele.setZyear("2009");
         nuele.setMandt("180");
         nuele.setPernr(wdContext.currentOutputElement().getE_Pernr());                          
    nunode.addElement(i,nuele);      
    inpNew.setMode("INS");
         inpNew.setI_Year("2009");
         wdContext.nodeZess_Emp_Welfare_Input().bind(inpNew);
    try
         wdContext.currentZess_Emp_Welfare_InputElement().modelObject().execute();
         wdContext.currentZess_Emp_Welfare_InputElement().modelObject().modelInstance().disconnectIfAlive();
         wdComponentAPI.getMessageManager().reportSuccess("Mahesh567");
    catch(Exception ex)
         wdComponentAPI.getMessageManager().reportSuccess("Mahesh");
    Then I execute my RFC.
    RFC name is  Zess_Emp_Welfare
    Model node in which it needs to be inserted is U_Details.
    The structure for U_Details is Zwelfare_Details.
    Please do let me know the solution at the earliest.
    Thanks and Regards,
    Soumyadeep Ghosh.

  • Multiple entries in my calendar

    Hello:
    I have some how gotten multiple entries into my calendar.  Thanksgiving day has 6 entries, Mother's day about 5 - that kind of thing.  I did NOT import these dates multiple times.  Events I have created, either recurring or single, have also some how duplicated themselves.
    I do not share a calendar with any one, it's just my stuff.  The calendar is so messed up, what I'd like to do is some how select everything going forward and delete it all and start again.  Deleting everything one at a time will drive me postal.
    Thanks!

    Hi,
    I wrote an application called iCal Dupe Deleter to fix this sort of problem. See www.nhoj.co.uk/icaldupedeleter
    The application is free to use, but I ask for donations if you find it useful.
    Best wishes
    John M
    As I sell software on my site and ask for donations, the Apple Support Communities Use Agreement requires that I state that I may receive some form of compensation, financial or otherwise, from my recommendation or link.

  • Naming Networks in EEM route table monitor

    I have the following EEM applet running on one of my core devices to monitor any changes in the routing table.
    event manager applet route-table-monitor
    event routing network 0.0.0.0/0 ge 1
    action 0.5 set msg "Route changed: Type: $_routing_type, Network: $_routing_network, Mask/Prefix: $_routing_mask, Protocol: $_routing_protocol, GW: $_routing_lastgateway, Intf: $_routing_lastinterface"
    action 1.0 syslog msg "$msg"
    action 2.0 cli command "enable"
    action 3.0 info type routername
    action 4.0 mail server "*.*.*.*" to "roger@*********" from "Core1" subject "Routing Table Change" body "$msg  $_cli_result"
    action 8.0 set msg "Route changed: Type: "
    This works brilliantly however the email I get lists the networks by IP and I am trying to get it to identify them by name
    Email Output
    Route changed: Type: modify, Network: 10.8.4.0, Mask/Prefix: 255.255.255.0, Protocol: BGP, GW: 10.1.1.1, Intf: N/A
    The script is running on a 3750
    I tried putting ip host info on the switch but that did not work.
    I am not sure if there is an extra line I can add to the script or if anyone else has done this?
    Thanks
    Roger

    I don't understand the request.  Where would the network "name" come from?  Networks are unnamed on IOS.

  • I want to create a mail merge for address labels into a table, but when I fill a table with merge fields, it ends up creating multiple entries for the same address, rather than one table full of each address.

    ...but when I fill a table with merge fields, it ends up creating multiple entries for the same address, rather than one table full of each address. Please help.
    Thanks!

    That is a quirk of Pagesthat  it applies only one record per page.
    There is a way around this:
    http://www.freeforum101.com/iworktipsntrick/viewtopic.php?t=245&highlight=labels &mforum=iworktipsntrick
    Peter

  • Monitoring dual core (Supervisor Engine 7-E) through EEM Script.

    Hi,
    I have a Cisco Catalyst 4500E Supervisor Engine 7-E and configured an EEM Script to monitor the dual core CPU Utilization through PRTG Network Monitor.
    event manager applet dualcore authorization bypass
    event timer cron cron-entry "* * * * 0-6"
    action 100 cli command "en"
    action 120 cli command "show process cpu | include five"
    action 220 regexp "Core 0: CPU utilization for five seconds: ([^%]+)%; one minute: ([^%]+)%; five minutes: ([^%]+)%.*" $_cli_result result c0cpu5sec c0cpu1min c0cpu5min
    action 240 if $_regexp_result eq 1
    action 260 end
    action 320 regexp "Core 1: CPU utilization for five seconds: ([^%]+)%; one minute: ([^%]+)%; five minutes: ([^%]+)%.*" $_cli_result result c1cpu5sec c1cpu1min c1cpu5min
    action 340 if $_regexp_result eq 1
    action 360 end
    action 440 cli command "config t"
    action 441 cli command "snmp mib expression owner cisco name c0cpu5sec"
    action 442 cli command "expression $c0cpu5sec"
    action 443 cli command "snmp mib expression owner cisco name c0cpu1min"
    action 444 cli command "expression $c0cpu1min"
    action 445 cli command "snmp mib expression owner cisco name c0cpu5min"
    action 446 cli command "expression $c0cpu5min"
    action 550 cli command "config t"
    action 551 cli command "snmp mib expression owner cisco name c1cpu5sec"
    action 552 cli command "expression $c1cpu5sec"
    action 553 cli command "snmp mib expression owner cisco name c1cpu1min"
    action 554 cli command "expression $c1cpu1min"
    action 555 cli command "snmp mib expression owner cisco name c1cpu5min"
    action 556 cli command "expression $c1cpu5min"
    action 600 cli command "end"
    end
    It works fine but on the logging buffer there are a lot of %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:moncores) messages   -one per minute-   here an example:
    Oct 29 17:54:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:55:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:56:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    Oct 29 17:57:01: %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:dualcore)
    I considered to use the logging suppress duplicates command to prevent the consecutive logging of more than one copy of the same system logging (syslog) message but it is only available to the Cisco IOS XR.
    Someone could help me to determine if it is possible to avoid this messages through Embedded Syslog Manager, I tried to do that but
    I was not successful.
    Regards,
    ~Sergio

    Hi,
    I did transitioned CLI actions to the EXPRESSION-MIB SNMP but I could not receive anything information about the dualcore utilization on the PRTG Network Monitor and received a lot of  %HA_EM-7-FMFD_SNMP_ERRCODE: fh_fd_snmp_errcode: Error status: 6 NO_ACCESS_ERROR: 1. messages on the WS-C4507.
    Considering the initial EEM script, could ypu help me to avoid the  %SYS-5-CONFIG_I: Configured from console by  on vty0 (EEM:moncores)
    messages using Embedded Syslog Manager.
    Here some snmpwalk to validate that I could not get the OIDs to monitor both cores.
    STEP 1     Only one value is given because there is only one physical cpu.
    cpmCPUTotalPhysicalIndex
    1.3.6.1.4.1.9.9.109.1.1.1.1.2
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.4.1.9.9.109.1.1.1.1.2
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.4000 = INTEGER: 4000
    STEP 2
    entPhysicalName
    1.3.6.1.2.1.47.1.1.1.1.7
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.47.1.1.1.1.7.4000
    SNMPv2-SMI::mib-2.47.1.1.1.1.7.4000 = STRING: "Linecard(slot 4)"
    #sh mod
    Chassis Type : WS-C4507R+E
    Power consumed by backplane : 40 Watts
    Mod Ports Card Type                              Model              Serial No.
    ---+-----+--------------------------------------+------------------+-----------
    1    18  10GE (X2), 1000BaseX (SFP)             WS-X4606-X2-E      JAE151904JC
    2    24  1000BaseX (SFP)                        WS-X4624-SFP-E     JAE152001AE
    4     4  Sup 7-E 10GE (SFP+), 1000BaseX (SFP)   WS-X45-SUP7-E      CAT1522L0G1
    5    48  10/100/1000BaseT (RJ45)V, Cisco/IEEE   WS-X4548-GB-RJ45V  JAE12067N8K
    M MAC addresses                    Hw  Fw           Sw               Status
    --+--------------------------------+---+------------+----------------+---------
    1 e8b7.4880.e5db to e8b7.4880.e5ec 1.2                               Ok      
    2 e8b7.48cc.6167 to e8b7.48cc.617e 1.2                               Ok      
    4 4055.39d7.76c4 to 4055.39d7.76c7 1.0 15.0(1r)SG2  03.01.01.SG      Ok      
    5 001e.f7da.d290 to 001e.f7da.d2bf 4.1                               Ok      
    Mod  Redundancy role     Operating mode      Redundancy status
    ----+-------------------+-------------------+----------------------------------
    4   Active Supervisor   SSO                 Active                           
    STEP 3
    cpmCPUTotal1minRev
    1.3.6.1.4.1.9.9.109.1.1.1.1.7
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.4.1.9.9.109.1.1.1.1.7
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.7.4000 = Gauge32: 9
    C:\usr>
    ADDITIONAL INFORMATION
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.90
    SNMPv2-SMI::mib-2.90.1.1.1.0 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.1.2.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.3.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.4.0 = Gauge32: 0
    SNMPv2-SMI::mib-2.90.1.1.5.0 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = STRING: "9"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = STRING: "11"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = STRING: "8"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = STRING: "13"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = STRING: "13"
    SNMPv2-SMI::mib-2.90.1.2.1.1.3.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = STRING: "11"
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.4.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 1
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.5.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = ""
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.6.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.7.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = OID: SNMPv2-SMI::zeroDotZero
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.8.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = Counter32: 0
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.49.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.53.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.48.99.112.117.53.115.101.99 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.49.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.53.109.105.110 = INTEGER: 2
    SNMPv2-SMI::mib-2.90.1.2.1.1.9.5.99.105.115.99.111.9.99.49.99.112.117.53.115.101.99 = INTEGER: 2
    C:\usr>
    C:\usr>snmpwalk -v 2c -c m4nc4rc0 10.20.91.2 1.3.6.1.2.1.47.1.1.1.1.2
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1 = STRING: "Cisco Systems, Inc. WS-C4507R+E 7 sl
    ot switch "
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.3 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.6 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.7 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.8 = STRING: "WS-C4507R+E 7 slot switch chassis sl
    ot"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.9 = STRING: " WS-C4507R+E 7 slot switch backplane
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.10 = STRING: "Container of Fan Tray"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.11 = STRING: "FanTray"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.12 = STRING: "Container of Container of Power Sup
    ply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.13 = STRING: "Container of Power Supply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.14 = STRING: "Power Supply ( AC 2800W )"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.15 = STRING: "Power Supply Fan Sensor"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.16 = STRING: "Container of Power Supply"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.19 = STRING: "Clock Module"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.20 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.21 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.22 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.23 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.24 = STRING: "Mux Buffers for Redundancy Logic"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1000 = STRING: "10GE (X2), 1000BaseX (SFP) with 6
    10GE X2 ports"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1005 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.1006 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2000 = STRING: "1000BaseX (SFP) with 24 SFP Ports
    Jumbo Frame Support"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2005 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2006 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2007 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2008 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2009 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2010 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2011 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2012 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2013 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2014 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2015 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2016 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2017 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2018 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2019 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2020 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2021 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2022 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2023 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2024 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2047 = STRING: "1000BaseSX"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.2048 = STRING: "1000BaseSX"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4000 = STRING: "Sup 7-E 10GE (SFP+), 1000BaseX (S
    FP) with 4 SFP+ Ports"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4001 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4002 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4003 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.4004 = STRING: "Port Container"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5000 = STRING: "10/100/1000BaseT (RJ45)V with 48
    10/100/1000 baseT voice power ports (Cisco/IEEE)"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5001 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5002 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5003 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5004 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5005 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5006 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5007 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5008 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5009 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5010 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5011 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5012 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5013 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5014 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5015 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5016 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5017 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5018 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5019 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5020 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5021 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5022 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5023 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5024 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5025 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5026 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5027 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5028 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5029 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5030 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5031 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5032 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5033 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5034 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5035 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5036 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5037 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5038 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5039 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5040 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5041 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5042 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5043 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5044 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5045 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5046 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5047 = STRING: "Gigabit Ethernet Port"
    SNMPv2-SMI::mib-2.47.1.1.1.1.2.5048 = STRING: "Gigabit Ethernet Port"
    C:\usr>

  • How to insert multiple entries in table control

    Hi All,
    I want to insert multiple entries in table control in BDC program.Can any body help in this regard.
    Thanks,
    Satish.

    Hi,
    Go through the following 2 example programs:
    THis is example to upload the Bank details of the Vendor which has the TC.
    REPORT zprataptable2
           NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF itab OCCURS 0,
            i1 TYPE i,
            lifnr LIKE   rf02k-lifnr,
            bukrs LIKE   rf02k-bukrs,
            ekorg LIKE   rf02k-ekorg,
            ktokk LIKE   rf02k-ktokk,
            anred LIKE lfa1-anred,
            name1 LIKE lfa1-name1,
            sortl LIKE lfa1-sortl,
            land1 LIKE lfa1-land1,
            akont LIKE lfb1-akont,
            fdgrv LIKE lfb1-fdgrv,
             waers LIKE lfm1-waers,
            END OF itab.
    DATA : BEGIN OF jtab OCCURS 0,
            j1 TYPE i,
            banks LIKE lfbk-banks,
            bankl LIKE lfbk-bankl,
            bankn LIKE lfbk-bankn,
             END OF jtab.
    DATA : cnt(4) TYPE n.
    DATA : fdt(20) TYPE c.
    DATA : c TYPE i.
    INCLUDE bdcrecx1.
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = 'C:\first1.txt'
          filetype = 'DAT'
        TABLES
          data_tab = itab.
      CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
         filename                      = 'C:\second.txt'
         filetype                      = 'DAT'
        TABLES
          data_tab                      = jtab.
      LOOP AT itab.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-KTOKK'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RF02K-LIFNR'
                                      itab-lifnr.
        PERFORM bdc_field       USING 'RF02K-BUKRS'
                                      itab-bukrs.
        PERFORM bdc_field       USING 'RF02K-EKORG'
                                       itab-ekorg.
        PERFORM bdc_field       USING 'RF02K-KTOKK'
                                       itab-ktokk.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-LAND1'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFA1-ANRED'
                                      itab-anred.
        PERFORM bdc_field       USING 'LFA1-NAME1'
                                      itab-name1.
        PERFORM bdc_field       USING 'LFA1-SORTL'
                                      itab-sortl.
        PERFORM bdc_field       USING 'LFA1-LAND1'
                                      itab-land1.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-KUNNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BANKN(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        cnt = 0.
        LOOP AT jtab WHERE j1 = itab-i1.
          cnt = cnt + 1.
          CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
          PERFORM bdc_field  USING fdt jtab-banks.
          CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
          PERFORM bdc_field USING fdt jtab-bankl.
          CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
          PERFORM bdc_field   USING fdt jtab-bankn.
          IF cnt = 5.
            cnt = 0.
            PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'LFBK-BANKS(01)'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=P+'.
            PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'LFBK-BANKN(02)'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=ENTR'.
          ENDIF.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BANKS(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-FDGRV'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFB1-AKONT'
                                      itab-akont.
        PERFORM bdc_field       USING 'LFB1-FDGRV'
                                      itab-fdgrv.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-ZTERM'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB5-MAHNA'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFM1-WAERS'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFM1-WAERS'
                                      itab-waers.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-LIFNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=YES'.
        PERFORM bdc_transaction USING 'XK01'.
      ENDLOOP.
      PERFORM close_group.
    ABAP Name   :   ZMM_PR_UPLOAD_MAT
    Description :   PR Upload BDC Program(With Material)
    Created by  :   Anji Reddy V
    Created on  :   04/11/2004
    Description :   This Program is used to Upload the Purchase
                     Requisition data Using the Transaction ME51N.
      Modification Log:
      Date         Programmer          Correction    Description
      04/11/2004   Anji Reddy          Initial
    REPORT zmm_pr_upload_mat
           NO STANDARD PAGE HEADING
           LINE-SIZE 255.
    Standard Include for Selection Screen
    INCLUDE bdcrecx1.
    Internal Table for Upload Data
    DATA: BEGIN OF i_pr OCCURS 0,
    Header Screen
            sno(3),               " SNo
            bsart(004),           " PR Type
            epstp(001),           " Item Category
            knttp(001),           " Account Assignment
            eeind(010),           " Delivery Date
           lpein(001),          " Category of Del Date
            werks(004),           " Plant
            lgort(004),           " Storage Location
            ekgrp(003),           " Purchasing Group
            matkl(009),           " Material Group
            bednr(010),           " Tracking No
            afnam(012),            " Requisitioner
    Item Details
            matnr(018),           " Material No
            menge(017),           " Quantity
           badat(010),
           frgdt(010),
            preis(014),           " Valuation Price
           waers(005),           " Currency
           peinh(005),
           wepos(001),
           repos(001),
            sakto(010),           " GL Account
            kostl(010),           " Cost Center
           bnfpo(005),
          END OF i_pr.
    Internal Table for header Data
    DATA: BEGIN OF it_header OCCURS 0,
            sno(3),               " SNo
            bsart(004),           " PR Type
            epstp(001),           " Item Category
            knttp(001),           " Account Assignment
            eeind(010),           " Delivery Date
            werks(004),           " Plant
            lgort(004),           " Storage Location
            ekgrp(003),           " Purchasing Group
            matkl(009),           " Material Group
            bednr(010),           " Tracking No
            afnam(012),            " Requisitioner
          END OF it_header.
    Internal Table for Item Data
    DATA: BEGIN OF it_item OCCURS 0,
            sno(3),               " SNo
            matnr(018),           " Material No
            menge(017),           " Quantity
            preis(014),           " Valuation Price
            sakto(010),           " GL Account
            kostl(010),           " Cost Center
          END OF it_item.
    Data Variables & Constants
    CONSTANTS : c_x             VALUE 'X'.  " Flag
    DATA : v_l(2),                          " Counter
           v_rowno(5),                      " Row No
           v_2(2),                          " Counter
           v_rows LIKE sy-srows,            " Rows in TC
           v_field(45).                     " String
    Parameters
    PARAMETERS: p_file LIKE ibipparms-path.  " Filename
    At selection-screen on Value Request for file Name
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    Get the F4 Values for the File
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    Start of Selection
    START-OF-SELECTION.
    Open the BDC Session
      PERFORM open_group.
    Upload the File into internal Table
      CALL FUNCTION 'UPLOAD'
        EXPORTING
          filename                = p_file
          filetype                = 'DAT'
        TABLES
          data_tab                = i_pr
        EXCEPTIONS
          conversion_error        = 1
          invalid_table_width     = 2
          invalid_type            = 3
          no_batch                = 4
          unknown_error           = 5
          gui_refuse_filetransfer = 6
          OTHERS                  = 7.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      SORT i_pr BY sno.
      LOOP AT i_pr.
        MOVE-CORRESPONDING i_pr TO it_item.
        APPEND it_item.
        CLEAR it_item.
        AT END OF sno.
          READ TABLE i_pr INDEX sy-tabix.
          MOVE-CORRESPONDING i_pr TO it_header.
          APPEND it_header.
          CLEAR it_header.
        ENDAT.
      ENDLOOP.
      SORT it_header BY sno.
      SORT it_item BY sno.
      v_rows = sy-srows - 6.
    Upload the Data from Internal Table
      LOOP AT it_header.
    Header Data
        PERFORM bdc_dynpro      USING 'SAPMM06B' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'EBAN-BEDNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'EBAN-BSART'
                                      it_header-bsart.
        PERFORM bdc_field       USING 'RM06B-EPSTP'
                                      it_header-epstp.
        PERFORM bdc_field       USING 'EBAN-KNTTP'
                                      it_header-knttp.
        PERFORM bdc_field       USING 'RM06B-EEIND'
                                      it_header-eeind.
       PERFORM bdc_field       USING 'RM06B-LPEIN'
                                     it_header-lpein.
        PERFORM bdc_field       USING 'EBAN-WERKS'
                                      it_header-werks.
        PERFORM bdc_field       USING 'EBAN-LGORT'
                                      it_header-lgort.
        PERFORM bdc_field       USING 'EBAN-EKGRP'
                                      it_header-ekgrp.
        PERFORM bdc_field       USING 'EBAN-MATKL'
                                      it_header-matkl.
        PERFORM bdc_field       USING 'EBAN-BEDNR'
                                      it_header-bednr.
        PERFORM bdc_field       USING 'EBAN-AFNAM'
                                      it_header-afnam.
    Item Details
        v_l = 0.
    To add no. of rows
        v_2 = 0 .
    As the screen is showing 13 rows defaulted to 130
        v_rowno = 130 .
        LOOP AT it_item WHERE sno = it_header-sno.
          v_l = v_l + 1.
          IF v_l = 14 .
            IF v_2 = 12 .
              v_2 = 12 .
              v_l = 2 .
    From second time onwards it is displaying 12 rows only
              v_rowno = v_rowno + 120 .
              PERFORM bdc_dynpro      USING 'SAPMM06B' '0106'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RM06B-BNFPO'.
              PERFORM bdc_field       USING 'RM06B-BNFPO'
                                            v_rowno.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                                '/00'.
            ELSE.
    V_2 initialized to 12 for second screen purpose
              v_2 = 12 .
              v_l = 2 .
              PERFORM bdc_dynpro      USING 'SAPMM06B' '0106'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RM06B-BNFPO'.
              PERFORM bdc_field       USING 'RM06B-BNFPO'
                                            v_rowno .
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                                '/00'.
            ENDIF.
          ENDIF.
          PERFORM bdc_dynpro      USING 'SAPMM06B' '0106'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          CLEAR v_field.
          CONCATENATE 'EBAN-MATNR(' v_l ')' INTO v_field.
          PERFORM bdc_field   USING v_field it_item-matnr.
          CLEAR v_field.
          CONCATENATE 'EBAN-MENGE(' v_l ')' INTO v_field.
          PERFORM bdc_field   USING v_field it_item-menge.
          PERFORM bdc_dynpro      USING 'SAPMM06B' '0102'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'EBAN-PREIS'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'EBAN-PREIS'
                                      it_item-preis.
          PERFORM bdc_dynpro      USING 'SAPMM06B' '0505'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'EBKN-SAKTO'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTE'.
          PERFORM bdc_field       USING 'EBKN-SAKTO'
                                      it_item-sakto.
    Cost Center
          PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'COBL-KOSTL'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTE'.
          PERFORM bdc_field       USING 'COBL-KOSTL'
                                        it_item-kostl.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTE'.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMM06B' '0106'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RM06B-BNFPO'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=BU'.
    Call The Transaction
        PERFORM bdc_transaction USING 'ME51'.
      ENDLOOP.
    Close the BDC Session
      PERFORM close_group.
    reward for useful answers.
    Regards,
    Anji

  • EEM scripting assistance: Switch, router and AP CDP

    We would like to create an EEM script which will let the switch populate the interface description based on the CDP neighbour, however, we want the script to only populate the interface if (and only if) the CDP is a Cisco wireless access point (AP), a Cisco Catalyst switch and a Cisco router.   We DO NOT want the interface description to be edited if the CDP neighbour is a Cisco phone or a Cisco DMP (for example). 
    This is our EEM script: 
    event manager applet update-port
    event none
    event neighbor-discovery interface regexp GigabitEthernet.* cdp add
    action 100 if $_nd_cdp_capabilities_string eq "Router" goto 200
    action 110 elseif $_nd_cdp_capabilities_string eq "Switch" goto 200
    action 120 if $_nd_cdp_capabilities_string eq "Switch" goto 200
    action 200 cli command "enable"
    action 210 cli command "config t"
    action 220 cli command "interface $_nd_local_intf_name"
    action 230 cli command "description $_nd_cdp_entry_name"
    action 400 else
    action 500 end
    And this is a sample of our “sh cdp neighbor” output:
    Switch#sh cdp n d
    Device ID: Wireless
    Entry address(es):
      IP address: <REMOVED>
    Platform: cisco AIR-CAP3602I-N-K9   ,  Capabilities: Router Trans-Bridge
    Interface: GigabitEthernet0/8,  Port ID (outgoing port): GigabitEthernet0.1
    Holdtime : 146 sec
    Version :
    Cisco IOS Software, C3600 Software (AP3G2-K9W8-M), Version 15.2(2)JB, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2012 by Cisco Systems, Inc.
    Compiled Mon 10-Dec-12 23:52 by prod_rel_team
    advertisement version: 2
    Duplex: full
    Power drawn: 15.400 Watts
    Power request id: 19701, Power management id: 2
    Power request levels are:15400 0 0 0 0
    Power Available TLV:
        Power request id: 0, Power management id: 0, Power available: 0, Power management level: 0
    Management address(es):
    Device ID: 00:0f:44:02:c5:29
    Entry address(es):
      IP address: <REMOVED>
    Platform: Cisco DMP 4310G,  Capabilities: Host
    Interface: GigabitEthernet0/3,  Port ID (outgoing port): eth0
    Holdtime : 157 sec
    Version :
    5.4
    advertisement version: 2
    Duplex: full
    Power Available TLV:
        Power request id: 0, Power management id: 0, Power available: 0, Power management level: 0
    Management address(es):
    Device ID: CALM040.mgmt.educ
    Entry address(es):
      IP address: <REMOVED>
    Platform: cisco WS-C3750E-24PD,  Capabilities: Switch IGMP
    Interface: GigabitEthernet0/10,  Port ID (outgoing port): GigabitEthernet1/0/22
    Holdtime : 126 sec
    Version :
    Cisco IOS Software, C3750E Software (C3750E-UNIVERSALK9-M), Version 15.0(2)SE, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2012 by Cisco Systems, Inc.
    Compiled Fri 27-Jul-12 23:26 by prod_rel_team
    advertisement version: 2
    Protocol Hello:  OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010221FF0000000000000023AC075300FF0000
    VTP Management Domain: 'ACTEducation'
    Native VLAN: 99
    Duplex: full
    Power Available TLV:
        Power request id: 0, Power management id: 1, Power available: 0, Power management level: -1
    Management address(es):
      IP address: <REMOVED>
    Device ID: 00:0f:44:02:b6:31
    Entry address(es):
      IP address: <REMOVED>
    Platform: Cisco DMP 4310G,  Capabilities: Host
    Interface: GigabitEthernet0/2,  Port ID (outgoing port): eth0
    Holdtime : 169 sec
    Version :
    5.4
    advertisement version: 2
    Duplex: full
    Power Available TLV:
        Power request id: 0, Power management id: 0, Power available: 0, Power management level: 0
    Management address(es):
    Best Regards/Leo

    action 221 regexp "^([^\.])\." $_nd_cdp_entry_name match hostaction 230 cli command "description $host"
    Hi Joe,
    So the EEM is going to look like this: 
    event manager applet update-port
    event neighbor-discovery interface regexp GigabitEthernet.* cdp add
    action 100 regexp "(Switch|Router)" $_nd_cdp_capabilities_string
    action 110 if $_regexp_result eq 1
    action 200 cli command "enable"
    action 210 cli command "config t"
    action 220 cli command "interface $_nd_local_intf_name"
    action 230 regexp "^([^\.])\." $_nd_cdp_entry_name match host
    action 240 cli command "description $host"
    action 500 end
    Is this correct?

  • Objects show up even when nothing plugged into port - EEM Script

    After a reboot my cisco shows the objects it tracks as up even when nothing is plugged into the interface used to track the objects. I have an EEM script that reboots the router 1 time when it finds that 4 dial numbers it round robins thru are unavialable and this works. The problem is after the reboot it see's the objects as available and re-inserts the reboot script and when they finally show down as they should be the reboot hapens over and over. Any Ideas on how to get the router to not show the tracked objects up after a reboot if the interface is down?

    As I said in the other thread, I suspect the "delay down" is causing the behavior you are seeing.

  • To delete multiple entries in table control in module pool

    Hi,
    Please help me out to know , <b>how to delete multiple entries from table control</b> when multiple lines in table control are selected.
    Regards,
    Irfan Hussain

    hai,
        you can do it inthis way.
    in the PAI event.
    loop at <table control name>
      module del_itab.
    endloop.
    in the nodule,write the folowing code.
    if <tablecontrol>-fieldname = 'X'.
    delete <tablecontrol-itab>
    endif.
    cheers

Maybe you are looking for