Updating DB tables with the help of VC
Hello all,
I'm interested in building input forms and saving the data in the portal.
I mean, that we are building DB tables in the portal and then, I'm going to build forms for data input/update for the users. Can I implement VC for this purpose?
I know that VC is perfect for all type of outputs and, also, for connection to R3 functions, but I need something else. I need to store the data in DB tables in the portal. Is it possible to do it with VC?
Regards,
Inna
Hello Inna,
Your first question was.
"I'm going to build forms for data input/update for the users. Can I implement VC for this purpose?"
The answer is yes you can in the Visual Composer create forms that allow you to input data and update information. There is an excellent How To regarding this:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/2bd0e7bf-0201-0010-babb-bf5a28080184
Your second question:
"I know that VC is perfect for all type of outputs and, also, for connection to R3 functions, but I need something else. I need to store the data in DB tables in the portal. Is it possible to do it with VC?"
By this I assume you wish to persist data in the portal itself? Is that correct? If this is correct, Visual Composer currently does not provide a way to persist data within the Enterprise Portal to my understanding.
I hope this helps.
Cheers,
Scott
Similar Messages
-
To upload a data into SAP Table with the help of RFC function in BODS
Hi,
Please provide me step-by-step solution to upload data into any SAP table with the help of RFC function in Data Services.
I have created RFC function that upload data into SAP table. RFC Function contains one table that has same structure as my database table.
In the data services how can i filled the table of RFC function, i am using this function in query transform of data services but it gives me error.
I am also follow link http://wiki.sdn.sap.com/wiki/display/BOBJ/BusinessObjectsDataServicesTipsand+Tricks
but it did not help me.
Thanks,
AbhishekHi Abhishek,
Did you import the function module in the SAP datastore first? When you open the SAP datastore, the function should be listed in the 'functions' section. If not, import it. Make sure your function is remote executable.
Once the function is there, you can use it in a transformation. In 'Schema Out' right-click on 'Query' (top level) and choose 'New Function Call'. You can then select a datastore and a function in the datastore. The wizard will show you which output parameters are available. I believe you have to add at least one and can select as many as you like.
After confirming your selection the function and the output parameters appear in Schema Out. You can then right-click on the function and choose 'Modify function call'. A popup will appear where you can specify the input parameters.
I hope this helps.
Jan. -
How to update a table with the time of insert instead of time of commit
dear,
i have 10 record at source side which needs to be injected in a target table ;
the record creation date is injected with the systimestamp -
when commiting it takes for all the same timestamp for all records( at commit time ) however I would like to insert the timestamp at INSERT moment to have a unique timestamp - id est at INSERT time.
Can anyone please adviseN?
Thanks
Erik
Edited by: 845498 on 29-aug-2012 1:36845498 wrote:
dear,
when commiting it takes for all the same timestamp for all records( at commit time ) Not true about commit time. True about same time. Function SYSDATE is always calculated once for SQL statement no matter how many times and for how many rows it is referenced. So when you issue:
insert
into target(insert_date)
select sysdate
from source
/All inserted rows will have same insert_date. Now keep in mind, Oracle date datatype precision is one second. So unless your insert of 10 rows takes more than a second (which would be a problem on its own), date precision will not give you what you want. You would need timestamp. But again, same as SYSDATE, SYSTIMESTAMP is called once per statement. To call it row each row and reference you need to create user-defined function:
create or replace
function get_systimestamp
return timestamp
is
begin
return systimestamp;
end;
/Now:
SQL> select systimestamp,
2 get_systimestamp
3 from hr.employees
4 /
SYSTIMESTAMP GET_SYSTIMESTAMP
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.671000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
SYSTIMESTAMP GET_SYSTIMESTAMP
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.687000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000
29-AUG-12 01.55.23.656000 PM -04:00 08/29/2012 13:55:23.765000000.
.SY. -
Update one table with the max value of another table
CREATE TABLE [dbo].[General](
[a_id] int NOT NULL,
[a_date] datetime NOT NULL,
[c_date] datetime NULL)
CREATE TABLE [dbo].[Specific](
[a_id] int NOT NULL,
[a_date] datetime NOT NULL,
[b_id] int NOT NULL,
[d_date] datetime NULL)
insert into General values (111,'Jan 1 2013', null)
insert into General values (112,'Jan 1 2013', 'Mar 10 2014')
insert into General values (113,'Jan 1 2013', null)
insert into General values (114,'Feb 1 2013', null)
insert into General values (115,'Feb 1 2013', 'Apr 1 2013')
insert into General values (116,'Feb 1 2013', 'Jan 1 1970')
insert into Specific values (111,'Jan 1 2013',1, 'Jan 1 2013')
insert into Specific values (111,'Jan 1 2013',2, 'Feb 1 2013')
insert into Specific values (111,'Jan 1 2013',3, 'Mar 1 2013')
insert into Specific values (112,'Jan 1 2013',1, 'Jan 1 2013')
insert into Specific values (112,'Jan 1 2013',2, 'Feb 1 2013')
insert into Specific values (113,'Jan 1 2013',1, 'Jan 1 1970')
insert into Specific values (114,'Feb 1 2013',1, null)
insert into Specific values (115,'Feb 1 2013',1, 'Jan 15 2013')
insert into Specific values (115,'Feb 1 2013',2, 'Feb 15 2013')
insert into Specific values (116,'Feb 1 2013',1, 'Jan 30 2013')
insert into Specific values (116,'Feb 1 2013',2, 'Jan 1 1970')
I want to update General.c_date only when the values are null or Jan 1 1970 from the maximum value of Specific.d_date as long as the maximum is not null or Jan 1 1970. The two tables join on a_id and a_date. In the example above
a_id = 111 and a_date = Jan 1 2013 should have c_date = Mar 1 2013 and a_id = 116 and a_date = Feb 1 2013 should have c_date = Jan 30 2013.
lgTry the below:
CREATE TABLE [dbo].[General](
[a_id] int NOT NULL,
[a_date] datetime NOT NULL,
[c_date] datetime NULL)
CREATE TABLE [dbo].[Specific](
[a_id] int NOT NULL,
[a_date] datetime NOT NULL,
[b_id] int NOT NULL,
[d_date] datetime NULL)
insert into General values (111,'Jan 1 2013', null)
insert into General values (112,'Jan 1 2013', 'Mar 10 2014')
insert into General values (113,'Jan 1 2013', null)
insert into General values (114,'Feb 1 2013', null)
insert into General values (115,'Feb 1 2013', 'Apr 1 2013')
insert into General values (116,'Feb 1 2013', 'Jan 1 1970')
insert into Specific values (111,'Jan 1 2013',1, 'Jan 1 2013')
insert into Specific values (111,'Jan 1 2013',2, 'Feb 1 2013')
insert into Specific values (111,'Jan 1 2013',3, 'Mar 1 2013')
insert into Specific values (112,'Jan 1 2013',1, 'Jan 1 2013')
insert into Specific values (112,'Jan 1 2013',2, 'Feb 1 2013')
insert into Specific values (113,'Jan 1 2013',1, 'Jan 1 1970')
insert into Specific values (114,'Feb 1 2013',1, null)
insert into Specific values (115,'Feb 1 2013',1, 'Jan 15 2013')
insert into Specific values (115,'Feb 1 2013',2, 'Feb 15 2013')
insert into Specific values (116,'Feb 1 2013',1, 'Jan 30 2013')
insert into Specific values (116,'Feb 1 2013',2, 'Jan 1 1970')
update A
Set c_date = (Select MAX(d_date) From Specific B where A.a_id = B.a_id Group by a_id
having MAX(d_date) is not null
and MAX(d_date)<>'1970-01-01 00:00:00.000')
From General A
Select * From General
Drop table general,specific
This would cause all records in General table to get updated which is not what asker want
see below statement
I want to update General.c_date only when the values are null or Jan 1 1970
from the maximum value of Specific.d_date as long as the maximum is not null or Jan 1 1970
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Updating a table with the data from the select list
I have 2 select lists on a page...first select list displays vendor no and vendor name from the table vendor (vendor_no, vendor_name, address, city, state, zip, ph no)
second list displays contact no and contact name from the table contact (contact_no, contact_name, email_addrs)
i have a submit button...once it is clicked the vendor_no from the first list and the contact_no from the second list must be inserted into the third table vendor_contact (vendor_contact_no, contact_no, vendor_no) and also there must be a condition to check if the entry already exists or not...can any one tell me how this can be done...Why not design your page just on your third table (vendor_contact), and those fields (which will already be defined as part of that table) can be defined there as your select lists. Then make sure you have a Primary Key (or Unique Key) defined on the table to prevent duplicates.
It makes for a much cleaner looking page, and far easier to implement as well.
Hope this made sense and helps.
Bill Ferguson -
Two forms that update differrent tables on the same page?
I tried to add two forms that update different tables on to one page.
Problem is when I do that the forms gives me an error saying the field does not exist. It's like it is trying to update one table with the other tables fields.
As an example Say I have one forms that is for people table and another one that is the Jobs table.
When I go to update the people table, it sends the data for the jobs fields too I get an error like the field job description does not exist.
I have two different forms for these and everything.
I would hope it is possible to have two forms that update different tables on the same page.I was trying the exact same thing, but i managed to work round it by setting the steps to hide one region, so the user would enter the form see one region submit the region then direct back to the same page with the different region visible and the original hidden.
I don't know if this would be acceptable for you... -
Trigger to update field on a table with the sum of fields on another table
My experience creating triggers and pl/sql in general can best be described in oracle terms as null. I've been practicing by creating tables and applications on my personal home server to help me with some of my work related tasks. Right now I'm trying to create a trigger that will, after insert, update, delete on the assignment_time_track table update the time_spent field on the assignments table with the sum of the time_spent fields on the assignment_time_track table. Hopefully that run on sentence there is clear to people other than myself. I've attempted to script this on my own using the trigger creation tool for Oracle Database Express Edition but I get the following error:
Trigger create was not successful for the following reason:
ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed
Here is my attempt at creating the trigger on my own.
create or replace trigger "ASSIGNMENT_TIME_TRACK_T1"
AFTER
insert or update or delete on "ASSIGNMENT_TIME_TRACK"
for each row
begin
update assignments
set time_spent = (select sum(time_spent)
from assignment_time_track
where assignment_time_track.name = assignments.name);
end;
If what I've posted isn't clear or more detail is needed, let me know and I'll respond with a complete description of both tables and my goals for each table. Thanks in advance for any help. I will also gladly accept links to tutorials or lessons that explain how to do this sort of thing.
Edited by: bobonthenet on Mar 9, 2009 2:01 PMHi,
If the assignments table has only one row per assignment, why is the primary key the combination of name and time_spent? If you have two two assignments called "Lab Report", isn't it possible that you would spend the same amount of time on each of them? I suggest using a sequence to assign an arbitrary id number to each assignment, and use that as the primary key.
What does each row in assuignment_time_track represent? It sounds like it is a chunk of time spent on one assignment (that is, you want to know that you spent 90 minutes on Tudesday morning working on some assignment, and that you spent another 30 minutes on Tuesday afternoon working on the same assignment). If so, then there should be a foreign key constraint in assignment_time_track referencing the primary key of assignemnt, and not the other way around.
Alex is right; you can get the total time spent on each project in a query or view; there is no need to replicate that data.
If you're new to Oracle and SQL, you should invest your time in getting more experience with the basics: everyday things like queries (using joins and GROUP BY) and views, and not spend much time on things that aren't used that much, like triggers.
If you really did have to copy the data, then you could have a trigger on assignemnt_time_track that kept the total in assignment up to date, like this:
UPDATE assignment
SET total_time_spent = total_time_spent
+ NVL (:NEW.time_spent, 0)
- NVL (:OLD.time_spent, 0);I suggest you name the column in assignment something different than the column in assignment_time_track, to reduce the risk of confusion. Also, since they represent different things, the same name can't be the most descripttive for each of them.
In case you're wondering about the use of NVL, above: It allows the same statement to take care of the situation when you INSERT, UPDATE or DELETE a row in assignment_time_track. That is, if you UPDATE a row in assignment_time_track, and change the time_spent from 60 to 90, then you want to add the new time (90) and subtract the old time (60) fro the total_time_spent in assignment: that is, total_time_spent would increase by 30. If you INSERT a new row into assignment_time_track with time_spent=30, you just need to add the new time_spent (30): there is nothing to subtract. But rather than write an IF statement and a second UPDATE for that situation, you can just rely on hte fact that all :OLD values are NULL iwhen INSERTing, and treat that NULL as a 0. Likewise, when DELETing, all :NEW values are NULL.. -
I have os 10.5.8 software on my mac and I need to update the software on my mac so I can update my iphone 4s, every time I try to update my mac with the 6.0 it says it doesn't need any updates, but my mac still has 10.5.8.... any help?? Please...
You must first buy Snow Leopard from Apple: 800-MY-APPLE (in the US)
Make sure your system meets Snow Leopard's requirements:
Mac OS X 10.6 "Snow Leopard" System Requirements
To install Snow Leopard for the first time, you must have a Mac with:
An Intel processor
An internal or external DVD drive, or DVD or CD Sharing
At least 1 GB of RAM (additional RAM is recommended)
A built-in display or a display connected to an Apple-supplied video card supported by your computer
At least 5 GB of disk space available, or 7 GB of disk space if you install the developer tools -
I have updated my iphone with the current software but it is showing you need to connect to of itunes to activate your phone, when i did that it is continuously showing an error.please help me to get through.
Kindly Activate my phone.Rajan Gupta wrote:
...it is continuously showing an error.
See here > http://support.apple.com/kb/TS3424
Also see this discussion.
https://discussions.apple.com/message/21189708 -
UPDATING A TABLE WITH SAME INFO FROM ANOTHER TABLE ON THE SAME DB
0down votefavorite
I am trying to update a table with info from another table on the same db with same table name. I just want the info to be the same , no primary key or constraint involve just a straight replacement of records and I keep getting errors WITH THE TABLE not
being recignize. below is my query:
UPDATE
VNDFIL
SET EOBTYP
= VNDFIL.EOBTYP,
EDI_X12_835_VERSION = VNDFIL.EDI_X12_835_VERSION
FROM
AGERECOVERY
WHERE
VNDFIL.EOBTYP
= VNDFIL.EOBTYP
AND
VNDFIL
.EDI_X12_835_VERSION
= VNDFIL.EDI_X12_835_VERSIONHi rotary,
If those two same named tables are in the same database then they have to be in different schemas. If you mean they are in the same server instance, then they may be in different databases, besides the "table not being recognized" error,
anyway you should use the fully qualified table names, that is database.Schema.Table(If across instances, ServerName should be prefixed) to avoid the table unrecognized error.
Using Identifiers As Object Names
With the fully qualified names, your update statement can be like below.
UPDATE
db1.schema1.VNDFIL
SET EOBTYP = srcTbl.EOBTYP, EDI_X12_835_VERSION = srcTbl.EDI_X12_835_VERSION
FROM
db1.schema2.VNDFIL srcTbl
WHERE
db1.schema1.VNDFIL.EOBTYP = srcTbl.VNDFIL.EOBTYP AND
db1.schema1.VNDFIL.EDI_X12_835_VERSION = srcTbl.VNDFIL.EDI_X12_835_VERSION
If you have any question, feel free to let me know.
Eric Zhang
TechNet Community Support -
Is it possible to downgrade to mountain lion with the help of a time machine backup after having updated to Mavericks?
Just to be clear, if by downgrade you mean uninstall, then the answer is technically, no.
You can't uninstall an OS. You can erase and re-install the old OS, but if you don't have a prior backup of your data, you'll lose it during the erase procedure. -
How to find the interface with the help of target table name
Hi friends,
Whether with the help of target table name, is it possible to find the interface name that invokes this target table in ODI 11.1.1.7.
Thanks in advance.
Regards,
Sarohighlight the datastore in the navigator, expand its sub tree, there is a 'populated by' node, under the node, it will list all datastores which are used as sources to the current datastore
then expand 'used by'->interfaces, it will show all interfaces which include current datastore(but maybe current datastore is used as source)
that's all you can get from UI, otherwise I suppose you can use SDK. -
I have changed my apple id password and yet apple store refused to update my software with the error "The apple id has been disabled" pls help
Apple ID security issues -
Call Apple Care and ask for the Account Security Team. They can assist you with your issue. -
How to validate enries in Maintenance Views with the help of Events?
Hello,
I have a Maint. View. I would like to apply a validation for a specific field of the table. And if there is an entry which is not proper, than I'd need an error message to be issue, and the fields should be open for correction.
I know this should be managed by Events. I tried many of them, but there was allways some different kind of issuses. E.g. When I used Event 21, the problem was that: table "total" was not updated with the values I entered, when the Event triggered. More over, when I ussed a simple error message, that appeared on the screen, but when I hit Enter, I got an infinite LOOP, cause Event 21 was again triggered.
When I tried Event 01, the total table was already updated. But with the program went back to the sceen from where I called the maintenance of the table. And Issues the error message there. When I hit Enter it took me back to maintenance screen. But this is not very nice.
A bunch of hints would make me very happy, or a good example, which is priceless!
Thanks and regards,
GyulaHi priyaranjan,
Check the data in debug mode whether the record_tab is getting filled or not. If it is not filled use FM 'F4UT_RESULTS_MAP' to fill the data.
Refer the link F4UT_RESULTS_MAP Standard Search Help Exit for Filling Hit List - Function - ABAP - SAP to know how to use FM.
Once You get result from FM in to record_tab then sort the table as per your requirement.
Regards,
Ravikiran.K -
Updating one table with colum of another one
Oracle 11g
Hi,
i'im trying to update two colums from SUPPORT (SUPPORT_X, SUPPORT_Y) table with two colums of POST_HTA_BT( POSTHTABT_GPS_X, POSTHTABT_GPS_Y ) table
Understand that the two tables have the colum below:
SUPPORT(SUPPORT_ID,SUPPORT_PLAQUE,POSTHTABT_ID,SUPPORT_X, SUPPORT_Y,....)
POST_HTA_BT (POSTHTABT_ID,POSTHTABT_GPS_X, POSTHTABT_GPS_Y,..)
The SUPPORT_PLAQUE has the varachar type. Except the keys, other colums are varchar type in the two tables.
The point here is to update the support_x, support_y with posthtabt_gps_x and posthtabt_gps_y.But before update we must cheik if the fifth number of support plaque is a character number between "0" to "9' and if the rest of the caracter of the support_plaque is '00000'
Please note that the support_plaque is stored in the table with the form: "0025800000"!!!
So i did the script below i'm trying to execute in sql developper.
SET SERVEROUTPUT ON
DECLARE
chiffre_liste varchar(200):= '0','1','2','3','4','5','6','7','8','9';
CURSOR CUR_GPS_SUPPORT IS
select SUPPORT.SUPPORT_X,SUPPORT.SUPPORT_Y,POSTE_HTA_BT.POSTHTABT_ID,SUPPORT.EXPL_ID,
SUPPORT.SUPPORT_PLAQUE,POSTHTABT_GPS_X,POSTHTABT_GPS_Y
from SUPPORT,
POSTE_HTA_BT
where
SUPPORT.SUPPORT_X IS NULL and
SUPPORT.SUPPORT_Y IS NULL and
SUPPORT.POSTHTABT_ID = POSTE_HTA_BT.POSTHTABT_ID and
SUPPORT.EXPL_ID = POSTE_HTA_BT.EXPL_ID
order by SUPPORT.POSTHTABT_ID;
w_POSTHTABT_ID POSTE_HTA_BT.POSTHTABT_ID%type;
w_SUPPORT_X SUPPORT.SUPPORT_X%TYPE;
w_SUPPORT_Y SUPPORT.SUPPORT_Y%TYPE;
w_EXPL_ID SUPPORT.EXPL_ID%TYPE;
w_SUPPORT_PLAQUE SUPPORT.SUPPORT_PLAQUE%TYPE;
w_POSTHTABT_GPS_X POSTE_HTA_BT.POSTHTABT_GPS_X%TYPE;
w_POSTHTABT_GPS_Y POSTE_HTA_BT.POSTHTABT_GPS_Y%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('Chargement des coordoonnées GPS -Mise à jour Coord GPS des supports de Départ');
FOR CUR IN CUR_GPS_SUPPORT LOOP
w_POSTHTABT_ID := cur.POSTHTABT_ID;
w_SUPPORT_PLAQUE := cur.SUPPORT_PLAQUE;
w_SUPPORT_X := cur.SUPPORT_X;
w_SUPPORT_Y := cur.SUPPORT_Y;
w_POSTHTABT_GPS_X := cur.POSTHTABT_GPS_X;
w_POSTHTABT_GPS_Y := cur.POSTHTABT_GPS_X;
if substr(cur.support_plaque,5,1) in chiffre_liste and substr(cur.support_plaque,6,5)='00000'
w_SUPPORT_X := CUR.POSTHTABT_GPS_X
w_SUPPORT_Y := CUR.POSTHTABT_GPS_Y
END if;
EXCEPTION WHEN NO_DATA_FOUND THEN w_SUPPORT_X := NULL and w_SUPPORT_Y := NULL;
END;
--Update de la table des supports
update SUPPORT
set SUPPORT_X = w_SUPPORT_X,
SUPPORT_Y = w_SUPPORT_Y
where SUPPORT_PLAQUE = w_SUPPORT_PLAQUE;
-- On valide imm?diatement
commit;
EXCEPTION when no_data_found then null;
-- Pas de coordonnées trouvées
END;
END;
and i got the following errors:
Rapport d'erreur :
ORA-06550: Line 2, colum 34 :
PLS-00103: Symbole "," rencontré à la place d'un des symboles suivants :
* & = - + ; < / > at in is mod remainder not rem
<exposant (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
ORA-06550: Ligne 2, colonne 52 :
PLS-00103: Symbole ";" rencontré à la place d'un des symboles suivants :
) , * & = - + < / > at in is mod remainder not rem =>
<exposant (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member subm
ORA-06550: Line 38, colum 48 :
PLS-00103: Symbole "CHIFFRE_LISTE" rencontré à la place d'un des symboles suivants :
Symbole "(" a été substitué à "CHIFFRE_LISTE" pour continuer.
ORA-06550: Line 39, colum 12 :
PLS-00103: Symbole "W_SUPPORT_X" rencontré à la place d'un des symboles suivants :
) , * & - + / at mod remainder rem <exposant (**)> and or ||
multiset
ORA-06550: Line 40, colum 12 :
PLS-00103: Symbole "W_SUPPORT_Y" rencontré à la place d'un des symboles suivants :
. ( ) , * @ % & = - + < / > at in is mod remainder not rem
<exposant (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || mult
ORA-06550: Line 41, colum 9 :
PLS-00103: Symbole "END" rencontré à la place d'un des symboles suivants :
. ( ) , * @ % & = - + < / > at in is mod remainder not rem
<exposant (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset memb
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
I verified the line number, but don't see the error in my code.
Please could you help me?
peaceHere the new script
SET SERVEROUTPUT ON
DECLARE
TYPE chiffre_liste IS TABLE OF VARCHAR2(10);
my_list chiffre_liste;
CURSOR CUR_GPS_SUPPORT IS
select SUPPORT.SUPPORT_X,SUPPORT.SUPPORT_Y,POSTE_HTA_BT.POSTHTABT_ID,SUPPORT.EXPL_ID,
SUPPORT.SUPPORT_PLAQUE,POSTHTABT_GPS_X,POSTHTABT_GPS_Y
from SUPPORT,
POSTE_HTA_BT
where
SUPPORT.SUPPORT_X IS NULL and
SUPPORT.SUPPORT_Y IS NULL and
SUPPORT.POSTHTABT_ID = POSTE_HTA_BT.POSTHTABT_ID and
SUPPORT.EXPL_ID = POSTE_HTA_BT.EXPL_ID
order by SUPPORT.POSTHTABT_ID;
w_POSTHTABT_ID POSTE_HTA_BT.POSTHTABT_ID%TYPE;
w_SUPPORT_X SUPPORT.SUPPORT_X%TYPE;
w_SUPPORT_Y SUPPORT.SUPPORT_Y%TYPE;
w_EXPL_ID SUPPORT.EXPL_ID%TYPE;
w_SUPPORT_PLAQUE SUPPORT.SUPPORT_PLAQUE%TYPE;
w_POSTHTABT_GPS_X POSTE_HTA_BT.POSTHTABT_GPS_X%TYPE;
w_POSTHTABT_GPS_Y POSTE_HTA_BT.POSTHTABT_GPS_Y%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('Chargement des coordoonnées GPS -Mise à jour Coord GPS des supports de Départ');
my_list := chiffre_liste('0','1','2','3','4','5','6','7','8','9');
FOR CUR IN CUR_GPS_SUPPORT LOOP
w_POSTHTABT_ID := cur.POSTHTABT_ID;
w_SUPPORT_PLAQUE := cur.SUPPORT_PLAQUE;
w_SUPPORT_X := cur.SUPPORT_X;
w_SUPPORT_Y := cur.SUPPORT_Y;
w_POSTHTABT_GPS_X := cur.POSTHTABT_GPS_X;
w_POSTHTABT_GPS_Y := cur.POSTHTABT_GPS_X;
if substr(cur.support_plaque,5,1) in (my_list) then
if substr(cur.support_plaque,6,5)='00000' then
w_SUPPORT_X := CUR.POSTHTABT_GPS_X;
w_SUPPORT_Y := CUR.POSTHTABT_GPS_Y;
End if;
END if;
--EXCEPTION WHEN NO_DATA_FOUND THEN w_SUPPORT_X,w_SUPPORT_Y := NULL ;
--END;
--Update de la table des supports
update SUPPORT
set SUPPORT_X = w_SUPPORT_X,
SUPPORT_Y = w_SUPPORT_Y
where SUPPORT_PLAQUE = w_SUPPORT_PLAQUE;
-- On valide imm?diatement
commit;
--EXCEPTION when no_data_found then null;
--Pas de coordonnées trouvées
--END;
END LOOP;
END;
And i got the error:
Rapport d'erreur :
ORA-06550: Ligne 40, colonne 12 :
PLS-00383: non-concordance de type détectée à 'SUBSTR' dans une clause IN ou NOT IN
ORA-06550: Ligne 40, colonne 9 :
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
I think to do a loop with your i idea, something like this:
DECLARE
TYPE liste_1 IS TABLE OF NUMBER INDEX BY VARCHAR2(10);
my_list liste_1;
Begin
my_list('0') := 1;
my_list('1') := 1;
my_list('2') := 1;
my_list('3') := 1;
my_list('4') := 1;
my_list('5') := 1;
my_list('6') := 1;
my_list('7') := 1;
my_list('8') := 1;
my_list('9') := 1;
for i in my_list loop
if substr(cur.support_plaque,5,1) in my_list(i) then
if substr(cur.support_plaque,6,5)='00000' then
w_SUPPORT_X := CUR.POSTHTABT_GPS_X;
w_SUPPORT_Y := CUR.POSTHTABT_GPS_Y;
End if;
End if;
End loop
END;
What do you think?
Maybe you are looking for
-
Hi team, The following is the scenario: lets suppose that i am working on the project on a particular task, after i finish the task, i set the status as "pending-to be completed by <name of the person>" . this means that the next task on the project
-
How to reconstruct the statistical cost of project stock?
Hi, Experts, We added the statistical cost element of 90 category for project stock BS account. Now we find that some of the project stock don't have statistical cost, some of the project stock have statistical cost(Value type: WRTTP=11). How can we
-
Picture not in- sync with audio on Mac and Apple TV
I bought "Bait" through the itunes store. After about 3-5 minutes the sound is behind on the picture. Not synchronized anymore. Apple told me to reload, which I did without any hope of change. Do you have any ideas??? PS: it's on Apple TV as well as
-
Audigy 2 - Card working fine, but the drivebay-panel does not!
Hello folks I recently installed a Audigy 2 PCI-card + drivebay-panel in my computer (Win7 x64) installed the drivers from Creatives official website and it's working fine! However that is only the ports on the card itself, i can't seem to get the fr
-
Non Resizable JDialog with icon
Hi All... How to create dialog with icon on the top left corner and also this dialog should be non resizable. Thanks sanjay