RFC is not inserting the data
Hi all,
I did File to RFC scenario. My problem is when i send message the message is showen as processed successfully in SXMB_MONI. But RFC is not inserting my data in a specified table. I couldn't found where i am wrong.
my sender strucure is:
<MANDT>
<WORKDATE>
<EMPLOYEENUMBER>
<CATSHOURS>
R3 table name is ZTESTCATSDB
My RFC source code is :
FUNCTION Z_POST_TEST.
""Local Interface:
*" TABLES
*" CATSRECORDS_IN STRUCTURE ZTESTCATSDB OPTIONAL
*" RETURN STRUCTURE BAPIRET2 OPTIONAL
data wa_cats like ZTESTCATSDB.
data wa_catdb like ZTESTCATSDB.
data ztab like ZTESTCATSDB OCCURS 0 WITH HEADER LINE.
loop at catsrecords_in into wa_cats.
ztab-WORKDATE = wa_cats-workdate.
ztab-empnum = wa_cats-empnum.
ztab-catshours = wa_cats-catshours.
append ztab.
endloop.
insert ZTESTCATSDB from table ztab.
commit work.
ENDFUNCTION.
Plese tell me any one where i am wrong it is very urgent for me.
Thanks,
Satish.
You should always check the system return code (sy-subrc) after any insert and update statement like this:
insert ...
if sy-subrc > 0.
message E...
else.
commit work.
endif.
Hope that helps,
Stefan
Similar Messages
-
Can not insert/update data from table which is created from view
Hi all
I'm using Oracle database 11g
I've created table from view as the following command:
Create table table_new as select * from View_Old
I can insert/update data into table_new by command line.
But I can not Insert/update data of table_new by SI Oject Browser tool or Oracle SQL Developer tool .(read only)
Anybody tell me, what's happend? cause?
Thankyou
thiensu
Edited by: user8248216 on May 5, 2011 8:54 PM
Edited by: user8248216 on May 5, 2011 8:55 PMI can insert/update data into table_new by command line.
But I can not Insert/update data of table_new by SI Oject Browser tool or Oracle SQL Developer tool .(read only)so what is wrong with the GUI tools & why posting to DATABASE forum when that works OK? -
Strange scenario,Oracle can not display the data in mysql correctly
I use Heterogeneous Service+ODBC to achieve "oracle access mysql"(any other method?),and now i find Oracle can not display the data in mysql correctly:
-------mysql------------
mysql> create table tst(id int,name varchar(10));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into tst values(1,'a');
Query OK, 1 row affected (0.00 sec)
mysql> select * from tst;
------------+
| id | name |
------------+
| 1 | a |
------------+
1 row in set (0.00 sec)
mysql> show create table tst\G
*************************** 1. row ***************************
Table: tst
Create Table: CREATE TABLE `tst` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
-------------oracle ------------------
SQL> select count(*) from "tst"@mysql;
COUNT(*)
49
SQL> select * from "tst"@mysql;
id
1
SQL> desc "tst"@mysql;
Name Null? Type
id NUMBER(10)You can make the following query on the result page:
"select * from the_table where movietitle = ? and cinema = ?"
then you set movietitle and cinema to those which the user selected. If the resultset contains more than 0 rows, that means the movie is available.
Below is the sample code, it assumes you have a connection to the database:
PreparedStatement stat = myConnection.prepareStatement("select * from the_table where movietitle = ? and cinema = ?");
stat.setString(1, usersMovieTitleSelection);
stat.setString(2, usersCinemaSelection);
ResultSet res = stat.executeQuery();
if (res.next()) {
out.print("The movie is available");
} else {
out.print("The movie is not available");
}Now just add that to your JSP page. Enjoy ! =) -
" Can not interpret the data in file " error while uploading the data in DB
Dear All ,
After running the below report I am getting the " Can not interpret the data in file " error.
Need to upload the data in DB through excel or .txt file.
Kindly advise to resolve the issue.
REPORT ZTEST_4.
data : it like ZPRINT_LOC occurs 0 with header line,
FILETABLE type table of FILE_TABLE,
wa_filetable like line of filetable,
wa_filename type string,
rc type i.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
CHANGING
FILE_TABLE = filetable
RC = rc.
IF SY-SUBRC = 0.
read table filetable into wa_filetable index 1.
move wa_filetable-FILENAME to wa_filename.
Else.
Write: / 'HI'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
start-of-selection.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = wa_filename
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = it.
IF SY-SUBRC = 0.
Write: / 'HI'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
insert ZPRINT_LOC from table it.
if sy-subrc = 0.
commit work.
else.
rollback work.
endif.
Regards
Machindra Patade
Edited by: Machindra Patade on Apr 9, 2010 1:34 PMDear dedeepya reddy,
Not able to upload the excel but have sucess to upload the .csv file to db through the below code. Thanks for your advise.
REPORT ZTEST_3.
internal table declaration
DATA: itab TYPE STANDARD TABLE OF ZPRINT_LOC,
wa LIKE LINE OF itab,
wa1 like line of itab.
variable declaration
DATA: v_excel_string(2000) TYPE c,
v_file LIKE v_excel_string VALUE 'C:\Documents and Settings\devadm\Desktop\test.csv', " name of the file
delimiter TYPE c VALUE ' '. " delimiter with default value space
read the file from the application server
OPEN DATASET v_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
write:/ 'error opening file'.
ELSE.
WHILE ( sy-subrc EQ 0 ).
READ DATASET v_file INTO wa.
IF NOT wa IS INITIAL.
append wa TO itab.
ENDIF.
CLEAR wa.
ENDWHILE.
ENDIF.
CLOSE DATASET v_file.
EXEC SQL.
TRUNCATE TABLE "ZPRINT_LOC"
ENDEXEC.
*------display the data from the internal table
LOOP AT itab into wa1.
WRITE:/ wa1-mandt,wa1-zloc_code,wa1-zloc_desc,wa1-zloc,wa1-zstate.
ENDLOOP.
insert ZPRINT_LOC from table itab. -
How to insert the data from XML to a table
Hi,
I'm using Oracle 10g Express Edition
I need help in How to insert the data from XML file into the table.
Below is the example i'm working on..
I have create ridb user with below mentioned privileges:
Account Status Locked Unlocked
Default Tablespace: USERS
Temporary Tablespace: TEMP
User Privileges :
Roles:
CONNECT
RESOURCE
Direct Grant System Privileges:
CREATE DATABASE LINK
CREATE MATERIALIZED VIEW
CREATE PROCEDURE
CREATE PUBLIC SYNONYM
CREATE ROLE
CREATE SEQUENCE
CREATE SYNONYM
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
& table is created TRIALZIPCODES below mentioned is the DDL:
CREATE TABLE TRIALZIPCODES
STATE_ABBR VARCHAR2(20) NOT NULL
, ZIP_CODE NUMBER(10, 0) NOT NULL
, ZIP_CODE_EXT VARCHAR2(20)
Below is the XML FILE: which is stored in C:\OracleProject Folder
File name: trial.xml
<?xml version="1.0" ?>
<metadata>
- <Zipcodes>
- <mappings Record="4">
<STATE_ABBREVIATION>CA</STATE_ABBREVIATION>
<ZIPCODE>94301</ZIPCODE>
</mappings>
- <mappings Record="5">
<STATE_ABBREVIATION>CO</STATE_ABBREVIATION>
<ZIPCODE>80323</ZIPCODE>
<ZIP_CODE_EXTN>9277</ZIP_CODE_EXTN>
</mappings>
</Zipcodes>
</metadata>
PL/SQL Procedure:which i'm trying to execute from SQLDeveloper
create or replace
PROCEDURE TRIAL AS
BEGIN
DECLARE
-- declare attributes
charString varchar2(80);
finalStr varchar2(4000) := null;
rowsp integer;
v_FileHandle UTL_FILE.FILE_TYPE;
l_context_handle dbms_xmlgen.ctxHandle;
insCtx DBMS_XMLStore.ctxType;
begin
-- DBMS_XMLGEN.setRowTag ( ctx IN ctxHandle, rowTag IN VARCHAR2);
-- DBMS_XMLGEN.setRowSetTag ( ctx IN ctxHandle, rowSetTag IN VARCHAR2);
-- the name of the table as specified in our DTD
DBMS_XMLGEN.SETROWSETTAG(l_context_handle,'zipcodes');
-- the name of the data set as specified in our DTD
DBMS_xmlgen.setRowTag(l_context_handle,'mappings');
-- for getting the output on the screen
dbms_output.enable(1000000);
-- open the XML document in read only mode
v_FileHandle := utl_file.fopen('c:/OracleProject','trial.xml', 'r');
loop
BEGIN
utl_file.get_line(v_FileHandle, charString);
exception
when no_data_found then
utl_file.fclose(v_FileHandle);
exit;
END;
dbms_output.put_line(charString);
if finalStr is not null then
finalStr := finalStr || charString;
else
finalStr := charString;
end if;
end loop;
-- for inserting the XML data into the table
insCtx := DBMS_XMLSTORE.NEWCONTEXT('RIDB.TRIALZIPCODES');
insCtx := DBMS_XMLSTORE.INSERTXML(insCtx, finalStr);
dbms_output.put_line('INSERT DONE '||TO_CHAR(rowsp));
DBMS_XMLStore.closeContext(insCtx);
END;
END TRIAL;
For the first time when i complied i got the errors as :
Procedure RIDB.PROCEDURE1@RIDB
Error(16,14): PLS-00201: identifier 'UTL_FILE' must be declared
Error(16,14): PL/SQL: Item ignored
Error(29,1): PLS-00320: the declaration of the type of this expression is incomplete or malformed
Error(29,1): PL/SQL: Statement ignored
Error(33,1): PL/SQL: Statement ignored
Error(33,19): PLS-00320: the declaration of the type of this expression is incomplete or malformed
Error(36,1): PL/SQL: Statement ignored
Error(36,17): PLS-00320: the declaration of the type of this expression is incomplete or malformed
So i logged in as sys & grant the permission to execute on UTL_FILE to ridb (user):
SQL Statement:
grant execute on utl_file to ridb
So, it got compiled successfully but when i execute it gives me error as:
Source does not have a runnable target.
What does this mean?
So I browse through forum & i got to know that i need to initial the UTL_FILE_DIR ="C:/OracleProject" in init.ora
So can i edit the init.ora with notepad.When i tried to do that it says permission denied
In my system it shows the init.ora file in path C:\oraclexe\app\oracle\product\10.2.0\server\config\scripts
but there is also other file initXETemp in the same path do i need to do the changes in it.
I have tried even editing the SPFILE as mentioned below:
C:\oraclexe\app\oracle\product\10.2.0\server\dbs\SPFILEEXE - I had edit this file using notepad & set the value of UTL_FILE_DIR ="C:/OracleProject". So next time when i restarted i'm unable to log on to the database.
So i had reinstall the software again.
Could you please let me know how to proceed..hi,
I have created the directory from sys database
CREATE or replace DIRECTORY XML_DIR2 AS 'C:\OracleProject';
& grant read,write access to the user
grant read,write on directory XML_DIR2 to RIDB;
& i had change the tag name in the xml file as shown below:
<?xml version = '1.0'?>
<metadata>
<Zipcodes>
<mappings Record="4">
<STABBRE>CA</STABBRE>
<ZIPCODE>94301</ZIPCODE>
</mappings>
<mappings Record="5">
<STABBRE>CO</STABBRE>
<ZIPCODE>80323</ZIPCODE>
<ZIPCODEEXT>9277</ZIPCODEEXT>
</mappings>
</Zipcodes>
</metadata>
TRIALZIPCODE table as shown below:
CREATE TABLE "RIDB"."TRIALZIPCODE"
( "STABBRE" VARCHAR2(20 BYTE),
"ZIPCODE" NUMBER(*,6) NOT NULL ENABLE,
"ZIPCODEEXT" NUMBER
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ;
I have tried two methods as shown below:
Procedure 1:
create or replace
PROCEDURE TRIAL_V2 AS
BEGIN
DECLARE
-- declare attributes
charString varchar2(80);
finalStr varchar2(4000) := null;
rowsp integer;
v_FileHandle UTL_FILE.FILE_TYPE;
l_context_handle dbms_xmlgen.ctxHandle;
insCtx DBMS_XMLStore.ctxType;
cnt NUMBER;
xmldoc xmltype := xmltype( bfilename('XML_DIR2','trialxml.xml'), nls_charset_id('AL32UTF8') );
--XML_DIR VARCHAR2(40) := 'C:\\OracleProject';
BEGIN
insCtx := DBMS_XMLStore.newContext('DEV.TRIALZIPCODES');
DBMS_XMLStore.setUpdateColumn(insCtx, 'STABBRE');
DBMS_XMLStore.setUpdateColumn(insCtx, 'ZIPCODE');
DBMS_XMLStore.setUpdatecolumn(insCtx, 'ZIPCODEEXT');
DBMS_XMLStore.setRowTag(insCtx, 'mappings');
cnt := DBMS_XMLStore.insertXML(insCtx, xmldoc);
DBMS_XMLStore.closeContext(insCtx);
END;
Procedure 1 was compiled with out errors but when i execute i got the error as :
Source does not have a runnable target.
Procedure 2_
CREATE OR REPLACE PROCEDURE TRIAL_V3 AS
BEGIN
DECLARE
-- declare attributes
charString varchar2(80);
finalStr varchar2(4000) := null;
rowsp integer;
v_FileHandle UTL_FILE.FILE_TYPE;
l_context_handle dbms_xmlgen.ctxHandle;
insCtx DBMS_XMLStore.ctxType;
cnt NUMBER;
xmldoc xmltype := xmltype( bfilename('XML_DIR2','trialxml.xml'), nls_charset_id('AL32UTF8') );
--XML_DIR VARCHAR2(40) := 'C:\\OracleProject';
BEGIN
INSERT INTO trialzipcode (STABBRE, ZIPCODE, ZIPCODEEXT)
SELECT extractvalue(x.column_value, 'mappings/STABBRE'),
extractvalue(x.column_value, 'mappings/ZIPCODE'),
extractvalue(x.column_value, 'mappings/ZIPCODEEXT')
FROM TABLE(
XMLSequence(
EXTRACT(
xmltype( bfilename('XML_DIR2','trialxml.xml'), nls_charset_id('AL32UTF8') ),
'metadata/Zipcodes/mappings'
) x
END;
END TRIAL_V3;
Procedure 2 was complied without errors but when i execute i got the error as:
Connecting to the database RIDB.
ORA-22288: file or LOB operation FILEOPEN failed
The system cannot find the file specified.
ORA-06512: at "SYS.DBMS_LOB", line 523
ORA-06512: at "SYS.XMLTYPE", line 287
ORA-06512: at "RIDB.TRIAL_V3", line 12
ORA-06512: at line 2
Process exited.
Disconnecting from the database RIDB.
Could you please let me know how to proceed... -
Insert the data into two tables at a time.
Hi ,
i have these two tables
create table [dbo].[test1](
[test1_id] [int] identity(1,1) primary key,
[test2_id] [int] not null
create table [dbo].[test2](
[test2_id] [int] identity(1,1) primary key,
[test1_id] [int] not null
alter table [dbo].[test1]
add constraint [fk_test1_test2_id] foreign key([test2_id])
references [dbo].[test2] ([test2_id])
alter table [dbo].[test2] add constraint [fk_test2_test2_id] foreign key([test1_id])
references [dbo].[test1] ([test1_id])
I want to insert the data into two tables in one insert statement. How can i do this using T-SQL ?
Thanks in advance.You can INSERT into both tables within one Transaction but not in one statement. By the way, you would need to alter your dbo.Test1 table to allow null for first INSERT test2_id column
See sample code below:
CREATE TABLE #test1(test1_ID INT IDENTITY(1,1),test2_id INT NULL)
CREATE TABLE #test2(test2_ID INT IDENTITY(1,1),test1_ID INT)
DECLARE @Test1dentity INT
DECLARE @Test2dentity INT
BEGIN TRAN
-- Insert NULL as test2_ID value is unknown
INSERT INTO #test1(test2_ID)
SELECT NULL;
-- get inserted identity value
SET @Test1dentity = SCOPE_IDENTITY();
INSERT INTO #test2(test1_ID)
SELECT @Test1dentity;
-- get inserted identity value
SET @Test2dentity = SCOPE_IDENTITY();
-- Update test1 table
UPDATE #test1
SET test2_ID = @Test2dentity
WHERE test1_ID = @Test1dentity;
COMMIT
SELECT * FROM #test1;
SELECT * FROM #test2;
-- Drop temp tables
IF OBJECT_ID('tempdb..#test1') IS NOT NULL
BEGIN
DROP TABLE #test1
END
IF OBJECT_ID('tempdb..#test2') IS NOT NULL
BEGIN
DROP TABLE #test2
END
web: www.ronnierahman.com -
Insert the data automatically in a table
Hi,
i want to insert the data in a table automatically if the time is 12:00AM
Is it possible?hi,
i have the table "tab_eg" like
id name code
1 Rai 1
2 Hewlett 3
id is primary key.
code is auto generated.
(ie) if anybody is getting the code from tab_eg table,
the code is automatically incremented by 1 using update query.
It is working fine.
Then
i am creating the DBMS_SCHEDULER like this:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'UPDATE_TAB_CODE',
job_type => 'PLSQL_BLOCK',
job_action => 'begin execute '' update scott.tab_eg SET code = 1 '' ; commit; end;',
start_date=> '01/APR/2007 12:00:00 AM',
repeat_interval => 'FREQ=YEARLY',
enabled => TRUE);
END ;
it is also created successfully in SYS.
My doubt is
when i have changed the server time as '01/APR/2008 12:00:00 AM',
the code is not reset to 1.
i want to reset the code as 1.
what do i have to change in this DBMS_SCHEDULER.
Thanx in Advance -
How to insert the data if the data in the two tables doesn't match.
Hi,
I have requirement like,I have to insert the data by comparing the two tables based on the date field.If they both are equal then the data shouldn't be inserted if not the data has to be inserted.
Can some one help me on this ASAP.
Regards,
Sudha
sudhaHi,
Thanks for the reply,i would like to know the way that we can design the packages
sudha
You have multiple ways of implementing this
1. Using Lookup Task
http://www.sqlis.com/sqlis/post/Get-all-from-Table-A-that-isnt-in-Table-B.aspx
2. using SCD wizard
http://www.bimonkey.com/2009/07/the-slowly-changing-dimension-transformation-part-1/
3. using hashing
http://visakhm.blogspot.in/2014/06/ssis-tips-implementing-scd.html
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
When I insert the date into a document, Pages actually inserts the day and date, as in "Monday, November 24, 2008." I only want the date, as in "November 24, 2008." I have tried to change the formatting in the International section of System Preferences, but nothing changes. I have looked in various help areas, but have found nothing. Does anyone have a suggestion to change the default?
Thanks, PaulPaul,
Sorry, I didn't catch in your original post that you already knew the standard method for setting the Date Format. I am not aware of any global default preference for this feature.
Here's a workaround that may help in some circumstances. If you have so many instances of the date in each document that it is burdensome to set the format on each, you could set the preferred format on the first instance and then after that use 'ddd' or some other unique code for the rest of the instances. Upon completion of the document you would then do a Find (ddd) and Replace All (Formatted Date). Dates entered this way can't be set to auto-update.
Jerry -
Dear all.
In my app use the MFMessageComposeViewController control to send SMS message.The message content will be inserted to Message Inbox of iPhone.
How to do not insert the message content in the Message Inbox when use this control?Because my message content has been encrypted. I don't want user can see them.
ThanksI can't remember the steps, but if i'm not wrong, there are many "next" to click, and at the last windows, there is one dialog box with "do not show this message again".Maybe something to do with the registry, to enable to view this dialog box again. Date: Thu, 2 Feb 2012 06:38:24 -0700
From: [email protected]
To: [email protected]
Subject: How to enable the option "do not show this message again" in dreamweaver cs5
Re: How to enable the option "do not show this message again" in dreamweaver cs5
created by Murray ACP in Dreamweaver - View the full discussion
So, you open Site manager, click New, and then what? I'm trying to understand which dialog you dismissed. Can you help me?
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4180872#4180872
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4180872#4180872. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Dreamweaver by email or at Adobe Forums
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746. -
How to insert the data using SyncoBo Object
Hi ,
please provide the code for inserting the data such tat my meRepMeta.xml
contains
one Top Row
4 Child Row
i done the coding for inserting top rowHi Saravana,
I am not sure about the query based on sync_key value but i am suggesting the code snippet that you can use to get the SyncBo by the SyncBoName and SyncKey.
public SyncBo getSyncBoInstance(String syncBoName, String syncKey) {
SyncBoDescriptor sbd = descriptorFacade.getSyncBoDescriptor(syncBoName);
try {
SyncBo sb = dataFacade.getSyncBo(sbd, syncKey);
return sb;
} catch (PersistenceException pex) {
System.out.println(pex.getMessage());
return null;
Based on the SyncBo value from the previous code snippet , you can obtain the rowCollection thru this method.
public RowCollection[] getRows()
throws PersistenceException
Ex:
sb.getRows()
Once you obtain the RowCollection for the particular syncBo,you can iterate thru rowCollection to get the row entities.
//To get the iterator of the Row entities in this RowCollection.
MeIterator it = rowList.iterator();
From each row entity you can get the field values by this method
public MeIterator getFieldValues()
I would suggest you to go through the API Doc which is clearly explained about all the methods which would be useful for you to do all sort of operation.
Regards,
Rajan -
If Both tables having References then how to insert the data each other
Hai EveryOne..,
My Sample data.,
Create table emp (empno number primary key,ename varchar2(20));
Create table emp_dup (empno number references emp(empno),ename varchar2(20) primary key);
alter table emp add constraint ename_fk foreign key(ename) references emp(ename);
My Question is How to insert the data into these two tables?
Its a *"Circular Reference"* Concept.
Please ...
Thank You!!You need to set the DEFERRED clause of the constraint when you create your foreign key as DEFERRABLE by which you can move the constraint validation at transaction level.
In an interview point of view that could be a reasonable answer. But in real time this could be strongly questionable.
Here is an example
SQL> create table emp1 (empno number, ename varchar2(10))
2 /
Table created.
SQL> create table emp2 (empno number, ename varchar2(10))
2 /
Table created. Define Primary Key for two tables
SQL> alter table emp1 add constraint emp1_pk primary key (empno)
2 /
Table altered.
SQL> alter table emp2 add constraint emp2_pk primary key (ename)
2 /
Table altered. Add foreign key for two tables with DEFERRED clause set as DEFERRABLE
SQL> alter table emp1 add constraint emp1_fk foreign key (ename) references emp2(ename) initially deferred deferrable
2 /
Table altered.
SQL> alter table emp2 add constraint emp2_fk foreign key (empno) references emp1(empno) initially deferred deferrable
2 /
Table altered. Now here is the test case
SQL> insert into emp1 values (1, 'karthick')
2 /
1 row created.
SQL> commit
2 /
commit
ERROR at line 1:
ORA-02091: transaction rolled back
ORA-02291: integrity constraint (ARBORU.EMP1_FK) violated - parent key not found So the validation is done at Transaction level. Now let insert the value into both tables.
SQL> insert into emp1 values (1, 'karthick')
2 /
1 row created.
SQL> insert into emp2 values (1, 'karthick')
2 /
1 row created.
SQL> commit
2 /
Commit complete. -
Can i change or modify or insert the data in standard tables
hi gurus
can i change /modify/insert the data in standard tables
witout using module pools
plz send the progem lines also
it ll be very helpful to me
thank you
kals.Hi Kalyan,
It is not advisable to update standard tables directly or through your own module pool programs also. The reasons are,
1. It is difficult to find out how many tables are updated through the transaction. if we leave one table also as Mr.Andrew said data integrity will be lost.
2. Authorization objects and profiles will be totally bypassed if data is inserted through custom programs.
3. Complete data validation is not possible. There are certain validations that are executed through code and appropriate errors and warnings are shown in the transactions. If we insert data directly to the tables anything can be inserted into the table field violating all the validations unless we have field level check constraints on the tables at database level.
4. User Exits and BADIs that are implemented for specific business requirements and checks will not function on the data.
5. Update & Transaction locks will not work properly.
Due to above reasons, definitely you should avoid updating standard tables directly.
There are many tools such as LSMW Recordings, BDCs, BAPIs, IDOCs, Upload Interfaces available in SAP through which bulk data can be updated without using relevant transactions.
You can collect data from end users in text or excel sheets or through custom programs in required format and upload at once through above mentioned tools.
Regards,
Hema -
Inserting the data into other schema..
Hi,
Can any body help me to write the pl/sql code to insert the data into other schema
eg: A and B two schemas are there
In B there is a table with the name EM_Rep. When i was writting the pl sql code to insert the data into B.EM_Rep from A Schema it is throughing an error like
PL/SQL: ORA-00942: table or view does not exist
Note: I have given the grant like
connected to user b
sqL> grant insert on EM_Rep to A;
PROCEDURE INS_EM()
AS
BEGIN
insert into B.EM_Rep values('999999','test');
END;
its throughing an error like table doesnot exist....
can any body tell ..how to write ...
Thanks,It worked for me
SQL> grant connect, resource to a identified by a;
Grant succeeded.
SQL> grant connect, resource to b identified by b;
Grant succeeded.
SQL> connect b/b
Connected.
SQL> create table em_rep (col1 varchar2(10), col2 varchar2(10));
Table created.
SQL> grant insert on em_rep to a;
Grant succeeded.
SQL> connect a/a
Connected.
SQL> create or replace
2 PROCEDURE INS_EM
3 AS
4 BEGIN
5 insert into B.EM_Rep values('999999','test');
6 END;
7 /
Procedure created.
SQL> exec ins_em;
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> connect b/b
Connected.
SQL> select * from em_rep;
COL1 COL2
999999 test
SQL> -
Need validation when insert the data through AddAnotherRow functionality
hi All,
i need to validate customer id when i insert the data through AddAnotherRow functionality in AdvancedTable.
CO:
if ("AdvanceTabRN".equals(pageContext.getParameter(SOURCE_PARAM)) && ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))
am.insrtCustcondtls();
AM:(For Inserting the Data based on EO Based VO)
public void insrtCustcondtls()
XxcurTradeCustomerDtlsEOVOImpl CrteVO=getXxcurTradeCustomerDtlsEOVO1();
Number cust_seq=getOADBTransaction().getSequenceValue("customer_id_seq");
CrteVO.setMaxFetchSize(0);
Row row=CrteVO.createRow();
CrteVO.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
Here Customer ID is Primary key.
if customer id is already in the table then i need to throw an exception like customer id is already existing or we need to throw an exception.
Thanks,
Mallik.Hi Mallik,
Our doDml() method fires when you try to issue commit if you want to validate data at commit then just add the code in the Entity Object Class as I posted in previous post or if you want to validate records with data at add new Row button then you can follow the following aproach.
1. create a data base pl/sql function which take the customer id as input and return 1 if the customer already existed or 0 if not existed.
2. Now we can call this database function at Add new Row button
i. if it returns 1 then we will throw Exception.
ii. if it return 0 then we will let the record save in data base.
The following code will help you.
private String getCustomerId(OAPageContext pageContext,
OAWebBean webBean, String customerID) {
OAApplicationModule am =
(OAApplicationModule)pageContext.getApplicationModule(webBean);
OADBTransaction transaction = (OADBTransaction)am.getOADBTransaction();
String value = null;
CallableStatement cs = null;
try {
String plSqlStatement =
"begin :1 := nameOfYourFunction(" + customerID +
"); end;";
System.out.println(plSqlStatement);
cs = transaction.createCallableStatement(plSqlStatement, 0);
System.out.println("got executed");
cs.registerOutParameter(1, Types.CHAR);
cs.executeUpdate();
value = cs.getString(1).toString();
return value;
} catch (Exception e) {
e.printStackTrace();
return value;
Finally you can call this method as follow
if ("AdvanceTabRN".equals(pageContext.getParameter(SOURCE_PARAM)) && ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))
String custID;
am.insrtCustcondtls();
custID=getCustomerId(pageContext,webBean,customerID)
if(custID.equals("1")) {
throw new OAException("Your message");
Now its up to you which aproach you follow.
Haroon.
Maybe you are looking for
-
Lion wont install. My hard drive is thinks it's time machine.
I can't install lion because it says that my hard drive is used for time machine backups. What can I do?
-
Need HELP regarding installinfg CR2008/Visual Advantage
I need help regarding installing CR2008/Visual Advantage. I had the evaluation copy of cr2008. My compnay purchased the CR2008 Visual Advantage. Upon calling your customer service, I was told that I had to UN-install the CR2008 evaluation copy then i
-
New iMac Aperture 3 refuses to run
Why is it the ONLY app that won't run on my new iMac is an Apple pro app? It asks for a serial number, I put in my Aperture 3 serial number then it asks for the 'original' serial number since it's an upgrade (why is won't validate a serial number tha
-
The project was not built since its classpath is incomplete.
Dear Experts, I am getting the following error in NWDS, The project was not built since its classpath is incomplete. Cannot find the class file for java.lang.Object. Fix the classpath then try rebuilding this project. Please Suggest Warm Regards, Up
-
Everything prints down the center of the page on all websites, emails etc. I don't know how to reset the printing and find it extremely complicated to troubleshoot. Can someone please call me to rectify this situation? Or send me a phone number for h