Select Statment Error (SQL)

Dear Friends,
  LOOP AT IT_ZSD012_001 INTO WA_ZSD012_001.
    SELECT  A~MATNR A~LABST A~UMLME A~INSME A~EINME A~SPEME A~RETME B~MTART
      APPENDING TABLE IT_INVENTORY
      FROM  MARD AS A
      INNER JOIN MARA AS B ON B~MATNR EQ A~MATNR
      WHERE A~MATNR = '1.1.1'
      and   A~WERKS EQ  WA_ZSD012_001-PARAM_1
      AND   A~LGORT EQ  WA_ZSD012_001-VALUE
      AND   A~LABST GT 0
      OR    ( A~UMLME GT 0
      OR    A~INSME GT 0
      OR    A~EINME GT 0
      OR    A~SPEME GT 0
      OR    A~RETME GT 0 )
      AND   B~MTART IN ('ZFG1' , 'ZFG4' , 'ZR12' ).
  ENDLOOP.
this is my code (select statement)
but this is not working, when i execute this so many materials came to the itab it should come only "1.1.1"
my requirement is i want to get data from MARD agaist WERKS, LGORT and also MARA-MTART in that groups.
its came with zero inventory, i want to avid them how can i do this.
hope you can understand what i an said?
Thanks in advanced

Hi Nelson,
For better performance try to avoid using join statements. Use for all entries instead.
Never use select staments in Loops.
try your code following way
if it_zsd012_001 is not initial.
   select matnr labst umlme insme einme speme retme
      from mard
      appending table it_inventory
      for all entries in it_asd012_001
      where matnr = '1.1.1'
      and   werks = it_asd012_001-param_1
      and   lgort = it_asd012_001-value
      and  (labst gt 0 or insme gt 0 or einme gt 0 or speme gt 0 or retme gt 0).
       if sy-subrc eq o.
            select mtart from mara
                   into table it_mara
                    for all entries in it_inventory
                    where matnr = it_enventoty-matnr
                    and   mtart in ('ZFG1' , 'ZFG4' , 'ZR12' ).
        endif.
        endif.
"Then just merge two table into third one.
Hope it will help to solve your query,
Pratik

Similar Messages

  • Select statment problem

    Hi all,
    I am trying to put select statment into another select statment.
    Select column1
    ,column2
    ,column3
    ,(select column1 from table1,table2,table3 where condotions...)
    ,column4
    from table 1.
    its giving me error.
    Please help me...its urgent.
    Surender

    SQL> select deptno,dname,(select ename from emp) from dept;
    select deptno,dname,(select ename from emp) from dept
    ERROR at line 1:
    ORA-01427: single-row subquery returns more than one row
    SQL> select deptno,dname,(select ename from emp where empno=7934) from dept
    DEPTNO DNAME (SELECTENA
    10 ACCOUNTING MILLER
    20 RESEARCH MILLER
    30 SALES MILLER
    40 OPERATIONS MILLER
    In your case subquery is returning more than one row. It should not be.
    -aijaz
    Message was edited by:
    [email protected]

  • Select in pl/sql stored proc.

    Hi friends,
    I am new to oracle development and were trying to write some basic stored procedure,when i try to put a simple stored select statment in between my 'BEGIN' and 'END' clause it never let me do that,it says that 'INTO' clause is expected,I do not want to store andy specific value in any variable i just want a list of all records from that table,Is there any restriction regarding that,can't I do it,am I doing something wrong.?
    If any one of u gentalmen can help me,I will be obliged to u .
    Thanks a lot.

    This is somewhat basic.
    We always have to have a receptacle for the result set. In SQL*Plus that receptacle is the screen, hence we can dispense with an explicit INTO clause. PL/SQL is a batch process which doesn't write to the screen, so we have to define variables to hold the data.
    PL/SQL gives ius options. Wwe can define our SELECT statement as an explicit cursor, in case we don't need to include the INTO clause in our SELECT but we still have to FETCH the cursor INTO a record. Or we can use an implicit cursor, with an INTO clause.
    Those are the rules.
    You might find it helpful to read the manual. This link will take you to a page that includes some helpful info; one of the links will take you to the online Oracle documentation.
    Re: How to attach a java bean in forms6i
    Good luck, APC

  • Query in select statment

    Hi ,
        what is the difference between,select single and
    select upto one row .
    In a select statment .
    Thanks ,
    shankar.

    According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not
    using all the primary key fields.
    select single is a construct designed to read database records with primary key. In the absence of the primary key,
    it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key
    supplied and will try to find most suitable index.
    The best way to find out is through sql trace or runtime analysis.
    Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s)
    you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the
    second or the third record has the value you are looking for.
    The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional
    level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
    The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause
    If this results in multiple records then only the first one will be returned and therefore may not be unique.
    Mainly: to read data from
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that
    are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns
    the first record of the result set.
    Mainly: to check if entries exist.
    You can refer to the below link..
    http://www.sap-img.com/abap/difference-between-select-single-and-select-upto-one-rows.htm

  • Select statment - fill internal table

    Hi,
    I have following situation:
    TYPES: BEGIN OF q_data,
             i_lqua LIKE lqua,
             v_xxx(20) type c,
           END OF q_data.
    DATA: a_data TYPE STANDARD TABLE OF q_data.
    Now I would write a select statment and fill the table a_data.
    select lqua~matnr lqua~werks... from lqua inner join mch1 into (i_lqua-matnr, i_lqua-werks.....)...
    Is it possible to write a statement without writing the whole structure (all the names of columns) of lqua in the SQL-statement (lquamatnr lquawerks lqua~........)?
    Thanks
    Michael

    1. you can write that but i think you have to write that in SELECT ...ENDSELECT.
    select lquamatnr lquawerks... from lqua inner join mch1 into (i_lqua-matnr, i_lqua-werks.....
    append i_lqua.
    endselect.
    2. OR you can use INTO CORRESPONDING FIELDS OF TABLE
       select lquamatnr lquawerks... from lqua inner join mch1 into corresponding fields of table i_lqua.

  • Using distinct and orderby in the select statment

    Hi All,
    Can anyone tell me what is the purpose of using distinct and orderby in the select statment.

    Hi,
    Using the distinct function with more than one column yields some substantial results. SQL will return the rows with distinct or unique combinations of those columns. Assume this same employee table has another column including the salary of each employee. With the use of the distinct function we can pull a list of unique job titles - salaries.
    SQL Code:
    SELECT DISTINCT job_titles, salary FROM employees;
    SQL has returned all the rows with unique combinations of job titles and salaries. Any duplicate combinations of job titles and salaries will be ignored. For example if we had two CEOs in the table making the same salary each year, only one row would be returned but if we had two CEOs with different salaries, both rows would be returned.
    Order by
    The SQL ORDER BY clause comes in handy when you want to sort your SQL result sets by some column(s). For example if you want to select all the persons from the already familiar Customers table and order the result by date of birth, you will use the following statement:
    SELECT * FROM Customers
    ORDER BY DOB
    As you can see the rows are sorted in ascending order by the DOB column, but what if you want to sort them in descending order? To do that you will have to add the DESC SQL keyword after your SQL ORDER BY clause:
    SELECT * FROM Customers
    ORDER BY DOB DESC
    If you don't specify how to order your rows, alphabetically or reverse, than the result set is ordered alphabetically, hence the following to SQL expressions produce the same result:
    SELECT * FROM Customers
    ORDER BY DOB
    SELECT * FROM Customers
    ORDER BY DOB ASC
    You can sort your result set by more than one column by specifying those columns in the SQL ORDER BY list. The following SQL expression will order by DOB and LastName:
    SELECT * FROM Customers
    ORDER BY DOB, LastName
    if its useful reward points

  • Fix Variable in select statment

    Hi,
    Can we define a variable in select statment .
    Example :
    Select firstname , lastname
    from employees;
    in this simple select statment can we define x as number ?

    Maybe
    SQL> variable x number
    SQL> exec :x := 3
    PL/SQL procedure successfully completed.
    SQL> select :x x, last_name from employees where rownum <= 3
    X                                LAST_NAME               
    3                                King                    
    3                                Kochhar                 
    3                                De Haan                 
    3 rows selected.

  • Running DBMS_SQL.EXECUTE in Oracle Select Statment

    HI i have table Emp which has 3 column namely name,st_date and end_date. table has 3 records as below:
    name st_date end_date
    X sysdate+10 sysdate+50
    Y sysdate+12 sysdate+30
    Z sysdate+15 sysdate+35
    Now if i run the run select statment select * from emp, it will show above values. but i need the values in the columns to be executed and shown in the select statemtn with alias column i.e. assign sysdate is : 01-jan-2013
    so i need the o/p to be:
    X 20-Jan-2013 19-Feb-2013
    Y 22-Jan-2013 30-Jan-2013
    Z 15-Jan-2013 04-feb-2013
    i dont want to create a function in plsql and pass the values to it. if u use select name,dbms_sql.execute(dbms_sql.parse(dbms_sql.open(),'select st_date from emp'))) is ok for me.
    Advance Thanks for your help!!
    i have restriction not able to create function, so i need to try in the sql statment only!!

    997199 wrote:
    HI i have table Emp which has 3 column namely name,st_date and end_date. table has 3 records as below:
    name st_date end_date
    X sysdate+10 sysdate+50
    Y sysdate+12 sysdate+30
    Z sysdate+15 sysdate+35
    Now if i run the run select statment select * from emp, it will show above values. but i need the values in the columns to be executed and shown in the select statemtn with alias column i.e. assign sysdate is : 01-jan-2013
    so i need the o/p to be:
    X 20-Jan-2013 19-Feb-2013
    Y 22-Jan-2013 30-Jan-2013
    Z 15-Jan-2013 04-feb-2013
    i dont want to create a function in plsql and pass the values to it. if u use select name,dbms_sql.execute(dbms_sql.parse(dbms_sql.open(),'select st_date from emp'))) is ok for me.
    Advance Thanks for your help!!
    i have restriction not able to create function, so i need to try in the sql statment only!!How do I ask a question on the forums?
    SQL and PL/SQL FAQ
    what datatype are st_date & end_date?

  • |Error SQL: ORA-14400: inserted partition key does not map to any partition

    I have an installation of ECC6 with BI7 in which consolidated through SEM-BCS OBCS_C10 with the cube, which I have version 100 for fiscal data, 101 data for IFRS and IFRS Copying a 301 version.
    The client will ask me the empty version of the 301 in the cube OBCS_C10.
    Before switching to empty the cube "Target Real-Time Data Can Be Loaded With Data; Planning Not Allowed."
    To empty the cube using transaction RSA1 / manage / contents / Delete Selection.
    However, the data is not erased and revise the job gives me the error:
    Resumen log job para job BI_INDXD51A1NTCIYWU06OKZZESN1R94 / 07520600
    Log job
    Hora
    Txt.mje.no codificado
    04.02.2009
    07:52:06
    El job ha sido lanzado.
    04.02.2009
    07:52:06
    Paso 001 iniciado (programa RSINDEX1, variante &0000000000108, usuario ACHUY)
    04.02.2009
    07:52:10
    SQL: 04.02.2009 07:52:10 ACHUY
    04.02.2009
    07:52:10
    DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
    04.02.2009
    07:52:10
    AND INDEXNAME = ' ' AND TABNAME =
    04.02.2009
    07:52:10
    '/BI0/D0BCS_C101
    04.02.2009
    07:52:10
    SQL-END: 04.02.2009 07:52:10 00:00:00
    04.02.2009
    07:52:10
    SQL: 04.02.2009 07:52:10 ACHUY
    04.02.2009
    07:52:10
    DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
    04.02.2009
    07:52:10
    AND INDEXNAME = ' ' AND TABNAME =
    04.02.2009
    07:52:10
    '/BI0/D0BCS_C101
    04.02.2009
    07:52:10
    SQL-END: 04.02.2009 07:52:10 00:00:00
    04.02.2009
    07:52:10
    SQL: 04.02.2009 07:52:10 ACHUY
    04.02.2009
    07:52:10
    CREATE TABLE "/BI0/0100000076" PCTFREE 00
    04.02.2009
    07:52:10
    PCTUSED 00 INITRANS 001 TABLESPACE PSAPSR3
    04.02.2009
    07:52:10
    STORAGE (INITIAL     0000000016 K NEXT
    04.02.2009
    07:52:10
    0000000016 K MINEXTENTS  0000000001 MAXEXTENTS
    04.02.2009
    07:52:10
    UNLIMITED PCTINCREASE 0000 FREELISTS   001
    04.02.2009
    07:52:10
    FREELIST GROUPS 01) AS SELECT DISTINCT DIMID FROM
    04.02.2009
    07:52:10
    "/BI0/D0BCS_C101" "DIM" , "/BI0/SCS_VERSION"
    04.02.2009
    07:52:10
    "MD1" WHERE "DIM"."SID_0CS_VERSION" = "MD1"."SID"
    04.02.2009
    07:52:10
    AND ( "MD1"."CS_VERSION" BETWEEN '301' AND '301'
    04.02.2009
    07:52:10
    SQL-END: 04.02.2009 07:52:10 00:00:00
    04.02.2009
    07:52:25
    SQL: 04.02.2009 07:52:25 ACHUY
    04.02.2009
    07:52:25
    DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
    04.02.2009
    07:52:25
    AND INDEXNAME = ' ' AND TABNAME = '/BI0/F0BCS_C10
    04.02.2009
    07:52:25
    SQL-END: 04.02.2009 07:52:25 00:00:00
    04.02.2009
    07:52:25
    SQL: 04.02.2009 07:52:25 ACHUY
    04.02.2009
    07:52:25
    DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
    04.02.2009
    07:52:25
    AND INDEXNAME = ' ' AND TABNAME = '/BI0/F0BCS_C10
    04.02.2009
    07:52:25
    SQL-END: 04.02.2009 07:52:25 00:00:00
    04.02.2009
    07:52:25
    SQL: 04.02.2009 07:52:25 ACHUY
    04.02.2009
    07:52:25
    CREATE TABLE "/BI0/0100000030" PCTFREE 10
    04.02.2009
    07:52:25
    PCTUSED 00 INITRANS 001 TABLESPACE PSAPSR3
    04.02.2009
    07:52:25
    STORAGE (INITIAL     0000000016 K NEXT
    04.02.2009
    07:52:25
    0000000000 K MINEXTENTS  0000000001 MAXEXTENTS
    04.02.2009
    07:52:25
    2147483645 PCTINCREASE 0000 FREELISTS   001
    04.02.2009
    07:52:25
    FREELIST GROUPS 01) PARTITION BY RANGE
    04.02.2009
    07:52:25
    ("KEY_0BCS_C10P") ( PARTITION "/BI0/F0BCS_C100"
    04.02.2009
    07:52:25
    VALUES LESS THAN (0) TABLESPACE "PSAPSR3",
    04.02.2009
    07:52:25
    PARTITION "/BI0/F0BCS_C100000000019" VALUES LESS
    04.02.2009
    07:52:25
    THAN (0000000019) TABLESPACE "PSAPSR3", PARTITION
                  |
    04.02.2009
    07:52:25
    "/BI0/F0BCS_C100000000276" VALUES LESS THAN
    04.02.2009
    07:52:25
    (0000000276) TABLESPACE "PSAPSR3", PARTITION
    04.02.2009
    07:52:25
    "/BI0/F0BCS_C100000000277" VALUES LESS THAN
    04.02.2009
    07:52:25
    (0000000277) TABLESPACE "PSAPSR3") AS SELECT *
    04.02.2009
    07:52:25
    FROM "/BI0/F0BCS_C10" WHERE "KEY_0BCS_C101" NOT
    04.02.2009
    07:52:25
    IN ( SELECT "DIMID" FROM "/BI0/0100000076"
    04.02.2009
    07:52:29
    SQL-END: 04.02.2009 07:52:29 00:00:04
    04.02.2009
    07:52:29
    Error SQL: ORA-14400: inserted partition key does not map to any partition
    04.02.2009
    07:52:29
    Error de sistema: CREATE_TABLE_AS_SELECT/RSDU_EXEC_SQL /BI0/0100000030 14400
    04.02.2009
    07:52:29
    El job ha sido cancelado tras excepción de sistema ERROR_MESSAGE.
    Someone has an idea how to fix this?

    This is the SQL of the insert
    The partition condition of the table is the column ("KEY_0BCS_C10P")
    SELECT * FROM "/BI0/F0BCS_C10" WHERE "KEY_0BCS_C101" NOT IN ( SELECT "DIMID" FROM "/BI0/0100000076" )
    This is the info of the /BIO/0100000076 TABLE
    SQL> SELECT "DIMID" FROM sapsr3."/BI0/0100000076";
         DIMID
             6
    SQL>
    And this are the rows that I think are not included in the partitions of the table
      1  SELECT DISTINCT KEY_0BCS_C10P, KEY_0BCS_C101 FROM SAPSR3."/BI0/F0BCS_C10"
      2  WHERE KEY_0BCS_C10P > 277
      3* AND "KEY_0BCS_C101" NOT IN ( SELECT "DIMID" FROM SAPSR3."/BI0/0100000076" )
    SQL> /
    KEY_0BCS_C10P KEY_0BCS_C101
              284             4
              285             4
              293             3
              292             4
              293             4
              293             5
              285             3
              290             4
              292             5
              283             4
              285             5
    KEY_0BCS_C10P KEY_0BCS_C101
              291             5
              292             3
              291             4
    14 rows selected.
    SQL>

  • Table list for select statment

    hello all,
    I been trying to setup a plsql statment to run a select statment from tables that are in a list.
    this is what I have done so far as a test and it is not letting me do it and I don't know why can anyone point me in the right direction.
    declare
    cursor main_log is
    select *
    from joseph_w.table_name_list;
    cml main_log%rowtype;
    var1 varchar2(35);
    var2 varchar2(35;
    begin
    open main_log;
    fetch main_log into cml;
    var1 := cml.schema_name;
    var2 := cml.table_name;
    select *
    from var1.var2;
    close main_log;
    end;
    thanks

    In PL/SQL you cannot just "select", as PL/SQL is a server sided language. You must use a record or variable to hold the selected data. Anyway, for selecting from different tables dynamically, you can use (Native) Dynamic SQL or Ref Cursors. Take a look at the documentation, especially the "PL/SQL User's Guide and Reference":
    http://www.oracle.com/pls/db102/portal.portal_db?selected=1
    Regards,
    Gerd

  • How does "SELECT" statment  work?

    Hi,
    Correct me if I'm wrong.
    Data selected by SELECT statement  (without ORDER BY) is unordered and sequence of selected lines may differ every time you execute the same SELECT.
    My problem is that data on a production system has been always selected ordered ( without ORDER BY)  and suddenly it changes and the rows of a result set are unordered.
    It's also strange for me that it works differently on a test system and data is selected ordered ( the code is the same on both systems ).
    Two questions:
    1. How is it possible that data was always selected ordered? (the only answer which comes to my head is "LUCK" )
    2. What has happened that data is now selected unordered? (and works as SELECT statment should work by definition)
    Thanks for any ideas,
    Mario

    Hello,
    I see there is an equality 3-3 in the match here, between
    1) those who are for "it's ordered" (Rodrigo Ariel G..., Danish2285, pavankumar.g)
    2) and those "it's not ordered" (Diwakar Aggarwal, Keshav.T, Matt).
    So I'd like to play too :-D and my answer is "it's not ordered" (with Diwakar Aggarwal, Keshav.T, Matt).
    now 3-4
    My advice is: always trust the SAP documentation when it's said explicitly (I'm aware that the arguments or context are sometimes missing, so a confirmation is then needed).
    You'll find it also in the wikipedia for SQL article (http://en.wikipedia.org/wiki/SQL#Queries): "The ORDER BY clause identifies which columns are used to sort the resulting data, and in which direction they should be sorted (options are ascending or descending). Without an ORDER BY clause, the order of rows returned by an SQL query is undefined."
    Oracle SQL Reference, in the Query Optimizer section (http://download.oracle.com/docs/cd/B14117_01/server.101/b10752/optimops.htm#35891) : "If data must be sorted by order, then use the ORDER BY clause, and do not rely on an index. If an index can be used to satisfy an ORDER BY clause, then the optimizer uses this option and avoids a sort."
    In fact, this is logic when we know how RDBMS are built, all this is about the selection of the access path to get the data (that we see with the explain plan, the path depends especially on what the database contains, that is different between test and production), the faster way to do things (an ordering is not always required, so why the RDBMS would spend time to organize it)
    Don't we have this question in the Forum's FAQ by the way?
    Sandra

  • Getting error "SQL error in the database when accessing a table."

    Hi All,
    We are getting Dump Error SQL error in the database when accessing a table for the batch job EISSD/REQUISITION 14 / which includes program AQ20FD==========A2============. Please reply. The Dump error details are as follows
    Short text
        SQL error in the database when accessing a table.
    How to correct the error
        Database error text........: "ORA-01555: snapshot too old: rollback segment
         number 21 with name "_SYSSMU21$" too small"
        Internal call code.........: "[RSQL/FTCH/VBRK ]"
        Please check the entries in the system log (Transaction SM21).
    Thanks
    Padmakar Kudtarkar
    Edited by: Rob Burbank on May 19, 2011 9:38 AM

    The query where we are getting error in Standard program AQ20FD==========A2============ for Job
    EISSD/REQUISITION 14 / is as follows:
    select VBRKBUKRS VBRKFKART VBRKFKDAT VBRKFKTYP VBRKGJAHR VBRKKUNAG VBRKKUNRG VBRKKURRF VBRKVBELN VBRKWAERK VBRP~AUBEL
           VBRPAUPOS VBRPFKIMG VBRPKVGR2 VBRPKZWI1 VBRPMATNR VBRPMWSBP VBRPNETWR VBRPPSTYV VBRPVBELN VBRPVGBEL VBRP~VGPOS
           VBRPVKBUR VBRPVKGRP VBRPVRKME VBRPWAVWR
    into (VBRK-BUKRS , VBRK-FKART , VBRK-FKDAT , VBRK-FKTYP , VBRK-GJAHR , VBRK-KUNAG , VBRK-KUNRG , VBRK-KURRF , VBRK-VBELN
         , VBRK-WAERK , VBRP-AUBEL , VBRP-AUPOS , VBRP-FKIMG , VBRP-KVGR2 , VBRP-KZWI1 , VBRP-MATNR , VBRP-MWSBP , VBRP-NETWR
         , VBRP-PSTYV , VBRP-VBELN , VBRP-VGBEL , VBRP-VGPOS , VBRP-VKBUR , VBRP-VKGRP , VBRP-VRKME , VBRP-WAVWR )
    from ( VBRK
           inner join VBRP
           on VBRPVBELN = VBRKVBELN )
           where VBRK~BUKRS in SP$00004
             and VBRK~FKDAT in SP$00001
             and VBRK~KUNAG in SP$00002
             and VBRK~VBELN in SP$00006
             and VBRP~MATNR in SP$00003.
      %dbacc = %dbacc - 1.
      if %dbacc = 0.
        stop.
      endif.
      check SP$00004.
      check SP$00001.
      check SP$00002.
      check SP$00006.
      check SP$00003.
      add 1 to %count-VBRK.
      %linr-VBRK = '01'.
      extract %fg01.
      %ext-VBRP01 = 'X'.
        extract %fgwrVBRP01.
    endselect.

  • Getting 'variable not in select list' error after extending VO

    Hi,
    My page is based on two VO. one VO has all transient attribute(LearnerSearchCritVO) and used to capture Search Criteria, The other VO is used for query(LearnerSearchVO).
    I have exteneded LearnerSearchCritVO to add 4 new additional Transient attributes
    and LearnerSerachVO and its IMPL class to add additional where clause.
    After substitution and personalization when I am querying through page I am getting the following error -
    ## Detail 0 ##
    java.sql.SQLException: ORA-01007: variable not in select list
    The query is working fine at backend and the same thing was working fine before instance is refreshed.
    I am not able to find why this error is coming.
    please help me out to sort this issue.

    Hi All
    Sorry to bring this one up again, but I've had a bit of a look around and done as much as I can based on the information given in this and other threads on the subject.
    I'm getting the java.sql.SQLException: ORA-01007: variable not in select list error from my extended VO/substitution.
    The query is based on a view for easy editing after deployment, so could that have anything to do with it?
    Here's the query from the error message:
    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement:
    SELECT * FROM (SELECT
    SSH.FULL_NAME,
    SSH.ASSIGNMENT_NUMBER,
    SSH.JOB,
    SSH.GRADE,
    SSH.ANNUALIZED_SALARY,
    SSH.CURRENCY,
    SSH.CHANGE_DATE,
    SSH.SALARY_BASIS,
    SSH.PERSON_ID,
    SSH.ASSIGNMENT_ID,
    SSH.SUPERVISOR_ID,
    SSH.LAST_CHANGE_DATE,
    SSH.PAYROLL_NAME,
    SSH.NEXT_CHANGE_DATE,
    SSH.EMPLOYEE_NUMBER,
    SSH.CWK_NUMBER,
    SSH.PERSON_TYPE,
    SSH.EFFECTIVE_DATE,
    SSH.SUPERVISOR_ASSIGNMENT_ID,
    SSH.LEGISLATIONCODE,
    SSH.MANAGER_ENABLED
    FROM XX_SAL_SUP_HRCHY_VO_V SSH) QRSLT
    WHERE (((:1 = SUPERVISOR_ID)
    AND (:2 = EFFECTIVE_DATE)
    AND (:3 = SUPERVISOR_ASSIGNMENT_ID
    OR hr_general2.supervisor_assignments_in_use = 'FALSE')))
    ORDER BY FULL_NAME
    So... What's missing?
    Any help appreciated.
    CK

  • Performace problem in a select statment how to imporve the performance

    fist select statment
    SELECT    a~extno
              a~guid_lclic       " for next select
              e~ctsim
              e~ctsex
    *revised spec 3rd
              f~guid_pobj
              f~amnt_flt
              f~amcur
              f~guid_mobj
              e~srvll     "pk
              e~ctsty     "PK
              e~lgreg  "PK
      INTO TABLE gt_sagmeld
      FROM /SAPSLL/LCLIC  as a
      INNER JOIN /sapsll/tlegsv as e on elgreg = algreg
    * revised spec 3rd
      inner join /sapsll/legcon as f on fguid_lclic = aguid_lclic   " for ccngn1 selection
      inner join /sapsll/corcts as g on gguid_pobj = fguid_pobj
                               where   a~extno in s_extno.
      sort gt_sagmeld by guid_lclic guid_pobj.
    lgreg ctsty srvll
      delete adjacent duplicates from gt_sagmeld comparing guid_lclic guid_pobj.
    it selects about 20 lakh records
    belos select statment whichs is taking time as it is based on the entreis of gt_sagmeld
    select /sapsll/corpar~guid_mobj
                /sapsll/corpar~PAFCT
                but000~bpext
                but000~partner
                /sapsll/corpar~parno
                into table gt_but001
        from    /sapsll/corpar
        INNER join but000  on  but000partner = /sapsll/corparparno
        for all entries in gt_sagmeld
        where  /sapsll/corpar~guid_mobj = gt_sagmeld-guid_mobj
        and    /sapsll/corpar~PAFCT = 'SH'.
       SELECT /sapsll/cuit~guid_cuit         " PK
              /sapsll/cuit~QUANT_FLT         " to be displayed
              /sapsll/cuit~QUAUM             " to be displayed
              /sapsll/cuit~RPTDT             " to be displayed
             /sapsll/cuhd~guid_cuhd         " next select
              /sapsll/cuit~guid_pr           " next select
      INTO table gt_sapsllcuit
      FROM  /sapsll/cuit
    inner join /sapsll/cuhd on /sapsll/cuitguid_cuhd = /sapsll/cuhdguid_cuhd
      FOR all entries in gt_sagmeld
      WHERE /sapsll/cuit~guid_cuit = gt_sagmeld-guid_pobj.
      Delete adjacent duplicates from gt_sapsllcuit[].
           if not gt_sapsllcuit[] is initial.

    hi navenet
    that didnt worked
    we need to try ur range options
    but not sure what you told in the last mail as not clear with range can u pls eloboragte more i am pasting the full code here
    SELECT     a~extno
               a~guid_lclic       " for next select but000
               e~ctsim
               e~ctsex
               e~srvll
               e~ctsty
               e~lgreg
      INTO TABLE gt_sagmeld
      FROM /SAPSLL/LCLIC  as a
      INNER JOIN /sapsll/tlegsv as e on elgreg = algreg
                               where   a~extno in s_extno.
    sort gt_sagmeld by guid_lclic.
    delete adjacent duplicates from gt_sagmeld comparing all fields.
      IF not gt_sagmeld[] is initial.
      SELECT  /sapsll/legcon~guid_lclic
              /sapsll/legcon~guid_pobj
              /sapsll/legcon~amnt_flt
              /sapsll/legcon~amcur
               but000~bpext
               *revised spec
               /sapsll/corpar~PAFCT
              /sapsll/legcon~guid_mobj
             /sapsll/cuit~guid_cuit
      INTO TABLE gt_but000
      FROM /SAPSLL/LEGCON
      for all entries in gt_sagmeld
      where /SAPSLL/legcon~guid_lclic = gt_sagmeld-guid_lclic.
            IF NOT GT_BUT000[] IS INITIAL.
           sort gt_but000 by guid_mobj.
           delete adjacent duplicates from gt_but000 comparing guid_mobj.
         select /sapsll/corpar~guid_mobj
                /sapsll/corpar~PAFCT
                /sapsll/corpar~parno
                into table gt_but001
        from    /sapsll/corpar
        for all entries in gt_but000
        where  /sapsll/corpar~guid_mobj = gt_but000-guid_mobj.
       and    /sapsll/corpar~PAFCT = 'SH'.
    DELETE gt_but001 where PAFCT <> 'SH'.
    *sort gt_corpar by parno.
    *delete adjacent duplicates from gt_corpar comparing parno.
    *select gd000~partner
          gd000~bpext
         from gd000 into table gt_but001
    for all entries in gt_corpar
    where  gd000~partner = gt_corpar-parno.
    my ultimat aim is to select bpext from gd000
    can u please explain how to use ranges here and what is the singnificance and how ill i read the data from the final  table if we use ranges
    regards
    Nishant

  • Loading issue : Error: sql error in the database while accessing a table

    Hello,
    where as one of the DTP in the process chain failed due to  *Error: sql error in the database while accessing a table*, where as in the short dump it showing as Transaction log of data base is full., but i checked the data base space in DB02, more space is available . once we run the same DTP by manually its successful. its not through  any errors.
    could u please help me out solve the problem.
    Thanks
    siva kumar.

    it might be a lock. do you drop index before loading?
    the database might be full at the moment of loading and not later if many loadings happen at the same time on the same system...
    when you then rerun your dtp manually, it can go through as it's perhaps the only one running at that moment...
    you can try to set the btch parameter to 1...this will help in some cases.
    M.

Maybe you are looking for

  • How to pass an attachment to a email

    Hi All! I am using FM <b>SO_NEW_DOCUMENT_ATT_SEND_API1</b> to send a email and I am successful in doing it.But could not able to attach a word document to the FM which i want to pass it to the receiver.Please advise what parameters to take care of. R

  • Java Plug in 1.4 Performance

    I'm getting really poor performance on my applet using the Java plug in that I just installed from JDK 1.4 running under Win 2000. What's the deal? Hate to say it, but the MS VM blows this away as far as performance goes. Also, some of the applet res

  • Swing is great !!!!!

    Hi guys I've been working in swing for a last 5 years developing a client server and a GUI library. I've been working in coding our java beans (MyJTable, MyPopupDataTextField etc,etc) and our data JDBC beans. The only thing I could say now is that th

  • Click phone number in email to dial broken

    I just recently "upgraded" to gingerbread and I can no longer click a phone number in an email and have it dial (or load into the phone so I can click "call").   This does work for the Yahoo Mail app and Gmail but doesn't work for my corporate email

  • After installing i dont get a icon or cant open flash

    how can i open or where can i find my adobe flash. afer it says install finished nothing happens i get no a icon and its not in my programs