SP2-0553: Illegal variable name "#25340;音字&#22411"
hi..
how to Insert Japanese language in oracle table
if i'm inserting French it inserted succesfully
if i'm inserting Japanese i'm getting these error
' SP2-0553: Illegal variable name "#25340;音字型". '
my DB setting is
Character set -> utf-8
NLS_LANG -> AMERICAN
NLS_TERRITORY - > AMERICA
Thanks
Venkataraman.L
Hi,
What tool are you using to insert the data?
It can be difficult to perform inserts of multi-byte data using SQL*Plus and standard INSERT statements because of character mapping between the OS and SQL*Plus. I've had success with SQL*Loader, perl, and Java.
Regards,
Rob
Similar Messages
-
External table and error: ORA-01036: illegal variable name/number
using the following script I get the referenced error:
create table dol_sch_c_part2
(DLN NUMBER(14) ,
PAGE_ID VARCHAR2(20),
PAGE_SEQ VARCHAR2(20),
PAGE_ROW_NUM VARCHAR2(20),
ROW_NUM VARCHAR2(20),
IMAGE_FORM_ID VARCHAR2(20),
PROVIDER_TERM_01_NAME VARCHAR2(35),
PROVIDER_TERM_01_EIN VARCHAR2(9) ,
PROVIDER_TERM_01_POSITION VARCHAR2(25),
PROVIDER_TERM_01_STR_ADDRESS VARCHAR2(35),
PROVIDER_TERM_01_CITY VARCHAR2(20),
PROVIDER_TERM_01_STATE VARCHAR2(2),
PROVIDER_TERM_01_ZIP_CODE VARCHAR2(9),
PROVIDER_TERM_01_PHONE_NUM VARCHAR2(10),
PROVIDER_TERM_01_TEXT VARCHAR2(250)
ORGANIZATION EXTERNAL
( type oracle_loader
default directory data_dir
access parameters
RECORDS FIXED 510
FIELDS
DLN(1:14) char(14),
PAGE_ID(15:34) char(20) NULLIF PAGE_ID=BLANKS,
PAGE_SEQ(35:54) char(20) NULLIF PAGE_SEQ=BLANKS,
PAGE_ROW_NUM(55:74) char(20) NULLIF PAGE_ROW_NUM=BLANKS,
ROW_NUM(75:94) char(20) NULLIF ROW_NUM=BLANKS,
IMAGE_FORM_ID(95:114) char(20) NULLIF IMAGE_FORM_ID=BLANKS,
PROVIDER_TERM_01_NAME(115:149) char(35) NULLIF PROVIDER_TERM_01_NAME=BLANKS,
PROVIDER_TERM_01_EIN(150:158) char(9) NULLIF PROVIDER_TERM_01_EIN=BLANKS,
PROVIDER_TERM_01_POSITION(159:183) char(25) NULLIF PROVIDER_TERM_01_POSITION=BLANKS,
PROVIDER_TERM_01_STR_ADDRESS(184:218) char(35) NULLIF PROVIDER_TERM_01_STR_ADDRESS=BLANKS,
PROVIDER_TERM_01_CITY(219:238) char(20) NULLIF PROVIDER_TERM_01_CITY=BLANKS,
PROVIDER_TERM_01_STATE(239:240) char(2) NULLIF PROVIDER_TERM_01_STATE=BLANKS,
PROVIDER_TERM_01_ZIP_CODE(241:249) char(9) NULLIF PROVIDER_TERM_01_ZIP_CODE=BLANKS,
PROVIDER_TERM_01_PHONE_NUM(250:259) char(10) NULLIF PROVIDER_TERM_01_PHONE_NUM=BLANKS,
PROVIDER_TERM_01_TEXT(260:509) char(250) NULLIF PROVIDER_TERM_01_TEXT=BLANKS
location ('f_dol_sch_c_part2.txt')
I've tried it with and without the char(*) in the fields section - no change
thanks*** SCRIPT START : Session:GLEN_SELF@RAMBO(8) 8/31/2006 12:16:48 PM ***
Processing ...
create or replace directory data_dir as 'c:\dol\'
create table dol_sch_c_part2
(DLN NUMBER(14) ,
PAGE_ID VARCHAR2(20),
PAGE_SEQ VARCHAR2(20),
PAGE_ROW_NUM VARCHAR2(20),
ROW_NUM VARCHAR2(20),
IMAGE_FORM_ID VARCHAR2(20),
PROVIDER_TERM_01_NAME VARCHAR2(35),
PROVIDER_TERM_01_EIN VARCHAR2(9),
PROVIDER_TERM_01_POSITION VARCHAR2(25),
PROVIDER_TERM_01_STR_ADDRESS VARCHAR2(35),
PROVIDER_TERM_01_CITY VARCHAR2(20),
PROVIDER_TERM_01_STATE VARCHAR2(2),
PROVIDER_TERM_01_ZIP_CODE VARCHAR2(9),
PROVIDER_TERM_01_PHONE_NUM VARCHAR2(10),
PROVIDER_TERM_01_TEXT VARCHAR2(250)
ORGANIZATION EXTERNAL
( type oracle_loader
default directory data_dir
logfile 'ext_tab.log'
access parameters
RECORDS FIXED 510
FIELDS
DLN(1:14),
PAGE_ID(15:34),
PAGE_SEQ(35:54),
PAGE_ROW_NUM(55:74),
ROW_NUM(75:94),
IMAGE_FORM_ID(95:114),
PROVIDER_TERM_01_NAME(115:149),
PROVIDER_TERM_01_EIN(150:158),
PROVIDER_TERM_01_POSITION(159:183),
PROVIDER_TERM_01_STR_ADDRESS(184:218),
PROVIDER_TERM_01_CITY(219:238),
PROVIDER_TERM_01_STATE(239:240),
PROVIDER_TERM_01_ZIP_CODE(241:249),
PROVIDER_TERM_01_PHONE_NUM(250:259),
PROVIDER_TERM_01_TEXT(260:509)
location ('f_dol_sch_c_part2.txt')
create or replace directory data_dir as 'c:\dol\'
ORA-01036: illegal variable name/number
*** Script stopped due to error ***
*** SCRIPT END : Session:GLEN_SELF@RAMBO(8) 8/31/2006 12:16:49 PM *** -
Oracle 11G and SqlDataSource: 'ORA-01036: illegal variable name/number'
[Resolved - http://forums.oracle.com/forums/thread.jspa?messageID=2366331�]
I've created a short video to explain my problem with Oracle and SqlDataSource. If you'd rather watch than read, go see the video at http://www.kencox.ca/video/oracelandsqldatasource.html.
I'm trying to do some extremely simple drag and drop development in Visual Web Developer 2008 with the Oracle 11g database and ODP.NET. According to Oracle, "The data provider can be used with the latest .NET Framework 3.5 version. "
The SELECT statement works fine, but any attempt to use UPDATE via the SQLDataSource UpdateCommand nets me the infamous 'ORA-01036: illegal variable name/number' error.
I wouldn't mind using one of my MSDN Support Incidents to have Microsoft take a look at this issue, but I'm not sure the problem is Microsoft's. It seems like Oracle is doing a poor job in its Visual Studio integration.
Question: Has anyone successfully used an UpdateCommand statement in SQLDataSource against Oracle 11g? If so, let me know!
Below, you see the entire code as generated in Visual Web Developer 2008. To see it in action, check the video at http://www.kencox.ca/video/oracelandsqldatasource.html.
Ken
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display.">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="ACCOUNTID" HeaderText="ACCOUNTID"
SortExpression="ACCOUNTID" />
<asp:BoundField DataField="ACCOUNTNAME" HeaderText="ACCOUNTNAME"
SortExpression="ACCOUNTNAME" />
<asp:BoundField DataField="ACCOUNTLOCATION" HeaderText="ACCOUNTLOCATION"
SortExpression="ACCOUNTLOCATION" />
<asp:BoundField DataField="ACCOUNTPHONE" HeaderText="ACCOUNTPHONE"
SortExpression="ACCOUNTPHONE" />
<asp:BoundField DataField="ACCOUNTCONTACT" HeaderText="ACCOUNTCONTACT"
SortExpression="ACCOUNTCONTACT" />
<asp:BoundField DataField="ACCOUNTWEBSITE" HeaderText="ACCOUNTWEBSITE"
SortExpression="ACCOUNTWEBSITE" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>"
SelectCommand="SELECT "ACCOUNTID", "ACCOUNTNAME", "ACCOUNTLOCATION", "ACCOUNTPHONE", "ACCOUNTCONTACT", "ACCOUNTWEBSITE" FROM "ACCOUNTS""
UpdateCommand="UPDATE ACCOUNTS SET ACCOUNTLOCATION = 'This Place' WHERE (ACCOUNTID = 4)">
</asp:SqlDataSource>
</div>
</form>
</body>
</html>//////////using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
Message was edited by:
kjopcKen,
One thing to be aware of is Microsoft has produced Visual Studio database tools and data provider for Oracle. In addition, Oracle has produced its own tools. Knowing which products you are using is important because you want to know which company you should be complaining about. :-)
In your video, you are using all Microsoft tools and data provider, not Oracle's.
I would recommend using Oracle Developer Tools (ODT) for VS and ODP.NET since these products are much better integrated with .NET and Oracle.
ODP.NET uses Oracle.DataAccess.Client namespace. System.Data.OracleClient belongs to the MS provider for Oracle, which Mark pointed out. If you drag and drop DB objects using ODT, it will generate ODP.NET code for you (and give you more data source wizard options as well).
You can download the latest 11g version of ODP.NET and ODT here:
http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
These support .NET 3.5 and VS 2008. -
Anonymous PL/SQL . Illegal variable Name/number.
Hi
I have tested ODP.NET in ASP.NET for upload images. But when read back from DB then save image to local drive. When I tested given sample code working fine. But when I modify code only select statment in PL/SQL it gives error.
Following statment is the error. Illegal variable Name/number. Pl.
advice me what need to change.
Dim block As String = " BEGIN " & _
" SELECT Ad_Image into :2 from Printmedia WHERE Product_ID = " + ProdID + ";" & _
" end ;"You use bind variables. Great!
And then you do not use bind variables. Bummer!!
Why can you make the output from the SQL a bind variable, but you do not supply Product ID as a bind variable? This causes a unique and non-sharable SQL statement in the SQL Shared Pool. Where the emphasis is very obvious - shared SQL.
The definition should be something like this:
Dim block As String = "BEGIN SELECT Ad_Image into :1 from Printmedia WHERE Product_ID = :2; END;"But why are you using an anonymous PL/SQL block and a bind variable to get to the image? Deal with it as a cursor. Much easier. E.g.
Dim cursorSQL As String = "SELECT Ad_Image FROM Printmedia WHERE Product_ID = :1"Open the cursor. And there you have the resulting image column as a result. -
Need help with ora-01036 illegal variable name/number
Can you help me fix the following problem.
I'm getting an oracle exceptioin while running the following.
OracleParameter[] myParameters = new OracleParameter[] { new OracleParameter("SELECTEDREGIONS", OracleDbType.RefCursor, ParameterDirection.Output) };
XmlReader xRdr = oraclehelper.ExecuteXmlReader(myConnection,CommandType.StoredProcedure,"TEST_TESTPACKAGE.TEST_GETREGIONS_SP",myParameters);
the oracle helper function is
public XmlReader ExecuteXmlReader(OracleConnection inConnection,
CommandType inCommandType,
string inCommandText,
params OracleParameter[] inCommandParameters)
//create a command and prepare it for execution
OracleCommand cmd = new OracleCommand(inCommandText,inConnection);
cmd.CommandType = inCommandType;
if (inCommandParameters != null)
foreach (OracleParameter op in inCommandParameters)
cmd.Parameters.Add(op);
cmd.BindByName = true;
cmd.XmlCommandType = OracleXmlCommandType.Query;
cmd.XmlQueryProperties.RootTag = "Result";
cmd.XmlQueryProperties.RowTag = "Row";
if (cmd.Connection.State != ConnectionState.Open) cmd.Connection.Open();
XmlReader retval = null;
//create the DataAdapter & DataSet
retval = cmd.ExecuteXmlReader();
// detach the OracleParameters from the command object, so they can be used again.
cmd.Parameters.Clear();
return retval;
The stored proc is:
CREATE OR REPLACE package GJUTRAS.test_TestPackage AS
type sregions is REF CURSOR;
procedure test_GetRegions_sp
selectedregions out sregions
procedure test_GetRegByDescrip_sp
descript in varchar2,
selectedregions out sregions
end test_TestPackage;
CREATE OR REPLACE package body GJUTRAS.test_TestPackage AS
procedure test_GetRegions_sp
selectedregions out sregions
is
begin
open selectedregions for
select * from ods.region;
end test_GetRegions_sp;
procedure test_GetRegByDescrip_sp
descript in varchar2,
selectedregions out sregions
is
begin
open selectedregions for
select * from ods.region where description = descript;
end test_GetRegByDescrip_sp;
end test_TestPackage;
/The versions of the function that use text "select * from ods.region" work fine. It's using a stored procedure with ExecuteXmlReader that I can't seem to get working. The table is
CREATE TABLE REGION (
ID NUMBER(10) NOT NULL,
CODE VARCHAR2(100 BYTE),
ABBREV VARCHAR2(100 BYTE),
NAME VARCHAR2(500 BYTE),
EXTRA_FIELDS_ID NUMBER(10) NOT NULL,
ACTIVE_FLAG VARCHAR2(1 BYTE) NOT NULL,
DESCRIPTION VARCHAR2(4000 BYTE),
COMMENTS VARCHAR2(4000 BYTE),
KEYWORDS VARCHAR2(4000 BYTE),
CHNG_REASON_TYPE_ID NUMBER(10),
CHNG_REASON_CMNT VARCHAR2(4000 BYTE),
BEG_DATE DATE NOT NULL,
BEG_USER_ID NUMBER(10) NOT NULL,
CREATOR_ID NUMBER(10) NOT NULL,
CREATION_DATE DATE NOT NULL ) -
Query Errors: ORA-01036: illegal variable name/number
Hi All,
When I run a query against two tables within our data warehouse I am getting an IO Exception. Due to company restrictions I can't quickly increase my IO Limit So what I have done is written a query that cycles through all of the large tables partitions and extracts the data.
The problem I get is that when I run this query in Toad. It thinks my :MI, :SS are variables and wont run this. Does anyone know what I can do to resolve this issue?
create table completion_log
action_complate_dt date,
table_name varchar2(1000),
partition_number varchar2(1000)
nologging
compress ;
create table STORE_DATA_HERE
field_1 varchar2(1000),
field_2 date,
field_3 varchar2(1000)
nologging
compress ;
commit;
begin
for ptn in (select partition_name p from all_tab_partitions t where table_name='REALLY_LARGE_TABLE')
loop
execute immediate q'^
insert /*+ APPEND */ into STORE_DATA_HERE
SELECT field_1,
field_2,
field_3
FROM REALLY_LARGE_TABLE partition (^'||ptn.p||q'^)
WHERE field_3 IN ( 'XXXX', 'YYYY')
AND data_date BETWEEN TO_DATE('07/12/2011 00:00:00', 'DD/MM/YYYY HH24:MI:SS')
AND TO_DATE('08/12/2011 23:59:59', 'DD/MM/YYYY HH24:MI:SS')
^';
insert into completion_log values (sysdate,'STORE_DATA_HERE',ptn.p);
commit;
end loop;
end;In your case it is quite easy...
just remove the collons from the format and the literal...and off you go
begin
for ptn in (select partition_name p from all_tab_partitions t where table_name='REALLY_LARGE_TABLE')
loop
execute immediate q'^
insert /*+ APPEND */ into STORE_DATA_HERE
SELECT field_1,
field_2,
field_3
FROM REALLY_LARGE_TABLE partition (^'||ptn.p||q'^)
WHERE field_3 IN ( 'XXXX', 'YYYY')
AND data_date BETWEEN TO_DATE('07/12/2011 000000', 'DD/MM/YYYY HH24MISS')
AND TO_DATE('08/12/2011 235959', 'DD/MM/YYYY HH24MISS')
^';
insert into completion_log values (sysdate,'STORE_DATA_HERE',ptn.p);
commit;
end loop;
end; -
Hello,
I have a problem to compile java stored procedure trough SQLPLUS...
After connection on my DB I execute script which includes many java sources for example:
SPOOL INS-2870-2012.lst
PROMPT 'EncoderJava'
set def off
set def &
@@nsEUCStatistics.java
@@nsVerifier.java
@@nsICharsetDetectionObserver.java
@@nsSJISVerifier.java
@@Big5Statistics.java
@@EncodingDetector.java
@@EUCJPStatistics.java
@@EUCKRStatistics.java
spool offThe error I get is:
SP2-0317: expected symbol name is missing
Enter value for 0xff:
old 33: (s*v.stFactor()+(((v.cclass()[((b&0xFF)>>v.eidxSft4bits)])
new 33:
Enter value for v:
old 34: >> ((b & v.eSftMsk4bits) << v.eBitSft4bits))
new 34:
Enter value for v:
old 35: & v.eUnitMsk4bits ))&0xFF)
new 35:
Enter value for 0xff:
old 37: (s*v.stFactor()+(((v.cclass()[((b&0xFF)>>v.eidxSft4bits)])
new 37:
Enter value for v:
old 38: >> ((b & v.eSftMsk4bits) << v.eBitSft4bits))
new 38:
Enter value for v:
old 39: & v.eUnitMsk4bits ))&0xFF)
new 39:
Enter value for v:
old 40: & v.eSftMsk4bits) << v.eBitSft4bits)) & v.eUnitMsk4bits )
new 40:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "org/mozilla/intl/chardet/nsVerifier" AS
ERROR at line 1:
ORA-29536: badly formed source: Encountered ">>" at line 32, column 18.
Was expecting one of:
"#sql" ...
"boolean" ...
"byte" ...
"char" ...
"double" ...
"false" ...
"float" ...
"int" ...
"long" ...
"new" ...
"null" ...
"short" ...
"super" ...
"this" ...
"true" ...
"void" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
<IDENTIFIER> ...
"~" ...
"++" ...
"+" ...
"-" ...If I execute java stored procedure in TOAD as script all works fine..
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "org/mozilla/intl/chardet/nsVerifier" AS
package org.mozilla.intl.chardet ;
import java.lang.*;
public abstract class nsVerifier {
static final byte eStart = (byte)0;
static final byte eError = (byte)1;
static final byte eItsMe = (byte)2;
static final int eidxSft4bits = 3;
static final int eSftMsk4bits = 7;
static final int eBitSft4bits = 2;
static final int eUnitMsk4bits = 0x0000000F;
nsVerifier() {
public abstract String charset() ;
public abstract int stFactor() ;
public abstract int[] cclass() ;
public abstract int[] states() ;
public abstract boolean isUCS2() ;
public static byte getNextState(nsVerifier v, byte b, byte s) {
return (byte) ( 0xFF &
(((v.states()[((
(s*v.stFactor()+(((v.cclass()[((b&0xFF)>>v.eidxSft4bits)])
>> ((b & v.eSftMsk4bits) << v.eBitSft4bits))
& v.eUnitMsk4bits ))&0xFF)
>> v.eidxSft4bits) ]) >> (((
(s*v.stFactor()+(((v.cclass()[((b&0xFF)>>v.eidxSft4bits)])
>> ((b & v.eSftMsk4bits) << v.eBitSft4bits))
& v.eUnitMsk4bits ))&0xFF)
& v.eSftMsk4bits) << v.eBitSft4bits)) & v.eUnitMsk4bits )
/What I'am doing wrong or how to run my script to load "java source" on my db... (without loadjava)...
regardsHi,
peterv6i.blogspot.com wrote:
Hello,
I have a problem to compile java stored procedure trough SQLPLUS...
After connection on my DB I execute script which includes many java sources for example:
SPOOL INS-2870-2012.lst
PROMPT 'EncoderJava'
set def off
The command above tells SQL*Plus not to scan for substitution variables, and to treat the character that marks substitution variables (which is & by default) as a normal character.
set def &That completely reverses the previous SET DEF command: it tells SQL*Plus to treat & as a special character that marks substitution variables.
Perhaps you meant to issue the second SET DEF command after running all the scripts, like this:
set def off
-- & has no special meaning at this point
@@nsEUCStatistics.java
@@nsVerifier.java
@@nsICharsetDetectionObserver.java
@@nsSJISVerifier.java
@@Big5Statistics.java
@@EncodingDetector.java
@@EUCJPStatistics.java
@@EUCKRStatistics.java
-- Resume default beahvior of &
set def &
spool offThis way, & will have no special meaning while you run all those .java files, but it will resume having it's special meaning as the substitution variable marker after that, so you can run other scripts which use that feature later in the same session. -
Same variable name causes major issues.....
I would like to get some input and possible direction on the issue below... I am new to PL/SQL. Thanks in advance.....
..... The system is in the middle of processing a “For” step, i.e. a given “For” step is incomplete.
..... The script instructs the system to process a second “For” step with the same “for-loop variable” as the incomplete “For” step.
When the above takes place, the system processes the second “For” step incorrectly. Instead of starting at the first value in the second “For” step’s list of values, the system begins in the middle of the value list.
I need to change the current implementation so that if a "For" loop is encountered that has the same “loop variable” as a “For” loop already being executed, the “state” of the previous “For” step is discarded, and the state for the new “For” step is initialized to the first value in its list.
-- Used for "for" steps
TYPE for_list is table of varchar2(4000) index by binary_integer;
TYPE for_loop_state is record (
list for_list,
next_index integer
TYPE for_loops_list is table of for_loop_state index by steps.output_param%TYPE;
all_for_loops for_loops_list;
procedure for_step(list_string IN varchar2, ret_var_name IN varchar2, end_for_label IN varchar2) is
state for_loop_state;
end_idx number;
list_value varchar2(4000);
begin
pkg_util.log('ret_var_name value after begin: ' || ret_var_name, 'I');
-- get the current for list state, based on its output variable name
if all_for_loops.exists(ret_var_name) then
state := all_for_loops(ret_var_name);
else
state.next_index := 0;
list_value := parse_next_param(list_string, 1, end_idx);
-- end_idx is thrown away; for loops only have 1 input parameter (the list)
state.list := get_for_list(list_value);
all_for_loops(ret_var_name) := state;
end if;
if state.next_index < state.list.count then
pkg_session_values.put(ret_var_name, state.list(state.next_index));
all_for_loops(ret_var_name).next_index := state.next_index + 1;
else
all_for_loops.delete(ret_var_name);
jump(end_for_label);
end if;
end;There is so much of your code hidden from view it is impossible to tell you anything other than perhaps suggest a methodology.
Create a single variable with a known value and use dbms_output to view it as it steps through each piece of the puzzle. Determine when the value does something you don't want. -
Using a variable's definition as a variable name
I have a string variable with definition I need to use as a
variable name.
For example, this is super simplified:
var newVariable = 'it is working';
var partOne:String = 'new';
var partTwo:String = 'Variable';
var partThree = partOne + partTwo;
trace("my variable is " + partThree);
Instead of tracing partThree as literally partOne + partTwo
(which traces "newVariable") i'd like it to trace the
Definition of partOne + partTwo (which is "it is working").
I hope this makes sense, help or advice is
appreciated....
var partThree = this[partOne + partTwo];
trace("my variable is " + partThree); //will trace: my
variable is it is working
TS -
How to declare internal table in BADI with variable name beginning with 0..
Gurus,
How to declare an internal table within a BADI. I have to implement a BADI UC_TASK_CUSTOM for BCS to BW load and there i have to declare an internal table like:
TYPES: BEGIN OF t_cube_data,
0cs_version TYPE /bi0/oics_version,
0sem_cgcomp TYPE /bi0/oisem_cgcomp,
bcs_vers TYPE /bic/oibcs_vers,
bcs_lcus TYPE /bic/oibcs_lcus,
bcs_ldch TYPE /bic/oibcs_ldch,
bcs_invcom TYPE /bi0/oibcs_invcom,
bcs_litem TYPE /bic/oibcs_litem,
bcs_llob TYPE /bic/oibcs_llob,
bcs_lmay TYPE /bic/oibcs_lmay,
0move_type TYPE /bi0/oimove_type,
pcompany TYPE /bi0/oipcompany,
bcs_lprg TYPE /bic/oibcs_lprg,
figlxref3 TYPE /bic/oifiglxref3,
fiscyear TYPE /bi0/oifiscyear,
fiscper3 TYPE /bi0/oifiscper3,
fiscvarnt TYPE /bi0/oifiscvarnt,
curkey_gc TYPE /bi0/oicurkey_gc,
unit TYPE /bi0/oiunit,
cs_trn_gc TYPE /bi0/oics_trn_gc,
cs_trn_qty TYPE /bi0/oics_trn_qty,
END OF t_cube_data
But with this declaration it gives a error saying that u cannot have a variable beginning with 0...like 0cs_version....
but i have to do it for my functionality to wrk...
Please help me do it....
how can i declare a internal table that allows me to have variable names that start with 0....
Please help....Its URGENT....
Thanks
SamMurali,
I need to have 0 before the variable name in the declaration of the internal table....how can i attain that....
Please suggest...
Thanks
Sam -
Is it possible to add a property using variable in variable name?
I want to query for a list of virtual machines within a folder, then create a menu of the host names using forms. Since the list of machines is subject to change, I want to build the list each time the script is run, rather than build off a static
list.
For each virtual machine I need to create the list of variables below:
$hostnameX = New-Object System.Windows.Forms.checkbox
$hostnameX.Location = New-Object System.Drawing.Size(10,20)
$hostnameX.Size = New-Object System.Drawing.Size(100,20)
$hostnameX.Checked = $true
$hostnameX.Text = "Type"
$hostnameX.Controls.Add($hostnameX)
The location and size values need to be incremented but I think I can figure that part out.
I can use New-Variable to generate the initial variable. But I receive errors using the same method to try to create a new property for the variable.
$VMS = Get-Cluster MyCLUS | Get-vApp "My vApp" | Get-VM | Select Name,PowerState | Sort Name
For ($i=0; $i -lt ($VMS.count); $i++)
$VMS[$i].Name
$VMGUEST = "$($VMS[$i].Name)" -replace("-","")
New-Variable "CB$VMGUEST" "New-Object System.Windows.Forms.checkbox"
New-Variable "CB$VMGUEST.Location" "New-Object System.Drawing.Size(10,20)"
In the above, $CBVMGUEST1 = New-Object System.Windows.Forms.checkbox which is what I want, but $CBVMGUEST1.Location is not set.
Is there way to add a property using a variable in the variable name? Or any other suggestions on how to tackle this issue?Hi,
maybe another approach is a bit easier.
Use a hash-array like
$CB = @{}
$CB[$VMGUEST] = New-Object System.Windows.Forms....
$CB[$VMGUEST].Location = New-Object System.Drawing....
Mit freundlichen Grüßen Jens Kalski
That's the correct answer. Anytime you find yourself wanting to create variables named "Widget1", "Widget2", "Widget3", etc... it's a pretty clear indication that what you really need is a collection object of some sort. That might be an array,
a hashtable, or any other data structure for holding other objects, depending on your specific needs. -
Error while using the variable name "VARIABLE" in variable substitution
Hi Experts,
I am using variable substitution to have my output filename set as a payload field value. It is working fine when I am using the variable name as fname, subs etc but channel goes in error when I am using the variable name as "VARIABLE". This is probably a reserved word but i would like to know where i can find a detailed documentation on this. Say things to note / restrictions while using variable substitution.
This is the error in the channel:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: java.text.ParseException: Variable 'variable' not found in variable substitution table: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: java.text.ParseException: Variable 'variable' not found in variable substitution table
Thanks,
DiyaHi Zevik,
Thanks for the reply. The output file is created correctly by merely changing the variable name to something else and hence the doubt.
Below is the configuration:
Variable Substituition
VARIABLE payload:interface_dummy,1,Recordset,1,Header,1,field1,1
Filename schema : TEST_%VARIABLE%.txt
Output xml structure:
<?xml version="1.0" encoding="utf-8" ?>
- <ns:interface_dummy xmlns:ns="http://training.eu.unilever.com">
- <ns:Recordset xmlns:ns="http://training.eu.unilever.com">
- <Header>
<identifier>HDR</identifier>
<field1>001</field1>
<field2>001</field2>
<field3>R</field3>
</Header>
- <Detail>
<identifier>A</identifier>
<field1>000000002</field1>
<field2 />
<field3>Doretha.Walker</field3>
</Detail>
I thimk my configuration is correct as it is working correctly with the variable name change, However, maybe i missed something ! -
Problem with variable name in ZXRSRTOP include (virtual KF)
Hi all,
I am coding a routine to use a virtual key figure in the BEx.
I have just a little problem with the name of a variable:
as explained in the documentation, I created the variable with the prefix G_POS_, the name of the infocube and the name of the infoobject all together:
DATA: G_POS_BC_ST_003_C_DIV__C_COMPAR type i.
The problem is that this variable name is longer than 30 characters, so the system doesn't accept it.
Is there a workaround, other than changing the name of the infoobject (which is a navigational attribute)?
Any help would be appreciated.
LoïHello Marc,
I understand that I have to use a concatenate function and a dynamic call of the variable with (variable) instruction, but i do not understand how to implement it.
the infocube name is BC_ST_003
the characterisdtic name is C_DIV__COMPAR
So, in the include ZXRSRTOP the statement
DATA : G_POS_BC_ST_003_C_DIV__COMPAR
does not work due a length problem (see first post)
But in the same include the statement
+DATA: l_global_name type c.
concatenate 'GPOS' 'BC_ST_003' 'C_DIV__C_COMPAR' into l_global_name separated by '_'.+
drives to the following error : statement is not accessible.
Could u please provide me with an example of the code in the include ZXRSRTOP, and in the include ZXRSRZZZ for the use of this variable.
Thanks in advance.
Loï -
Servicegen - Issue with Variable Names - WLS 8.1
Hi Experts
I am trying to expose an EJB as a Webservice.. I assembled the ear using SERVICEGEN exposed by Weblogic 8.1
To my dismay the generated WSDL (even the web-services.xml) are not having the variable names which I gave in my webservice method. Instead I get String, String0, String1 and so on...
Kindly help me get over this problem.
Thanks and Regards,
Gopal.your application miight not be using this libraries but there are many shared libraries which are configured could be using. please check whether config.xml file of your domain contains the entries for this library.Problem running simple portal tutorial question
-
Dynamic Variable name (for int/long) from a String variable
Hi,
I want to give a int/long variable name from a String.
for ex.
String str = lookup + "Id";
lookup is a String variable coming from XML. Now, for instance lookup="name". So str = "nameId".
Now I want to create a int/long variable by nameId.
Could anybody tell me the way how to do. Please don't tell to use MAP.
Edited by: Shah on Dec 5, 2007 3:26 PMWell you can't. Use a Map.
The compiler translates variable names into slot numbers, either within an object or withing the local "stack frame" and these slot numbers are assigned names at compile time. No new slots can be created at run time. Java is not Basic.
Reflection allows you to find existing field names and methods (not local variables), so it's possible to map, for example, XML attribute names to field names or setters in an object but the names have to be known at compile time.
Maybe you are looking for
-
Clip play when reach area on page
Hi everyone! Im trying to play a clip that I have made in edge animate on my website, I havent published it yet so i dont have a example but does anyone know how to play a clip when you reach an area of a page? Thansk
-
Hai all How can a j2me application withstand multiple key press while doing some process. Please help me with some ideas Thanks Jinesh
-
I have a partially edited video in the timeline. I also have a lot of clips still sitting on the clip pane (or whatever it's called). Is there a way to transfer, say, next 34 clips to the timeline all at once, in order? I really don't feel like dragg
-
Final Cut Pro 5.1 to Final Cut Studio 2
I have a retail version of Final Cut Pro 5.1 and have the upgrade to Final Cut Studio 2. When I upgrade to Final Cut Studio 2 I input the serial which tells me I have input an upgrade serial and to put in my original serial number. I input the origin
-
Shadows in photos with Rebel T2i
Most of my indoor photos taken with my Rebel T2i have a shadow to the left of the subjects. I took the same photo with my Powershot s120 and did not get a shadow and am so very frustrated. I have tried with and without the hood and have ensured th