Call Termination Cause Value = 47

Dear All,
We have an IP-IP Gateway which is for VoIP termination. Dialing to particular countries for example China, we are getting cause code = 47.
We refered back to VoIP Telco but they insisted the problem is on the IP-IP Gateway equipment. Attached is the config (portions) and CAR...

Hi Nicholas,
Cause code 47 is "No Resources".
Generally, this is just as it sounds. It can usually be traced to either a lack of DSP resources, channels, or more often than not a codec issue.
Check the region of your MTP and Annunciator against the region of your H323 trunk, and see if you will need to transcode. If so, make sure you have a transcoder available.
As well, make sure your MRGL properly lists both an MTP and transcoder.
There's about a 90% chance that the no resources has something to do with transcoding or MTP on CUCM related to your codec.
Does this only happen on transfers, faxes, when the call rings, etc?
hth,
nick

Similar Messages

  • "ORA-29532: Java call terminated by uncaught Java exception

    Dear Oracle:
    I am trying to establish an HTTPS connection from a Java stored
    procedure that is wrapped in a PL/SQL procedure and loaded into a
    Package. We are running on Oracle 8.1.7.
    My Java code compiles and runs fine when run stand-alone outside
    Oracle; I can establish the connection to a secure server and talk to
    the server. However when I load this Java class (using the loadjava
    utility) this class can no longer run and I get a the following
    exception:
    "ORA-29532: Java call terminated by uncaught Java exception:
    javax.net.ssl.SSLException: SSL handshake failed:
    X509CertChainIncompleteErr"
    I have tried loading the JSSE from Sun and I still get the same error.
    Searching in the Discussing Forums I found the following link (which
    describes a procedure that logs into the UPS secure server site and
    grabs some XML) http://osi.oracle.com/~mbpierma/SSL_Java_DB.html .
    This code works ok if we try to connect to UPS server. However this
    code doesn't work if we try to log in to a different server (such as
    ???). If I modify this code slightly and try to log to any other
    sever server I get the same error as the one above. Investigation
    lead us to understand that the certificate at the UPS web site is a
    self-signed certificate -- not one generated by a major 'recognized'
    authority such as Verisign or Thawte.
    Further research pointed me to the following URL
    http://www.znow.com/sales/oracle/network.816/a76932/appf_ora.htm#619367
    This URL has the documentation for JAVA SSL for 8.1.6 which I figure
    I could read and try to make it work in 8.1.7.
    I looked at your Secure Hello World example, however the code is
    missing the most critical parts of the whole example, it does not
    specify where the certificate or any of the security settings come
    from (see the attached JavaCertExample.txt file).
    So, my questions are the following:
    1) What should I do to avoid the error mentioned above?
    2) Do you have a sample piece of code that describes how to make a
    HTTPS connection using a Java stored procedure?
    3) Can I make the HTTPS connection using a URL class and not using
    sockets directly?
    4) Do I need to load the JSEE provided by Sun?
    5) Will the solution be different for Oracle 9i?
    // SecureHelloClient.java
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import javax.net.ssl.*;
    import javax.security.cert.X509Certificate;
    import oracle.security.ssl.OracleSSLCredential;
    import oracle.security.ssl.OracleSSLSocketFactory;
    import oracle.security.ssl.OracleSSLProtocolVersion;
    import oracle.security.ssl.OracleSSLSession;
    public class SecureHelloClient
    public static void main(String argv[])
    String hostName = "localhost";
    if(argv.length != 0)
    String hostName = argv[0];
    // Set the SSLSocketFactoryImpl class as follows:
    java.util.Properties prop = System.getProperties();
    prop.put("SSLSocketFactoryImplClass",
    "oracle.security.ssl.OracleSSLSocketFactoryImpl");
    try
    // Get the default socket factory
    OracleSSLSocketFactory sSocFactory
    = (OracleSSLSocketFactory)SSLSocketFactory.getDefault();
    sSocFactory.setSSLProtocolVersion(OracleSSLProtocolVersion.SSL_Version_3_0);
    OracleSSLCredential sslCredObj = new OracleSSLCredential();
    // Where did these values come from? caCert, userCert, trustedCert,
    // Set the certificate chain and private key if the
    // server requires client authentication
    sslCredObj.addCertChain(caCert)
    sslCredObj.addCertchain(userCert)
    sslCredObj.setPrivateKey(userPvtKey, userPassword)
    // Populate credential object
    sslCredObj.addTrustedCert(trustedCert);
    sSocFactory.setSSLCredentials(sslCredObj);
    // Create the socket using factory
    SSLSocket jsslSoc =
    (SSLSocket)sSocFactory.createSocket(hostName, 8443);
    String [] ciphers = jsslSoc.getSupportedCipherSuites() ;
    // Select the ciphers you want and put them.
    // Here we will put all availabel ciphers
    jsslSoc.setEnabledCipherSuites(ciphers);
    // We are creating socket in client mode
    jsslSoc.setUseClientMode(true);
    // Do SSL handshake
    jsslSoc.startHandshake();
    // Print negotiated cipher
    System.out.println("Negotiated Cipher Suite: "
    +jsslSoc.getSession().getCipherSuite());
    System.out.println("");
    X509Certificate[] peerCerts
    = ((javax.net.ssl.SSLSocket)jsslSoc).getSession().getPeerCertificateChain();
    if (peerCerts != null)
    System.out.println("Printing server information:");
    for(int i =0; i ? peerCerts.length; i++)
    System.out.println("Peer Certificate ["+i+"] Information:");
    System.out.println("- Subject: " + peerCerts.getSubjectDN().getName());
    System.out.println("- Issuer: " + peerCerts[i].getIssuerDN().getName());
    System.out.println("- Version: " + peerCerts[i].getVersion());
    System.out.println("- Start Time: " + peerCerts[i].getNotBefore().toString());
    System.out.println("- End Time: " + peerCerts[i].getNotAfter().toString());
    System.out.println("- Signature Algorithm: " + peerCerts[i].getSigAlgName());
    System.out.println("- Serial Number: " + peerCerts[i].getSerialNumber());
    else
    System.out.println("Failed to get peer certificates");
    // Now do data exchange with client
    OutputStream out = jsslSoc.getOutputStream();
    InputStream in = jsslSoc.getInputStream();
    String inputLine, outputLine;
    byte [] msg = new byte[1024];
    outputLine = "HELLO";
    out.write(outputLine.getBytes());
    int readLen = in.read(msg, 0, msg.length);
    if(readLen > 0)
    inputLine = new String(msg, 0, readLen);
    System.out.println("");
    System.out.println("Server Message:");
    System.out.println(inputLine );
    else
    System.out.println("Can't read data from client");
    // Close all sockets and streams
    out.close();
    in.close();
    jsslSoc.close();
    catch(SSLException e)
    System.out.println("SSL exception caught:");
    e.printStackTrace();
    catch(IOException e)
    System.out.println("IO exception caught:");
    e.printStackTrace();
    catch(Exception e)
    System.out.println("Exception caught:");
    e.printStackTrace();

    Hi,
    I have the same problem.
    Is some ORACLE guru that can help us ?
    We need to communicate with some servlet
    via POST method of https (SSL3)
    and with using private certificate on the client site.
    We need furthermore allow using of some proxy.
    Client site is realized as set of stored procedures within ORACLE 8.1.7
    In this time I am able to communicate with server without SSL and certificate
    using package utl_tcp
    (but with this solution without certificate is our customer not satisfied -:))
    ORACLE help us please !
    Pavel Pospisil
    [email protected]

  • Oracle BI 11.1.1.7.1: Calling BI webservices from Plsql Procedure: ORA-29532: Java call terminated by uncaught Java exception: java.lang.NoClassDefFoundError

    Hi,
         I have a requirement of calling BI webservices from Plsql stored procedure. I generated all my wsdl java classes and loaded them into the database. However, when I tried to call one of my java class using stored procedure, it is giving me"ORA-29532: Java call terminated by uncaught Java exception: java.lang.NoClassDefFoundError".
    *Cause:    A Java exception or error was signaled and could not be
               resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.
    But all my dependency classes are present in database as java class objects and are valid. Can some one help me out of this?

    Stiphane,
    You can look in USER_ERRORS to see if there's anything more specific reported by the compiler. But, it could also be the case that everything's OK (oddly enough). I loaded the JavaMail API in an 8.1.6 database and also got bytecode verifier errors, but it ran fine. Here are the errors I got when loading Sun's activation.jar, which ended up not being a problem:
    ORA-29552: verification warning: at offset 12 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
    verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):12 by a throw at offset 18 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
    verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):18 by a throw at offset 30 of <init> void (java.lang.String, java.lang.String) cannot access class$java$io$InputStream
    verifier is replacing bytecode at <init> void (java.lang.String, java.lang.String):30 by a throw
    Hope this helps,
    -Dan
    http://www.compuware.com/products/devpartner/db/oracle_debug.htm
    Debug PL/SQL and Java in the Oracle Database

  • Blob writing error      ORA-29532 Java call terminated Unsupported feature

    Hi there,
    I've got the following Java code which tries to write to a BLOB file. It's a version of some code to extract files from a zip archive, but with everything but the erroring call stripped out:
    create or replace and compile java source named zipunpack as
    package org.bristol.cyps;
    import oracle.sql.BLOB;
    import java.util.zip.*;
    public class ZipUnpack
    public static int unpack(BLOB ziparray[], String filename, BLOB filearray[])
    throws java.sql.SQLException, java.io.IOException
    BLOB file = filearray[0];
    java.io.OutputStream fileout = file.setBinaryStream(0L);
    return 1;
    This is published as follows:
    create or replace function zip_unpack (
    pio_zip in out nocopy blob
    , pi_filename in varchar2
    , pio_file in out nocopy blob
    ) return number as language java
    name 'org.bristol.cyps.ZipUnpack.unpack(oracle.sql.BLOB[], java.lang.String, oracle.sql.BLOB[]) return java.lang.Integer';
    And called like so:
    procedure send_zip_file (
    pi_zip in out nocopy blob
    , pi_filename in varchar2
    ) is
    file blob;
    completed integer;
    begin
    dbms_lob.createtemporary (
    lob_loc => file
    , cache => false
    , dur => dbms_lob.call
    completed := zip_unpack(pi_zip, pi_filename, file);
    if completed > 0 then
    bare_html.print_blob(file);
    else
    htp.print('File "' || pi_filename || '" not found');
    end if;
    end;
    This, as far as I can tell from the documentation, should work. Unfortunately, though, it generates an error:
    ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Unsupported feature
    The particular line which is causing the error is the "java.io.OutputStream fileout = file.setBinaryStream(0L);" If I remove this, it runs fine. I'm flumoxed as to why this might be causing an "Unsupported feature" exception when it's documented as being supported. Can anyone shed any light?
    Cheers,
    Robert
    Message was edited for more clarity

    Hi,
    It looks like you are not using 10g JDBC. java.sql.Blob.setBinaryStream is a JDBC 3.0 method. In 9iR2 we added support for jdk14 and added stub methods for JDBC 3.0 behavior without fully implementing them. 10gR1 was the first version where the JDBC3.0 methods were fully supported.
    The workaround is to use the Oracle proprietary method oracle.sql.BLOB.getBinaryOutputStream
    Kuassi, http://db360.blogspot.com

  • HELP Can't call terminal by Mod4+Enter (awesome wm)

    I can't call terminal by binding key Mod4+Enter. What wrong happened with my rc.lua ?. Please help me. My english not well, sorry everyone.!
    -- z1lt0id Awesome WM 3.5.+ config --
    -- github.com/z1lt0id --
    -- Varation of github.com/copycat --
    -- Required Libraries
    gears = require("gears")
    awful = require("awful")
    awful.rules = require("awful.rules")
    awful.autofocus = require("awful.autofocus")
    wibox = require("wibox")
    beautiful = require("beautiful")
    naughty = require("naughty")
    vicious = require("vicious")
    scratch = require("scratch")
    -- layouts
    layouts = require("layouts")
    -- Conky
    function get_conky()
    local clients = client.get()
    local conky = nil
    local i = 1
    while clients[i]
    do
    if clients[i].class == "Conky"
    then
    conky = clients[i]
    end
    i = i + 1
    end
    return conky
    end
    function raise_conky()
    local conky = get_conky()
    if conky
    then
    conky.ontop = true
    end
    end
    function lower_conky()
    local conky = get_conky()
    if conky
    then
    conky.ontop = false
    end
    end
    function toggle_conky()
    local conky = get_conky()
    if conky
    then
    if conky.ontop
    then
    conky.ontop = false
    else
    conky.ontop = true
    end
    end
    end
    -- Run once function
    function run_once(cmd)
    findme = cmd
    firstspace = cmd:find(" ")
    if firstspace then
    findme = cmd:sub(0, firstspace-1)
    end
    awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
    end
    run_once("compton --backend glx --paint-on-overlay --vsync opengl-swc --unredir-if-possible --shadow-exclude 'n:a:Conky' --blur-background-exclude 'n:a:Conky' --config ~/.compton.conf -b")
    -- run_once("nm-applet")
    -- run_once("/opt/dropbox/dropboxd")
    run_once("mpd")
    run_once("conky ~/.conkyrc")
    run_once("unclutter -idle 1")
    -- Localization
    os.setlocale("en_AU.UTF-8")
    -- Error Handling
    -- Check if awesome encountered an error during startup and fell back to
    -- another config (This code will only ever execute for the fallback config)
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    -- Handle runtime errors after startup
    do
    in_error = false
    awesome.connect_signal("debug::error", function (err)
    -- Make sure we don't go into an endless error loop
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- Variable Definitions
    home = os.getenv("HOME")
    confdir = home .. "/.config/awesome"
    scriptdir = confdir .. "/script/"
    themes = confdir .. "/themes"
    active_theme = themes .. "/blackburn"
    beautiful.init(active_theme .. "/theme.lua")
    terminal = "urxvt"
    editor = "vim"
    editor_cmd = terminal .. " -e " .. editor
    gui_editor = "gedit"
    browser = "dwb"
    browser2 = "dwb"
    mail = terminal .. " -g 130x30 -e mutt "
    tasks = terminal .. " -e htop "
    musicplr = terminal .. " -g 130x34-320+16 -e ncmpcpp "
    modkey = "Mod4"
    altkey = "Mod1"
    -- Table of layouts to cover with awful.layout.inc, order matters.
    layouts =
    awful.layout.suit.floating,
    layouts.uselesstile,
    layouts.termfair,
    layouts.browse,
    layouts.uselessfair,
    layouts.centerwork,
    -- Wallpaper
    if beautiful.wallpaper then
    for s = 1, screen.count() do
    gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
    end
    -- Tags
    tags = {
    names = { " :) ", " :/ ", " :P ", " X) ", " ;) "},
    layout = { layouts[1], layouts[2], layouts[2], layouts[2], layouts[2] }
    for s = 1, screen.count() do
    tags[s] = awful.tag(tags.names, s, tags.layout)
    end
    -- Menu
    myaccessories = {
    { "ranger", terminal .. " -depth 16 -g 130x30 -e ranger"},
    { "editor", gui_editor }
    myinternet = {
    { "weechat", terminal .. " -g 130x30 -e weechat-curses" },
    { "sabnzbd" , "dwb http://localhost:9090" },
    { "transmission", terminal .. " -g 130x30 -e transmission-remote-cli -c xenogia:dot.dot.dot@localhost:9091" },
    { "sickbeard", "dwb http://localhost:8081" },
    { "couchpotato", "dwb http://localhost:5050"}
    mymedia = {
    { "volume", "pavucontrol"},
    { "smplayer", "smplayer"},
    { "vlc", terminal .. " -e vlc -I ncurses" },
    { "cdw", terminal .. " -g 130x30 -e cdw"},
    { "devede", "devede"},
    { "ghb" , "ghb"}
    mygames = {
    { "playonlinux", "playonlinux"},
    { "dosbox" , "dosbox"},
    { "desura", "desura"},
    { "steam", "steam" },
    mygraphics = {
    { "gimp" , "gimp" },
    { "feh" , "feh" }
    myoffice = {
    { "libreoffice" , "libreoffice" }
    mysystem = {
    { "lxappearance" , "lxappearance" },
    { "gparted" , "sudo gparted"},
    { "htop" , tasks }
    mymainmenu = awful.menu({ items = {
    { "accessories" , myaccessories },
    { "graphics" , mygraphics },
    { "internet" , myinternet },
    { "media" , mymedia },
    { "games" , mygames },
    { "office" , myoffice },
    { "system" , mysystem },
    mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
    menu = mymainmenu })
    -- Colours
    coldef = "</span>"
    colwhi = "<span color='#b2b2b2'>"
    colbwhi = "<span color='#ffffff'>"
    blue = "<span color='#7493d2'>"
    yellow = "<span color='#e0da37'>"
    grey = "<span color='#636060'>"
    purple = "<span color='#e33a6e'>"
    lightpurple = "<span color='#eca4c4'>"
    azure = "<span color='#80d9d8'>"
    green = "<span color='#87af5f'>"
    lightgreen = "<span color='#62b786'>"
    red = "<span color='#bd0707'>"
    orange = "<span color='#ff7100'>"
    brown = "<span color='#db842f'>"
    fuchsia = "<span color='#800080'>"
    gold = "<span color='#e7b400'>"
    lightblue="<span color='#3eae9e'>"
    lightblue2="<span color='#266c76'>"
    lightblue3="<span color='#285666'>"
    lightblue4="<span color='#257c85'>"
    lightblue5="<span color='#223d5a'>"
    lightblue6="<span color='#235369'>"
    offyellow="<span color='#857b52'>"
    bottomgrey="<span color='#999999'>"
    -- {{{ Wibox
    -- {{{{ Temp
    tempicon = wibox.widget.imagebox()
    tempicon:set_image(beautiful.widget_temp)
    tempwidget = wibox.widget.textbox()
    vicious.register(tempwidget, vicious.widgets.thermal, bottomgrey .. " Temp: $1°C" .. coldef, 15, "thermal_zone0")
    -- {{{ Kernel Info
    sysicon = wibox.widget.imagebox()
    sysicon:set_image(beautiful.widget_arch)
    syswidget = wibox.widget.textbox()
    vicious.register( syswidget, vicious.widgets.os, bottomgrey .. " Kernel: $2" .. coldef)
    -- {{{ Uptime
    uptimeicon = wibox.widget.imagebox()
    uptimeicon:set_image(beautiful.widget_uptime)
    uptimewidget = wibox.widget.textbox()
    vicious.register( uptimewidget, vicious.widgets.uptime, bottomgrey .. " Uptime: $1d $2h $3m" .. coldef)
    -- {{{ Cpu
    -- CPU widget
    cpuicon = wibox.widget.imagebox()
    cpuicon:set_image(beautiful.widget_cpu)
    cpuwidget = wibox.widget.textbox()
    vicious.register(cpuwidget, vicious.widgets.cpu, bottomgrey .. " Cpu: $1%" .. coldef, 15)
    cpuicon:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.util.spawn(tasks, false) end)))
    -- {{{ Ram
    -- Memory widget
    memicon = wibox.widget.imagebox()
    memicon:set_image(beautiful.widget_mem)
    memwidget = wibox.widget.textbox()
    vicious.register(memwidget, vicious.widgets.mem, bottomgrey .. " Memory: $2MB" .. coldef, 15)
    -- {{{ Mpd
    mpdicon = wibox.widget.imagebox()
    mpdicon:set_image(beautiful.widget_mpd)
    mpdwidget = wibox.widget.textbox()
    -- Register widget
    vicious.register(mpdwidget, vicious.widgets.mpd,
    function (widget, args)
    if args["{state}"] == "Stop" then
    return " - "
    else
    return args["{Artist}"]..' - '.. args["{Title}"]
    end
    end, 10)
    -- {{{ Net
    -- Net widget
    netdownicon = wibox.widget.imagebox()
    netdownicon:set_image(beautiful.widget_netdown)
    netdownicon.align = "middle"
    netdowninfo = wibox.widget.textbox()
    vicious.register(netdowninfo, vicious.widgets.net, green .. "${enp9s0 down_kb}" .. coldef, 1)
    netupicon = wibox.widget.imagebox()
    netupicon:set_image(beautiful.widget_netup)
    netupicon.align = "middle"
    netupinfo = wibox.widget.textbox()
    vicious.register(netupinfo, vicious.widgets.net, red .. "${enp9s0 up_kb}" .. coldef, 1)
    ethdowninfo = wibox.widget.textbox()
    vicious.register(ethdowninfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 down_kb}</span>", 1)
    ethupinfo = wibox.widget.textbox()
    vicious.register(ethupinfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 up_kb}</span>", 1)
    -- {{{ Volume
    -- Volume widget
    volicon = wibox.widget.imagebox()
    volicon:set_image(beautiful.widget_vol)
    volumewidget = wibox.widget.textbox()
    vicious.register(volumewidget, vicious.widgets.volume, bottomgrey .. " Volume: $1%" .. coldef, 1, "Master")
    -- Pacman Widget --
    -- Pacman Icon
    pacicon = wibox.widget.imagebox()
    pacicon:set_image(beautiful.widget_pac)
    -- Pacman Widget
    pacwidget = wibox.widget.textbox()
    pacwidget_t = awful.tooltip({ objects = {pacwidget},})
    vicious.register(pacwidget, vicious.widgets.pkg,
    function(widget,args)
    local io = { popen = io.popen }
    local s = io.popen("pacman -Qu")
    local str = ''
    for line in s:lines() do
    str = str .. line .. "\n"
    end
    pacwidget_t:set_text(str)
    s:close()
    return "" .. bottomgrey .. " Updates: " .. args[1] .. coldef
    end, 60, "Arch")
    --'1800' means check every 30 minutes
    pacicon:buttons(awful.util.table.join(
    awful.button({ }, 3, function () awful.util.spawn("".. terminal.. " --hold -e sudo pacman -Syu", false) end),
    awful.button({ }, 1, function () awful.util.spawn("sudo pacman -Syu", false) end)
    -- {{{ Clock
    -- Textclock widget
    clockicon = wibox.widget.imagebox()
    clockicon:set_image(beautiful.widget_clock)
    mytextclock = awful.widget.textclock(bottomgrey .. " %A %d %B</span> " .. colwhi .. "</span><span color=\"#ffffff\">></span> <span color='#999999'>%H:%M</span>")
    -- {{{ Spacers
    space = wibox.widget.textbox()
    space:set_text(' ')
    -- {{{ Seperator
    openb = wibox.widget.textbox(lightblue6 .. " [" .. coldef)
    closeb = wibox.widget.textbox(lightblue6 .. " ]" .. coldef)
    -- Create a wibox for each screen and add it
    mywibox = {}
    mybottomwibox = {}
    bottombox = {}
    mypromptbox = {}
    mylayoutbox = {}
    mytaglist = {}
    mytaglist.buttons = awful.util.table.join(
    awful.button({ }, 1, awful.tag.viewonly),
    awful.button({ modkey }, 1, awful.client.movetotag),
    awful.button({ }, 3, awful.tag.viewtoggle),
    awful.button({ modkey }, 3, awful.client.toggletag),
    awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
    awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(
    awful.button({ }, 1, function (c)
    if c == client.focus then
    c.minimized = true
    else
    -- Without this, the following
    -- :isvisible() makes no sense
    c.minimized = false
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    -- This will also un-minimize
    -- the client, if needed
    client.focus = c
    c:raise()
    end
    end),
    awful.button({ }, 3, function ()
    if instance then
    instance:hide()
    instance = nil
    else
    instance = awful.menu.clients({ width=250 })
    end
    end),
    awful.button({ }, 4, function ()
    awful.client.focus.byidx(1)
    if client.focus then client.focus:raise() end
    end),
    awful.button({ }, 5, function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end))
    for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt()
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
    awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mylauncher)
    left_layout:add(mypromptbox[s])
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(space)
    right_layout:add(space)
    -- right_layout:add(mylayoutbox[s])
    -- Now bring it all together (with the tasklist in the middle)
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    -- layout:set_middle(mytasklist[s])
    layout:set_middle(mytaglist[s])
    layout:set_right(right_layout)
    mywibox[s]:set_widget(layout)
    -- Create Bottom WiBox
    mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s })
    -- Widgets Aligned to the Middle
    local bottom_left_layout = wibox.layout.fixed.horizontal()
    bottom_left_layout:add(sysicon)
    bottom_left_layout:add(syswidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(volicon)
    bottom_left_layout:add(volumewidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(cpuicon)
    bottom_left_layout:add(cpuwidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(memicon)
    bottom_left_layout:add(memwidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(tempicon)
    bottom_left_layout:add(tempwidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(pacicon)
    bottom_left_layout:add(pacwidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(uptimeicon)
    bottom_left_layout:add(uptimewidget)
    bottom_left_layout:add(space)
    bottom_left_layout:add(clockicon)
    bottom_left_layout:add(mytextclock)
    local bottom_right_layout = wibox.layout.fixed.horizontal()
    if s == 1 then bottom_right_layout:add(wibox.widget.systray()) end
    -- Bring Bottom Wibox Together
    local bottom_layout = wibox.layout.align.horizontal()
    bottom_layout:set_middle(bottom_left_layout)
    bottom_layout:set_right(bottom_right_layout)
    mybottomwibox[s]:set_widget(bottom_layout)
    end
    -- Mouse Bindings
    root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
    -- Key bindings
    globalkeys = awful.util.table.join(
    -- Capture a screenshot
    awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
    -- Move clients
    awful.key({ altkey }, "Next", function () awful.client.moveresize( 1, 1, -2, -2) end),
    awful.key({ altkey }, "Prior", function () awful.client.moveresize(-1, -1, 2, 2) end),
    awful.key({ altkey }, "Down", function () awful.client.moveresize( 0, 1, 0, 0) end),
    awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
    awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
    awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
    awful.key({ modkey, }, "Left", awful.tag.viewprev ),
    awful.key({ modkey, }, "Right", awful.tag.viewnext ),
    awful.key({ modkey, }, "Escape", awful.tag.history.restore),
    awful.key({ modkey, }, "k",
    function ()
    awful.client.focus.byidx( 1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "j",
    function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end),
    -- Show/Hide Wibox
    awful.key({ modkey }, "b", function ()
    mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
    end),
    -- Application Switcher
    awful.key({ "Mod1" }, "Tab", function ()
    -- If you want to always position the menu on the same place set coordinates
    awful.menu.menu_keys.down = { "Down", "Alt_L" }
    local cmenu = awful.menu.clients({width=245}, { keygrabber=true, coords={x=525, y=330} })
    end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
    awful.key({ modkey, }, "Tab",
    function ()
    awful.client.focus.history.previous()
    if client.focus then
    client.focus:raise()
    end
    end),
    -- Standard program
    awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift" }, "q", awesome.quit),
    awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
    awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
    awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
    awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
    awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
    awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
    awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
    awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
    awful.key({ modkey, "Control" }, "n", awful.client.restore),
    -- Dropdown terminal
    awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
    -- Widgets popups
    -- Volume control
    awful.key({ "Control" }, "Up", function ()
    awful.util.spawn("amixer set Master playback 1%+", false )
    vicious.force({ volumewidget })
    end),
    awful.key({ "Control" }, "Down", function ()
    awful.util.spawn("amixer set Master playback 1%-", false )
    vicious.force({ volumewidget })
    end),
    awful.key({ "Control" }, "m", function ()
    awful.util.spawn("amixer set Master playback mute", false )
    vicious.force({ volumewidget })
    end),
    awful.key({ "Control" }, "u", function ()
    awful.util.spawn("amixer set Master playback unmute", false )
    vicious.force({ volumewidget })
    end),
    awful.key({ altkey, "Control" }, "m", function ()
    awful.util.spawn("amixer set Master playback 100%", false )
    vicious.force({ volumewidget })
    end),
    -- Music control
    awful.key({ altkey, "Control" }, "Up", function ()
    awful.util.spawn( "mpc toggle", false )
    vicious.force({ mpdwidget } )
    end),
    awful.key({ altkey, "Control" }, "Down", function ()
    awful.util.spawn( "mpc stop", false )
    vicious.force({ mpdwidget } )
    end ),
    awful.key({ altkey, "Control" }, "Left", function ()
    awful.util.spawn( "mpc prev", false )
    vicious.force({ mpdwidget } )
    end ),
    awful.key({ altkey, "Control" }, "Right", function ()
    awful.util.spawn( "mpc next", false )
    vicious.force({ mpdwidget } )
    end ),
    -- Copy to clipboard
    awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
    -- User programs
    awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
    awful.key({ modkey, "Control" }, "m", function () awful.util.spawn( terminal .. " -g 130x30 -e mutt", false ) end),
    awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),
    awful.key({ modkey, "Control" }, "f", function () awful.util.spawn( terminal .. " -depth 16 -g 130x30 -e ranger", false ) end),
    awful.key({ modkey, "Control" }, "v", function () awful.util.spawn( "/usr/local/bin/video", false) end),
    -- awful.key({ modkey, }, "d", function () awful.util.spawn( "spacefm", false ) end),
    -- Conky
    -- Prompt
    awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
    awful.key({ modkey }, "x",
    function ()
    awful.prompt.run({ prompt = "Run Lua code: " },
    mypromptbox[mouse.screen].widget,
    awful.util.eval, nil,
    awful.util.getdir("cache") .. "/history_eval")
    end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Compute the maximum number of digit we need, limited to 9
    keynumber = 0
    for s = 1, screen.count() do
    keynumber = math.min(9, math.max(#tags[s], keynumber));
    end
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewonly(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewtoggle(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.movetotag(tags[client.focus.screen][i])
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.toggletag(tags[client.focus.screen][i])
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = true,
    keys = clientkeys,
    buttons = clientbuttons,
    size_hints_honor = false
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { name = "PlayOnLinux" },
    properties = { tag = tags[1][1] } },
    { rule = { instance = "urxvt", class = "URxvt" },
    properties = { tag = tags[1][2] } },
    { rule = { class = "Sublime_text" },
    properties = { tag = tags[1][4] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "sabcurses.py"},
    properties = { tag = tags[1][5] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "ranger"},
    properties = { tag = tags[1][2] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "weechat"},
    properties = { tag = tags[1][3] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "mutt" },
    properties = { tag = tags[1][3] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "htop" },
    properties = { tag = tags[1][2] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "cdw" },
    properties = { tag = tags[1][2] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "transmission-remote-cli"},
    properties = { tag = tags[1][5] } },
    { rule = { instance = "urxvt", class = "URxvt", name = "vlc"},
    properties = { tag = tags[1][4] } },
    { rule = { class = "Conky" },
    properties = {
    floating = true,
    sticky = true,
    ontop = false,
    border_width = 0,
    focusable = false,
    size_hints = {"program_position", "program_size"}
    { rule = { class = "Ghb" },
    properties = { tag = tags[1][1] } },
    { rule = { class = "Devede" },
    properties = { tag = tags[1][1] } },
    { rule = { name = "LibreOffice"},
    properties = { tag = tags[1][4] } },
    { rule = { class = "Gimp" },
    properties = { tag = tags[1][1],
    floating = true } },
    -- Signals
    -- Signal function to execute when a new client appears.
    client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)
    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then
    awful.placement.no_overlap(c)
    awful.placement.no_offscreen(c)
    end
    end
    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(awful.titlebar.widget.iconwidget(c))
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(awful.titlebar.widget.floatingbutton(c))
    right_layout:add(awful.titlebar.widget.maximizedbutton(c))
    right_layout:add(awful.titlebar.widget.stickybutton(c))
    right_layout:add(awful.titlebar.widget.ontopbutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    -- The title goes in the middle
    local title = awful.titlebar.widget.titlewidget(c)
    title:buttons(awful.util.table.join(
    awful.button({ }, 1, function()
    client.focus = c
    c:raise()
    awful.mouse.client.move(c)
    end),
    awful.button({ }, 3, function()
    client.focus = c
    c:raise()
    awful.mouse.client.resize(c)
    end)
    -- Now bring it all together
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_right(right_layout)
    layout:set_middle(title)
    awful.titlebar(c):set_widget(layout)
    end
    end)
    client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
    client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)

    @Prezioso: sorry about that i will upload some screenshots about error
    Sloved. Thank you very much. urxvt not install, i change terminal to gnome-terminal.
    I have one question about themes for copycat-killer. This is github https://github.com/copycat-killer/awesome-copycats.
    I can't use his themes althought installed fonts are Terminus (Multicolor, Powerarrow Darker) and Tamsyn (other ones).
    Then I copy them to ~/.fonts and use command " fc-cache -fv ". after that restart awesome but error font. What wrong i do. ?
    this is my calendar.lua file
    Licensed under GNU General Public License v2
    * (c) 2013, Luke Bonham
    local icons_dir = require("lain.helpers").icons_dir
    local awful = require("awful")
    local beautiful = require("beautiful")
    local naughty = require("naughty")
    local io = { popen = io.popen }
    local os = { date = os.date }
    local tonumber = tonumber
    local setmetatable = setmetatable
    -- Calendar notification
    -- lain.widgets.calendar
    local calendar = {}
    local cal_notification = nil
    function calendar:hide()
    if cal_notification ~= nil then
    naughty.destroy(cal_notification)
    cal_notification = nil
    end
    end
    function calendar:show(t_out, inc_offset, scr)
    calendar:hide()
    local offs = inc_offset or 0
    local tims = t_out or 0
    local f, c_text
    local today = tonumber(os.date('%d'))
    local init_t = calendar.cal .. ' | sed -r -e "s/(^| )( '
    calendar.offset = calendar.offset + offs
    if offs == 0 or calendar.offset == 0
    then -- current month showing, today highlighted
    if today >= 10
    then
    init_t = calendar.cal .. ' | sed -r -e "s/_\\x08//g" | sed -r -e "s/(^| )('
    end
    calendar.offset = 0
    calendar.notify_icon = calendar.icons .. today .. ".png"
    -- bg and fg inverted to highlight today
    f = io.popen( init_t .. today ..
    ')($| )/\\1<b><span foreground=\\"'
    .. calendar.bg ..
    '\\" background=\\"'
    .. calendar.fg ..
    '\\">\\2<\\/span><\\/b>\\3/"' )
    else -- no current month showing, no day to highlight
    local month = tonumber(os.date('%m'))
    local year = tonumber(os.date('%Y'))
    month = month + calendar.offset
    if month > 12 then
    month = month % 12
    year = year + 1
    if month <= 0 then
    month = 12
    end
    elseif month < 1 then
    month = month + 12
    year = year - 1
    if month <= 0 then
    month = 1
    end
    end
    calendar.notify_icon = nil
    f = io.popen(calendar.cal .. ' ' .. month .. ' ' .. year)
    end
    c_text = "<tt><span font='" .. calendar.font .. " "
    .. calendar.font_size .. "'><b>"
    .. f:read() .. "</b>\n\n"
    .. f:read() .. "\n"
    .. f:read("*a"):gsub("\n*$", "")
    .. "</span></tt>"
    f:close()
    cal_notification = naughty.notify({
    text = c_text,
    icon = calendar.notify_icon,
    position = calendar.position,
    fg = calendar.fg,
    bg = calendar.bg,
    timeout = tims,
    screen = scr or 1
    end
    function calendar:attach(widget, args)
    local args = args or {}
    calendar.cal = args.cal or "/usr/bin/cal"
    calendar.icons = args.icons or icons_dir .. "cal/white/"
    calendar.font = args.font or beautiful.font:sub(beautiful.font:find(""),
    beautiful.font:find(" "))
    calendar.font_size = tonumber(args.font_size) or 11
    calendar.fg = args.fg or beautiful.fg_normal or "#FFFFFF"
    calendar.bg = args.bg or beautiful.bg_normal or "#FFFFFF"
    calendar.position = args.position or "top_right"
    calendar.scr_pos = args.scr_pos or 1
    calendar.offset = 0
    calendar.notify_icon = nil
    widget:connect_signal("mouse::enter", function () calendar:show(0, 0, scr_pos) end)
    widget:connect_signal("mouse::leave", function () calendar:hide() end)
    widget:buttons(awful.util.table.join( awful.button({ }, 1, function ()
    calendar:show(0, -1, scr_pos) end),
    awful.button({ }, 3, function ()
    calendar:show(0, 1, scr_pos) end),
    awful.button({ }, 4, function ()
    calendar:show(0, -1, scr_pos) end),
    awful.button({ }, 5, function ()
    calendar:show(0, 1, scr_pos) end)))
    end
    return setmetatable(calendar, { __call = function(_, ...) return create(...) end })
    Thank everyone.
    Last edited by zyzzvn (2015-02-04 14:55:21)

  • JDBC Adapter Call a Table-Valued Function

    Hello to all,
    we're using the JDBC adapter to access a MS SQL-Server 2008.
    I have to call a "Table-Valued Function" via JDBC.
    Has anybody done this?
    I've tried to call it like a stored procedure with the following:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
         <fLGBuchungenSAP>
              <Tablename action="execute">
                   <table>dbo.fLGBuchungenSAP</table>
              </Tablename>
         </fLGBuchungenSAP>
    </ns1:LGBuchungSAP_REQ>
    but I get following error:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser:
    Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP' (structure 'fLGBuchungenSAP'): com.microsoft.sqlserver.jdbc.SQLServerException:
    Fehler bei der Anforderung für 'fLGBuchungenSAP' (Prozedur), weil 'fLGBuchungenSAP' ein Tabellenwertfunktion-Objekt ist.
    Calling with a select-statement also fails:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
         <STATEMENT_NAME>
              <Tablename action="SELECT">
                   <table>dbo.fLGBuchungenSAP(&apos;20101101 00:00:00&apos;, &apos;20110101 00:00:00&apos;)</table>
              </Tablename>
         </STATEMENT_NAME>
    </ns1:LGBuchungSAP_REQ>
    with error:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Eingangs-Message -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
         <SAP:Category>XIAdapterFramework</SAP:Category>
         <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
         <SAP:P1></SAP:P1>
         <SAP:P2></SAP:P2>
         <SAP:P3></SAP:P3>
         <SAP:P4></SAP:P4>
         <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP('20101101 00:00:00', '20110101 00:00:00')' (structure 'STATEMENT_NAME'): java.lang.IndexOutOfBoundsException: Index: 4, Size: 4</SAP:AdditionalText>
         <SAP:Stack></SAP:Stack>
         <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    Please advice
    Regards
    Christian

    Hello to all,
    I solved the problem.
    You have to call it this way:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyzde/pi/mav/kantine">
         <STATEMENT>
              <LGBuchungSAP action="SQL_DML">
                   <access>select * from dbo.fLGBuchungenSAP(&apos;$DatumVon$&apos;, &apos;$DatumBis$&apos;)</access>
                   <key>
                        <DatumVon>20101101 00:00:00</DatumVon>
                        <DatumBis>20110101 00:00:00</DatumBis>
                   </key>
              </LGBuchungSAP>
         </STATEMENT>
    </ns1:LGBuchungSAP_REQ>
    But I get the next error: "A result set was generated for the update task"
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
         <SAP:Category>XIAdapterFramework</SAP:Category>
         <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
         <SAP:P1></SAP:P1>
         <SAP:P2></SAP:P2>
         <SAP:P3></SAP:P3>
         <SAP:P4></SAP:P4>
         <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LGBuchungSAP' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Es wurde ein Resultset für den Aktualisierungsvorgang generiert.</SAP:AdditionalText>
         <SAP:Stack></SAP:Stack>
         <SAP:Retry>M</SAP:Retry>
    </SAP:Error>

  • How to call a preference value in XSLT

    Hi ALL,
    how to call a preference value(which is defined in bpel already) in XSLT??
    Can any one help me plz
    Regards,
    Venkat Ch

    Function to retrieve the preference :
    http://www.xenta.nl/blog/2009/10/28/oracle-soa-suite-11g-setting-and-getting-preferences/
    Create a new xsl mapping and let the 'first' parameter be some messageType variable (for example the inputVariable, or some other variable you use for your main input).
    In the xslt add between the "<xsl:stylesheet>"-tag and the "<xsl:template match=".">"-tag something like  "<xsl:param name="myPref" />"
    Your xsl is ready to receive the extra input parameter.
    Now in your bpel process do something like this
          <copy>
            <from expression="ora:doXSLTransformForDoc('xsl/myxslt.xsl', $inputVariable.input, 'myPref', ora:getPreference(myPref))"/>
            <to variable="myresult"/>
          </copy>
    or first assign ora:getPreference(myPref) to myPrefVar (xsd:string) and then use 
          <copy>
            <from expression="ora:doXSLTransformForDoc('xsl/myxslt.xsl', $inputVariable.input, 'myPref', $myPrefVar)"/>
            <to variable="myresult"/>
          </copy>

  • Error: ORA-29532: Java call terminated by uncaught Java exception:

    Anyone have this similar problem of
    ORA-29532: Java call terminated by uncaught Java exception:
    javax.xml.rpc.soap.SOAPFaultException: Caught exception while handling request:
    deserialization error: XML reader error: unexpected character content:
    "A"
    The service is running fine in a browser and returns the date. When I run it using the PL/SQL it has the error mentioned above.
    I am running the following:
    CREATE OR REPLACE FUNCTION GetDate_wb( p_dummy IN VARCHAR2 )
    RETURN DATE
    AS
    l_service sys.UTL_DBWS.service;
    l_call sys.UTL_DBWS.call;
    l_result ANYDATA;
    l_wsdl_url VARCHAR2(1024);
    l_service_name VARCHAR2(200);
    l_operation_name VARCHAR2(200);
    l_input_params sys.UTL_DBWS.anydata_list;
    l_port sys.UTL_DBWS.qname := 8988;
    BEGIN
    l_wsdl_url := 'http://org-lblakisa1:8988/BPEL_OD-LoginWS-context-root/getDate1SoapHttpPort?WSDL';
    l_service_name := 'getDate1';
    l_operation_name := 'getDate';
    l_service := sys.UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_name);
    l_call := sys.UTL_DBWS.create_call (
    service_handle => l_service,
    port_name => NULL,
    operation_name => l_operation_name);
    l_input_params(1) := ANYDATA.ConvertVarchar2(p_dummy);
    l_result := sys.UTL_DBWS.invoke (
    call_handle => l_call,
    input_params => l_input_params);
    sys.UTL_DBWS.release_call (call_handle => l_call);
    sys.UTL_DBWS.release_service (service_handle => l_service);
    RETURN ANYDATA.AccessDate(l_result);
    END;
    /

    Problem is resolved... We had a version issue in that 10.1.3 web service is not compatible. 10.1.2 worked.

  • Java call terminated by uncaught Java exception: java.lang.NullPointerExcep

    i have written this program of adding file items using wwsbr_api.add_item but,
    1 declare
    2 l_new_item_master_id number;
    3 l_caid number := 53;
    4 l_folder_id number := 50279;
    5 begin
    6 select c.id, f.id
    7 into l_caid, l_folder_id
    8 from portal.wwsbr_all_content_areas c,
    9 portal.wwsbr_all_folders f
    10 where c.id = f.caid and c.name = 'S_T_PAGE'
    11 and f.name = 'S_PAGE';
    12 --portal.wwctx_api_private.set_context('PORTAL');
    13 l_new_item_master_id := portal.wwsbr_api.add_item(
    14 p_caid => l_caid,
    15 p_folder_id => l_folder_id,
    16 p_display_name => 'simple file item',
    17 p_type_id => portal.wwsbr_api.ITEM_TYPE_FILE,
    18 p_type_caid => portal.wwsbr_api.SHARED_OBJECTS,
    19 p_region_id => 4571,
    20 p_file_filename => 'D:\ora\training\html\frame.html'
    21 );
    22 -- process cache invalidation messages
    23 portal. wwpro_api_invalidation.execute_cache_invalidation;
    24* end;
    SQL> /
    this program is showing the following exception. kindly give the solution urgently..........
    declare
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException
    ORA-06512: at "PORTAL.WWSBR_API", line 37
    ORA-06512: at "PORTAL.WWSBR_API", line 610
    ORA-06512: at line 13

    can any one of u please give me the reply to the above error,
    urgently.............

  • *A join in the primary read function may have caused values to be duplicate

    There are two logical services - Emp and Dept with getById function defined in each.
    I need to design a solution; where in the user will enter the EmpId and data to update (both emp and dept table)
    Structure:
    Emp:
    Id,Name, DeptId
    Dept
    Id,Name
    Approach followed (Integration Layer)
    declare function tns:getData($id as xs:string) as element(ns1:Details)* {
    for $EMP in emp:getEmpById($id)
    for $DEPT in dep:getDeptById($EMP/DEPTNO)
    return
    <ns1:Details>
    <ns1:Emp> <ns1:Id>{fn:data($EMP/NAME)}</ns1:Id>
    </ns1:Emp>
    <ns1:Dept> <ns1:Name>{fn:data($DEPT/DNAME)}</ns1:Name>
    </ns1:Dept>
    </ns1:Details>
    Now , when I create the Update Map Procedures; following Error is generated
    A join in the primary read function may have caused values to be duplicated in the result. Update function is disabled.
    I tired to look upon the internet; got some docs. bt couldnt figure out how to resolve this
    Any help is appreciated
    Rgds,
    Is
    Edited by: Is916 on Feb 18, 2010 11:23 PM

    The message is telling you that the values of $EMP/NAME will be duplicated (for each $DEPT). And I'm assuming you're going to say "no they are not, since getDeptById(deptNo) returns zero or one $DEPT". But I suspect you haven't indicated that in the signature of getDeptById(deptNo). I suspect the signature looks like getDeptById( ... ) as element( dept )* - the * indicates zero or more. It should be a question mark instead of the start - indicating zero or one. You should also change the signature of getData to indicate it returns element(ns1:Details)? - since it too is going to return exactly zero or 1.
    Also - please read the Best Practices announcement in this forum. parameterizing function like getEmpById(id) is not recommended. Just have getEmp() - and if you want "by id" then add a predicate .... for $emp in emp:getEmp() where $emp/ID = $id

  • UCCE 8.5 Call Terminator information (who ended the call?)

    Dear Team,
    We're working with UCCE 8.5 with CVP 8.5 in a comprehensive model. We're using SIP signalling too.
    We do have a call recording and evaluation solution which is recording agents calls. This application is providing the call terminator information. The issue that this application is not providing the correct call terminator !!
    It's an application using SCCP sniffing, but it seems that CCM doesn't give such information.
    We would like to know if we UCCE offer such information somehow (in the database for exemple.
    Can you please advice ?
    Thanks for your help in advance.
    Best Regads.

    Hello,
    In the TCD (Termination Call Detail) table which you can find in the HDS database, you can find a column called "CallDisposition". This column contains codes that refer to how the call was ended (i.e. Call Disposition code of 52 refers to "Called Party Disconnected").
    Reference: CTI Server Reference Guide
    http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/ipcc_enterprise/ipccenterprise8_0_1/configuration/guide/ctisvr80.pdf
    Also, you can find many posts on this forum relating to "Call Disposition" (i.e. https://supportforums.cisco.com/message/3490321)
    1. If the customer disconnects the call, the Call disposition of the call(all 3 legs) will be 13.2. If the agent disconnects the call, the second call leg disposition is 52 and other 2 is 13
    Hope this helps,
    Justine.

  • Receiving error: Terminating app due to uncaught exception 'MFSQLiteException', reason: 'inserting mailbox url' abort() called terminating with uncaught exception of type NSException

    Today, I received this error when I re-added two email accounts that are tied in to my domain. The error is: "Terminating app due to uncaught exception 'MFSQLiteException', reason: 'inserting mailbox url' abort() called terminating with uncaught exception of type NSException"
    Two days ago, at my wits end with email issues, I googled how to Reset Mail.app and followed the recommendation found here: https://discussions.apple.com/thread/2266399?tstart=0
    That's. all. I've. done.
    What should I do correct the error I'm receiving when adding my email accounts?

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
    Step 1
    For this step, the title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    In the top right corner of the Console window, there's a search box labeled Filter. Initially the words "String Matching" are shown in that box. Enter the name of the crashed application or process. For example, if iTunes crashed, you would enter "iTunes" (without the quotes.)
    Each message in the log begins with the date and time when it was entered. Select the messages from the time of the last crash, if any. Copy them to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    ☞ The log contains a vast amount of information, almost all of which is irrelevant to solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    ☞ Some private information, such as your name, may appear in the log. Anonymize before posting.
    Step 2
    In the Console window, select
              DIAGNOSTIC AND USAGE INFORMATION ▹ User Diagnostic Reports
    (not Diagnostic and Usage Messages) from the log list on the left. There is a disclosure triangle to the left of the list item. If the triangle is pointing to the right, click it so that it points down. You'll see a list of crash reports. The name of each report starts with the name of the process, and ends with ".crash". Select the most recent report related to the process in question. The contents of the report will appear on the right. Use copy and paste to post the entire contents—the text, not a screenshot.
    I know the report is long, maybe several hundred lines. Please post all of it anyway.
    If you don't see any reports listed, but you know there was a crash, you may have chosen Diagnostic and Usage Messages from the log list. Choose DIAGNOSTIC AND USAGE INFORMATION instead.
    In the interest of privacy, I suggest that, before posting, you edit out the “Anonymous UUID,” a long string of letters, numbers, and dashes in the header of the report, if it’s present (it may not be.)
    Please don’t post other kinds of diagnostic report—they're very long and rarely helpful.

  • Call transaction passing values

    Hi Experts,
          I have a report program from which i need to call a transaction to insert a record.Brief description of the problem is as follows:
          User enters some value of  Ware house No,Inventory record and Count in a transaction say 'T1'.
    The entries are then checked in the database table.If no record exist then some other transaction 'T2'  is called passing these values of Ware house No,Inventory record No and Count.Please suggest a way how to pass multipe values from 1 transaction to other.
                            Help will be appreciated.
    Regards
    Sourabh

    Hi,
    call transaction syntax is ""call transaction <transaction code>using<BDCtab>mode<A/N/E>update<S/A>message into <internal table>
    <b>
    CALL TRANSACTION tcod [AND SKIP FIRST SCREEN] [USING itab].</b>
    The <b>USING ITAB</b> addition in the <b>CALL TRANSACTION </b>statement allows you to pass an internal table itab to the new transaction. itab has the format of a batch input table.
    Feel free to revert back.
    --Ragu
    Message was edited by:
            Raguraman C

  • Calling a multi value parameter seems to slow down report

    Hi
    Nearly all of my datasets use a multi value parameter at present which from testing seems to be causing a long delay.
    If I change the dataset to not call the parameter and manually enter the values in this works quicker, the only issue being if I need to add an additional value I need to then do it on multiple datasets rather than one parameter.
    A way around this I thought was to do the below which doesn't seem as slow as my original method.
    To try better explain I have done this
    SELECT
    Practice.ibvSalesByJob.JobType
    FROM
    Practice.ibvSalesByJob
    WHERE
    Practice.ibvSalesByJob.JobType IN (N'1', N'4', N'5', N'8', N'12', N'17', N'40', N'45', N'60')
    I then have a parameter which has default values > dataset > JobType
    The actual dataset shown in the report then shows 
    WHERE
    Practice.ibvSalesByJob.JobType IN (@ABSJobs)
    Does this make sense or is there a better way of doing what I am trying to do?
    Is there a known issue with Report Builder 3.0 and multiple parameters?
    Any help/advice appreciated.
    Cheers
    Cheers Chris

    Hi Chris,
    According to your description, when you create a multivalued parameter, then specify its values from a dataset, the report is running slower.
    In Reporting Services, all datasets within a report will be retrieved when running the report. In your scenario, if you specify the parameter values from a dataset, it’s possible to cause performance issue. If parameter doesn’t have too many values, you
    could specify the values for the parameter with specified values in Report Parameter Properties.
    Besides, in Reporting Service, the total time to generate a report include TimeDataRetreval, TimeProcessing and TimeRendering. In your scenario, you could run the report in report server, check the table
    Executionlog3 in the ReportServer database to analyze which section take much time. Then you can refer to this article to optimize your report:
    Troubleshooting Reports: Report Performance.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Calling EJB causes error in CF Administrator

    Hello,
    I just moved from CFMX 6.1 Enterprise to 7 Standard and now
    I'm having trouble when I invoke an EJB. The EJB returns the
    information successfully, but then when I try to access the CF
    Administrator, the following error is shown:
    Security: The requested template has been denied access to
    D:\WebSites\mntwia01\CFIDE\adminapi\administrator. cfc. The
    following is the internal exception message: access denied
    (java.io.FilePermission
    D:\WebSites\mntwia01\CFIDE\adminapi\administrator.cfc execute)
    ColdFusion cannot determine the line of the template that caused
    this error. This is often caused by an error in the exception
    handling subsystem.
    The rest of the website works fine, but I need to restart
    ColdFusion in order to be ablet to access the administrator again.
    The problem happens with every EJB I call, and only since the move
    to CF 7.
    Thank you for any suggestions,

    This error seems to happen if you are debugging a function (or any subprogram with OUT parameters) and the debug call block does not assign the function's return value (and/or OUT parameters) to bind variable.
    The default call block generated by SQL Developer for debugging a function ends with a statement like:
    :v_Return := v_Return;
    assigning the return value from the function call to a bind variable.
    If you remove this bind variable entirely (say, because you used the "From File" option to load some existing script for calling the function in question), then you get the "Invalid Column Index" error. Presumably SQL Developer expects to be able to get the return value of the function out of a bind variable, so if there is nothing to bind to it gets an error.
    Now, there doesn't seem to be any very good reason for this, since as far as I can tell you can't view the return value in any way after completing the debug run (and in fact, in many debug runs you may not even run the function to completion).

Maybe you are looking for