Execute RFC Command in waiting after CR release - JCAPS 5.1.2
Hi to All,
our integration landscape is composed by Siebel CRM - Jcaps 5.1.2 - Sap Ecc 6.
We have implemented in JCAPS three layer: one for Siebel Interaction, one for Business Rules and another one for Sap Interaction.
In Sap Layer we call RFC Function or Send/Receive IDoc.
Sometimes when Sap Workgroup release some CR on Ecc 6, execute command of some RFC Function in jcd sap layer still waiting response for different hours.
To unblock this situation is necessary to restart Application Server and problem is solved.
Anyone has never encountered this problem? Do you have any idea on the possible reasons?
Thank you very much,
Marcello Ricci
Hi to All,
our integration landscape is composed by Siebel CRM - Jcaps 5.1.2 - Sap Ecc 6.
We have implemented in JCAPS three layer: one for Siebel Interaction, one for Business Rules and another one for Sap Interaction.
In Sap Layer we call RFC Function or Send/Receive IDoc.
Sometimes when Sap Workgroup release some CR on Ecc 6, execute command of some RFC Function in jcd sap layer still waiting response for different hours.
To unblock this situation is necessary to restart Application Server and problem is solved.
Anyone has never encountered this problem? Do you have any idea on the possible reasons?
Thank you very much,
Marcello Ricci
Similar Messages
-
[Solved] "slim: failed to execute login command" after awesomewm updat
Hi,
i updated some weeks ago via pacman -Syu, where also awesome wm was updated from 3.4.* to 3.5.* so I updated my rc.lua as it is told on their wiki, but i cant login with my rc.lua anymore i got the failed to execute login command error from slime. If i use the shipped efault rc.lua it works fine, can someone help me to figure out whats wrong with my rc.lua?
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
awful.rules = require("awful.rules")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local vicious = require("vicious")
function fullscreens(c)
awful.client.floating.toggle(c)
if awful.client.floating.get(c) then
local clientX = screen[1].workarea.x
local clientY = screen[1].workarea.y
local clientWidth = 0
-- look at http://www.rpm.org/api/4.4.2.2/llimits_8h-source.html
local clientHeight = 2147483640
for s = 1, screen.count() do
clientHeight = math.min(clientHeight, screen[s].workarea.height)
clientWidth = clientWidth + screen[s].workarea.width
end
local t = c:geometry({x = clientX, y = clientY, width = clientWidth, height = clientHeight})
else
--apply the rules to this client so he can return to the right tag if there is a rule for that.
awful.rules.apply(c)
end
-- focus our client
client.focus = c
end
-- {{{ 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
local 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
-- Themes define colours, icons, and wallpapers
-- beautiful.init("/home/kili/Repositories/awesome-themes/arch/theme.lua")
beautiful.init("/usr/share/awesome/themes/default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "urxvt"
editor = os.getenv("EDITOR") or "nano"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.floating,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.spiral,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = awful.tag({ 1, 2, 3, 4, 5}, s, layouts[1])
end
-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", awesome.quit }
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu })
-- {{{ Wibox
-- Create a textclock widget
batwidget = wibox.widget.textbox()
vicious.register(batwidget, vicious.widgets.bat,
function(widget,args)
local formatstring = " Bat: "..args[1]..args[2] .."%".. " "..args[3] .. " "
if args[2] <= 25 and args[1] == "-" then
return "<span color=\"red\">".. formatstring .. "</span>"
end
return formatstring
end, 60, "BAT0")
netwidgetETH = wibox.widget.textbox()
netwidgetWIFI = wibox.widget.textbox()
vicious.register(netwidgetETH, vicious.widgets.net, ' eth0:<span color="#CC9393">${eth0 down_kb}</span> <span color="#7F9F7F">${eth0 up_kb}</span>', 3)
vicious.register(netwidgetWIFI, vicious.widgets.net,' wlan0:<span color="#CC9393">${wlan0 down_kb}</span> <span color="#7F9F7F">${wlan0 up_kb}</span>', 3)
menubar.utils.terminal = terminal
mytextclock = awful.widget.textclock()--{ align = "right" })
-- Create a systray
mysystray = wibox.widget.systray()
-- Create a wibox for each screen and add it
mywibox = {}
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(aweful.tag.getscreen(t)) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(aweful.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
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()--{ layout = awful.widget.layout.horizontal.leftright })
-- 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(mytaglist[s])
left_layout:add(mypromptbox[s])
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
if s == 1 then right_layout:add(wibox.widget.systray()) end
right_layout:add(netwidgetWIFI)
right_layout:add(netwidgetETH)
right_layout:add(batwidget)
right_layout:add(mytextclock)
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_right(right_layout)
mywibox[s]:set_widget(layout)
-- Add widgets to the wibox - order matters
--mywibox[s].widgets = {
-- mylauncher,
-- mytaglist[s],
-- mypromptbox[s],
--layout = awful.widget.layout.horizontal.leftright
-- mylayoutbox[s],
-- mytextclock,
-- batwidget,
-- netwidgetETH,
-- netwidgetWIFI,
-- s == 1 and mysystray or nil,
-- mytasklist[s],
-- layout = awful.widget.layout.horizontal.rightleft
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(
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, }, "j",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "w", function () mymainmenu:show() 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),
-- 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),
-- Multimedia
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end),
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end),
awful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mocp -f" ) end),
awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mocp -r" ) end),
awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mocp -G" ) end),
awful.key({ }, "Print", function () awful.util.spawn("ksnapshot") end),
awful.key({ }, "", function () awful.util.spawn("slimlock") 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, "Shift" }, "r", function (c) c:redraw() end),
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),
awful.key({ modkey, "Shift" }, "f", fullscreens)
-- 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 ()
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end),
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local 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)
-- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } },
-- {{{ Rules
if screen.count() > 1 then
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 } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "gimp" },
properties = { floating = true } },
{ rule = { class = "Xdialog" },
properties = { floating = true } },
{ rule = { class = "Firefox" },
properties = { tag = tags[1][1] } },
{ rule = { name = "Thunderbird" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "plugin-container" },
properties = { floating = true } },
{ rule = { class = "Luakit" },
properties = { floating = true } }
else
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 } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "gimp" },
properties = { floating = true } },
{ rule = { class = "Firefox" },
properties = { tag = tags[1][2] } },
{ rule = { name = "Thunderbird" },
properties = { tag = tags[1][3] } },
{ rule = { instance = "plugin-container" },
properties = { floating = true, fullscreen = true } },
{ rule = { class = "Dolphin" },
properties = { floating = false, fullscreen = false, tag = tags[1][4] } },
{ rule = { class = "Luakit" },
properties = { floating = true } },
{ rule = { class = "Pidgin" },
properties = { tag = tags[1][5] } }
end
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
-- Add a titlebar
-- awful.titlebar.add(c, { modkey = modkey })
-- 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))
-- 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)
Here is also my slime config and my initrc
ls -lisa .xinitrc
3276814 4 -rwxr-xr-x ...
#!/bin/sh
xrdb -merge ~/.Xresources
wicd-client --tray &
exec awesome #>> ~/.cache/awesome/stdout 2>> ~/.cache/awesome/stderr
# Path, X server and arguments (if needed)
# Note: -xauth $authfile is automatically appended
default_path /bin:/usr/bin:/usr/local/bin
default_xserver /usr/bin/X
xserver_arguments -nolisten tcp vt07
# Commands for halt, login, etc.
halt_cmd /sbin/shutdown -h now
reboot_cmd /sbin/shutdown -r now
console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
#suspend_cmd /usr/sbin/suspend
# Full path to the xauth binary
xauth_path /usr/bin/xauth
# Xauth file for server
authfile /var/run/slim.auth
# Activate numlock when slim starts. Valid values: on|off
numlock on
# Hide the mouse cursor (note: does not work with some WMs).
# Valid values: true|false
# hidecursor false
# This command is executed after a succesful login.
# you can place the %session and %theme variables
# to handle launching of specific commands in .xinitrc
# depending of chosen session and slim theme
# NOTE: if your system does not have bash you need
# to adjust the command according to your preferred shell,
# i.e. for freebsd use:
# login_cmd exec /bin/sh - ~/.xinitrc %session
login_cmd exec /bin/bash -login ~/.xinitrc %session
# Commands executed when starting and exiting a session.
# They can be used for registering a X11 session with
# sessreg. You can use the %user variable
# sessionstart_cmd some command
# sessionstop_cmd some command
# Start in daemon mode. Valid values: yes | no
# Note that this can be overriden by the command line
# options "-d" and "-nodaemon"
# daemon yes
# Available sessions (first one is the default).
# The current chosen session name is replaced in the login_cmd
# above, so your login command can handle different sessions.
# see the xinitrc.sample file shipped with slim sources
sessions awesome,xfce4,icewm-session,wmaker,blackbox
# Executed when pressing F11 (requires imagemagick)
screenshot_cmd import -window root /slim.png
# welcome message. Available variables: %host, %domain
welcome_msg Welcome to %host
# Session message. Prepended to the session name when pressing F1
# session_msg Session:
# shutdown / reboot messages
shutdown_msg The system is halting...
reboot_msg The system is rebooting...
# default user, leave blank or remove this line
# for avoid pre-loading the username.
default_user kili
# Focus the password field on start when default_user is set
# Set to "yes" to enable this feature
focus_password yes
# Automatically login the default user (without entering
# the password. Set to "yes" to enable this feature
#auto_login no
# current theme, use comma separated list to specify a set to
# randomly choose from
current_theme archlinux-simplyblack
# Lock file
lockfile /var/lock/slim.lock
# Log file
logfile /var/log/slim.log
Thanks in advance!
Edit:
Besides a lot of other errors the problem was the systray. It was created 2 times, now login works again. I figured that out via enabling logging for awesome in the xinitrc again.
Last edited by stubb (2013-01-08 23:20:05)Hi,
I have the same kind of issue after updated slim from v1.3.4-4 to v1.3.5-1.
see my topic here :
https://bbs.archlinux.org/viewtopic.php?id=156792
Last edited by cedricl (2013-01-24 17:16:42) -
Workflow not executing after PR release of PR through ME54N
Hi,
I have a probolem. I have created a workflow for intimation after PR release through ME54N based on release strategy . i.e. an email will go to different persons after releasing of the PR at different levels . My problem when i am releasing through ME54N the mail is not going to persons but if i execute the workflow directly giving the PR no in that case the mail is flowing . I have used the business object BUS2009 and i have selected the event 'Release Step Created".
Can any one help me out.
thanks inHi,
Try triggering the workflow event by coding (calling the FM to create an event - SWE_EVENT_CREATE) in an enhancement at the time of releasing the PR through ME54N.
Also check the following scenario for reference.
Check the organizational data, the release strategy customizing and the event and instance type linkages :
1. First you must have created in the organizational plan the user names, positions, jobs, etc. that you assign to the release code(s), and must have linked them to the relevant standard tasks with the Task Customizing (transaction OOCU).
2. When you create the release code(s) that you need for your release strategy and assign the code(s) to your release group, you should indicate that the release code(s) is (are) relevant to workflow (transaction OMGQ for purchase requisitions and transaction OMGS for purchase orders -> Release code).
The Workflow indicator is also used to control role resolution.
The Role Resolution with Group, Code and Plant (T16FW) [1] is the standard role resolution.
The Role Resolution via User Exit [9] allows you to define a role resolution via customer exit.
Then you should link the release procedure to workflow if you are not using customer exit and assign a processor ID to the workflow-relevant release code(s) (OMGQ or OMGS -> workflow).
3. For the workflow WS00000038 (Workflow for requisition release) you should have maintained the following events with transaction SWE2 (Change View "Event Type Linkages": Overview) or transaction SWE3 (Change View "Instance Type Linkages": Overview) :
RELEASESTEPCREATED with SWE2.
Object type BUS2009
Event RELEASESTEPCREATED
Receiver type WS00000038
Receiver FM SWW_WI_CREATE_VIA_EVENT
Check function
Receiver type FM
Destination
[X] Type linkage active
REJECTED with SWE3.
Object type BUS2009
Event REJECTED
Receiver type WORKITEM
Receiver FM SWW_WI_COMP_EVENT_RECEIVE
Check function ME_REL_CHECK_EVENT_PARAM
Receiver type FM
Destination
[X] Linkage activated
RELEASED with SWE3.
Object type BUS2009
Event RELEASED
Receiver type WORKITEM
Receiver FM SWW_WI_COMP_EVENT_RECEIVE
Check function ME_REL_CHECK_EVENT_PARAM
Receiver type FM
Destination
[X] Linkage activated
SIGNIFICANTLYCHANGED with SWE3.
Object type BUS2009
Event SIGNIFICANTLYCHANGED
Receiver type WORKITEM
Receiver FM SWW_WI_COMP_EVENT_RECEIVE
Check function ME_REL_CHECK_EVENT_PARAM
Receiver type FM
Destination
[X] Linkage activated
Regards,
Harish -
Execute a command after 3 seconds...
hey guys... there´s a way on AS to execute a command like.... menu2items.selectedIndex = 2; after some seconds?
cya....Example code:
import flash.utils.Timer;
import flash.events.TimerEvent;
// create a timer that executes after 3 seconds, only once
public var timer:Timer = new Timer( 3*1000, 1 );
public function init():void
// add event listeners
timer.addEventListener( TimerEvent.TIMER, handleTimerEvent );
// start the timer
timer.start();
public function handleTimerEvent( event:TimerEvent ):void
menu2items.selectedIndex = 2;
Let me know if that helps...
Ben Edwards -
HT204389 In hands free mode, why does Siri lock my phone after executing a command?
Anytime I'm using Siri in my car in hands free mode, she locks my phone immediately after executing my command. Then I can't access certain abilities without unlocking first - which obviously is missing the point of hands free mode.
Thank you!May have found a solution for part of this. In the first senario when the two names are presented, repeat request with a verb and a noun. Say call John.
As for the 2nd senerio, I have not been able to find a solution.
Siri appears to be a toy and an advertizing campain talking voice but little else. Upsetting as it was one of the reasons for choosing this platform. It will get better but not soon enough.
For now considering turning it off and using regular voice control agumented by Plantronics Vocalast service. I can possibly go on business trips and use my phone hands free whith the state Siri is in right now. -
Unable to execute update commands after improper shutdown
Hi!
It sounds a little strange.
I am unable to execute update commands from my application. My machine was shutdown improperly. Then I loaded the datastores again. I was able to execute select commands but unable to execute update commands. It was working fine before shutdown.
Regards
/AhmadHi Chris!
SQLExecute method of ODBC is returning -1.
I have checked the syntax of the query its also correct. I am also very confused on it why is this happening. If I execute the update command from ttisql it works ok.
The code is the same that we discussed in our previous conversation.
The steps I did after improper shutdown:
1. Started TimeTen daemon >ttdaemonadmin -start
2. Loaded the Data store >ttAdmin -ramLoad spiderM
3. Executed the code
The output of ttstatus is as follows:
TimesTen status report as of Fri Jun 29 21:45:41 2007
Daemon pid 8273 port 17001 instance tt70
TimesTen server pid 8284 started on port 17003
TimesTen webserver pid 8280 started on port 17005
Data store /tmp/spiderM
There are 6 connections to the data store
Data store is in shared mode
Shared Memory KEY 0x08004f3c ID 557070
Type PID Context Connection Name ConnID
Subdaemon 8278 0x0000000000570520 Worker 2042
Subdaemon 8278 0x00000000005dc4d0 Flusher 2043
Subdaemon 8278 0x000000000060d5d0 Checkpoint 2044
Subdaemon 8278 0x000000000063e5a0 Aging 2045
Subdaemon 8278 0x000000000066f570 HistGC 2046
Subdaemon 8278 0x00000000006a0430 Monitor 2047
RAM residence policy: Manual
Data store is manually loaded into RAM
Replication policy : Manual
Cache agent policy : Manual
Data store /usr/users/spider/TimesTen/tt70/info/TT_tt70
There are no connections to the data store
Replication policy : Manual
Cache agent policy : Manual
Access control enabled.
End of report
Regards
/Ahmad -
SYSTEM_FAILURE error after executing RFC for Sender RFC Scenario
Hi ,
I have configured a scenario where my sender is R3 System , data is sent via executing the RFC (BAPI) ........
I have configured the TCP type RFC destination and also maintained a unique program ID ...... i am able to see the program ID as registered service in SMGW.....
while executing the RFC i specify the RFC destination configured as the RFC target Sys...but when i execute ..i get a "<b>SYSTEM_FAILURE</b>" exception....
Please suggest some solution.
Thanks ,
SushilHi,
Execute your RFC in bakground mode. Create dummy report and polpulate your parameter of RFC in this report and execute RFC in background with following syntax.
CALL FUNCTION <yourfunction>
IN BACKGROUND TASK
DESTINATION <yourRFCDest>
<Export/Table/Exception etc Paramters>
COMMIT WORK.
You can found similar issues in forum.
Regards,
Gourav
null -
Execute a command only after all subscribers have consumed their messages
Let's say we have queue Q1 and we enqueue two messages M1 and M2. Q1 has three subscribers S1, S2, and S3. We want to execute some process P1 only after ALL subscribers (S1-S2-S3) have consumed all of their message (M1-M2). Is this something Q1 would know about (it knows once all subscribers have processed all their messages) so that on "ALL Done" event it can start P1 either directly or by enqueuing a message for another subscriber, or is this something that requires hand-written code that would keep track of who has dequeued what and execute P1 once everybody is done.
what you can do is to right another piece of code querying queue table on regular basis. When your query is returning 0 count that shows that all messages have been dequeued.
-
Error 801 when executing external command on
Hello,
I have installed CCMS agents and CCMS ping in my system yesterday. And activated the CPH BGD jobs for SL reporting purpse. Now I am getting an error "Error 801 when executing external command on" under class LC 2. I am not able to find any relevant note or help for this error. Any idea why this happens? How can I solve this? The details as follows:
EXTERNAL COMMAND: rc = Error 801
SXPG_COMMAND_EXECUTE(LONG):
<timestamp>: 20100310144206
COMMANDNAME: PING
ADDITIONAL_PARAMETERS: s-sapcae
LONG_PARAMS:
OPERATINGSYSTEM: AIX
TARGETSYSTEM: sapasmc1
DESTINATION:
SY-SUBRC: 801
Regards,
RajeevHi,
I have activated the trace level to 3 and now I get some messages in dev_cp which is as follows:
Trace file of control program (trace level 3)
< Function: BtcTrcInit> Function: main SAPXPG 720
2010-03-11 08-52-09 : Before BtcXpgDetach
> Function: BtcXpgDetach < Function: BtcXpgDetach Accept RFC connection from R/3 system
2010-03-11 08-52-09 : Before RfcAccept
2010-03-11 08-52-09 : RfcAccept returned OK
Begin of check_if_security_list
security check switched OFF
End of check_if_security_list
Begin of check_trace_option
End of check_trace_option
Install RFC call SAPXPG_START_XPG
Install RFC call SAPXPG_START_XPG_LONG
Install RFC call SAPXPG_END_XPG
Wait for RFC call SAPXPG_START_XPG or SAPXPG_START_XPG_LONG
2010-03-11 08-52-09 : Before first call of RFCDispatch
Security: rfcexec_logon_check
rfcexec_logon_check: logon_user = TT4WNUC
sapxpg_logon_check: rfc_attr.user = TT4WNUC
rfcexec_logon_check: client = 100
2010-03-11 08-52-09 : After first call of RFCDispatch
2010-03-11 08-52-09 : Before call of RfcClose (sequencing error)
2010-03-11 08-52-09 : After call of RfcClose (sequencing error)
< Function: main
2010-03-11 08-52-09 : End of SAPXPG: main
I think the issue is with the user TT4WNUC. Could you please let me know from where I can change this user?
Rajeev -
LC 2 Error 1003 when executing external command brconnect on (xpgid=0,con
Dear all,
I am getting error in sm21.Please suggest .
Details Page 2 Line 23 System Log: Local Analysis of clusa 1
Time Type Nr Clt User TCode Grp N Text
10:00:32 DIA 000 600 DDIC LC 2 Error 1003 when executing external command brconnect on (xpgid=0,convid=.)
Error 1003 when executing external command brconnect on (xpgid=0,convid=.)
Details
Recording at local and central time........................ 10.05.2010 10:00:32
Task...... Process User...... Terminal Session TCode Program Cl Problem cl Package
06952 Dialog work process No. 000 DDIC 1 SAPMSSY1 S Operation Trace SBTC
No documentation for syslog message LC 2 exists
Parameter
1 .... xpgid=0,convid=.
Technical details
File Offset RecFm System log Grp N variable message data
224 260640 LC 2 brconnect & &Error 1003 & & &
Regards,
KumarDear Juan,
Please find the logs.Please suggest.
dev_cp log
Trace file of control program (trace level 3)
< Function: BtcTrcInit> Function: main SAPXPG 720
2010-05-10--09-33-29 : Before BtcXpgDetach
> Function: BtcXpgDetach < Function: BtcXpgDetach Accept RFC connection from R/3 system
2010-05-10--09-33-29 : Before RfcAccept
2010-05-10--09-33-29 : RfcAccept returned OK
Begin of check_if_security_list
security check switched OFF
End of check_if_security_list
Begin of check_trace_option
End of check_trace_option
Install RFC call SAPXPG_START_XPG
Install RFC call SAPXPG_START_XPG_LONG
Install RFC call SAPXPG_END_XPG
Wait for RFC call SAPXPG_START_XPG or SAPXPG_START_XPG_LONG
2010-05-10--09-33-29 : Before first call of RFCDispatch
Security: rfcexec_logon_check
rfcexec_logon_check: logon_user =
sapxpg_logon_check: rfc_attr.user = BASIS
rfcexec_logon_check: client =
> Function: BtcXpgStartXpgLong
2010-05-10--09-33-29 : Beginning of BtcXpgStartXpgLong
> Function: BtcXpgStartXpgImportLong > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgTable < Function: BtcXpgTable < Function: BtcXpgStartXpgImportLong
BtcXpgStartXpgLong: special_trace_flag = <6>
> Function: BtcXpgStartXpgInt > Function: BtcXpgItTransfer Content of source log table:
Line Text
<No StdOut/StdErr output reported>
Target log table is not identical to source
ItGetLine terminated with NULL
< Function: BtcXpgItTransfer > Function: BtcTrcReset < Function: BtcTrcReset Call mode: VIA RFC
Input arguments of BtcXpgStartXpg:
External program: brtools
tracecntl = : 6
Display of Parameter string switched off !!
Contents of control flags:
StdIn control flag: redirect StdIn
StdOut control flag: store StdOut output in memory
StdErr control flag: store StdErr output in memory
Trace control flag: unknown contents
Termination control flag: control program will wait for termination
> Function: BtcXpgCheck > Function: BtcXpgArgv
parameter number 1:
parameter number 2:
parameter number 3:
parameter number 4:
parameter number 5:
parameter number 6:
parameter number 7:
Total number of arguments scanned: 7
Argument argv[0]: brtools
< Function: BtcXpgArgv < Function: BtcXpgCheck > Function: BtcXpgSigInst < Function: BtcXpgSigInst > Function: BtcXpgStart Rearrange stderr to be collected in memory
Rearrange stdout to be collected in memory
Redirect stdin, read from NUL:
> Function: BtcTrcInit< Function: BtcXpgStartStart status of external program: external program successfully started
Id of external process: 0000005296
StdOut/StdErr collected in memory
Line Text
<No StdOut/StdErr output reported>
< Function: BtcXpgStartXpgInt> Function: BtcXpgStartXpgExport > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam< Function: BtcXpgStartXpgExport
2010-05-10--09-33-29 : End of BtcXpgStartXpgLong
< Function: BtcXpgStartXpgLong
2010-05-10--09-33-29 : After first call of RFCDispatch
Wait for RFC call SAPXPG_END_XPG
2010-05-10--09-33-29 : Before second call of RFCDispatch
Security: rfcexec_logon_check
rfcexec_logon_check: logon_user =
sapxpg_logon_check: rfc_attr.user = BASIS
rfcexec_logon_check: client =
> Function: BtcXpgEndXpg
2010-05-10--09-33-29 : Beginning of BtcXpgEndXpg
> Function: BtcXpgStartXpgExport > Function: BtcXpgTable < Function: BtcXpgTable < Function: BtcXpgEndXpgImport > Function: BtcXpgEndXpgInt > Function: BtcXpgItTransfer Content of source log table:
Line Text
<No StdOut/StdErr output reported>
Target log table is not identical to source
ItGetLine terminated with NULL
< Function: BtcXpgItTransfer > Function: BtcXpgReadChild Output of external command not written to log !!
Process executing external program has terminated
< Function: BtcXpgReadChild > Function: BtcXpgEnd < Function: BtcXpgEnd Termination status of external program: no errors reported
StdOut/StdErr collected in memory
< Function: BtcXpgEndXpgInt > Function: BtcXpgEndXpgExport > Function: BtcXpgParam < Function: BtcXpgParam > Function: BtcXpgParam < Function: BtcXpgParam < Function: BtcXpgEndXpgExport
2010-05-10--09-33-30 : End of BtcXpgEndXpg
< Function: BtcXpgEndXpg
2010-05-10--09-33-30 : After second call of RFCDispatch
2010-05-10--09-33-30 : After call of RfcClose (wait)
< Function: main
2010-05-10--09-33-30 : End of SAPXPG: main
dev_xpg
Trace file of External Program (trace level 3)
< Function: BtcTrcInit> Function: BtcXpgStart External program: brtools -sid prd -F printout alert_log 20100401000000 0128
Regards,
Kumar -
How to invoke BASH shell and execute a command in that shell in Windows 98
Hello, I have a problem and if somebody will help me, I will be very glad. Thank you.
I am using BASH shell on Windows 98 OS by means of CYGWIN. And I want to invoke this BASH shell and execute a preprogrammed command in the shell (./scan fileName.txt) from a JAVA program. But so far, I am not sucessful. I can not read or write anything from / to BASH shell. It either blocks and freezes (When I use waitFor( ) ) or appears and disappears without executing scan command (When I do not use waitFor( ) ). My code is like this:
// This method is used for compiling a file.
// It invokes BASH shell and executes "./scan fileName.txt" command
public void compileFileMethod () {
try {
Process proc = ( Runtime.getRuntime() ).exec ("C:\\MyDocuments\\CYGWIN.BAT); //I also tried to add -c ./scan fileName.txt after .BAT );
// I also tried to write "C:\\MyDocuments\\BASH.EXE" but it did not help
OutputStream ostr = proc.getOutputStream();
BufferedWriter bw = new BufferedWriter ( new OutputStreamWriter (ostr) );
InputStream istr = proc.getInputStream();
BufferedReader br = new BufferedReader ( new InputStreamReader (istr) );
InputStream errorStr = proc.getErrorStream();
BufferedReader errorBr = new BufferedReader ( new InputStreamReader (errorStr) );
bw.write("scan case40.10.txt"); /* I am trying to input the scan command to the shell,but it is not working*/
bw.flush();
Vector list = new Vector (1) ;
String str;
while ( (str = br.readLine() ) != null) {
list.addElement(str);
} // End of while
Enumeration enumForList = list.elements();
while ( enumForList.hasMoreElements() ) {
String tempString;
tempString = ( String ) enumForList.nextElement();
System.out.println(tempString); // I am trying to read the outputs of the scan command but it is not reading (I can not see any output)
I tried with and without waitFor( ), it did not work
// wait for command to terminate
proc.waitFor();
// close streams
br.close();
bw.close();
errorBr.close();
} // End of try
catch ( IOException ioe ) {
JOptionPane.showMessageDialog (null, "Input / output error occured while compiling file ", "Error", JOptionPane.ERROR_MESSAGE);
} // End of catch
catch ( SecurityException se ) {
JOptionPane.showMessageDialog (null, "Security error occured while compiling file ", "Error", JOptionPane.ERROR_MESSAGE);
catch ( InterruptedException ie ) {
JOptionPane.showMessageDialog (null, "Interruption error occured while compiling file ", "Error", JOptionPane.ERROR_MESSAGE);
} // End of method compileFileMethod
// Thank you for your helps and time.You cannot invoke BAT files directly, you have to invoke the program that run those files which is your Windows 98 shell. For example (under windows 2000), i would invoke "cmd.exe sricpt.bat some args", rather than "script.bar some args".
Hope this will help you out. -
How to create a password file for executing psadmin command to deploy portl
how to create a password file for executing psadmin command to deploy portlet
What you have done is perfectly right. The password file doesn't have anything else apart from the password
for example in your case
$echo password > /tmp/password.txt
However I remember that in windows install, the Application server used to wait for a user's input when a deploy was to be done for the first time. So Can you read the Release notes or the Readme file which has come with windows.
The solution was,
manually use asadmin command of application server to deploy some war (any webapp will do), at this time, a question will be prompted to accept a certificate. once this is done, deploy portlet should work fine!!!
HTH -
Executing OS command from sql procedure
i want to execute an OS command from the procedure, can i do this way? looks like it is not executing the command move....
declare
begin
dbms_output.put_line(' moving...');
host;
move c:\file1\test.txt C:\moved
exit;
/True. But that job is going to run in a separate session, some time after the current transaction commits (depending on the number of jobs queued up to run). So if you need to pass information back from the job, or you want the procedure to handle exceptions thrown by the job, or you want to tie job related failures back to a particular application level event, or you want the rest of your procedure to wait for the operating system command to finish, using the DBMS_SCHEDULER for this sort of thing is going to require a fair amount of additional coordination/ monitoring/ infrastructure code. It's certainly not a Herculean task to write that additional code, and it's reasonable in some situations, but the Java stored procedure approach strikes me as substantially easier to deal with in most cases.
Justin -
Workflow - Wait for PO release
Hi ALL,
My requirement is that, after the PO change by ME22N the WF should Wait for PO release before I can call MIGO for Goods receipt.
But my WF is directly calling MIGO after the ME22N, even though I have put a Wait for event task in between.
Object type - BUS2012
The WAIT event is - RELEASED
the bibding parameters are &_EVT_OBJECT& from Event to &PURCHASEORDER& in the workflow.
The wait condition is executing successfully and then MIGO is called, where as I have not yet Released the PO.
How to make the WF wait for the Release.
DPHi,
As per my understanding, is your workflow goes for next step after release of any level ?
Please check whether the event RELEASED triggers for each level of release.
Regards,
JMB -
Vbs script called from a service cannot execute certain commands
We have a service, running as domain admin user on Win Svr 2008 std ed, that must execute vb scripts. The scripts execute, but calls to SETX.exe using Shell.Run fail to set environment variables. However, SETX returns no errror
msg.
If I run the same script within a CMD window with elevated privilege (e.g. Administrator), the script works as expected and environment variables are set.
What is going on? File creation fails as well.
The call looks like this:
gnReturnCode= RunCmd("setx.exe UD_UPGRADING_RELEASE "True" /m",True)
Where RunCmd is as follows:
' Function: RunCmd( ByVal strCmd, ByVal bWait)
' desc: Execute a command string and wait for result if indicated
Function RunCmd( ByVal strCmd, ByVal bWait)
Dim nReturnCode, strWholeCmd
nReturnCode= 0
strWholeCmd= "%comspec% /c "&strCmd&" >"&gcsLogFile2
nReturnCode= goShell.Run(strWholeCmd,0,bWait)
WriteLog( "RunCmd("&strCmd&","&bWait&") returned "&nReturnCode)
RunCmd= nReturnCode
End Function
Mark Maddox Sr. Tech SpecialistI did the following and am providing comments on each:
Run setx.exe from a Command Prompt.
RESULT: This works and can be seen by new processses regardless of privilege provided they are done under the same credentialed user.
Run a really simple script from the Command Prompt, e.g. the one below, and check if it works.
Set oWshShell = CreateObject("WScript.Shell")
sCMD = "cmd /c setx.exe Test %time% /m"
wscript.echo "Error code=" & oWshShell.run(sCmd, 0, true)
RESULT: This works and result can be seen by new processes regardless of privilege provided they are done under the same credentialed user. My attempts to user another credentialed user failed with a permission to access reegistry path not
granted.
Run the same script as a scheduled task, using the same account as you use for your service, then check if it worked.
RESULT: Script ran, but only new processes with elevated privilege could see the change. New processes without elevated privilege could not see the change. I had to log out and log back in for new processes without elevated privilege
to pick up the change.
Run that script as a service, then check again if it worked.
RESULT: Script ran, but only new processes with elevated privilege could see the change. New processes without elevated privilege could not see the change. I had to log out and log back in for new processes without elevated privilege
to pick up the change.
Mark Maddox Sr. Tech Specialist
P.S. I also created an application that gets called after the the script has made environment variable changes. It broadcasts the WM_SETTINGCHANGE message. I did this in hopes that something would refresh in the Windows OS allowing non-privileged
users to see the change. It did not help. Here's the C++ line that I executed:
LRESULT error1 = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)
"Environment", SMTO_ABORTIFHUNG,
5000, &dwReturnValue);
Maybe you are looking for
-
String is not null forever?
String a = ""; String b = new String(); a==null? false b==null? false why?
-
I need to make a task with less as3 code and more timeline structure and event dispatcher !
I went to an interview in a big company. I had to make a task in which there is a wall with 3 lines and 5 columns filled with bombs.When you click on a bomb the bomb changes its scale, a robot enters, goes under the bomb and takes it, then goes to a
-
Someone please help me Design the database of bill of materials with 1 item can have mutiple parent
I got this sample from Uri Dimant (MCC, MVP) , The problem is i want 1 item to have multiple parent but this example don t let 1 item to have multiple parents. this is not suit for my objective. CREATE TABLE Employees empid int NOT
-
Last Line Item in Report Repeating on Next Page
The last line of data of every page is also the first line on the next page. I have not encountered this before and I cannot see how it is happening or how to correct it. The report has three groups and the 3rd group has 3 details lines. It is the 2n
-
Messages not showing up in Message Folder
I am not receiving any text messages in the message folder. I can search for them through the search function and I am receiving them on my phone, but only the email messages show up in the folder. I checked all of the options and I can't figure out