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.
Similar Messages
-
How to execute SQL SELECT QUERY using VB in FDMEE
Hi Experts,
We are struggling with converting some of the FDM VB Scripts to FDMEE. While in FDM it was possible to simply create a RS Object, it doesnt seem to work in FDMEE. Can you please help me with some code samples that will help me execute SELECT Query and taking the output of the Query to Appropriate Variables.
Also it seems that the Accelerators in erstwhile FDM are no longer available in FDMEE. So we have to re-write our entire code all over again
ThanksThere are plenty of code examples in the FDMEE guide and al of the API methods are documented for both Visual Basic and Jython. Personally, I think, if you are having to re-factor your code because you have migrated from FDM to FDMEE I would look at doing it in Jython not the VB API. Jython is the scripting language that will be the mainstream choice going forward and athough the VB API is present to ease the move from FDM to FDMEE I wouldn't be sure how long it will be supported and you therefore may have to perform another code migration not too far down the line. Jython is a very powerful and easy to use if you spend a bit of time familiarizing yourself with the syntax and also opens up the opportunity to leverage the myriad of Java classes out there. Also all of your import scripts have to be in Jython with no VB alternative.
One other piece of advice is do not try and replicate allyour old code line for line. Look at what you were trying to achieve, assess whether it is still relevant or can it be faciliated by the new extended out of the box constructs and functionality FDMEE offers over classic FDM. -
Hi,
Can I know the order in which Oracle outputs the result set of a simple SELECT query ? Will the output always be same as the order in which rows got inserted ?
Please advise,
Thanks,
SmithaIf you include an ORDER BY than the order of the result set is known.
It will not always be the same as the order in which rows got inserted. -
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 use a SELECT QUERY using fdmAPI.executeDML in FDMEE Jython Script?
Hi,
Just the way we use DELETE and INSERT Statement using fdmAPI.executeDML, is there any way of executing a SELECT Statement and get the output in variables?
I would like to refrain from using import java.sql and enter the connection details in a script.I would like to rather use SELECT directly if possible. I want to read the TDATASEG.DATAKEY column and use it for some custom process in a custom table
Thanks!Hi SH,
Somehow after upgrading to FDMEE 11.1.2.3.530, this is not working.
I get an error saying
while (RSTxnType.Next()):
Attribute Error: 'oracle.jdbc.driver.OracleResultSetImpl' object has no attribute 'Next' -
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 | | ',' | | 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
PramodHi 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 -
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!!
ThanksHi
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 -
Decode a blob field with a C script in a select query
HI
I have a coded field in a table which has been populated using 3rd party software. I need to decode this field so that i could rub a few reports. I have a C script that can decode this field but do not know how to call it up from a select statement.
Is there any way of decoding this by calling up the C script in a select query.
Thanks.can you duplicate this code into a PL/SQL function?
Or else, you might try configuring your external procedures setup and call this routine (if it was available as a shared library or a DLL). -
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. OrderHi,
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 PMHi,
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 -
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
KaranamPlease don't duplicate your questions.
select query giving error
Locking this thread. -
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 SharmaWITH 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 -
Limiting Select query to given number of hits in select paarameter.
Hello,
I have to selec data from a custom table.
SELECT-OPTIONS : S_RECNO FOR ZCUST-RECNO,
parameters: p_maxhit(8).
SELECT * FROM ZCUST into TABLE it_ZCUST
where recno in s_recno.
Now in the select parameters I have option for Maximum data records. How can I limit above selection to maximum hit specified in select parameter (p_maxhit) ?
Regards,
Jainam.try this way:
TYPES: BEGIN OF it_vbak,
vbeln TYPE vbak-vbeln,
END OF it_vbak.
DATA: lt_vbak TYPE STANDARD TABLE OF it_vbak,
wa_vbka TYPE it_vbak.
SELECT vbeln UP TO 3 ROWS FROM vbak
INTO TABLE lt_vbak.
LOOP AT lt_vbak INTO wa_vbka.
WRITE: sy-tabix.
ENDLOOP. -
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.txtHi,
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
Maybe you are looking for
-
I cannot send but I do receive. AOL is the server and I have matched all my settings with my map book pro. and I have done the aol assistant manager. still not working any ideas?
-
Hi, I am totally confused by this strange error. When I tried using the draw method of BitmapData to draw a movieclip symbol of my project, it seems to work fine locally. However, as I uploaded the published .swf file to my web server and lau
-
I just received my new Mac Mini and want to migrate files from my Time Machine. I assume the old OS is on Time machine and I don't want it to supersede the new Yosemite OS. Do I have to Do anything special?
-
Hi , Could someone tell me the std extractor for table CABN or how to find the extractor for the table. Thanks Jay.
-
Hi All, I need to customize 'Personalize page' to have it appear user friendly. Is it possible to achive by customizing existing par file for page.If it is possible, which par file I need to customize. Please give me some idea on this. Thanks & Rega