Sequence number throwing error.

Gurus,
I am currently at the schema "rawfeed" in "dev" database. I created a DB link to the "prod" database to the schema 'prod_schema"
1)
select distinct job_group as grp from prod_schema.test_table@prod.
Gives me result as:
CIAZ
ID0PA
IDS1R
IEMRR2)
Now I try to insert into a table as follows after creating a sequence in rawfeed which will cater to surrogate key.
insert into rawfeed.test_table(
     actvty_grp_id ,
     actvty_grp
     select rawfeed_seq.nextval as grp_id, grp from
       select distinct job_group as grp from prod_schema.test_table@prod.
     )When I execute this I am getting the error as follows:
ORA-02019: connection description for remote database not found
ORA-02063: preceding line from prodAny lights on whats happening?
Many a thanks,
Saff

saffron wrote:
Gurus,
I am currently at the schema "rawfeed" in "dev" database. I created a DB link to the "prod" database to the schema 'prod_schema"
1)
select distinct job_group as grp from prod_schema.test_table@prod.
Gives me result as:
CIAZ
ID0PA
IDS1R
IEMRR2)
Now I try to insert into a table as follows after creating a sequence in rawfeed which will cater to surrogate key.
insert into rawfeed.test_table(
actvty_grp_id ,
actvty_grp
select rawfeed_seq.nextval as grp_id, grp from
select distinct job_group as grp from prod_schema.test_table@prod.
)When I execute this I am getting the error as follows:
ORA-02019: connection description for remote database not found
ORA-02063: preceding line from prodAny lights on whats happening?
Many a thanks,
SaffSmall typo: remove the "."
DB-Link can include . so no syntax error is raised from "prod.". But this link does probably not exist.
insert into rawfeed.test_table(
     actvty_grp_id ,
     actvty_grp
    select rawfeed_seq.nextval as grp_id, grp from
      select distinct job_group as grp from prod_schema.test_table@prod
    )

Similar Messages

  • Error in mail sender channel : invalid sequence number

    Hello all,
    I'm having the following issue.
    I'm using the mail adapter to get messages from a mail server, which are attached to the mail.
    This interface is already productive, and is working fine most of the time.
    Only frequently I get the following error, which can be found in the java log.
    exception caught during processing mail message[630];
    java.io.IOException: the specified message not found: -ERR invalid sequence
    number
    This error seems only to appear when there are a lot of mails to be fetched.
    All the mail is read into PI and processed succesfully, only I also get a lot these errors.
    Does anyone know what causes this error?
    I also don't know where this sequence number is coming from, and what's the meaning of this.
    Is it possible it's trying to read the same mail more then once?
    The settings in the mail sender channel are:
    - transport protocol : POP3
    - message protocol : XIPAYLOAD
    - Use mail package : enabled
    - content encoding : none
    - Keep attachments : enabled
    - QOS : exactly once
    - Set adapter specific message attibutes : enabled
    The PI version is 7.01
    Thanks a lot in advance for the replies on this question.
    Kind regards,
    Marco van Iersel

    Hi
    Well we have used it with POP3 and it is working in the way as it should be.
    This feature is recommended  by sap when the number of emails to be read is large.
    You can set this additional parameter to restrict the number of mails fetched by sender mail adapter in one polling interval.
    Sometimes the mailbox configured for the sender mail adapter contains large number of unread mails, which exceeds the average expected number of mails in one polling interval. In such a case, processing of all the unread mails in the same polling interval by sender mail adapter degrades the system performance. To avoid this, set value of this parameter to the maximum number of mails to be fetched and processed in one polling interval. The remaining mails exceeding the limit would be processed in the next polling interval.
    That's why I have asked you to give it a try.

  • Error While Generating Sequence Number. Contact your system Administrator

    Hi All,
    I have developed a form to provide our client with 'an easy to fill' User Interface. This form will be used instead of the standard form present in Business Suite.
    Some columns of the table, on which form is based, are getting populated via generation of sequence numbers.
    Now the problem is, after deploying custom form developed by me in the instance, Standard form is showing this error
    " Error While Generating the Sequence Number. Please contact the System Administrator "
    I am unable to trace why this error had started appearing..
    Any suggestions would be of great help...
    Thanks in Advance,..

    Forms version 6i,
    Database version 9.2.0.6.0
    Sequences which I am using are used there in Standard form also..
    So evrytime i need to save the record, I am selecting NEXTVAL of it into
    the respective item of the datablock..

  • A sequence number error in a form

    I am currently creating a form with a sequence number in forms 10g
    <pre>
    table name: emp
    table desc: emp_id number,emp_name varchar2(20),emp_no number
    </pre>
    i have to generate the emp_id automatically.
    <pre>
    create sequence emp_seq
    minvalue 1
    start with 1
    increment by 1
    cache 20
    </pre>
    I use pre_insert trigger in block
    <pre>
    begin
    select emp_seq.nextval into :emp.emp_id from dual
    end
    </pre>
    problem;
    I can not insert a record because of sequence number in :emp.emp_id
    no compilation error but there is no automatic sequence number appeared in :emp.emp_id after run a form.
    It used to work before(fine with automatic sequence number in :emp.emp_id).
    it happens after I changed layout format and someone add more columns in emp table.
    eventhough i did not use sequence number in emp.emp_id
    in pre-insert-trigger
    <pre>
    begin
    select nvl(max(emp_id),0)+1
    into :emp.emp_id
    from emp;
    </pre>
    still can not show up any number in :emp.emp_id
    please help me out

    Thank you . It works now.
    would you mind explain to me; what I can not use automatic sequence number in emp.empid text field in pre-insert-trigger in my case
    is it trigger confliction in my forms?

  • Sequence Number Error

    When I try to use sequence number while creating a materialized view,
    I got errors:
    create materialized view ruby_keywords
    build immediate
    as
    select keyword, keyword_id_sequence.nextval
    from (
    select distinct name as keyword
    from product
    union
    select distinct description as keyword
    from product
    Here is the error info:
    SQL Error: ORA-02287: sequence number not allowed here
    02287. 00000 - "sequence number not allowed here"
    How could I solve the issue here?
    The sequence is already created with the following statement:
    create sequence keyword_id_sequence
    start with 1
    nomaxvalue;
    Thanks,
    J

    try creating a function and call the same function in the view.
    SQL> select seq_id.nextval from dual;
       NEXTVAL
            43
    SQL> create or replace view view_sequence as
      2  select seq_id.nextval from dual;
    select seq_id.nextval from dual
    ERROR at line 2:
    ORA-02287: sequence number not allowed here
    SQL> create or replace function fnd_sequence
      2    return number is
      3    vSeqId number := 0;
      4  begin
      5    select seq_id.nextval into vSeqId from dual;
      6    return(vSeqId);
      7  end;
      8  /
    Function created.
    SQL> select fnd_sequence from dual;
    FND_SEQUENCE
              44
    SQL> create or replace view view_sequence as
      2   select fnd_sequence from dual;
    View created.
    SQL> select * from view_sequence;
    FND_SEQUENCE
              45
    SQL>note: i have only tried the view you may try it on a materialized view to see if it might work

  • Oracle Primary key error on a sequence number generator

    I have a table called table 1 and I am trying to insert a few values in this table and i am constantly getting bogged down by a primary key error. Strange thing is this primary key called "ID" on the table is a sytem generated sequence value number. The error is
    "ORA-00001: unique constraint (Schema1.LICN_PK) violated"
    Any idea?
    I will post the structure of the table below and my SQL statement as well.
    Table structure:
    CREATE TABLE schema1.table1
    ID NUMBER(12),
    LITM_ID NUMBER(12),
    PROG_PROGRAM_CD VARCHAR2(2 BYTE),
    SCHED_NBR VARCHAR2(3 BYTE),
    SCHD_VERSION_YR NUMBER(4),
    SCHD_VERSION_NBR NUMBER(3),
    LITM_LINE_ITEM_NBR VARCHAR2(3 BYTE),
    SLIN_LINE_ITEM_ID NUMBER(12),
    COND_CD VARCHAR2(15 BYTE),
    COND_TYPE VARCHAR2(1 BYTE) DEFAULT 'O',
    COND_TEXT VARCHAR2(240 BYTE),
    DERIVE_COMPRSN_IND VARCHAR2(1 BYTE),
    DISPLAY_SEQ_NBR NUMBER(5),
    SEVRTY_CD VARCHAR2(1 BYTE),
    OVRRDBL_IND VARCHAR2(1 BYTE),
    NEVER_OVRRDBL_IND VARCHAR2(1 BYTE),
    CREATED_BY VARCHAR2(8 BYTE),
    CREATED_TMST DATE,
    MODIFIED_BY VARCHAR2(8 BYTE),
    MODIFIED_TMST DATE
    CREATE UNIQUE INDEX schema1.LICN_PK ON schema1.table1
    (ID)
    NOLOGGING
    TABLESPACE INDEX_STAT1
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 128K
    NEXT 128K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE UNIQUE INDEX schema1.LICN_UK ON schema1.table1
    (LITM_ID, COND_CD)
    NOLOGGING
    TABLESPACE INDEX_STAT1
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 128K
    NEXT 128K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    Table structure ends
    ****************Insert statement*************
    insert into table1
    (id,
    litm_id,
    prog_program_cd,
    sched_nbr,
    schd_version_yr,
    schd_version_nbr,
    litm_line_item_nbr,
    slin_line_item_id,
    cond_cd,
    cond_type,
    cond_text,
    derive_comprsn_ind,
    display_seq_nbr,
    sevrty_cd,
    ovrrdbl_ind,
    never_ovrrdbl_ind,
    created_by,
    created_tmst,
    modified_by,
    modified_tmst)
    values
    (LITM_ID_SQ.nextval,
    5678,
    '28',
    000,
    2005,
    1,
    '007',
    28,
    '0008',
    'E',
    'No advance',
    'N',
    80,
    'M',
    'N',
    'Y',
    USER,
    SYSDATE,
    USER,
    SYSDATE);
    *************End***********************
    Any idea why the error is coming up and any way to resolve it. I checked the max sequence number value and kept running it for a while and then tried to run my insert statement but no luck yet.
    Please help!!!

    Hi,
    Are you tring to do the same insert more than once?
    The sequence for ID will be generated and there will be no problem with that.
    But what about UNIQUE INDEX schema1.LICN_UK ON schema1.table1(LITM_ID, COND_CD)?
    you are trying to insert the same values again into those columns... and there is a unique index.
    Test your insert by dropping the unique index LICN_UK
    DROP INDEX schema1.LICN_UK;Now it will work. But if you need the uniqueness, you need to insert different values for those columns each time you insert.
    G.

  • Generating a Primary Key WITHOUT using a Sequence Number

    Hi Everyone:
    I am trying to generate a primary key without using a sequence number or row count. What the user wants is the maximum value of the highest primary key already in the row set plus 1.
    For example, this is a Oracle Table (eg. named BatchSubmit) used to initiate batch job submission, and the primary key is an integer named "Runcard_Number". If there are 4 rows in this table and the Runcard_Numbers are 2, 6, 8 & 12, then the next generated Runcard_Number would be 13.
    I have looked throughout this forum and see how to generate numbers using a DBSequence, but the user does not want that. The numbers mean something to them, and they don't want them randomly assigned other than the max in the rowset plus 1. To do it in SQL it would be - select max(Runcard_Number) + 1 from BatchSubmit;
    I have been looking at using a hasnext loop and moving the maximum value to the new Runcard_Number, but I am very new to JHeadstart/JDev and I do not know where to put this. I am assuming the BatchSubmitImpl.java, but I'm not sure where to put it or which method to utilize
    I would appreciate any assistance.
    Mary
    U o Windsor

    Mary you're in luck, 'cause, I've been playing with the same thing, these days and found that..
    You can do that in two ways (that I know):
    - by calling a stored function that does max+1 (you can look it up in Dev's guide for Forms&4GLDevs 10g chapter 25.5 Invoking Stored Procedures and Functions)
    - by calling hardcoded or dinamicaly written statement, that does the same
    public Number callStatement(String stmt)
    Number id = new Number(0);
    Row idRow = getDBTransaction().createViewObjectFromQueryStmt(stmt).next();
    if(idRow != null)
    Object o = idRow.getAttribute(0);
    if(o != null)
    if(o instanceof Number)
    id = (Number)o;
    else
    throw new JboException("Conversion error!");
    return id;
    You should call it in
    protected void doDML(int operation, TransactionEvent transactionEvent)
    switch (operation)
    case DML_INSERT:
    // call here
    super.doDML(operation, transactionEvent);
    break;
    case DML_UPDATE:
    super.doDML(operation, transactionEvent);
    break;
    case DML_DELETE:
    super.doDML(operation, transactionEvent);
    break;
    Enjoy!
    S. Julijan

  • PL/SQL throwing errors! trying to alter dates

    the following code keeps throwing errors, I was wondering if it is due to me getting confused when to use ":" before a variable and also ":=" when setting values?
    Can anyone see what I am doing wrong?
    Here is the code, at the moment it is throwing an error on line 44
    ORA-06550: line 44, column 1:
    PLS-00103: Encountered the symbol "" when expecting one of the following:
    CODE.....
    DECLARE
         QNStart DATE;
         QNFinish DATE;
         Q1Start DATE;
         Q1Finish DATE;
         Q2Start DATE;
         Q2Finish DATE;
         Q3Start DATE;
         Q3Finish DATE;
         Q4Start DATE;
         Q4Finish DATE;
         Q5Start DATE;
         Q5Finish DATE;
         QNT NUMBER;
         Q1T NUMBER;
         Q2T NUMBER;
         Q3T NUMBER;
         Q4T NUMBER;
         QNR NUMBER;
         Q1R NUMBER;
         Q2R NUMBER;
         Q3R NUMBER;
         Q4R NUMBER;
    BEGIN
         case current_date
              when current_date between to_date('01-JAN', 'DD-Mon') AND to_date('31-MAR', 'DD-Mon') then
                        QNStart := to_date('01-JAN', 'DD-Mon');
                        QNFinish := to_date('31-MAR', 'DD-Mon');
              when current_date between to_date('01-APR', 'DD-Mon') AND to_date('30-JUN', 'DD-Mon') then
                        QNStart := to_date('01-APR', 'DD-Mon');
                        QNFinish := to_date('30-JUN', 'DD-Mon');
              when current_date between to_date('01-JUL', 'DD-Mon') AND to_date('30-SEP', 'DD-Mon') then
                        QNStart := to_date('01-JUL', 'DD-Mon');
                        QNFinish := to_date('30-SEP', 'DD-Mon');
              when current_date between to_date('01-OCT', 'DD-Mon') AND to_date('31-DEC', 'DD-Mon') then
                        QNStart := to_date('01-OCT', 'DD-Mon');
                        QNFinish := to_date('31-DEC', 'DD-Mon');
         End Case
    :Q1Start := ADD_MONTHS(:QNStart,-3);
    :Q1Finish := ADD_MONTHS(:QNFinish,-3);
    :Q2Start := ADD_MONTHS(:QNStart,-6);
    :Q2Finish := ADD_MONTHS(:QNFinish,-6);
    :Q3Start := ADD_MONTHS(:QNStart,-3);
    :Q3Finish := ADD_MONTHS(:QNFinish,-3);
    :Q4Start := ADD_MONTHS(:QNStart,-4);
    :Q4Finish := ADD_MONTHS(:QNFinish,-4);
    :Q5Start := ADD_MONTHS(:QNStart,-5);
    :Q5Finish := ADD_MONTHS(:QNFinish,-5);
    select COUNT(COUNT(*)) INTO :Q1T from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
    WHERE f.DATE_ENTERED BETWEEN :Q1Start AND :Q1Finish
    AND a.ACTION_SCORE = 'Y'
    AND f.INPUT_TYPE = a.ACTION_NAME
    GROUP BY f.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q2T from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
    WHERE f.DATE_ENTERED BETWEEN :Q2Start AND :Q2Finish
    AND a.ACTION_SCORE = 'Y'
    AND f.INPUT_TYPE = a.ACTION_NAME
    GROUP BY f.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q3T from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
    WHERE f.DATE_ENTERED BETWEEN :Q3Start AND :Q3Finish
    AND a.ACTION_SCORE = 'Y'
    AND f.INPUT_TYPE = a.ACTION_NAME
    GROUP BY f.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q4T from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
    WHERE f.DATE_ENTERED BETWEEN :Q4Start AND :Q4Finish
    AND a.ACTION_SCORE = 'Y'
    AND f.INPUT_TYPE = a.ACTION_NAME
    GROUP BY f.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :QNT from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
    WHERE f.DATE_ENTERED BETWEEN :QNStart AND :QNFinish
    AND a.ACTION_SCORE = 'Y'
    AND f.INPUT_TYPE = a.ACTION_NAME
    GROUP BY f.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q1R from FF_ACTIONS a
    WHERE a.DATE_ENTERED BETWEEN Q1Start AND Q1Finish
    AND a.COMPANY_NAME IN
         (select f.COMPANY_NAME from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
         WHERE f.DATE_ENTERED BETWEEN Q2Start AND Q2Finish
         AND a.ACTION_SCORE = 'Y'
         AND f.INPUT_TYPE = a.ACTION_NAME
         GROUP BY f.COMPANY_NAME)
    GROUP BY a.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q2R from FF_ACTIONS a
    WHERE a.DATE_ENTERED BETWEEN Q2Start AND Q2Finish
    AND a.COMPANY_NAME IN
         (select f.COMPANY_NAME from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
         WHERE f.DATE_ENTERED BETWEEN Q3Start AND Q3Finish
         AND a.ACTION_SCORE = 'Y'
         AND f.INPUT_TYPE = a.ACTION_NAME
         GROUP BY f.COMPANY_NAME)
    GROUP BY a.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q3R from FF_ACTIONS a
    WHERE a.DATE_ENTERED BETWEEN Q3Start AND Q3Finish
    AND a.COMPANY_NAME IN
         (select f.COMPANY_NAME from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
         WHERE f.DATE_ENTERED BETWEEN Q4Start AND Q4Finish
         AND a.ACTION_SCORE = 'Y'
         AND f.INPUT_TYPE = a.ACTION_NAME
         GROUP BY f.COMPANY_NAME)
    GROUP BY a.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :Q4R from FF_ACTIONS a
    WHERE a.DATE_ENTERED BETWEEN Q4Start AND Q4Finish
    AND a.COMPANY_NAME IN
         (select f.COMPANY_NAME from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
         WHERE f.DATE_ENTERED BETWEEN Q5Start AND Q5Finish
         AND a.ACTION_SCORE = 'Y'
         AND f.INPUT_TYPE = a.ACTION_NAME
         GROUP BY f.COMPANY_NAME)
    GROUP BY a.COMPANY_NAME;
    select COUNT(COUNT(*)) INTO :QNR from FF_ACTIONS a
    WHERE a.DATE_ENTERED BETWEEN QNStart AND QNFinish
    AND a.COMPANY_NAME IN
         (select f.COMPANY_NAME from FF_ACTIONS f, FF_ACTION_TYPE_LOV a
         WHERE f.DATE_ENTERED BETWEEN Q1Start AND Q1Finish
         AND a.ACTION_SCORE = 'Y'
         AND f.INPUT_TYPE = a.ACTION_NAME
         GROUP BY f.COMPANY_NAME)
    GROUP BY a.COMPANY_NAME;
    EXECUTE
    Cheers
    Simon

    Dave had given you already some good advice.
    Your code is not only too complicated, but you have also probably a bug in it. You have for instance a QNstart as to_date('01.01, 'dd.mm') and a corresponding QNfinish as to_date('31.03', 'dd.mm'). As this means, it is the time portion at 00:01, you are missing the complete last day of this interval. So you better do:
    declare
      l_QNstart      date;
      l_Q1start      date;
      l_Q1finish     date;
      l_q1t          number
    begin
      l_QNstart := trunc(sysdate, 'Q');
      l_Q1start := add_months(l_QNstart, -3);
      l_Q1finish := l_QNstart;
      -- your condition is now
      select count(count(*))
      into   l_q1t
      from   ff_actions f, ff_action_type_lov a
      where  f.date_entered >= l_Q1start and f.date_entered < l_Q1finish
      and    a.action_score = 'y'
      and    f.input_type = a.action_name
      group by f.company_name;
    end;
    /Message was edited by:
    Leo Mannhart
    btw: what is the difference between Q1Start / Q3 Start and Q1Finish / Q3Finish resp.?

  • Function module throwing error from work area. Cannot find the problem...

    REPORT  ZPSMARTFORM1.
    tables: zptable1.
    types: begin of ty_zptable1,
          f1 type zf1,
          f2 type zf2,
          f3 type zf3,
    end of ty_zptable1.
    data: itab type table of ty_zptable1 with header line.
    data: wa type ty_zptable1.
    select f1 f2 f3 from zptable1 into table itab.
    CALL FUNCTION '/1BCDWB/SF00000005'
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
      TABLES
        ITAB                       =   .
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    this is my driver program.In my form interface  there are tables,import,export are there where i have to declare tables data.If i am putting wa means it is throwing error.Please show me the clear information.
    Edited by: Julius Bussche on Nov 14, 2008 10:09 AM

    REPORT ZPSMARTFORM1.
    tables: zptable1.
    types: begin of ty_zptable1,
    f1 type zf1,
    f2 type zf2,
    f3 type zf3,
    end of ty_zptable1.
    data: itab type table of ty_zptable1 with header line.
    data: wa type ty_zptable1.
    select f1 f2 f3 from zptable1 into table itab.
    CALL FUNCTION '/1BCDWB/SF00000005'
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    ITAB = .
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Plz for this driver program. Give me the exact solution.I am passing the information like itab  like zptable1 ther ein the smart form table. Even now i am getting error.Here in this driver program i passed itab = itab means .I  am not getting solution.If i have to change any function module name means plz tell me.What i have to put there.Plz give me the correct solution

  • Sequence Number does not allowed here

    Hi,
    I am inserting rows in a table called membership with seqence number membership_id.nextval. But i am getting error like
    "Sequence number not allowed here"
    Before i inserted about 3852 rows in that table
    Here is the statement i am using
    INSERT INTO MEMBERSHIP (membership_id,ACTIVIST_ID,G_N_ID,ROLE_ID,
    REGION_ID,START_dATE,END_DATE,STATUS,state_id)
    SELECT membership_id.nextval,a.activist_id,G.g_n_id,R.ROLE_ID,
    '',mwlgmemship.start_date,'','Active',''
    FROM activist a,
    role r,
    group_network g,
    final.mwlgmemship mwlgmemship,final.mwlgmem mwlgmem
    WHERE
    a.first_name=mwlgmem.fname and a.last_name=mwlgmem.lname and a.c_zip_code=mwlgmem.czip and
    a.c_country=mwlgmem.country and mwlgmem.person_id=mwlgmemship.person_id and
    to_char(mwlgmemship.grno)=g.g_n_reference and mwlgmemship.role_id=r.role_id order by r.role_id
    I could not understand the problem, please help me
    I am selecting the other fields from other tables.
    Thanks
    Srinivas

    Restrictions on Sequence Values You cannot use CURRVAL and NEXTVAL in the following constructs:
    A subquery in a DELETE, SELECT, or UPDATE statement
    A query of a view or of a materialized view
    A SELECT statement with the DISTINCT operator
    A SELECT statement with a GROUP BY clause or ORDER BY clause
    A SELECT statement that is combined with another SELECT statement with the UNION, INTERSECT, or MINUS set operator
    The WHERE clause of a SELECT statement
    The DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement
    The condition of a CHECK constraintAbove text is from the sql reference manual.
    HTH
    Regards
    Raj

  • Script throwing error" Object required: 'API'

    Hi All,
    We need help in one issue. We have following script which is running fine when we ran it from script editor, but when use this as expression in import format is throwing error
    Error: An error occurred importing the file.
    Detail: Object required: 'API'
    At line: 12
    Script:
    Function ME_to_LE(strField, strRecord)
    ME_to_LE =API.SqlMgr.fMapItemLookup (749, "UD8", Left(strField,3))
    End Function
    We have created few other Scripts which are running fine and producing required result when we check them with MsgBox. But when we are using these scripts in import format it is saying: Object required: 'API'
    IF I can not use API object in import script, how can I process multiple column with one script. We need to derive three-four column based on one input column and we don't want to write separate import script for each column. How and where we can write this script?
    Are we missing any step? Any help will be highly appreciated. Looks I asked long question :)
    Thanks,
    Shivendra
    Edited by: shiv2 on Sep 16, 2011 9:30 AM
    Edited by: shiv2 on Sep 16, 2011 10:36 AM

    Hi Robb,
    "It looks like you and James are on the same project" That is correct.
    OK. In requirment we have three-four column based on these column we need to derive few other column. We want to do spilitting and validation in Import itself. This is mainly a Validation requirment.
    There is one column which may have 12,13,14,17 or any other number of character in it. first three will represent one dimension but exact value be a mapped result based on these three digits.
    There are many validation based on the number on charaters and most importantly we don't want to process other column is validation get failed at any stage.
    Do we have anything like Import Action? Probably we want to change that script. Or if we can write something like integration script. We need every column to be processed in one shot.
    I don't think it is self explantry. Can we have your email please?
    Thanks,
    Shivendra
    Edited by: shiv2 on Sep 16, 2011 8:52 PM

  • Sequence number in Trigger

    I'm trying to create an insert trigger that will do the following:
    1.) Grab the next sequence number from a sequence and use it as the value for the id_number column.
    2.) Grab the SYSDATE and use it as the value for the create_date column.
    I'm using Oracle 8.1.6 on HP-UX. Here's my syntax, so far:
    CREATE OR REPLACE TRIGGER tI_GRANT_TEST_CHILD before INSERT on GRANT_TEST_CHILD for each row
    declare curDate DATE;
    declare idNumber NUMBER;
    begin
         SELECT SYSDATE into curDate FROM DUAL;
         SELECT GRANT_TEST_SEQ.NEXTVAL into idNumber FROM DUAL;
         :new.CREATE_DATE := curDate;
         :new.ID_NUMBER := idNumber;
    end;
    I'm pretty new to Oracle, so I've probably got a syntax error. The trigger worked fine when I just had the create date functionality; but, I can't get the sequence stuff to work.
    Also, anyone know any good links for Oracle syntax standards?
    Thanks for the help.

    I don't see anything wrong with the syntax in your example, but the trigger can be simplified to:
    create or replace trigger ti_grant_test_child
    before insert on grant_test_child
    for each row
    begin
      select grant_test_seq.nextval
        into :new.id_number
        from dual;
      :new.create_date := sysdate;
    end;
    /You can type SHOW ERRORS after compiling in SQL*Plus to see the actual errors.

  • Throw Error in Module Adapter EJB

    Hi experts,
    In order to make some validations when getting file in File Adapter, was developed a EJB Module Adapter. When the validation failed, it must to be generate a throw error with a text that appears in Runtime workbench.
    throw new ModuleException("Error al crear objeto Archivo para procesar el legacy: "+legacy);
    But, it doens't happen. In Runtime workbench I just can see a Exception null . 
    Follow Below the Java Code of Module EJB:
    package clasesSox;
    import java.io.IOException;
    import java.io.InputStream;
    import java.math.BigDecimal;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.Map;
    import java.util.StringTokenizer;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    import com.sap.aii.af.mp.module.ModuleException;
    @author martin.j.rodriguez
    public class Archivo extends XMLParser {
         private Log log = LogFactory.getLog(Archivo.class);
         private Config config;
        private String nombre, tipoSistema, pais;
        private Date fecha;
        //private boolean procesado;
         //private org.xml.sax.XMLReader xr;
         private double totimp, importeParcial;
        private String buscaTOTIMP, regImporte, buscaTOTLIN;
        private String [] tags;
        private InputStream inputStream;
        private int totlin, regCuenta;
        public Archivo(InputStream is, String legacy) throws ModuleException {
             super();
             Map properties = getConfig().getConfig(legacy);
              if (properties == null) {
                   if (log.isErrorEnabled()){
                        log.error("Error al crear objeto Archivo para procesar el legacy: "legacy" - No se encontro la configuración.");
                   throw new ModuleException("Error al crear objeto Archivo para procesar el legacy: "+legacy);
              this.buscaTOTIMP = (String)properties.get(Config.CAMPO_IMPORTE_TOTAL);
              this.regImporte =  (String)properties.get(Config.CAMPO_IMPORTE);
              this.buscaTOTLIN = (String)properties.get(Config.CAMPO_LINEAS_TOTAL);
              String tagstosearch = (String)properties.get(Config.CAMPO_LINEAS_CONTAR);
              StringTokenizer st = new StringTokenizer(tagstosearch, ",");
              tags = new String[st.countTokens()];
              int i=0;
              while(st.hasMoreTokens()){
                   String token = st.nextToken();
                   tags[i++] = token.trim();
              setInputStream(is);
        public List validaArchivo() throws ParserConfigurationException, SAXException, IOException {
              regCuenta = 0;
             importeParcial = 0;
              DefaultHandler handler = this;
              SAXParserFactory factory = SAXParserFactory.newInstance();
              SAXParser saxParser = factory.newSAXParser();
              saxParser.parse(inputStream, handler);
              String s = "";
              roundValues();
              String stotimp = new BigDecimal(totimp).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
              String simporteParcial = new BigDecimal(importeParcial).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
              if (log.isDebugEnabled()){
                   log.debug("Resultados: TOTIMP: "stotimp" - CONTEO: "+simporteParcial);
                   log.debug("Resultados: TOTLIN: "totlin" - CONTEO: "+regCuenta);
              List results = new ArrayList();
              if (totimp != importeParcial) {
                   s = "Error al contar el total del importe, deberia ser: "stotimp" y el calculado es: "+simporteParcial;
                   if (log.isDebugEnabled()){
                        log.debug(s);
                   results.add(s);
              if (totlin != regCuenta) {
                   s = "Error al contar el total del lineas, deberia ser: "totlin" y el calculado es: "+regCuenta;
                   if (log.isDebugEnabled()){
                        log.debug(s);
                   results.add(s);
              return results;
         private void roundValues() {
              totimp = roundValue(totimp);
              importeParcial = roundValue(importeParcial);
    redondea un numero a 2 decimales
         private double roundValue(double d) {
              BigDecimal bd = new BigDecimal(d);
              bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
              return bd.doubleValue();
         public void startElement(String namespaceURI, String lName, String qName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException {
              String etiqueta = getTagName(qName, lName);
              //niveles.add(etiqueta);
              // Cuenta registros
              for (int i = 0;i< tags.length; i++){
                   if (etiqueta.equals(tags+)){
                        regCuenta++;
                        break;
         public void endElement(String namespaceURI, String lName, String qName)     throws org.xml.sax.SAXException     {
              String etiqueta = getTagName(qName, lName);
              //niveles.remove(niveles.size() - 1);
              // set valor totlin
              if (buscaTOTLIN.equals(etiqueta)){
                   totlin = parseInt(valor);
              // set valor totimp
              if (buscaTOTIMP.equals(etiqueta)){
                   totimp = parseDouble(valor);
              // suma importe parcial
              if (regImporte.equals(etiqueta)){
                   importeParcial += parseDouble(valor);
        public InputStream getInputStream() {
            return inputStream;
        public void setInputStream(InputStream texto) {
            this.inputStream = texto;
        public String getNombre() {
            return nombre;
        public void setNombre(String nombre) {
            this.nombre = nombre;
        public String getTipoSistema() {
            return tipoSistema;
        public void setTipoSistema(String tipoSistema) {
            this.tipoSistema = tipoSistema;
        public String getPais() {
            return pais;
        public void setPais(String pais) {
            this.pais = pais;
        public java.util.Date getFecha() {
            return fecha;
        public void setFecha(java.util.Date fecha) {
            this.fecha = fecha;
         public static void main(String args[]) {
                   String fileName = "FI_MAS_SAP_RENBAN_####_AAAAMMDD_HHMMSS.TXT";
                   java.util.StringTokenizer st = new java.util.StringTokenizer(fileName, "_");
                   for (int i = 0; i < 5; i++)
                        st.nextToken();
                   String anioMes = st.nextToken();
                   if (anioMes != null)
                        if (anioMes.length() > 5) {
                             System.out.println(anioMes);
                             System.out.println(anioMes.substring(0, 4) + " " + anioMes.substring(4, 6));
         private double parseDouble(String number){
              if (number == null || number.trim().length()==0 || number.trim().equals("/"))
                   return 0;
              // remuevo los 0 a la izquierda que afectan al parseint
              number = number.trim().replaceAll("^0+","");
              number = number.replaceAll(",",".");
              double result = 0;
              try {
                   result = Double.parseDouble(number);
              catch (NumberFormatException nfe){
                   System.err.println("Error parseando numero "+number);
              return result;
         private int parseInt(String number){
              if (number == null || number.trim().length()==0 || number.trim().equals("/"))
                   return 0;
              // remuevo los 0 a la izquierda que afectan al parseint
              number = number.trim().replaceAll("^0+","");
              number = number.replaceAll(",",".");
              int result = 0;
              try {
                   result = Integer.parseInt(number);
              catch (NumberFormatException nfe){
                   System.err.println("Error parseando numero "+number);
              return result;
    Carga la configuracion
    @return
         protected Config getConfig(){
              if (config == null){
                   ConfigParser cp = new ConfigParser();
                   config = cp.readConfig();
              return config;
    Could anyone help me about this problem ?
    Thanks in advance.+

    Hi,
    do u think, u will get the error text in the RWB ? I don't think so, it will provide the output in the RWB.
    The output of the Adapter module is nothing but XI -XML message. So this will not come
    check it out for the how to work on Adapter Modules-
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f013e82c-e56e-2910-c3ae-c602a67b918e
    Hope this helps,
    Regards,
    Moorthy

  • Owb beta 3 / master detail mapping with sequence ora-00936 error

    I'm not able to use sequence operator in mapping to create relationships between different record type from the same flat file. I have got an sql error ORA-00936: expression absente
    The problem seem to be the sequence is not referenced in the sql loader parameter. The sequence exists, was deployed sucessfully, the mapping is validated and successfully deployed. The problem occurs during execution

    Good afternoon "micwic",
    In general, mappings with flat files make use of data generators, not sequence operators. This is what the User Guide (10gR1 but I guess R2 works similar) says for the Data Generator Operator :
    Use a Data Generator operator to provide information such as record number, system date, and sequence values.
    For mappings with flat file sources, the Data Generator operator also provides a place to enter constant information. For mappings with Flat File sources and targets, the Data Generator operator connects the mapping to SQL*Loader to generate the data stored in the database record.
    The following functions are available:
    RECNUM
    SYSDATE
    SEQUENCE
    It is possible for Warehouse Builder to generate data by specifying only sequences, record numbers, system dates, and constants as field specifications. SQL*Loader inserts as many records as are specified by the LOAD keyword.
    Setting a Column to the Data File Record Number
    Use the RECNUM keyword to set an attribute to the number of the records that tthe record was loaded from. Records are counted sequentially from the beginning of the first data file, starting with record 1. RECNUM increments as each logical record is assembled. It increments for records that are discarded, skipped, rejected, or loaded.
    For example, if you use the option SKIP=10, the first record loaded has a RECNUM of 11.
    Setting a Column to the Current Date
    A column specified with SYSDATE gets the current system date, as defined by the SQL language SYSDATE function.
    The target column must be of type CHAR or DATE. If the column is of type CHAR, then the date is loaded in the format dd-mon-yy. After the load, you only access it in that format. If the system date is loaded into a DATE column, then you can only access it in a variety of formats including the time and the date. A new system date/time is used for each array of records inserted in a conventional path load and for each block of records loaded during a direct path load.
    Setting a Column to a Unique Sequence Number
    The SEQUENCE keyword ensures a unique value for a column. SEQUENCE increments for each record that is loaded or rejected. It does not increment for records that are discarded or skipped.
    Recommendation: For PL/SQL mappings use a Constant Operator or Mapping Sequence Operator instead of a Data Generator.
    etc.
    Good luck, Patrick

  • "Sequence number already exists in table" maintining Data Sources

    Hi fellows, i am seting up a new connector in GRC 10.0, but when configuring the connector for the User detailed Data sources i get the same error; "Sequence number already exists in table".
    I have tried with over 200 numbers which I know for sure are available and still get the same error. Where can I find the table with this information?
    Can the information be removed to clean up table space?
    Thanks for your help!!!

    Hi Gabriela
    I recall getting this error a lot and it seemed to be a buffering/memory problem where it was remember the old value was getting remember. I had to exit out of the IMG navigation and reenter it again. It'd happen if I deleted one entry and then went to add another (even after saving). Not sure if you are getting this
    Other thing is to check the backed tables to see if any orphaned values on the primary key
    Regards
    Colleen

Maybe you are looking for

  • Determination of Source for services in SRM rel 4.0

    Hi We have requirement to have list of vendors determine automatically in shopping carts for services. In this release 4.0 if you have contracts in R/3 this determining of vendors works for non-service/material items but not for service. I log a call

  • Using xslt in pl/sql

    Hi! I have a simple question: how can I use xslt in pl/sql? I've tried this: DECLARE   v_XML  XMLTYPE;   v_XSLT XMLTYPE; BEGIN   SELECT XMLCol --it's a valid XML.     INTO v_XML     FROM tb_Controle;   SELECT XSLTCol --I don't know how to use XSLT.  

  • CAN I USE VERSION 5.0.4 ON MY NEW iMAC?

    THE OLDER VERSION IS MUCH MORE USER FRIENDLY IN MY OPINION. VIEWING THE ENTIRE LIBRARY WITH NEW IMPORTS AT THE BOTTOM OF THE SCREEN WITH THE OPTION OF CLICKING & DRAGGING TO AN ALBUM IS SIMPLE & FAST. I LIKE TO CLICK ON PHOTOS/BATCH CHANGE/TEXT & NAM

  • Photo and iphoto create albums?!??

    I downloaded iphoto with the misunderstanding that it would let me organize my photos, something i have been waiting for since i have started using the ipad2.  I went through support and found that you must go through just plain Photo to do so.  Okay

  • By default, the 3d interface & dialog opens when the 3d option is selected. i forgot the question HA

    by default, the 3d interface & dialog opens when the 3d option is selected. (ya know, the grid on the artboard; 3d tools...etc...) I must have checked the box for it to never appear, because it doesn't appear and I'm not skilled enough with CC to ope