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 PM

    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)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 PM

    Dear 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
    sudha

    Hi,
    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

  • Inserting the date

    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, Paul

    Paul,
    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

  • How to do not insert the message content in the Message Inbox when use MFMessageComposeViewController control

    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.
    Thanks

    I 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 row

    Hi 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