Label styled output by select query

Hi,
How do i get output of select query of EMP table of scott schema as below :
Using Oracle 10g on windows xp machine :
1.  EMPNO:7499                    2.   EMPNO:7521                    3.   EMPNO:7566
    ALLEN                         WARD                         JONES     
    SALESMAN                         SALESMAN                         MANAGER     
    HIREDATE:20-FEB-81                    HIREDATE:22-FEB-81                    HIREDATE:02-APR-81     
    SAL:1600                         SAL:1250                         SAL:2975
<<<<BLANK LINE 1>>>>  This is not part of output
<<<<BLANK LINE 2>>>>
<<<<BLANK LINE 3>>>>
<<<<BLANK LINE 4>>>>                                                  
4.  EMPNO:7654                    5.   EMPNO:7698                    6.   EMPNO:7782
    MARTIN                         BLAKE                         CLARK     
    SALESMAN                         MANAGER                         MANAGER     
    HIREDATE:28-FEB-81                    HIREDATE:01-MAY-81                    HIREDATE:09-JUN-81     
    SAL:1250                         SAL:2850                         SAL:3000
<<<<BLANK LINE 1>>>>  This is not part of output
<<<<BLANK LINE 2>>>>
<<<<BLANK LINE 3>>>>
<<<<BLANK LINE 4>>>>                                        Means, i wish to print the addresses of my address table; so here i am giving you EMP as example that how it will create create above output if :
(A) suppose above it is in 3 columns; i wish to change in N number of columns?
(B) above there are 4 blank lines, i wish to change in N number of blank lines?
(C) above order by empno, i wish to change in any order by column as well.
Thanking you,
Regards
Nisha Sharma

WITH t AS (
           SELECT  e.*,
                   ROW_NUMBER() OVER(ORDER BY CASE :order_indicator
                                                WHEN 1 THEN to_char(empno,'9999')
                                                WHEN 2 THEN ename
                                                WHEN 3 THEN job
                                                WHEN 4 THEN to_char(hiredate,'yyyymmdd')
                                              END
                                    ) rn
             FROM  EMP e
SELECT  REPLACE(SYS_CONNECT_BY_PATH(RPAD(TO_CHAR(rn,'999') || '.  EMPNO:' || empno,30),','),',') ||
        CHR(13) || CHR(10) || '       ' ||
        REPLACE(SYS_CONNECT_BY_PATH(RPAD(ename,30),','),',') ||
        CHR(13) || CHR(10) || '       ' ||
        REPLACE(SYS_CONNECT_BY_PATH(RPAD(job,30),','),',') ||
        CHR(13) || CHR(10) || '       ' ||
        REPLACE(SYS_CONNECT_BY_PATH(RPAD('HIREDATE:' || TO_CHAR(hiredate,'DD-MON-YY'),30),','),',') ||
        CHR(13) || CHR(10) || '       ' ||
        REPLACE(SYS_CONNECT_BY_PATH(RPAD('SAL:' || sal,30),','),',') ||
        LPAD(CHR(13) || CHR(10),2 * :blank_lines,CHR(13) || CHR(10)) line
  FROM  t
  WHERE CONNECT_BY_ISLEAF = 1
  START WITH mod(rn,:column_count) = 1
  CONNECT BY rn = PRIOR rn + 1
         AND level <= :column_count
/For example:
SQL> SET LINESIZE 132
SQL> SET PAGESIZE 0
SQL> VARIABLE column_count NUMBER
SQL> EXEC :column_count := 3;
PL/SQL procedure successfully completed.
SQL> VARIABLE order_indicator NUMBER
SQL> EXEC :order_indicator := 1;
PL/SQL procedure successfully completed.
SQL> VARIABLE blank_lines NUMBER
SQL> EXEC :blank_lines := 6;
PL/SQL procedure successfully completed.
SQL> WITH t AS (
  2             SELECT  e.*,
  3                     ROW_NUMBER() OVER(ORDER BY CASE :order_indicator
  4                                                  WHEN 1 THEN to_char(empno,'9999')
  5                                                  WHEN 2 THEN ename
  6                                                  WHEN 3 THEN job
  7                                                  WHEN 4 THEN to_char(hiredate,'yyyymmdd')
  8                                                END
  9                                      ) rn
10               FROM  EMP e
11            )
12  SELECT  REPLACE(SYS_CONNECT_BY_PATH(RPAD(TO_CHAR(rn,'999') || '.  EMPNO:' || empno,30),','),',') ||
13          CHR(13) || CHR(10) || '       ' ||
14          REPLACE(SYS_CONNECT_BY_PATH(RPAD(ename,30),','),',') ||
15          CHR(13) || CHR(10) || '       ' ||
16          REPLACE(SYS_CONNECT_BY_PATH(RPAD(job,30),','),',') ||
17          CHR(13) || CHR(10) || '       ' ||
18          REPLACE(SYS_CONNECT_BY_PATH(RPAD('HIREDATE:' || TO_CHAR(hiredate,'DD-MON-YY'),30),','),',') ||
19          CHR(13) || CHR(10) || '       ' ||
20          REPLACE(SYS_CONNECT_BY_PATH(RPAD('SAL:' || sal,30),','),',') ||
21          LPAD(CHR(13) || CHR(10),2 * :blank_lines,CHR(13) || CHR(10)) line
22    FROM  t
23    WHERE CONNECT_BY_ISLEAF = 1
24    START WITH mod(rn,:column_count) = 1
25    CONNECT BY rn = PRIOR rn + 1
26           AND level <= :column_count
27  /
   1.  EMPNO:7369                2.  EMPNO:7499                3.  EMPNO:7521
       SMITH                         ALLEN                         WARD
       CLERK                         SALESMAN                      SALESMAN
       HIREDATE:17-DEC-80            HIREDATE:20-FEB-81            HIREDATE:22-FEB-81
       SAL:800                       SAL:1600                      SAL:1250
   4.  EMPNO:7566                5.  EMPNO:7654                6.  EMPNO:7698
       JONES                         MARTIN                        BLAKE
       MANAGER                       SALESMAN                      MANAGER
       HIREDATE:02-APR-81            HIREDATE:28-SEP-81            HIREDATE:01-MAY-81
       SAL:2975                      SAL:1250                      SAL:2850
   7.  EMPNO:7782                8.  EMPNO:7788                9.  EMPNO:7839
       CLARK                         SCOTT                         KING
       MANAGER                       ANALYST                       PRESIDENT
       HIREDATE:09-JUN-81            HIREDATE:19-APR-87            HIREDATE:17-NOV-81
       SAL:2450                      SAL:3000                      SAL:5000
  10.  EMPNO:7844               11.  EMPNO:7876               12.  EMPNO:7900
       TURNER                        ADAMS                         JAMES
       SALESMAN                      CLERK                         CLERK
       HIREDATE:08-SEP-81            HIREDATE:23-MAY-87            HIREDATE:03-DEC-81
       SAL:1500                      SAL:1100                      SAL:950
  13.  EMPNO:7902               14.  EMPNO:7934
       FORD                          MILLER
       ANALYST                       CLERK
       HIREDATE:03-DEC-81            HIREDATE:23-JAN-82
       SAL:3000                      SAL:1300
SQL> EXEC :column_count := 4;
PL/SQL procedure successfully completed.
SQL> EXEC :blank_lines := 2;
PL/SQL procedure successfully completed.
SQL> /
   1.  EMPNO:7369                2.  EMPNO:7499                3.  EMPNO:7521                4.  EMPNO:7566
       SMITH                         ALLEN                         WARD                          JONES
       CLERK                         SALESMAN                      SALESMAN                      MANAGER
       HIREDATE:17-DEC-80            HIREDATE:20-FEB-81            HIREDATE:22-FEB-81            HIREDATE:02-APR-81
       SAL:800                       SAL:1600                      SAL:1250                      SAL:2975
   5.  EMPNO:7654                6.  EMPNO:7698                7.  EMPNO:7782                8.  EMPNO:7788
       MARTIN                        BLAKE                         CLARK                         SCOTT
       SALESMAN                      MANAGER                       MANAGER                       ANALYST
       HIREDATE:28-SEP-81            HIREDATE:01-MAY-81            HIREDATE:09-JUN-81            HIREDATE:19-APR-87
       SAL:1250                      SAL:2850                      SAL:2450                      SAL:3000
   9.  EMPNO:7839               10.  EMPNO:7844               11.  EMPNO:7876               12.  EMPNO:7900
       KING                          TURNER                        ADAMS                         JAMES
       PRESIDENT                     SALESMAN                      CLERK                         CLERK
       HIREDATE:17-NOV-81            HIREDATE:08-SEP-81            HIREDATE:23-MAY-87            HIREDATE:03-DEC-81
       SAL:5000                      SAL:1500                      SAL:1100                      SAL:950
  13.  EMPNO:7902               14.  EMPNO:7934
       FORD                          MILLER
       ANALYST                       CLERK
       HIREDATE:03-DEC-81            HIREDATE:23-JAN-82
       SAL:3000                      SAL:1300
SQL>     SY.
Edited by: Solomon Yakobson on Oct 25, 2009 6:02 AM

Similar Messages

  • Output of select query in a single line

    hi,
    I want to know how to get the each row in a table to be printed in a single line.. Each row in the table will be of 1500 characters length..
    Thanks

    Is there any limit to the value that we can specify
    for linesize.. I read somewhere that the max value is
    dependent on systemIn [url http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch12040.htm#SQPUG085]the documentation, they don't talk about a maximum, but I saw there is one:
    SQL> set linesize 1500
    SQL> set linesize 32767
    SQL> set linesize 32768
    SP2-0267: linesize optie 32768 ligt buiten toegestane bereik (1 t/m 32767).Regards,
    Rob.

  • Delimited output of a select query

    Hi, How to write comma delimited output
    of select query from within a PL/SQL stored
    procedure to a file. for example
    select a &#0124; &#0124; ',' &#0124; &#0124; b
    from test3
    I know it can be done at SQL prompt using spool command, but
    don't know how it can be done from within PL/SQL procedure without using cursors
    thanks
    Pramod

    Hi Pramod,
    Why don't u try with use of UTL FILE.
    select the necessary values into some local variables.
    With the use of utl_file.fopen open a file.
    And use utl_file.put_line to write the values
    in to the file.
    Try it and let me know.
    Regards
    Arun
    null

  • Need help in writing a select query to pull required data from 3 tables.

    Hi,
    I have three tables EmpIDs,EmpRoles and LatestRoles. I need to write a select Query to get roles of all employees present in EmpIDs table by referring EmpRoles and LatestRoles.
    The condition is first look into table EmpRoles and if it has more than one entry for a particular Employee ID than only need to get the Role from LatestRoles other wise consider
    the role from EmpRoles .
    Sample Script:
    Create Table #EmpIDs
    (EmplID int )
    Create Table #EmpRoles
    (EMPID int,Designation varchar(50))
    Create Table #LatestRoles
    EmpID int,
    Designation varchar(50)
    Insert into #EmpIDs values (1),(2),(3)
    Insert into #EmpRoles values (1,'Role1'),(2,'Role1'),(2,'Role2'),(3,'Role1')
    Insert into #LatestRoles values (2,'Role2')
    Employee ID 2 is having two roles defined in EmpRoles so for EmpID 2 need to fetch Role from LatestRoles table and for
    remaining ID's need to fetch from EmpRoles .
    My Final Output of select query should be like below.
    EmpID Role
    1 Role1
    2 Role2
    3 Role1
    Please help.
    Mohan

    Mohan,
    Can you check if this answers your requirement:
    Create Table #EmpIDs
    (EmplID int )
    Create Table #EmpRoles
    (EMPID int,Designation varchar(50))
    Create Table #LatestRoles
    EmpID int,
    Designation varchar(50)
    Insert into #EmpIDs values (1)
    Insert into #EmpIDs values (2)
    Insert into #EmpIDs values (3)
    Insert into #EmpRoles values (1,'Role1')
    Insert into #EmpRoles values (2,'Role2')
    Insert into #EmpRoles values (2,'Role1')
    Insert into #EmpRoles values (3,'Role1')
    Insert into #LatestRoles values (2,'Role2')
    --Method 1
    select e.EmplID,MIN(ISNULL(l.Designation,r.Designation)) as Designation
    from #empids e
    left join #emproles r on e.emplID=r.EmpID
    left join #latestRoles l on e.emplID=l.EmpID
    group by e.EmplID
    --Method 2
    ;with cte
    as
    select distinct e.EmplID,r.Designation,count(*) over(partition by e.emplID) cnt
    from #empids e
    left join #emproles r on e.emplID=r.EmpID
    select emplID,Designation
    from cte
    where cnt=1
    UNION ALL
    select a.EmplID,l.Designation
    from
    (select distinct EmplID from cte where cnt>1) a
    join #Latestroles l on a.EmplID=l.EmpID
    order by emplID
    Thanks,
    Jay
    <If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'>

  • To lock the output of a SELECT query

    Hi,
    I want to lock the output of a SELECT query to some transaction.
    I have wriiten it as follows , the output of the query is a single row;
    SELECT empname
    FROM employees
    where empid = 100
    FOR UPDATE;
    Specifying only FOR UPDATE is proper or do i need to specify some more clause ??
    Thanks.

    bscalzo wrote:
    You can also specify the columns to lock if you like:
    select x, y, z from aaa where x = 1 for update of x, y;
    But the locking is still currently only done at the row level - but who knows what the future might offer. May not hurt to have the columns named for thay day when the syntax and engine sync up :)It might be worth to amend that specifying the columns is already particularly relevant if you select from multiple tables/views in order to specify which rows of which table/view to lock.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • How to store select query output in arrays.

    i created a varray type variables and now want to assign some data though select query output in pl/sql code as well as in reports 6i.

    You're in the wrong forum (this one is for issues with the SQL Developer tool). You were in the right one where you posted first, but don't reuse unrelated threads as you did.
    Regards,
    K.

  • Fill a text box or other in a form with output of a select Query

    Hi
    Does anyone know if you can fill an object with an output from a select query on a form. I am trying to display a piece of data on a form , that is related to the data on the form. I do not need to edit this peice of data.
    The version of PORTAL i am using does not support forms created on views.
    Is this possible!!
    Thanks

    Hi
    I found what I was looking for at the following forum thread.
    http://forums.oracle.com/forums/message.jsp?id=471864
    Thanks to Steve Yeager

  • How to alter Select Query while altering selectionscreen for same output?

    Hi,
    i have to change the selection screen fields with some new fields , but i dont know how to change the selection query accordingly, because i need the same output with the same fields but with a different set of fields in the selection screen.
    The original code is
    TYPES: BEGIN OF ty_output,
           mblnr TYPE mseg-mblnr,
           mjahr TYPE mseg-mjahr,
           zeile TYPE mseg-zeile,
           bwart TYPE mseg-bwart,
           werks TYPE mseg-werks,
           lgort TYPE mseg-lgort,
           ebeln TYPE mseg-ebeln,
           ebelp TYPE mseg-ebelp,
           lfbnr TYPE mseg-lfbnr,
           lfpos TYPE mseg-lfpos,
           sjahr TYPE mseg-sjahr,
           dmbtr TYPE mseg-dmbtr,
           menge TYPE mseg-menge,
           matnr TYPE mseg-matnr,
           mtart TYPE mara-mtart,
           matkl TYPE mara-matkl,
           bismt TYPE mara-bismt,
           meins TYPE mara-meins,
           bedat TYPE ekko-bedat,
           waers TYPE ekko-waers,
           wkurs TYPE ekko-wkurs,
           verkf TYPE ekko-verkf,
          EFFWR TYPE EKPO-EFFWR,
           tax TYPE ekpo-effwr,
           maktx TYPE makt-maktx,
           budat TYPE mkpf-budat,
           usnam TYPE mkpf-usnam,
           m_menge TYPE ekpo-menge,
           ablad TYPE mseg-ablad,
           wempf TYPE mseg-wempf,
           END OF ty_output.
    TYPES: BEGIN OF ty_mseg_103,
           mblnr TYPE mseg-mblnr,
           mjahr TYPE mseg-mjahr,
           zeile TYPE mseg-zeile,
           bwart TYPE mseg-bwart,
           werks TYPE mseg-werks,
           lgort TYPE mseg-lgort,
           ebeln TYPE mseg-ebeln,
           ebelp TYPE mseg-ebelp,
           lfbnr TYPE mseg-lfbnr,
           lfpos TYPE mseg-lfpos,
           sjahr TYPE mseg-sjahr,
           dmbtr TYPE mseg-dmbtr,
           menge TYPE mseg-menge,
           matnr TYPE mseg-matnr,
           mtart TYPE mara-mtart,
           matkl TYPE mara-matkl,
           bismt TYPE mara-bismt,
           meins TYPE mara-meins,
           bedat TYPE ekko-bedat,
           waers TYPE ekko-waers,
           wkurs TYPE ekko-wkurs,
           verkf TYPE ekko-verkf,
          EFFWR TYPE EKPO-EFFWR,
           tax TYPE ekpo-effwr,
           maktx TYPE makt-maktx,
           budat TYPE mkpf-budat,
           usnam TYPE mkpf-usnam,
           m_menge TYPE ekpo-menge,
           ablad TYPE mseg-ablad,
           wempf TYPE mseg-wempf,
           END OF ty_mseg_103.
    TYPES: BEGIN OF ty_mseg_105,
           mblnr TYPE mseg-mblnr,
           mjahr TYPE mseg-mjahr,
           zeile TYPE mseg-zeile,
           bwart TYPE mseg-bwart,
           werks TYPE mseg-werks,
           lgort TYPE mseg-lgort,
           ebeln TYPE mseg-ebeln,
           ebelp TYPE mseg-ebelp,
           lfbnr TYPE mseg-lfbnr,
           lfpos TYPE mseg-lfpos,
           sjahr TYPE mseg-sjahr,
           dmbtr TYPE mseg-dmbtr,
           menge TYPE mseg-menge,
           matnr TYPE mseg-matnr,
           mtart TYPE mara-mtart,
           matkl TYPE mara-matkl,
           bismt TYPE mara-bismt,
           meins TYPE mara-meins,
           bedat TYPE ekko-bedat,
           waers TYPE ekko-waers,
           wkurs TYPE ekko-wkurs,
           verkf TYPE ekko-verkf,
           effwr TYPE ekpo-effwr,
           tax TYPE ekpo-effwr,
           maktx TYPE makt-maktx,
           budat TYPE mkpf-budat,
           ablad TYPE mseg-ablad,
           wempf TYPE mseg-wempf,
           END OF ty_mseg_105.
    DATA: Begin with W_                                                 *
    DATA : it_fcat TYPE slis_t_fieldcat_alv. " alv field catalog
    DATA  : listhead TYPE slis_t_listheader WITH HEADER LINE.
    DATA: event TYPE slis_t_event WITH HEADER LINE.
    INTERNAL TABLES: Begin with IT_                                     *
    DATA : it_output TYPE STANDARD TABLE OF ty_output WITH KEY mblnr mjahr,
           it_mseg_103 TYPE STANDARD TABLE OF ty_mseg_103,
           it_mseg_105 TYPE STANDARD TABLE OF ty_mseg_103,
           it_mseg_106 TYPE STANDARD TABLE OF ty_mseg_103,          " LNTDEV1 ADDED
           it_mara TYPE STANDARD TABLE OF ty_mara,
           it_ekko TYPE STANDARD TABLE OF ty_ekko,
           it_ekpo TYPE STANDARD TABLE OF ty_ekpo,
           it_makt TYPE STANDARD TABLE OF ty_makt,
           it_mkpf TYPE STANDARD TABLE OF ty_mkpf WITH KEY mblnr.
    WORKAREAS: Begin with WA_                                           *
    DATA : wa_fcat LIKE LINE OF it_fcat.
    DATA : wa_output LIKE LINE OF it_output,
           wa_mara LIKE LINE OF it_mara,
           wa_ekko LIKE LINE OF it_ekko,
           wa_ekpo LIKE LINE OF it_ekpo,
           wa_makt LIKE LINE OF it_makt,
           wa_mkpf LIKE LINE OF it_mkpf,
           wa_mseg_103 LIKE LINE OF it_mseg_103,
           wa_mseg_105 LIKE LINE OF it_mseg_105,
           wa_mseg_106 LIKE LINE OF it_mseg_106.                        " LNTDEV1 ADDED
    DATA : w_menge LIKE ekpo-menge.
    FIELD-SYMBOLS: Begin with FS_                                       *
    PARAMETERS: Begin with PR_                                          *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS  : pr_werks LIKE mseg-werks OBLIGATORY.
    SELECT-OPTIONS : so_budat FOR mkpf-budat.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECT-OPTIONS: Begin with SO_                                      *
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    SELECT-OPTIONS : so_mtart FOR mara-mtart.
    SELECT-OPTIONS : so_matkl FOR mara-matkl.
    SELECT-OPTIONS : so_matnr FOR mara-matnr.
    SELECT-OPTIONS : so_bismt FOR mara-bismt.
    SELECT-OPTIONS : so_ebeln FOR mseg-ebeln.
    SELECT-OPTIONS : so_verkf FOR ekko-verkf.
    SELECT-OPTIONS : so_bedat FOR ekko-bedat.
    SELECT-OPTIONS : so_mblnr FOR mseg-mblnr.
    SELECTION-SCREEN END OF BLOCK b2.
    *AT SELECTION-SCREEN.
    *SO_BUDAT-HIGH = SO_BUDAT-HIGH + 1.
    Query for getting all the Document Segment: Material data from MSEG *
    Table which having Movement Types 103 and put into it_mseg table,   *
    Filtering by reference document and material document number        *
    Filtering by selection criteria (Material Docu No, Purchase order   *
    and Plant)                                                          *
    START-OF-SELECTION.
      SELECT pmblnr smblnr p~mjahr zeile bwart lfbnr werks lgort ebeln
             ebelp lfpos sjahr dmbtr usnam menge sbudat pmatnr q~mtart
             pablad pwempf
             FROM mseg AS p INNER JOIN mara AS q
               ON pmatnr = qmatnr
               JOIN mkpf AS s ON smblnr EQ pmblnr
               INTO CORRESPONDING FIELDS OF
             TABLE it_mseg_103
             WHERE bwart EQ 103
             AND p~matnr IN so_matnr
             AND werks EQ pr_werks
             AND ebeln IN so_ebeln
             AND q~mtart IN so_mtart
             AND p~mblnr IN so_mblnr
             AND s~budat IN so_budat.
      IF sy-subrc = 0.
      ENDIF.
      SELECT pmblnr smblnr p~mjahr zeile bwart lfbnr werks lgort ebeln
             ebelp lfpos sjahr dmbtr usnam menge sbudat pmatnr q~mtart
             pablad pwempf
             FROM mseg AS p INNER JOIN mara AS q
               ON pmatnr = qmatnr
               JOIN mkpf AS s ON smblnr EQ pmblnr
               INTO CORRESPONDING FIELDS OF
             TABLE it_mseg_105
          WHERE bwart EQ 105 OR bwart EQ 104 OR bwart EQ 124 OR bwart EQ 124
             AND p~matnr IN so_matnr
             AND werks EQ pr_werks
             AND ebeln IN so_ebeln
             AND q~mtart IN so_mtart
             AND p~mblnr IN so_mblnr
             AND s~budat IN so_budat.
      IF sy-subrc = 0.
      ENDIF.
      LOOP AT IT_MSEG_103 INTO WA_MSEG_103.
        READ TABLE IT_MSEG_105 INTO WA_MSEG_105 WITH KEY LFBNR =
                                               WA_MSEG_103-MBLNR.
          IF SY-SUBRC <> 0.
            APPEND WA_MSEG_103 TO IT_OUTPUT.
          ENDIF.
       ENDLOOP.
      SELECT pmblnr smblnr p~mjahr zeile bwart lfbnr werks lgort ebeln  
             ebelp lfpos sjahr dmbtr usnam menge sbudat pmatnr q~mtart
             pablad pwempf
             FROM mseg AS p INNER JOIN mara AS q
               ON pmatnr = qmatnr
               JOIN mkpf AS s ON smblnr EQ pmblnr
               INTO CORRESPONDING FIELDS OF
             TABLE it_mseg_106
             WHERE bwart EQ 106
             AND p~matnr IN so_matnr
             AND werks EQ pr_werks
             AND ebeln IN so_ebeln
             AND q~mtart IN so_mtart
             AND p~mblnr IN so_mblnr
             AND s~budat IN so_budat.
      LOOP AT it_mseg_103 INTO wa_mseg_103.
        READ TABLE it_mseg_106 INTO wa_mseg_106 WITH KEY
                                           lfbnr = wa_mseg_103-mblnr.
        IF sy-subrc = 0.
          APPEND wa_mseg_106 TO it_output.
          clear wa_mseg_106.
        ENDIF.
      ENDLOOP.                        
    Present selection criteria is
    1. Plant
    2. Posting Date
    3. Material Type
    4. Material Group
    5. Material No.
    6. Old Material No.
    7. PO Order No.
    8. Old PO No.
    9. PO Date
    10. Material Document No.
    New selection criteria is
    1. PO no.
    2. PO date
    3. PO value (Ex: >=10000 <=50000)
    4. Purch org
    5. Doc type
    6. Vendor
    7. Material
    8. Account assignment category
    9. Order

    Hi,
    i have to change the selection screen fields with some new fields , but i dont know how to change the selection query accordingly, because i need the same output with the same fields but with a different set of fields in the selection screen.
    The original code is
    TYPES: BEGIN OF ty_output, mblnr TYPE mseg-mblnr, mjahr TYPE mseg-mjahr, zeile TYPE mseg-zeile, bwart TYPE mseg-bwart, werks TYPE mseg-werks, lgort TYPE mseg-lgort, ebeln TYPE mseg-ebeln, ebelp TYPE mseg-ebelp, lfbnr TYPE mseg-lfbnr, lfpos TYPE mseg-lfpos, sjahr TYPE mseg-sjahr, dmbtr TYPE mseg-dmbtr, menge TYPE mseg-menge, matnr TYPE mseg-matnr, mtart TYPE mara-mtart, matkl TYPE mara-matkl, bismt TYPE mara-bismt, meins TYPE mara-meins, bedat TYPE ekko-bedat, waers TYPE ekko-waers, wkurs TYPE ekko-wkurs, verkf TYPE ekko-verkf, * EFFWR TYPE EKPO-EFFWR, tax TYPE ekpo-effwr, maktx TYPE makt-maktx, budat TYPE mkpf-budat, usnam TYPE mkpf-usnam, m_menge TYPE ekpo-menge, ablad TYPE mseg-ablad, wempf TYPE mseg-wempf, END OF ty_output. TYPES: BEGIN OF ty_mseg_103, mblnr TYPE mseg-mblnr, mjahr TYPE mseg-mjahr, zeile TYPE mseg-zeile, bwart TYPE mseg-bwart, werks TYPE mseg-werks, lgort TYPE mseg-lgort, ebeln TYPE mseg-ebeln, ebelp TYPE mseg-ebelp, lfbnr TYPE mseg-lfbnr, lfpos TYPE mseg-lfpos, sjahr TYPE mseg-sjahr, dmbtr TYPE mseg-dmbtr, menge TYPE mseg-menge, matnr TYPE mseg-matnr, mtart TYPE mara-mtart, matkl TYPE mara-matkl, bismt TYPE mara-bismt, meins TYPE mara-meins, bedat TYPE ekko-bedat, waers TYPE ekko-waers, wkurs TYPE ekko-wkurs, verkf TYPE ekko-verkf, * EFFWR TYPE EKPO-EFFWR, tax TYPE ekpo-effwr, maktx TYPE makt-maktx, budat TYPE mkpf-budat, usnam TYPE mkpf-usnam, m_menge TYPE ekpo-menge, ablad TYPE mseg-ablad, wempf TYPE mseg-wempf, END OF ty_mseg_103. TYPES: BEGIN OF ty_mseg_105, mblnr TYPE mseg-mblnr, mjahr TYPE mseg-mjahr, zeile TYPE mseg-zeile, bwart TYPE mseg-bwart, werks TYPE mseg-werks, lgort TYPE mseg-lgort, ebeln TYPE mseg-ebeln, ebelp TYPE mseg-ebelp, lfbnr TYPE mseg-lfbnr, lfpos TYPE mseg-lfpos, sjahr TYPE mseg-sjahr, dmbtr TYPE mseg-dmbtr, menge TYPE mseg-menge, matnr TYPE mseg-matnr, mtart TYPE mara-mtart, matkl TYPE mara-matkl, bismt TYPE mara-bismt, meins TYPE mara-meins, bedat TYPE ekko-bedat, waers TYPE ekko-waers, wkurs TYPE ekko-wkurs, verkf TYPE ekko-verkf, effwr TYPE ekpo-effwr, tax TYPE ekpo-effwr, maktx TYPE makt-maktx, budat TYPE mkpf-budat, ablad TYPE mseg-ablad, wempf TYPE mseg-wempf, END OF ty_mseg_105. *----------------------------------------------------------------------* * DATA: Begin with W_ * *----------------------------------------------------------------------* DATA : it_fcat TYPE slis_t_fieldcat_alv. " alv field catalog DATA : listhead TYPE slis_t_listheader WITH HEADER LINE. DATA: event TYPE slis_t_event WITH HEADER LINE. *----------------------------------------------------------------------* * INTERNAL TABLES: Begin with IT_ * *----------------------------------------------------------------------* DATA : it_output TYPE STANDARD TABLE OF ty_output WITH KEY mblnr mjahr, it_mseg_103 TYPE STANDARD TABLE OF ty_mseg_103, it_mseg_105 TYPE STANDARD TABLE OF ty_mseg_103, it_mseg_106 TYPE STANDARD TABLE OF ty_mseg_103, " LNTDEV1 ADDED it_mara TYPE STANDARD TABLE OF ty_mara, it_ekko TYPE STANDARD TABLE OF ty_ekko, it_ekpo TYPE STANDARD TABLE OF ty_ekpo, it_makt TYPE STANDARD TABLE OF ty_makt, it_mkpf TYPE STANDARD TABLE OF ty_mkpf WITH KEY mblnr. *----------------------------------------------------------------------* * WORKAREAS: Begin with WA_ * *----------------------------------------------------------------------* DATA : wa_fcat LIKE LINE OF it_fcat. DATA : wa_output LIKE LINE OF it_output, wa_mara LIKE LINE OF it_mara, wa_ekko LIKE LINE OF it_ekko, wa_ekpo LIKE LINE OF it_ekpo, wa_makt LIKE LINE OF it_makt, wa_mkpf LIKE LINE OF it_mkpf, wa_mseg_103 LIKE LINE OF it_mseg_103, wa_mseg_105 LIKE LINE OF it_mseg_105, wa_mseg_106 LIKE LINE OF it_mseg_106. " LNTDEV1 ADDED DATA : w_menge LIKE ekpo-menge. *----------------------------------------------------------------------* * FIELD-SYMBOLS: Begin with FS_ * *----------------------------------------------------------------------* *----------------------------------------------------------------------* * PARAMETERS: Begin with PR_ * *----------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. PARAMETERS : pr_werks LIKE mseg-werks OBLIGATORY. SELECT-OPTIONS : so_budat FOR mkpf-budat. SELECTION-SCREEN END OF BLOCK b1. *----------------------------------------------------------------------* * SELECT-OPTIONS: Begin with SO_ * *----------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME. SELECT-OPTIONS : so_mtart FOR mara-mtart. SELECT-OPTIONS : so_matkl FOR mara-matkl. SELECT-OPTIONS : so_matnr FOR mara-matnr. SELECT-OPTIONS : so_bismt FOR mara-bismt. SELECT-OPTIONS : so_ebeln FOR mseg-ebeln. SELECT-OPTIONS : so_verkf FOR ekko-verkf. SELECT-OPTIONS : so_bedat FOR ekko-bedat. SELECT-OPTIONS : so_mblnr FOR mseg-mblnr. SELECTION-SCREEN END OF BLOCK b2. *AT SELECTION-SCREEN. * *SO_BUDAT-HIGH = SO_BUDAT-HIGH + 1. *---------------------------------------------------------------------* * Query for getting all the Document Segment: Material data from MSEG * * Table which having Movement Types 103 and put into it_mseg table, * * Filtering by reference document and material document number * * Filtering by selection criteria (Material Docu No, Purchase order * * and Plant) * *---------------------------------------------------------------------* *---------------------------------------------------------------------* START-OF-SELECTION. *---------------------------------------------------------------------* SELECT p~mblnr s~mblnr p~mjahr zeile bwart lfbnr werks lgort ebeln ebelp lfpos sjahr dmbtr usnam menge s~budat p~matnr q~mtart p~ablad p~wempf FROM mseg AS p INNER JOIN mara AS q ON p~matnr = q~matnr JOIN mkpf AS s ON s~mblnr EQ p~mblnr INTO CORRESPONDING FIELDS OF TABLE it_mseg_103 WHERE bwart EQ 103 AND p~matnr IN so_matnr AND werks EQ pr_werks AND ebeln IN so_ebeln AND q~mtart IN so_mtart AND p~mblnr IN so_mblnr AND s~budat IN so_budat. ** IF sy-subrc = 0. ENDIF. SELECT p~mblnr s~mblnr p~mjahr zeile bwart lfbnr werks lgort ebeln ebelp lfpos sjahr dmbtr usnam menge s~budat p~matnr q~mtart p~ablad p~wempf FROM mseg AS p INNER JOIN mara AS q ON p~matnr = q~matnr JOIN mkpf AS s ON s~mblnr EQ p~mblnr INTO CORRESPONDING FIELDS OF TABLE it_mseg_105 WHERE bwart EQ 105 OR bwart EQ 104 OR bwart EQ 124 OR bwart EQ 124 AND p~matnr IN so_matnr AND werks EQ pr_werks AND ebeln IN so_ebeln AND q~mtart IN so_mtart AND p~mblnr IN so_mblnr AND s~budat IN so_budat. IF sy-subrc = 0. ENDIF. LOOP AT IT_MSEG_103 INTO WA_MSEG_103. READ TABLE IT_MSEG_105 INTO WA_MSEG_105 WITH KEY LFBNR = WA_MSEG_103-MBLNR. IF SY-SUBRC 0. APPEND WA_MSEG_103 TO IT_OUTPUT. ENDIF. ENDLOOP. SELECT p~mblnr s~mblnr p~mjahr zeile bwart lfbnr werks lgort ebeln ebelp lfpos sjahr dmbtr usnam menge s~budat p~matnr q~mtart p~ablad p~wempf FROM mseg AS p INNER JOIN mara AS q ON p~matnr = q~matnr JOIN mkpf AS s ON s~mblnr EQ p~mblnr INTO CORRESPONDING FIELDS OF TABLE it_mseg_106 WHERE bwart EQ 106 AND p~matnr IN so_matnr AND werks EQ pr_werks AND ebeln IN so_ebeln AND q~mtart IN so_mtart AND p~mblnr IN so_mblnr AND s~budat IN so_budat. LOOP AT it_mseg_103 INTO wa_mseg_103. READ TABLE it_mseg_106 INTO wa_mseg_106 WITH KEY lfbnr = wa_mseg_103-mblnr. IF sy-subrc = 0. APPEND wa_mseg_106 TO it_output. clear wa_mseg_106. ENDIF. ENDLOOP.
    Present selection criteria is 1. Plant 2. Posting Date 3. Material Type 4. Material Group 5. Material No. 6. Old Material No. 7. PO Order No. 8. Old PO No. 9. PO Date 10. Material Document No. New selection criteria is 1. PO no. 2. PO date 3. PO value (Ex: >=10000 <=50000) 4. Purch org 5. Doc type 6. Vendor 7. Material 8. Account assignment category 9. Order
    I hope the code is readable now.
    Thanks in advance.

  • Select query output as a separate column

    Hi,
    How to represent the different values in the same table column as an output in the separate columns using the select query ?
    For example,
    Table "A" has column "col1"
    col1 contains values as below:
    col1
    ====
    1
    2
    3
    4
    5
    now want to display the above column values as a separate column as the output.
    col_alias1 col_alias2 col_alias3 col_alias4 col_alias5
    1 2 3 4 5
    How it can be done ?
    Regards
    Edited by: user640001 on Jan 31, 2011 11:19 PM

    Hi,
    You can try something mentioned in this link.
    http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php
    or try this
    with t as (
    select 'PID12' as product_id,  1 as status_id, 'Time1' as time from dual union all
    select 'PID13', 2, 'Time2' as time from dual union all
    select 'PID14', 3, 'Time3' as time from dual)
    select min(case when status_id = 1 then product_id || ' ' || time end) as Recieved, min(case when status_id = 2 then product_id || ' ' || time end) as Accepted,
           min(case when status_id = 3 then product_id || ' ' || time end) as Delivered from tcheers
    VT
    Edited by: VT on Feb 1, 2011 5:28 PM

  • Select query output needed

    Hi
    SELECT CUREPRESS,PRODUCTIONCODE,YYYYMMDD STARTDATE,
    CASE
    WHEN SCHEDULE1 = 0 AND SCHEDULE2 = 0 AND SCHEDULE3 >0 AND ROUND(30-SCHEDULE3/CURECAPACITY*24,0)>24 THEN
              ROUND(30-(SCHEDULE3/CURECAPACITY*24),0)-24
    WHEN SCHEDULE1 = 0 AND SCHEDULE2 = 0 AND SCHEDULE3 >0 AND ROUND(30-SCHEDULE3/CURECAPACITY*24,0)<=24 THEN
              ROUND(30-SCHEDULE3/CURECAPACITY*24,0)
    WHEN SCHEDULE1 = 0 AND SCHEDULE2 >0 AND SCHEDULE3 >0 THEN
    ROUND(22-SCHEDULE2/CURECAPACITY*24,0)
    WHEN SCHEDULE1 > 0 AND SCHEDULE2 >0 AND SCHEDULE3 >0 THEN
    ROUND(14-SCHEDULE1/CURECAPACITY*24,0)
    END STARTDATE1
    FROM (
    SELECT curepress,PRODUCTIONCODE,YYYYMMDD,schedule1,schedule2,schedule3,curecapacity
    FROM ORGCURESCHEDULEDAY A
    WHERE YYYYMMDD = (SELECT MIN(YYYYMMDD)
    FROM ORGCURESCHEDULEDAY B
    WHERE A.PRODUCTIONCODE=B.PRODUCTIONCODE
    AND A.CUREPRESS =B.CUREPRESS )
    )GROUP BY PRODUCTIONCODE,CUREPRESS,YYYYMMDD,SCHEDULE1,SCHEDULE2,SCHEDULE3,CURECAPACITY
    ORDER BY CUREPRESS,PRODUCTIONCODE
    The above query gives 4 column values like..!!
    curepress productioncode startdate startdate1
    0101      IO72A     20110412     22 -------> case statement gives this value as startdate1
    0101      OQ36A     20110221     6
    I want to display the output like startdate1 as (startdate + statedate1)
    curepress productioncode startdate startdate1
    0101      IO72A     20110412     20110412 22.00
    0101      OQ36A     20110221     20110221 06.00
    please help me ...!!
    regards
    Karanam

    Please don't duplicate your questions.
    select query giving error
    Locking this thread.

  • Select Query to achieve specified output (Script given)

    Hello all,
    SOURCE DATA
    Given below is the data present in the table:
    EMP_ID YEAR SAL
    10 1997 1400.00
    10 2001 1500.00
    10 2003 1600.00
    10 2004 1700.00
    10 2006 1800.00
    20 2003 2500.00
    20 2005 2800.00
    20 2006 3000.00
    REQUIREMENT
    Write a select query to return rows with consecutive years,
    if in case the year is not present for a particular employee
    then that year must be populated with the previous years's data of the same employee
    example - For the employee 10, for the years 1998, 1999, 2000 are populated
    with the data of 1997
    Pls let me know if you need any information from my end.
    Thank you.
    EMP_ID YEAR SAL
    10 1997 1400.00
    10 1998 1400.00
    10 1999 1400.00
    10 2000 1400.00
    10 2001 1500.00
    10 2002 1500.00
    10 2003 1600.00
    10 2004 1700.00
    10 2005 1700.00
    10 2006 1800.00
    20 2003 2500.00
    20 2004 2500.00
    20 2005 2800.00
    20 2006 3000.00
    SCRIPT:
    CREATE TABLE temp (
    emp_id NUMBER(4),
    year NUMBER(4),
    sal NUMBER(10,2),
    CONSTRAINT pk_temp PRIMARY KEY (emp_id, year)
    INSERT INTO temp (emp_id, year, sal) VALUES (10, 1997, 1400);
    INSERT INTO temp (emp_id, year, sal) VALUES (10, 2001, 1500);
    INSERT INTO temp (emp_id, year, sal) VALUES (10, 2003, 1600);
    INSERT INTO temp (emp_id, year, sal) VALUES (10, 2004, 1700);
    INSERT INTO temp (emp_id, year, sal) VALUES (10, 2006, 1800);
    INSERT INTO temp (emp_id, year, sal) VALUES (20, 2003, 2500);
    INSERT INTO temp (emp_id, year, sal) VALUES (20, 2005, 2800);
    INSERT INTO temp (emp_id, year, sal) VALUES (20, 2006, 3000);
    COMMIT;
    Thanks and Regards,
    Muthu
    Message was edited by:
    [email protected]

    Hi,
    What about this :
      1  select emp.emp_id, emp.year,
      2         case when temp.sal is null then (select max(sal) keep (dense_rank last order by year)
      3                                          from   temp
      4                                          where  emp.emp_id=temp.emp_id
      5                                          and    emp.year>temp.year
      6                                          and    temp.sal is not null)
      7     else temp.sal end sal
      8  from
      9  (select emp_year.emp_id, y.year
    10   from (select emp_id,
    11                min(year) min_year,
    12                max(year) max_year
    13         from temp group by emp_id) emp_year,
    14   (select min_year+rownum-1 year
    15    from (select min(year) min_year, max(year) max_year from temp)
    16    connect by level <=max_year-min_year+1) y
    17   where y.year>=emp_year.min_year
    18   and   y.year<=emp_year.max_year) emp,
    19  temp
    20  where emp.emp_id=temp.emp_id(+)
    21  and   emp.year=temp.year(+)
    22* order by 1,2
    SQL> /
        EMP_ID       YEAR        SAL
            10       1997       1400
            10       1998       1400
            10       1999       1400
            10       2000       1400
            10       2001       1500
            10       2002       1500
            10       2003       1600
            10       2004       1700
            10       2005       1700
            10       2006       1800
            20       2003       2500
            20       2004       2500
            20       2005       2800
            20       2006       3000
    14 rows selected.
    SQL> select * from temp order by 1,2;
        EMP_ID       YEAR        SAL
            10       1997       1400
            10       2001       1500
            10       2003       1600
            10       2004       1700
            10       2006       1800
            20       2003       2500
            20       2005       2800
            20       2006       3000
    8 rows selected.Nicolas.

  • CohQL command line Tool select query output in file (unix)

    Ho to insert Coherence CohQL command line Tool select query result in file in unix platform. I have tried below query but failed
    query.cmd -s -c -l "select * from 'dist-example'" >myOutput.txt
    I also tried below query, result is displayed in command line but no file is created in folder.
    select * from dist-example >myOutput.txt
    I also tried one more query, result is displayed in command line but no file is created in folder.
    select * from dist-example >/opt/bin/myOutput.txt

    Hi,
    In Unix you should use query.sh instead of query.cmd
    In your case then the command would be smething like:
    query.sh -s -c -l "select * from 'dist-example'" >myOutput.txt
    You can also try using '>>' instead of '>' in order to redirect to a text file.
    Hope this helps.
    -Cris

  • Dynamic Select query question

    I have a select query which uses a session variable in the
    where clause like so:
    select employee_lastname
    from employee
    where employee_id IN (#session.ids#)
    This runs fine if I have only 1 employee id in session.ids,
    but if I have multiple (i.e. 22,26,49) it crashes. Do I need to do
    some sort of list or string conversion on my session variable?
    Thanks in advance!
    Dave

    I re-read my reply and it came off as if i didn't read your
    (op) last post, sorry about that. I attempted to recreate your
    effect (see code below) I did a 'quick' session on the output page;
    <cfquery datasource="#DSN#" name="test">
    select busName, ID
    from Hernandomembers
    </cfquery>
    <body>
    <form id="form1" name="form1" method="post"
    action="delme.cfm">
    <label>
    <select name="list" id="select" multiple="multiple">
    <cfoutput query="test">
    <option value="#ID#">#busName#</option>
    </cfoutput>
    </select>
    </label>
    <label>
    <input type="submit" name="button" id="button"
    value="Submit" />
    </label>
    </form>
    Collects the selections of members from my DB and sends it to
    a page with ....
    <cfset SESSION.employee_ids=StructNew()>
    <cfset SESSION.employee_ids="#form.list#">
    <cfoutput>#SESSION.employee_ids#<br />
    </cfoutput>
    <cfquery datasource="#DSN#" name="test">
    select busName,ID
    from Hernandomembers
    where ID IN(#SESSION.employee_ids#)
    </cfquery>
    <cfoutput query="test">
    #ID# - #busName#<br />
    </cfoutput>
    And it works just as yours should.. So i guess I'd still like
    to see how your getting the selections into the session, if not the
    same way as me.

  • Select query differences between oracle 9 and oracle 8.

    Hi,
    I have a problem using the select query between oracle 7 and oracle 9i I don't have the same result :
    ex:
    With oracle7
    SQL> select 'champ1','champ2' from DUAL;
    'CHAMP 'CHAMP
    champ1 champ2
    With Oracle 9
    SQL> select 'champ1','champ2' from DUAL;
    'CHAMP1' 'CHAMP2'
    champ1 champ2
    So Can someone tell me how to solve this problem ? Is there a parameter in oracle 9 to set?
    Thanx.

    Whenever you are posting anything over internet forums like this - you should be very careful about not just posting the details which requires to solve the problem - also should be sensible about your question.
    This is not at all desired when you are posting such question. It may be because - you may not well aware of the fact.
    My suggestion is -> First Go through the basics Of SQL in general.
    Then go for any specific product like Oracle/ SQL Server/ Sybase etc.
    And, finally learn the advanced commands of that DB.
    You asked it - may be you thought the difference in output in terms of lines. But, that is not your actual output. That is the graphical display part only.
    Anyway,
    You can get the quite familier output by first type the following command ->
    set lin 310Regards.
    Satyaki De.

  • Problem with JOINs in SELECT query

    The parameter  wa_dob-e_dob is not getting its definition ....
    it contains DOB in current yr.
    As i am using Joins also Workarea.... so is it coz Joins & WA cant be used simultaneously in a SELECT query....
    Is there any other option to do the same...?
    *  Global Structure
    TYPES : BEGIN OF t_data ,                     "Structure
            emp_dob TYPE pa0002-gbdat,
            emp_Mailid TYPE pa0105-usrid,
           END OF t_data,
           BEGIN OF t_dob,
           e_dob TYPE pa0002-gbdat,
           e_pernr type pa0002-pernr,
           END OF t_dob.
    *  Global Internal Tables (I_)
    DATA : i_data TYPE TABLE OF t_data,           "Internal Table for output data
           i_dob TYPE TABLE OF t_dob.             "Internal table for Dob
    *  Global Work Area (WA_)
    DATA : wa_data TYPE  t_data,                  "Work Area for output data
           wa_dob TYPE  t_dob.                    "Work Area for Dob
    *this is the query where i am getting error
    * Field "WA_DOB-E_DOB" Not found.
    LOOP AT i_dob INTO wa_dob.
        SELECT pa0002~gbdat pa0105~usrid INTO CORRESPONDING FIELDS OF wa_data
          FROM pa0002
          INNER JOIN pa0105
          ON pa0002~pernr = pa0105~pernr
          WHERE  pa0105~subty EQ 'MAIL' AND
         wa_dob-e_dob BETWEEN w_sysdate AND w_edit_sysdate.
        ENDSELECT.
        APPEND wa_data TO i_data.
        CLEAR wa_data.
        CLEAR wa_dob.
        CLEAR l_temp_dob.
      ENDLOOP.

    Hi,
    you are checking the work area in the SELECT. IN WHERE condition of the select u should specify fields in either of the tables pa0002 , pa0105 for data population.
    The select is on the database table and not on the work area.for checking the data in the work area do this way:
    loop at it_dob into wa_dob.
    if wa_dob-e_dob between the range u want (w_sysdate AND w_edit_sysdate)
    endif.
    endloop.
    ie: wa_dob-e_dob >w_sysdate AND wa_dob-e_dob < w_edit_sysdate or
        wa_dob-e_dob < w_sysdate AND wa_dob-e_dob  >  w_edit_sysdate
    watever ur requirement is..
    regards,
    madhu

Maybe you are looking for