Error 420 "Can't call builtin routines remotely" while compiling a proc
I get the message above when I try to compile a Forms procedure with a call to specific functions in the DBMS_UTILITY package. I am using Forms 10.1.2.2.0 and 10g DB (10.2.0.4.0). I want to trace the PL/SQL path that my Forms application is taking and be able to report the line number of the failure when an exception is thrown. I am able to call some routines within the DBMS_UTILITY package, but not any of them that have "pragma interface (C, format_error_stack);" in the code. These include format_call_stack, format_error_stack, and format_error_backtrace; all of which I would like to use. I've tried creating my own DB package function to act as a wrapper; this allows me to compile the form, but the call to the function form my exception handler returns null. These are really useful functions, but I do need to be able to access the functionality from within Forms. Does anyone have a solution/workaround for this problem. Note, this is similar to the question in Link:[ http://forums.oracle.com/forums/thread.jspa?messageID=504922��]
Thanks JK.
Nope, that does not work. See my first post above. I've tried using a wrapper, and whilst this allows my forms procedure to compile and my form to run, the wrapper procedure is returning null. Here's some code that may help to explain where I'm at. In the form, I've got -
DECLARE
l_bt VARCHAR2(2000); -- BackTrace
BEGIN
JEK_Raise_Exception; -- This is a DB procedure
EXCEPTION
WHEN OTHERS THEN
l_bt := KEYOWNER.Backtrace.generate_backtrace;
message('l_bt = '||l_bt); pause;
END;-- Then a DB procedure that just generates an exception
CREATE OR REPLACE PROCEDURE JEK_Raise_Exception IS
BEGIN
RAISE too_many_rows;
END;-- and the function from my Backtrace Package to return the backtrace data.
FUNCTION generate_backtrace
RETURN VARCHAR2
IS
l_bt VARCHAR2(2000);
BEGIN
l_bt := DBMS_UTILITY.format_error_backtrace;
RETURN l_bt; -- In my testing so far this has been NULL!!!
END;
Similar Messages
-
Error while Compiling Stored proc
I am having problem while compiling stored proc.It gives the following error
"Error while trying to retrieve text for error - ORA-03113"
I have my SQL file in which i am adding the input parameters (aroung 100 parameters). Till 53 parameters i added it created the procedure now after that i am adding the parameteres one by one but its giving the same error.
nullHi Minish,
Whatever you wrote in crontab is fine. But we can call a stored procedure from Shell Script provide the shell script must have a sql file which contain the procedure to be excuted.
Follow the things...
Assume that,
1. you have file called load.sql
it contains...
load_data;
2. your shell script must have this code
. /home/nimish/.profile
sqlplus scott/tiger@orcl_bk load.sql
*** make sure that sql file should have executable permissions
Good Luck
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Nimish Buch:
I want to run a stored procedure as an end of day process. I wrote a small unix shell script to run the procedure from a sql session, similar to following.
. /home/nimish/.profile
sqlplus scott/tiger@orcl_bk < execute load_data;
If I run this script manually, it runs fine. I get the following errors when I attempt to run it as a cron job.
Message file sp1.msb not found
I have checked sp1us.msb does exist in ORACLE_HOME/sqlplus/mesg directory. I even tried giving it's path in PATH variable.
Any help with this will be appreciated.
Thanks a lot.
Nimish<HR></BLOCKQUOTE>
null -
Can we call Remote Endable Module from another Remote Enabled Moduel
Hii experts...
I have a problem regarding Remote Enabled Module Function Module....
Actually i want to call the standard BAPI 'BAPI_GL_GETGLACCBALANCE' into the BAPI which i hve created...
is it possible???
or can anyone tell me if it is not possible then what is the alternative for this..???'Remote enabled' means that you can also call the function remotely. The 'Remote enabled' characterstic implies some restrictions for the FMs interface, i.e. parameters can not be passed by reference because the remote system has no access to the memory of the called systems where the referenced data are located.
Remote call means only a restriction for the remote call, not for any direct call.
Regards,
Clemens -
Calling a url from a pl/sql proc
HI!
I was wondering if anybody has code that they can share calling a url from a pl/sql proc.
Thanks!!Thanks - tell me if I am wrong but it does not seem to be what I need. does this package have the capabilities of doing the following... I want to call a pl/sql procedure - I am not in any browser window and by calling this proc it will bring up a browser window with the given url.
-
Error while calling Workflow APIs remotely
I have standalone workflow engine. I have created views and workflow packages in another databases. These packages are calling workflow APIs internally using DB Link. I call these packages inside Powerbuilder. I start process from the PowerBuilder, process started successfully. User responded to the notification by logging into powerbuilder, it is also successful.
But when user responds to last notification to END the process, I am getting following error:
ORA-02074: cannot ROLLBACK in a distributed transaction
ORA-06512: at "OWF_MGR.WF_ENGINE_UTIL", line 1263
ORA-02074: cannot SET SAVEPOINT in a distributed transaction
Is it wrong to call Workflow APIs remotely ? Any solution ?
RegardsHi,
I think, we had the same problem and was resolved by the following approach:
1. define the external function call within one transaction unit...can use pragma.
2. commit the transaction and then close the DB link using alter session....
Suprabhat. -
Data error (invalid data type 17) in a Remote Function Call
Hi,
I am passing 2 select-option tables to RFC.
Tables have structures -
Table1 SIGN(C1)
OPTION(C2)
HIGH(C6)
LOW(C6)
Table2 SIGN(C1)
OPTION(C2)
HIGH(C20)
LOW(C20)
At the destination side, I have created two table types which have same structure.
But when I call the RFC , program terminates with error - "Data error (invalid data type 17) in a Remote Function Call"
Not able to understand the reason for this error. Please help.
Thanks,
SujeetHi,
check out this example
[LINK|http://abap.googlar.eu/viewtopic.php?f=5&t=28]
You have several ranges that you can use like RANGE_AUF.
Function example:
FUNCTION zexemple.
*"*"Interface local:
*" IMPORTING
*" REFERENCE(R_HORA) TYPE FLAG
*" REFERENCE(R_DIA_1) TYPE FLAG
*" REFERENCE(P_IDOC) TYPE FLAG
*" EXPORTING
*" REFERENCE(MSG) TYPE CHAR255
*" TABLES
*" T_OIFSPBL STRUCTURE OIFSPBL
*" SL_PBLNR STRUCTURE RANGE_PBLNR
*" SL_MATNR STRUCTURE RANGE_MATNR
*" SL_HORA STRUCTURE RANGE_UZEIT
*" T_ERROS STRUCTURE ZARSTRING
ENDFUNCTION.
Report:
SELECT-OPTIONS: sl_pblnr FOR oirbpblb-pblnr,
sl_matnr FOR a361-matnr.
~
Final question:
You are passing the values using TABLES and not IMPORTING right? -
We are using TINA backup solution and windows 2003 backup is failling with VSS error.
For testing purpose we initiate a system state backup (or any file backup) with the help of windows 2003 ntbackup.exe and found it is failing with below error.
Backup error report.
Backup Status
Operation: Backup
Active backup destination: File
Media name: "Backup.bkf created 28/05/2014 at 06:34"
Volume shadow copy creation: Attempt 1.
Error returned while creating the volume shadow copy:0x8004230f.
Error returned while creating the volume shadow copy:8004230f
Aborting Backup.
The operation did not successfully complete.
We check event viewer and found below error event.
Event Type:
Error
Event Source:
VSS
Event Category:
None
Event ID:
12293
Date:
28/05/2014
Time:
05:48:10
User:
N/A
Computer:
CQ329TOS
Description:
Volume Shadow Copy Service error: Error calling a routine on the Shadow Copy Provider {b5946137-7b9f-4925-af80-51abd60b20d5}. Routine details Cannot ask provider {b5946137-7b9f-4925-af80-51abd60b20d5} if
volume is supported. [0x8000ffff] [hr = 0x8000ffff].Resolution:
After getting this error we check Shadow Copy provider and writer health and fond it is fine.
To get shadow copy providers details use below command.
Command: vssadmin list providers
Command output
C:\>vssadmin list providers
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001 Microsoft Corp.
Provider name: 'Microsoft Software Shadow Copy provider 1.0'
Provider type: System
Provider Id: {b5946137-7b9f-4925-af80-51abd60b20d5}
Version: 1.0.0.7
To get shadow copy writers health
Command: vssadmin list writers
Command Output.
C:\>vssadmin list writers
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001 Microsoft Corp.
Writer name: 'System Writer'
Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Instance Id: {333e02cd-d9ec-43c8-9b45-39691ad1b351}
State: [1] Stable
Last error: No error
Writer name: 'Registry Writer'
Writer Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
Writer Instance Id: {800877a5-e13d-47a3-8f99-ebd4d3b3fd12}
State: [1] Stable
Last error: No error
Writer name: 'MSDEWriter'
Writer Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
Writer Instance Id: {63400aa0-a17f-4121-9483-1cd226f03238}
State: [1] Stable
Last error: No error
Writer name: 'COM+ REGDB Writer'
Writer Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
Writer Instance Id: {e13cb72b-84fa-4c86-86d8-48f523aafc9a}
State: [1] Stable
Last error: No error
Writer name: 'Event Log Writer'
Writer Id: {eee8c692-67ed-4250-8d86-390603070d00}
Writer Instance Id: {ce63b3a0-e038-4e56-9d07-929f256639de}
State: [1] Stable
Last error: No error
Writer name: 'WMI Writer'
Writer Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
Writer Instance Id: {008e8714-ed6d-4288-81ce-4b0b1ec41294}
State: [1] Stable
Last error: No error
Writer name: 'BITS Writer'
Writer Id: {4969d978-be47-48b0-b100-f328f07ac1e0}
Writer Instance Id: {e22a8953-a52c-4a76-bec0-8773122cbff8}
State: [1] Stable
Last error: No error
Next I check Shadow Copies details from volume properties (right click on C or other drive then select properties then click on Shadow Copies Tab) and found it is showing the same error code..
From this error it is clear that the issue is inside the registry hive and due to junk hive shadow copies services not able to working properly.
For me the server have two disk we check disk signature at MBR and found the disk signature was.
Signature disk 0 : 9351912b
Signature disk 0 : FDFBE035
But at registry we found lot of nonexistance signature. Which indicate lot of junk valu inside registry.
Now how can we resolve this issue?
It is very simple just delete the registry key “volume” (registry key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume”) and reboot the server it will “Volume” registry hive automatically.
Note:
When you remove registry key it is showing error unable to delete, then please right click on it select permission then take ownership and assign full permission to your login account.
Please be careful when you delete registry key because system can fully crashed if you delete or modify wrong registry key.
Your can take a backup of the registry key by exporting. -
Error while calling COM routines via application program (return code 40028
Hi ,
When i am doing these steps i am getting the following error.
1.from SAP menu...Demand Planning>Planning>Interactive Demand planning
2.after the transaction gets loaded...click on the 2nd button that is selection window from the left ALV menu..on the top.
3.type the below
show - Material
APO Planning Version - K01
Material - 12345
4.Material 12345 will be loaded
5.Double click and i am getting ''error Error while calling COM routines via application program (return code 40028)''
Note : Observed that this is not happening everytime, but happening alternatively.
Can any one say what is the problem for Error.
Thanks
GerardHello Gerard, Hello Krishna,
-> The liveCache application failed with COM error::
40028 Illegal timestamp in rough timegrid
More details about COM error 40028 you will see in TA /n/sapapo/om10
-> Return code: 40028 -> execute ::
Invalid time stamp in the time buckets profile relation
( om_ts_tgrelinvalidstamp )
< click on '?' mark >
-> Open an OSS message in accordance with SAP note 167280 if further help
needed to solve the issue on your system.
Thank you and best regards, Natalia Khlopina -
Error while calling COM routines via application prog(return code 1028533-)
Hello Expert,
In Interactive Demand Planning ( /SAPAPO/SDP94 ), when I'm trying to load data in a planning book , error
'Error while calling COM routines via application program (return code 1028533-)' is encountered.
In my selection id, i have only two locations....there is no material selection.
When I select the 1st location and load the data its getting loaded properly.....but when i select the 2nd location and try loading data ...the above error is coming.
I did run /SAPAPO/TS_LCM_CONS_CHECK but the problem persist.
Any advise to fix this issue would be much appreciated.
Thanks.
TomHi Tom,
Please see if below exiting threads help you.
COM error 40134 in Interactive Planning on SCM 5.0 Support Pack SAPKY50011
Error for COM Routine application program (return code 40028)
Thukral -
Dear SAP Crew,
In dynamic action, we can call routines through indicatiors.
In that routine, Can we call a report program or schemas???
Kindly clarify with some scenario.
Thks & Rgds
Krish SathyaHi Krish,
In the routine you should be able to SUBMIT the program/report you need to execute.
Cheers,
Aditya -
How can I call a Method in a Transformation Routine
Hello Experts,
How can I call a Method in a Transformation Routine ??
THNXXHi,
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6090a621-c170-2910-c1ab-d9203321ee19?quicklink=index&overridelayout=true
It will be help full .
Regards, -
I can't call to a mobile number since yesterday, but still can receive call from the same number. I am using iphone 4s. Is there any setting error?
you have to make sure that CFWD Bridge Mode under the Line tab of the SPA9000 where the SPA400 is registered is set to ALL...include VMSP Bridge and XFER Bridge Mode as well..power cycle then check if you are still getting one-way audio
| isolate! isolate! isolate! | -
i keep trying to restore my iphone 3G but a error keeps poping up . its called "unknown error 1015" can anyone help?? i just got the iphone.
More Like This
upgrade and restore error
Does anyone know how to fix "error code 1015" ?
What is the cause of "error 1015" when trying to restore and update an iPhone 3gs?
unknown error 1015?
how can I fix my iphone with error (1015)
you can find this on the right side of this page, many people have had this problem and there is no reason to repost this becuase you can find an answer by just searching for it. -
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) -
Conversion error in JCo outbound call
hi all
i am working on making OUTBOUND call from SAP using JCo,
our SAP system is Unicoded and i am refering Jco example 5 from JCo2.1.8 demo.
i am able to make connection successfully , but while running test ABAP program for testing connection, i am getting Short dump error headed :
Conversion error "ECHOTEXT" from character set 4103 to character set 4102
A conversion error occurred during the execution of a Remote Function
*Call. This happened either when the data was received * or when it was
*sent. The latter case can only occur if the data is sent from * a Unicode
system to a non-Unicode system.
The current program had to be terminated because of an
error when installing the R/3 System.
my ABAP prg. is this :
REPORT z_jco_test.
PARAMETERS: requtext LIKE sy-lisel.
*ECHOTEXT LIKE SY-LISEL
**" RESPTEXT LIKE SY-LISEL
DATA: echotext type SYLISEL,
resptext LIKE sy-lisel,
rfctest TYPE TABLE OF rfctest,
wa_rfctest TYPE rfctest.
wa_rfctest-rfcdata1 = requtext.
wa_rfctest-rfcdata2 = 'Hello World'.
APPEND wa_rfctest TO rfctest.
CALL FUNCTION 'RFC_PING'
DESTINATION 'JCO'.
*CALL FUNCTION 'STFC_CONNECTION'
* EXPORTING
* requtext =
** IMPORTING
** ECHOTEXT =
** RESPTEXT =
CALL FUNCTION 'STFC_CONNECTION'
DESTINATION 'JCO'
EXPORTING
requtext = requtext
IMPORTING
echotext = echotext
resptext = resptext
TABLES
rfctest = rfctest.
WRITE: 'Echo Text: ', echotext.
WRITE: 'Response Text: ', resptext.
LOOP AT rfctest INTO wa_rfctest.
WRITE: / 'rfcdata1: ', wa_rfctest-rfcdata1.
WRITE: / 'rfcdata2: ', wa_rfctest-rfcdata2.
ENDLOOP.
i have made RFC connection unicode yes.
please guide meHelo!
We have a similar problem here. Could you please explain your solution in a bit more detail ?
Thanks in advance,
Markus
Maybe you are looking for
-
How do I force iDVD to exceed maximum content limit?
I have a MacBook with a single layer burner. With iMovie/iDVD, I have created a project that is 131 minutes, 4.52 GB in size, which is slightly larger than what can be burned onto a single-layer disc. The project is from two 60 min. MiniDV tapes, so
-
How do I get the music off of my old iphone?
How do I get the music off of my old iphone?
-
[SOLVED] Why are control characters visible in text files??
Hi, If I direct the output of 'ls' to a file like: ls > file.txt and open the file in a editor such as vi, joe or mousepad, it looks like this: [[01;34m22x22[[0m [[01;34m24x24[[0m [[01;34m32x32[[0m [[0mindex.theme[[0m [[01;34mscalable[[0m [[m I just
-
Batch Rename - allow 6 digits (or more)
Batch rename of files allows a sequence number that is limited to 5 digits. Even though the selector control allows you to specify six digits, the sequence number box does not allow the entry of the 6th digit. For example, I have the following: New f
-
Transporting Entire Folder Structures
There may be something wrong in the way we do transports, but this is the scenario Example, Folder 1 (contains iview1, iview2, iview3) transported entire Folder 1 to QA QA will have Folder 1 (contains iview1, iview2, iview3) Deleted iview3 and added