Equi join-same output get from subquery??
Hi,
I written one equi-join query, same ouput can i get from sub query??.
select e.empno,e.ename from emp e,dept d
where e.deptno=d.deptno;
Regards,
Venkat.
Really have no idea what you mean.
If you need those d. columns, just add them to your select list.
There's no subquery here at all.
Similar Messages
-
May I know the difference in processing time or execution time when we use the Equi-Join and when we use Suquery in Search criteria.
Plz help, because the query (137 query) which we have written contains Subquery and fetching thousands of records, taking processing time 10 min.
We also altered the query batch with Equi-Joins and it is taking only 5 min. So can we say that Equi-Joins are much faster then Subquery.
Do Reply.
Thank in Advance
Vishal
(Database Developer)In theory, it shouldn't matter. If you are able to figure out how to unnest subquery, the optimiser query transformation engine would likely to be able to do that that as well.
-
Get multiple Input/Output Stream from same socket ?
For a better express of my problem i will put my test example
I have those 4 classes
package test;
import...
public class ReaderExecutor extends Thread{
private InputStream in = null;
private static int defaultID = 0;
private int ID = getID();
public ReaderExecutor(InputStream in){
this.in = in;
public void run(){
try {
int c ;
while ((c=in.read())!=-1)
System.out.println("ReaderThread " + this.ID + ":" + c);
catch (IOException e) {
System.out.println("ReaderThread "+this.ID+" stopped !");
private static int getID(){
return defaultID++;
package test;
import...
public class WriterExecuter extends Thread{
OutputStream out = null;
private static boolean odd = true;
private boolean isOdd ;
public WriterExecuter(OutputStream out) {
this.out = out;
isOdd = odd;
odd = !odd;
public void run(){
try{
for (int i = isOdd?1:2;i<10;i+=2){
System.err.println(i);
out.write(i);
}catch(Exception e){
System.out.println("WriterThread stopped !");
package test;
import...
public class Main {
public Main() {
public static void main(String[] args) throws Exception {
try{
ServerSocket ss = new ServerSocket(9090);
System.out.println("Ascult ... ");
Socket client = ss.accept();
new ReaderExecutor(client.getInputStream()).start();
//Thread.sleep(2000);
new ReaderExecutor(client.getInputStream()).start();
}catch (Exception e){
e.printStackTrace();
package test;
import...
public class Main1 {
public Main1() {
public static void main(String[] args) {
try{
Socket s = new Socket("localhost",9090);
WriterExecuter t= null ;
t = new WriterExecuter(s.getOutputStream());
t.start();
t = new WriterExecuter(s.getOutputStream());
t.start();
}catch(Exception e){
e.printStackTrace();
}Now if i run successive Main , Main1 i get this output
Ascult ...
ReaderThread 0:0
ReaderThread 1:0
ReaderThread 0:0
ReaderThread 1:0
ReaderThread 0:0
ReaderThread 1:0
ReaderThread 0:0
ReaderThread 1:0
ReaderThread 0:0
ReaderThread 0 stopped !
ReaderThread 1 stopped !The question is can i get other Input/Output individual streams with a separate logic functionality from the same socket?
From this example it seems i can't :(
Thx
AlexFor what you are trying to do the simplest solution is to have one socket per "stream" that is the way they are designed to be used.
However, you can multiplex multiple stream over a single socket, but you have do the coding yourself or use a solution which does this for you e.g. JMS. (There is no support at the socket level for this) -
Same output type getting triggered twice upon saving the document
Dear SDNers,
I have a shipment Document.
Upon saving it the same Output type gets generated twice. ( in a gap of 1 second)
Clarification needed:
1. Please guide as to where i need to look for the error as to why same output is getting triggered twice simultaneously( gap of 1 second).
2. i have checked in the processing routine associated with it. Is it the right place?
P.S. I had posted another similar thread. Closed it since i felt it lacked clarity.
Regards,
SuryaD.Hi,
Fetch the data from Nast table for that document number
Check the vstat . if it is 0 then use the below function module.
CALL FUNCTION 'RV_MESSAGE_SET_PROCESS_STATE'.
Then it will update the existing single record for the first time .
Next time on wards you will get the multiple records for te document in the Nast table.
For that you need to change the VSTAT status as per the requirement.
Hope this might solve your problem.
With Regards,
Sumodh.P -
Row should be locked before getting an output stream from an attribute
I have table Worker with photo attribute (its database type is ORDSYS.ORDIMAGE, entity attribute type is OrdImageDomain).
I use standard display and edit renderer for displaying and changing ord-image attribute.
If I add new worker and set him photo, everything is OK.
But if I edit some existing worker and set them photo, while posting to database exception is thrown.
This problem began some time ago, after made some changes (like upgrade JDev, changing some AM configuration properties, and so on...), but I ca't reproduce right behaviour.
I use JDeveloper 9.0.3.2, database is Oracle8i Release 8.1.6.0.0, I tried reserved and stateful AM mode both (the same bad result), pesimistic locking.
Error occures inside Tomcat 4.1.27 and OC4J both.
Does anybody know any hint about this error...?
Than you very much
Jan
PS. Error message datail:
oracle.jbo.DMLException: JBO-26041: Failed to post data to database during "Update": SQL Statement "JBO-25040: Row should be locked before getting an output stream from an attribute.".
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:4542)
at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:4422)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:3544)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2290)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2232)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1527)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:1693)
at oracle.jbo.html.jsp.datatags.CommitTag.doStartTag(CommitTag.java:45)
## Detail 0 ##
oracle.jbo.JboException: JBO-25040: Row should be locked before getting an output stream from an attribute.
at oracle.jbo.domain.BaseLobDomain.getOutputStream(BaseLobDomain.java:729)
at oracle.ord.im.OrdDomainUtil.loadAndSetProperties(OrdDomainUtil.java:656)
at oracle.ord.im.OrdImageDomain.saveToDatabase(OrdImageDomain.java:2325)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:4521)
at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:4422)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:3544)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2290)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2232)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1527)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:1693)
at oracle.jbo.html.jsp.datatags.CommitTag.doStartTag(CommitTag.java:45)Thanks for replay.
Yes, I use JDev wizard generated BC4J JSP app (it was generated inside 9.0.2 and then migrated to 9.0.3).
I changed inside it many things, but I thing no important.
I have for example copying record to history while editing, but when I disable it, the same problem occures.
I changed database - 8.1.7 to 9.2.0.2.0, but the same problem.
Any hint?
Thanks for any comment. -
Both equii join and natural join are equall.will both display same output
both equii join and natural join are equall.will both display same
output?Hi ,
What is preventing you to do a small test and check yourself?
See the below link.
http://psoug.org/reference/joins.html
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> CREATE TABLE parents (
2 person_id NUMBER(5),
3 adult_name VARCHAR2(20),
4 comments VARCHAR2(40))
5 PCTFREE 0;
Table created.
SQL>
SQL> CREATE TABLE children (
2 parent_id NUMBER(5),
3 person_id NUMBER(5),
4 child_name VARCHAR2(20),
5 comments VARCHAR2(40))
6 PCTFREE 0;
Table created.
SQL>
SQL> INSERT INTO parents VALUES (1, 'Dan', 'So What');
1 row created.
SQL> INSERT INTO parents VALUES (2, 'Jack', 'Who Cares');
1 row created.
SQL> INSERT INTO children VALUES (1, 2, 'Anne', 'Who Cares');
1 row created.
SQL> INSERT INTO children VALUES (1, 1, 'Julia', 'Yeah Right');
1 row created.
SQL> INSERT INTO children VALUES (2, 1, 'Marcella', 'So What');
1 row created.
SQL> COMMIT;
Commit complete.
SQL>
SQL> SELECT adult_name, child_name
2 FROM parents NATURAL JOIN children;
ADULT_NAME CHILD_NAME
Jack Anne
Dan Marcella
SQL> select adult_name,child_name from parents a, children b
2 where a.person_id=b.person_id;
ADULT_NAME CHILD_NAME
Jack Anne
Dan Julia
Dan Marcella
SQL> ed
Wrote file afiedt.buf
1 select adult_name,child_name from parents a, children b
2* where a.person_id=b.parent_id
SQL> /
ADULT_NAME CHILD_NAME
Dan Anne
Dan Julia
Jack Marcella
SQL>Regards,
Avinash -
How to get multiple html output file from an xml document via xslt?
Hi,
the purpose is to generate multiple html output file from one xml file
depending on special tag.
exp: i have an xml file which contains sevreral articles so how to get each article section in an independant html file
Thanks for helpNot a standard feature of XSLT. But Michael Kay's XSLT implementation, SAXON, provides that as an extension. Get it here:
http://saxon.sourceforge.net/ -
How can I get iCal not to show the same birthday dates from my iCloud
How can I get iCal not to show the same birthday dates from my iCloud?
You don't need them stored locally for a backup. You can manually export your contacts as archive for backup. Also, if you are backing up with Time Machine, you already have a backup. If your hard drive crashed, you would have to rely on your backup or iCloud anyway.
So, if you're comfortable with that, sign out of iCloud. Choose to delete contacts from the computer. When you sign back into iCloud, you should only have iCloud contacts listed in AB. When you open iCal, you should only have one listing for birthdays.
The other alternative is to disable the Birthday c.alendar and create one manually. -
Question about creating multiple output files from same query
I have a query like this:
select * from emp;
ename empno deptno
Scott 10001 10
Tiger 10002 10
Hanson 10003 20
Jason 10004 30
I need to create multiple output files in xml format for each dept
example:
emp_dept_10.xml
emp_dept_20.xml
emp_dept_30.xml
each file will have the information for employees in different departmemts.
The reason I need to do this is to avoid executing the same query 200 times for generating the same output for different departments. Please let me know if it is practically possible to do this.
Any input is greatly appreciated.
Thanks a lot!!You can write a shell script to generate the multiple spools files for the same output. Below script may helps you.
#====================
#!/bin/bash
n=0
while [ $n -le 20 ]
do
n=`expr $n + 1`
sqlplus -s system/manager <<EOF
spool emp_dept_$n.xml
select count(1) from tab;
spool off
EOF
done
#==================== -
Same output type gets generated twice when we create PO
Hi,
I have a problem. When I create PO the same output type ZEA gets generated twice. It should come only once. What could be the problem?
Please give me some pointers.
Regards
PurvaHi
goto the PO in ME22N
goto Messages
select the Output type and check the settings in Communication Method and Further data about the messages etc and other print parameters
Regards
Anji -
Invoice Print and Email from same output type
Hi All,
We want to print invoice and send an email to customer. Can this be acheived using same output type??
If yes, plz guide how can we do this..
I check some queries in forums but they had coding etc. Can we do it with config??
Regards,
Satish.I'm not sure why you wouldn't configure two output types. However, you can do this with one output type in a number of ways:
1. Use a speciial function output (transmission medium 8).
This allows you to write ABAP code to anything you want. However, you have to manage print contols on yur own as the special function transmssion medium doesn't allow you to specify these on he condition record.
2. Change the driver program for the print output for the output to send emails.
You would need to handle the email routing on your own because the output records for print are just for printing. -
Get all output-soundsignals from the soundcard
I want to display all output-audiosignals from the soundcard. How can I realize that?
So far I tried that with the Java Sound API and the following code:
audioFormat = getAudioFormat();
dataLineInfo = new DataLine.Info(TargetDataLine.class, audioFormat);
targetLine = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
targetLine.open(audioFormat);
targetLine.start();
targetLine.read(dataBuffer, 0, numOfBytes);
private static AudioFormat getAudioFormat(){
float sampleRate = 8000.0F;
int sampleSizeInBits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = false;
return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
With that I got different results on different computers. Sometimes it displays data
although there isn't any output on my soundcard and on some other computers it displays nothing.
I've already read a lot of tutorials, but they didn't help me.
Thank you.I want to display all output-audiosignals from the soundcard. How can I realize that?
So far I tried that with the Java Sound API and the following code:
audioFormat = getAudioFormat();
dataLineInfo = new DataLine.Info(TargetDataLine.class, audioFormat);
targetLine = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
targetLine.open(audioFormat);
targetLine.start();
targetLine.read(dataBuffer, 0, numOfBytes);
private static AudioFormat getAudioFormat(){
float sampleRate = 8000.0F;
int sampleSizeInBits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = false;
return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
With that I got different results on different computers. Sometimes it displays data
although there isn't any output on my soundcard and on some other computers it displays nothing.
I've already read a lot of tutorials, but they didn't help me.
Thank you. -
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. -
Help needed on Equi join?
I have 3 views and in that common column datatype is varchar. I have to use equi join to get the data from 3 view.
In 3 views total records are 23668,111,3033
when i wrote the join i am getting the output in lakhs. I don't whether the output is right or not.
Please guide me on this.
Waiting for valuable replies.
Thanks and Regards
Sridhar.If you're returning more rows than you expect, it means that you have 1 to many or even many to many join.
I would re-write your query this way:
SELECT p.facid, rxs.rxno, rxs.rxbatch,patlname,patfname,InitReview,LabelPrintedOn,packed,PlacedInTote,street1,zip,BatchDescr
FROM Patients p
INNER JOIN rX.dbo.rxs rxs
ON p.facid = rxs.FacID
INNER JOIN rX.dbo.RxBatches Batch
ON p.facid= Batch.FacID
WHERE p.facid in('CRH','LSRX') and Batch.batchdescr LIKE 'STAT%'
I also suggest to add alias to every column in your query. Even if the column belongs to a particular table, adding the alias in front of it will make maintenance of this query much easier. Say, I have no idea if BatchDescr field belongs to the second table
RxBatches or rxS, so I made a guess.
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articles -
Equi join as well as outer join
Hi all,
I have two table. They have common fields case_id and issuer_id.
I want to retrieve the data from two tables first based on case_id(equi join) and then issuer_id(outer join). The query like this
select t1.case_id,t1.case_name,t2.issuer_name from case t1,issuers t2
where t1.case_id=t2.case_id and t1.issuer_id=t2.issuer_id(+)
The above query displays error
so, My query first gets the data based on equijoin , then i want to apply outer join on that same tables.
plz try to solve the above problemSQL> create table mycase
2 as
3 select 1 case_id, 'NAME1' case_name, 1 issuer_id from dual union all
4 select 2, 'NAME2', 2 from dual union all
5 select 3, 'NAME3', 3 from dual union all
6 select 4, 'NAME3', 4 from dual
7 /
Tabel is aangemaakt.
SQL> create table issuers
2 as
3 select 1 case_id, 1 issuer_id, 'ISSUER1' issuer_name from dual union all
4 select 2, 3, 'ISSUER2' from dual union all
5 select 3, 4, 'ISSUER3' from dual union all
6 select 4, 6, 'ISSUER4' from dual
7 /
Tabel is aangemaakt.
SQL> select t1.case_id,t1.case_name,t2.issuer_name from mycase t1,issuers t2
2 where t1.case_id=t2.case_id and t1.issuer_id=t2.issuer_id(+)
3 /
CASE_ID CASE_ ISSUER_
1 NAME1 ISSUER1
1 rij is geselecteerd.The above query doesn't make sense: the outer join predicate says "if I don't find a matching issuer_id, Oracle please make up an entire null issuer record for this one". Then the other predicate says "t1.case_id=t2.case_id" where a null value for t2.case_id will never match t1.case_id and will be excluded from the result set. Effectively you could drop the plus sign in this query to achieve the same result.
Maybe you want the query below?
SQL> select t1.case_id
2 , t1.case_name
3 , case t1.issuer_id
4 when t2.issuer_id then t2.issuer_name
5 else null
6 end issuer_name
7 from mycase t1
8 , issuers t2
9 where t1.case_id = t2.case_id
10 /
CASE_ID CASE_ ISSUER_
1 NAME1 ISSUER1
2 NAME2
3 NAME3
4 NAME3
4 rijen zijn geselecteerd.Regards,
Rob.
Maybe you are looking for
-
Pls this note is the most important thing for me now, is all I have for my exams tomorrow 16.04.2015. Is my two months of study, and I'll be in a big trouble if I don't get it. Pls I need your help
-
Linksys WVC554GCA Wireless Issue
Hello, I cannot connect wirelessly to my WVC554GCA camera. The wired connection works without issue. Here's my configuration: 1. Security set for WPA/WPA2 personal. The same passphrase is used on the camera and airport extreme. 2. A static IP was ass
-
Pre-Populate adapter for Oracle connector
Hi , We are using OIM to manage Oracle and AD users. I have a requirement to provision users to both the target system , For AD connector, predefine pre-populate adapters are available for populating login id , first name , last name etc-from OIM use
-
My iphone 4 music player doesn't display the arabic songs names ?
My iphone 4 music player doesn't display the ARABIC songs names ?
-
Hide locked users in UWL people search
Hi, I would like to hide the locked users from displaying in the UWL people search results for example while selecting an assignee during Forward task or selecting a nominee during Substitution. Based on the SDN search does not looks like we can modi