Performing calculations on characteristics, using the results as query rows
I want to perform a calculation on 2 date fields (find the number of years separating the dates). These 2 date fields are characteristics. I want to use the result field as a row in the query. How to do this?
Do I have to use a calculated key figure and then converted that key figure into a characteristic to use in a row?
Thanks
Sanjeev
Hi,
You need to use the Condition on this Date difference column.
http://help.sap.com/saphelp_bw31/helpdata/en/73/702e39074dc93de10000000a114084/frameset.htm
With rgds,
Anil Kumar Sharma .P
Message was edited by:
Anil Kumar Sharma
Similar Messages
-
The attached file is work inprogress, with some dummy data sp that I can test it out without having to connect to equipment.
The second tab is the one that I am having the problem with. the output array from the replace element appears to be starting at the index position of 1 rather than 0 but that is ok it is still show that the new data is placed in incrementing element locations. However the main array that I am trying to build that is suppose to take each new calculation and place it in the next index(row) does not ap
pear to be working or at least I am not getting any indication on the inidcator.
Basically what I am attempting to do is is gather some pulses from adevice for a minute, place the results for a calculation, so that it displays then do the same again the next minute, but put these result in the next row and so on until the specifiied time has expired and the loop exits. I need to have all results displayed and keep building the array(display until, the end of the test)Eventually I will have to include a min max section that displays the min and max values calculated, but that should be easy with the min max function.Actually I thought this should have been easy but, I gues I can not see the forest through the trees. Can any one help to slear this up for me.
Attachments:
regulation_tester_7_loops.vi 244 KBI didn't really have time to dig in and understand your program in depth,
but I have a few tips for you that might things a bit easier:
- You use local variables excessively which really complicates things. Try
not to use them and it will make your life easier.
- If you flowchart the design (very similar to a dataflow diagram, keep in
mind!) you want to gather data, calculate a value from that data, store the
calculation in an array, and loop while the time is in a certain range. So
theres really not much need for a sequence as long as you get rid of the
local variables (sequences also complicate things)
- You loop again if timepassed+1 is still less than some constant. Rather
than messing with locals it seems so much easier to use a shiftregister (if
absolutely necessary) or in this case base it upon the number of iterations
of the loop. In this case it looks like "time passed" is the same thing as
the number of loop iterations, but I didn't check closely. There's an i
terminal in your whileloop to read for the number of iterations.
- After having simplified your design by eliminating unnecessary sequence
and local variables, you should be able to draw out the labview diagram.
Don't try to use the "insert into array" vis since theres no need. Each
iteration of your loop calculates a number which goes into the next position
of the array right? Pass your result outside the loop, and enable indexing
on the terminal so Labview automatically generates the array for you. If
your calculation is a function of previous data, then use a shift register
to keep previous values around.
I wish you luck. Post again if you have any questions. Without a more
detailed understanding of your task at hand it's kind of hard to post actual
code suggestions for you.
-joey
"nelsons" wrote in message
news:[email protected]...
> how do I create a 1d array that takes a single calculation and insert
> the result into the first row and then the next calculation the next
> time the loop passes that point and puts the results in thsecond row
> and so on until the loop is exited.
>
> The attached file is work inprogress, with some dummy data sp that I
> can test it out without having to connect to equipment.
> The second tab is the one that I am having the problem with. the
> output array from the replace element appears to be starting at the
> index position of 1 rather than 0 but that is ok it is still show that
> the new data is placed in incrementing element locations. However the
> main array that I am trying to build that is suppose to take each new
> calculation and place it in the next index(row) does not appear to be
> working or at least I am not getting any indication on the inidcator.
>
> Basically what I am attempting to do is is gather some pulses from
> adevice for a minute, place the results for a calculation, so that it
> displays then do the same again the next minute, but put these result
> in the next row and so on until the specifiied time has expired and
> the loop exits. I need to have all results displayed and keep building
> the array(display until, the end of the test)Eventually I will have to
> include a min max section that displays the min and max values
> calculated, but that should be easy with the min max function.Actually
> I thought this should have been easy but, I gues I can not see the
> forest through the trees. Can any one help to slear this up for me. -
Dialog prompt and check if file exists, and use the result of dialog
I have this working script and I want to change the way it behaves.
I want a dialog to come up, Do you want to skip or replace existing files.
Then the result of the dialog to be used in the reast of the script.
I've added it in the script where I need to use it. in noce big letters, hopefully its not a big job.
Many thanks
property type_list : {"8BPS"}
property extension_list : {"psd"}
script o
property theseNames : {}
end script
-- empty log file
do shell script "echo 'Files not processed in Photoshop :' > ~/Desktop/LogPhotoshopError.txt"
set noError to true
--Setup list of folders and process details of folders
set dtF to paragraphs of (do shell script "ls -F ~/Desktop | grep '/' | cut -d'/' -f1")
set tc to (count dtF)
repeat with i from 1 to tc
set folderName to item i of dtF --<: is the folder name, no need to use text item delimiters -->":"
if folderName does not start with "2_" and folderName does not start with "Hot" and folderName does not start with "Press" and folderName does not start with "Design" and folderName does not start with "Keywords" and folderName does not start with "Season" and folderName does not start with "Sue" and folderName does not start with "Design" then
set {oldTID, my text item delimiters} to {my text item delimiters, "_WK"}
set FolderEndName to last text item of folderName
set brandName to first text item of folderName
set my text item delimiters to "_PSD"
set weekNumber to first text item of FolderEndName
set my text item delimiters to oldTID
set theFolder to ("Hal 9000:Users:matthew:Desktop:" & folderName)
--set up names to destination folders and create locally based on brand name and week number
set this_local_folder to "Images:2012-2013"
set localWeekFolder to my getFolderPath("WK" & weekNumber, this_local_folder)
set localBrandFolder to my getFolderPath(brandName, localWeekFolder)
set localBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", localBrandFolder)
set localBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", localBrandFolder)
set localBrandFolder_PSD to my getFolderPath(brandName & "_WK" & weekNumber & "_PSD", localBrandFolder)
set this_Network_folder to "GEN:Brands:Zoom:Brand - Zoom:Upload Photos:2013:"
set networkWeekFolder to my getFolderPath("Week" & weekNumber, this_Network_folder)
set networkBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", networkWeekFolder)
set website_images to "GEN:Website_Images:"
--set up names to destination folders and create over Netwrok for FTP collection (based on a mounted drive)
set this_ftp_folder to "pulse:"
set ftpWeekFolder to my getFolderPath("Week" & weekNumber, this_ftp_folder)
set ftpBrandFolder to my getFolderPath(brandName, ftpWeekFolder)
set ftpBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", ftpBrandFolder)
set ftpBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", ftpBrandFolder)
--at the beginning of the script, ask whether to replace or skip existing files? to apply to all?
--use the result for the if file exists?
display dialog "Should I replace or skip exisiting files?" buttons {"Replace", "Skip (Faster)"} default button 2 with icon 1
--taking the folder identify which process it must follow.
if brandName is equal to "BH" then
try
tell application "Finder" to set o's theseNames to (name of files of alias theFolder whose file type is in the type_list or name extension is in the extension_list)
on error
set o's theseNames to {} -- no psd files or "8BPS"
end try
set numOfNames to (count o's theseNames)
repeat with j from 1 to numOfNames
set thefile to theFolder & ":" & (item j of o's theseNames)
-- B H Folder Photoshop Process
--if thefile exists in the folder localBrandFolder_PSD then do the result of dialog.
--"Skip" the file and move on to next
--If "replace" continue the rest of the script.
tell application "Adobe Photoshop CS5.1"
-- I remove the command activate, Photoshop stay in background
set ruler units of settings to pixel units
try
open (alias thefile) showing dialogs never
set origName to name of current document
set myOptions to {class:JPEG save options, quality:12}
set myPSDOptions to {class:Photoshop save options, embed color profile:true, save layers:true}
tell current document
--If the quick mask mode has been left on then delete the channel Quick Mask
if (quick mask mode) then delete channel ¬
"Quick Mask"
--If the Layer is incorrectly labeled with Original Layer it needs renaming to original Image
if (exists layer "Original Layer") then ¬
tell layer "Original Layer" to set name to "Original Image"
save in (localBrandFolder_PSD & origName) as Photoshop format with options myPSDOptions without copying
(delete layer "Original Image") flatten
resize image resolution 300 resample method none
--sharpen image
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
save in (localBrandFolder_High_Res & name) as JPEG with options myOptions without copying
--get file path, return path of the JPEG file, work with (without copying)
-- (with copying) : it return path of PSD file
set newFile to file path --( return path of type alias )
-- duplicate file using the Finder -->on duplicateFile(..)
my duplicateFile(newFile, {ftpBrandFolder_High_Res})
--Prepare for Low RES by resetting image history
set current history state to history state 3
flatten
resize image width 1348
resize image resolution 300 resample method none
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
--add save to lowResFolder with same options
save in (localBrandFolder_Low_Res & name) as JPEG with options myOptions without copying
set newFile to file path
set newFile2 to newFile as string -- for testing end of name
if newFile2 ends with "_2.jpg" or newFile2 ends with "_3.jpg" then -- exclude website_images
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res})
else
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res, website_images})
end if
close saving no
end tell
on error
set noError to false
my myLogs(thefile) -- write path to log file in Desktop
try
close saving no --if exists, close current document
end try
end try
end tell
end repeat
--End BH
-- else if and the rest of the script.....
end repeat
if not noError then do shell script "/usr/bin/open ~/Desktop/LogPhotoshopError.txt'"
on myLogs(t)
try
do shell script "echo " & (quoted form of t) & ">> ~/Desktop/LogPhotoshopError.txt'"
end try
end myLogs
on duplicateFile(tFile, foldersPath) -- tFile is an alias, foldersPath is a list of folder
tell application "Finder" to repeat with folderPath in foldersPath
with timeout of 200 seconds -- adjust it, error if the copy is longer that 200 seconds
duplicate tFile to folder folderPath with replacing
end timeout
end repeat
end duplicateFile
on getFolderPath(tName, folderPath)
tell application "Finder" to tell folder folderPath
if not (exists folder tName) then
return (make new folder at it with properties {name:tName}) as string
else
return (folder tName) as string
end if
end tell
end getFolderPath
tell application "Finder"
open "Hal 9000:Users:matthew:Desktop:LogPhotoshopError.txt"
end tellHi,
I think that's what you want.
I put the dialog in the beginning, so it does not appear to each folder, otherwise put it in the loop as it was originally.
property type_list : {"8BPS"}
property extension_list : {"psd"}
script o
property theseNames : {}
end script
-- empty log file
do shell script "echo 'Files not processed in Photoshop :' > ~/Desktop/LogPhotoshopError.txt"
set noError to true
--at the beginning of the script, ask whether to replace or skip existing files? to apply to all?
--use the result for the if file exists?
display dialog "Should I replace or skip exisiting files?" buttons {"Replace", "Skip (Faster)"} default button 2 with icon 1
set skipFiles to (button returned of the result) is "Skip (Faster)"
--Setup list of folders and process details of folders
set dtF to paragraphs of (do shell script "ls -F ~/Desktop | grep '/' | cut -d'/' -f1")
set tc to (count dtF)
repeat with i from 1 to tc
set folderName to item i of dtF --<: is the folder name, no need to use text item delimiters -->":"
if folderName does not start with "2_" and folderName does not start with "Hot" and folderName does not start with "Press" and folderName does not start with "Design" and folderName does not start with "Keywords" and folderName does not start with "Season" and folderName does not start with "Sue" and folderName does not start with "Design" then
set {oldTID, my text item delimiters} to {my text item delimiters, "_WK"}
set FolderEndName to last text item of folderName
set brandName to first text item of folderName
set my text item delimiters to "_PSD"
set weekNumber to first text item of FolderEndName
set my text item delimiters to oldTID
set theFolder to ("Hal 9000:Users:matthew:Desktop:" & folderName)
--set up names to destination folders and create locally based on brand name and week number
set this_local_folder to "Images:2012-2013"
set localWeekFolder to my getFolderPath("WK" & weekNumber, this_local_folder)
set localBrandFolder to my getFolderPath(brandName, localWeekFolder)
set localBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", localBrandFolder)
set localBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", localBrandFolder)
set localBrandFolder_PSD to my getFolderPath(brandName & "_WK" & weekNumber & "_PSD", localBrandFolder)
set this_Network_folder to "GEN:Brands:Zoom:Brand - Zoom:Upload Photos:2013:"
set networkWeekFolder to my getFolderPath("Week" & weekNumber, this_Network_folder)
set networkBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", networkWeekFolder)
set website_images to "GEN:Website_Images:"
--set up names to destination folders and create over Netwrok for FTP collection (based on a mounted drive)
set this_ftp_folder to "pulse:"
set ftpWeekFolder to my getFolderPath("Week" & weekNumber, this_ftp_folder)
set ftpBrandFolder to my getFolderPath(brandName, ftpWeekFolder)
set ftpBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", ftpBrandFolder)
set ftpBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", ftpBrandFolder)
--taking the folder identify which process it must follow.
if brandName is equal to "BH" then
try
tell application "Finder" to set o's theseNames to (name of files of alias theFolder whose file type is in the type_list or name extension is in the extension_list)
on error
set o's theseNames to {} -- no psd files or "8BPS"
end try
set numOfNames to (count o's theseNames)
repeat with j from 1 to numOfNames
set thefile to theFolder & ":" & (item j of o's theseNames)
-- B H Folder Photoshop Process
tell application "Finder" to set b to exists file (localBrandFolder_PSD & item j of o's theseNames)
if b and not skipFiles then -- file exists and "replace" (continue the rest of the script).
tell application "Adobe Photoshop CS5.1"
-- I remove the command activate, Photoshop stay in background
set ruler units of settings to pixel units
try
open (alias thefile) showing dialogs never
set origName to name of current document
set myOptions to {class:JPEG save options, quality:12}
set myPSDOptions to {class:Photoshop save options, embed color profile:true, save layers:true}
tell current document
--If the quick mask mode has been left on then delete the channel Quick Mask
if (quick mask mode) then delete channel ¬
"Quick Mask"
--If the Layer is incorrectly labeled with Original Layer it needs renaming to original Image
if (exists layer "Original Layer") then ¬
tell layer "Original Layer" to set name to "Original Image"
save in (localBrandFolder_PSD & origName) as Photoshop format with options myPSDOptions without copying
(delete layer "Original Image") flatten
resize image resolution 300 resample method none
--sharpen image
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
save in (localBrandFolder_High_Res & name) as JPEG with options myOptions without copying
--get file path, return path of the JPEG file, work with (without copying)
-- (with copying) : it return path of PSD file
set newFile to file path --( return path of type alias )
-- duplicate file using the Finder -->on duplicateFile(..)
my duplicateFile(newFile, {ftpBrandFolder_High_Res})
--Prepare for Low RES by resetting image history
set current history state to history state 3
flatten
resize image width 1348
resize image resolution 300 resample method none
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
--add save to lowResFolder with same options
save in (localBrandFolder_Low_Res & name) as JPEG with options myOptions without copying
set newFile to file path
set newFile2 to newFile as string -- for testing end of name
if newFile2 ends with "_2.jpg" or newFile2 ends with "_3.jpg" then -- exclude website_images
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res})
else
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res, website_images})
end if
close saving no
end tell
on error
set noError to false
my myLogs(thefile) -- write path to log file in Desktop
try
close saving no --if exists, close current document
end try
end try
end tell
end if -- else "Skip" the file and move on to next
end repeat
--End BH
end if
end if
end repeat
if not noError then do shell script "/usr/bin/open ~/Desktop/LogPhotoshopError.txt'"
on myLogs(t)
try
do shell script "echo " & (quoted form of t) & ">> ~/Desktop/LogPhotoshopError.txt'"
end try
end myLogs
on duplicateFile(tFile, foldersPath) -- tFile is an alias, foldersPath is a list of folder
tell application "Finder" to repeat with folderPath in foldersPath
with timeout of 200 seconds -- adjust it, error if the copy is longer that 200 seconds
duplicate tFile to folder folderPath with replacing
end timeout
end repeat
end duplicateFile
on getFolderPath(tName, folderPath)
tell application "Finder" to tell folder folderPath
if not (exists folder tName) then
return (make new folder at it with properties {name:tName}) as string
else
return (folder tName) as string
end if
end tell
end getFolderPath
tell application "Finder"
open "Hal 9000:Users:matthew:Desktop:LogPhotoshopError.txt"
end tell -
How can i plot a histogram with using the results of Line Length
PLS HELP.How can i prepare a histogram with using the results of line length code(It is somewhere in the middle).
This is a final exam take-home question. I would appreciate if you can help?
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.text.*;
import java.io.File;
public class WordAnalyser extends JFrame implements ActionListener
private JMenuItem jmiAc, jmiSil, jmiCikis, jmiAnaliz, jmiHakkinda, jmiKullanim;
private JTextArea jta1, jta2;
private JFileChooser jFileChooser = new JFileChooser();
File hafizada;
File aktarilan = new File("Sonuc.txt");
// Main method
public static void main(String[] args)
WordAnalyser frame = new WordAnalyser(); /* Ana ekran olusturulur */
frame.setSize(400, 300); /* Degerleri belirlenir */
frame.setVisible(true); /* Gorunebilirligi ayarlanir */
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public WordAnalyser()
setTitle("Serkan Ozgen Dosya Inceleme Programina Hos Geldiniz");
JMenuBar mb = new JMenuBar();
setJMenuBar(mb);
JMenu fileMenu = new JMenu("Dosya");
fileMenu.setMnemonic('F');
mb.add(fileMenu);
JMenu helpMenu = new JMenu("Degerlendirme");
helpMenu.setMnemonic('H');
mb.add(helpMenu);
JMenu kullanimMenu = new JMenu("Kullanim Kilavuzu");
mb.add(kullanimMenu);
fileMenu.add(jmiAc = new JMenuItem("Ac", 'A'));
fileMenu.add(jmiSil = new JMenuItem("Sil", 'S'));
fileMenu.add(jmiCikis = new JMenuItem("Cikis", 'C'));
helpMenu.add(jmiAnaliz = new JMenuItem("Analiz", 'D'));
helpMenu.add(jmiHakkinda = new JMenuItem("Hakkinda", 'H'));
kullanimMenu.add(jmiKullanim = new JMenuItem("Kullanim"));
getContentPane().add(new JScrollPane(jta1 = new JTextArea()), BorderLayout.CENTER);
getContentPane().add(jta2 = new JTextArea(), BorderLayout.SOUTH);
jmiAc.addActionListener(this);
jmiSil.addActionListener(this);
jmiCikis.addActionListener(this);
jmiAnaliz.addActionListener(this);
jmiHakkinda.addActionListener(this);
jmiKullanim.addActionListener(this);
public void actionPerformed(ActionEvent e)
String actionCommand = e.getActionCommand();
if (e.getSource() instanceof JMenuItem)
if ("Ac".equals(actionCommand))
Ac();
else if ("Sil".equals(actionCommand))
Sil();
else if ("Cikis".equals(actionCommand))
System.exit(0);
else if ("Analiz".equals(actionCommand))
sayim();
else if ("Hakkinda".equals(actionCommand))
JOptionPane.showMessageDialog(this,
"!!!! Bu program text analizi gerceklestirir. Her hakki saklidir SERKAN OZGEN!!!!",
"Bu program hakkinda",
JOptionPane.INFORMATION_MESSAGE);
else if ("Kullanim".equals(actionCommand))
JOptionPane.showMessageDialog(this,
" Ilk once dosya menusunden Ac i tiklayarak analiz etmek istediginiz Dosyayi seciniz (Lutfen uzantisi *.txt \nveya *.log olsun). Daha sonra Degerlendirme menusunden analizi tiklarsaniz dosyanizda kac adet rakam, harf, \ncumle ve kelime oldugunu gorebilirsiniz. Simdiden kolay gelsin",
"Programin kullanim detaylari",
JOptionPane.INFORMATION_MESSAGE);
private void Ac()
if (jFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
hafizada = jFileChooser.getSelectedFile();
Ac(hafizada);
// Acilan Dosyayi ana ekranda gostermeye yariyan bir method
private void Ac(File file)
try
// Acilan dosyayi okuma ve ana ekranda gosterme
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
byte[] b = new byte[in.available()];
in.read(b, 0, b.length);
jta1.append(new String(b, 0, b.length));
in.close();
catch (IOException ex)
// Temizle tusunun hangi ekranlara etki edecegini secme
private void Sil()
jta1.setText("");
jta2.setText("");
private void sayim()
int buff;
int sayac = 0;
int Cumleler = 0;
int Kelimeler = 0;
int Karakterler = 0;
int Satirlar = 0;
int Rakamlar = 0;
boolean start = true;
int linenum = 0;
try
FileInputStream instream = new FileInputStream(hafizada);
FileOutputStream outstream = new FileOutputStream(aktarilan);
BufferedReader infile = new BufferedReader(new InputStreamReader(new FileInputStream(hafizada)));
PrintStream out = new PrintStream(outstream);
out.println("---Kelime Avcisinin Sonuclari---");
String line = infile.readLine();
while (line != null){
int len = line.length();
linenum++;
line = infile.readLine();
out.println("Line Length :" + linenum + "\t" +len);
while ((buff=instream.read()) != -1)
switch((char)buff)
case '?': case '.': case '!': /* Eger "?", "." veya "!" gorurse program cumleleri ve kelimeleri arttirir*/
if (start == false)
Cumleler++;
Kelimeler++;
start = true;
break;
case ' ': case '\t': case ',': case ';': case ':': case'\"': case'\'': /* Eger /t,;:\ ve \" bu isarteleri goruruse program kelimeleri arttirir */
if (start == false)
Kelimeler++;
start = true;
break;
case 'n': case '\n': /* Eger \n gorurse satirlari arttirir */
if (start == false)
Satirlar++;
Kelimeler++;
start = true;
break;
default:
if (((char)buff >= 'a' && (char)buff<='z')|| /*a-z, A-Z veya - degerlerini gorurse karakterler arttirilir */
((char)buff >= 'A' && (char)buff<='Z')||
((char)buff == '-'))
Karakterler++;
if ((Kelimeler % 50) == 49)
if (start == true)
out.println();
out.print((Kelimeler+1) + " ");
out.print((char)buff);
start = false;
if ((char)buff >='0' && (char)buff <='9') { /* 0-9 gorurse rakamlari arttiri */
Rakamlar++; }
}// switch
}//while
instream.close();
out.println();
out.println();
out.println("Karakter sayisi: " + Karakterler);
out.println("Kelime sayisi: " + Kelimeler);
out.println("Cumle sayisi: " + Cumleler);
out.println("Satir sayisi: "+ Satirlar);
out.println("Rakam sayisi: "+ Rakamlar);
outstream.close();
try
BufferedInputStream in = new BufferedInputStream(new FileInputStream(aktarilan));
byte[] b = new byte[in.available()];
in.read(b, 0, b.length);
jta2.append(new String(b, 0, b.length));
in.close();
catch (IOException ex)
catch (Exception e)
System.out.println(e);
}Why is it that you're not interested in IOExceptions?
catch (IOException ex)
} Empty catch blocks is a hallmark of foolish Java code. At least print out the stack trace.
% -
Using the result of a jms webservice
When I have deployed my simple HelloWorld webservice, I obviously want to write
a client. I chose to write a dynamic client, which works fine(almost!). Only one
problem, in the programming guide that comes with weblogic they only mention how
to call system.out.println on the result(see quote below). But that's not what
I want to do, I want to use the result, but how? From what I can see the resulting
object is just a java.lang.Object. How should I cast it, and to what? The soap
xml says:
<part name="result" type="xsd:anyType" />
The question is, what is it that I'm receiving and how can I find that out dynamically.
This is the code I'm using:
SoapMethod method = proxy.getMethod("receive");
SoapType type = method.getReturnType();
System.out.println("type is:" + type.getTypeAsString());
System.out.println("value is:" + type.toString());
System.out.println("class is:" + type.getType().getName());
The output of the system.out's above is:
type is:Object
value is:Object result
class is:java.lang.Object
quote:
Invoke the receive method to receive data from the Web service. In the example,
the client application uses an infinite while loop to continuously invoke the
receive method, in essence polling the JMS destination for messages. When the
receive method returns data, the client application prints the result to the standard
output:
while( true ){
Object result = method.invoke( null );
System.out.println( result );Thanks manoj, for taking the time to help me with my problem.
I noticed in your examples you posted in your reply that none of the examples
are using queues. Can you confirm that there is a bug when using queues? It gives
NullPointerException in the Servlet and FileNotFoundException on the client when
trying to access the result queue to read the response of my asynchronous webservice.
See the earlier posting, regarding Webservice works with Topics but not with Queues?
Cheers,
Mr Bean
"manoj cheenath" <[email protected]> wrote:
if you are using soap encoding:
you will get back the object you posted to JMS queue. This
can be a primitive type (like java.lang.String) or a java bean (like
com.foo.MyJavaBean)
if you are using literal encoding:
you will get back a org.w3c.dom.Element back.
few message style examples are attached.
regards,
-manoj
"MrBean" <[email protected]> wrote in message
news:[email protected]...
When I have deployed my simple HelloWorld webservice, I obviously wantto
write
a client. I chose to write a dynamic client, which works fine(almost!).Only one
problem, in the programming guide that comes with weblogic they onlymention how
to call system.out.println on the result(see quote below). But that'snot
what
I want to do, I want to use the result, but how? From what I can seethe
resulting
object is just a java.lang.Object. How should I cast it, and to what?The
soap
xml says:
<part name="result" type="xsd:anyType" />
The question is, what is it that I'm receiving and how can I find thatout
dynamically.
This is the code I'm using:
SoapMethod method = proxy.getMethod("receive");
SoapType type = method.getReturnType();
System.out.println("type is:" + type.getTypeAsString());
System.out.println("value is:" + type.toString());
System.out.println("class is:" + type.getType().getName());
The output of the system.out's above is:
type is:Object
value is:Object result
class is:java.lang.Object
quote:
Invoke the receive method to receive data from the Web service. Inthe
example,
the client application uses an infinite while loop to continuouslyinvoke
the
receive method, in essence polling the JMS destination for messages.When
the
receive method returns data, the client application prints the resultto
the standard
output:
while( true ){
Object result = method.invoke( null );
System.out.println( result );
begin 666 allmessage.jar
M4$L#!!0`" `(`!Q<7RL````````````````)``0`345402U)3D8O_LH```,`
M4$L'" `````"`````````%!+`P04``@`" `<7%\K````````````````% ``
M`$U%5$$M24Y&+TU!3DE&15-4+DU&\TW,RTQ++2[1#4LM*L[,S[-2,-0SX.5R
M+DI-+$E-T76J! D8ZQG&&Q@J: 27YBGX9B87Y1=7%I>DYA8K>.8EZVGR<O%R
M`0!02P<(SE1K#D<```!'````4$L#! H``````()T72L````````````````$
M````86YT+U!+`P0*``````!12$0K````````````````"@```&%N="]B=6EL
M9"]02P,$"@``````44A$*P```````````````!,```!A;G0O8G5I;&0O97AA
M;7!L97,O4$L#! H``````%%(1"L````````````````8````86YT+V)U:6QD
M+V5X86UP;&5S+W-O87 O4$L#!!0`" `(`#>&62L````````````````D````
M86YT+V)U:6QD+V5X86UP;&5S+W-O87 O0VQI96YT+F-L87-SA55;4]M&%/X6
M7R2$FA %4QP"I9<$.S82I)=0DZ9M*"2TAM Z#:7I318+%I$EC[0&\]#^I_;!
MM&62R?2Q/ZK3L[X4%)S&,SZ[>_9\9\_EV]7?__SY# G,85]#!@4%10U#**B8
M4V%JL#"O8D'%30WOXCT%[VO04)"+#U3<4K"HX0(^5%$:P1)N*_A(Q1T-!CY6
M\(F*3S7<Q;*"SX:Q@E4%]S1<D;[ORW%-BL\U?(&R@G6&]&W7=\4=AD0N_X@A
MN1SL<(:+9=?G&\UZE8</[:I'FF3==GV&\=SC\KY]8%N>[>]9%1&Z_MZ2!&HK
M+8<WA!OXD8(-6E>"9NCP55>"1Y8]E_O"E$@=;^(MAK&.EZ9P/6LS#!H\%"Z/
M&":EVO3M.ODU=VU'!.&1*2-T;8^A>,BK7K#G.F84V VS)D3#K-!LK6NP'/B"
MM\1J%Z;@@8Y-?,F0B<,.>%@-(IF3")M<P5<Z*GC(<*UO9DDSRZ%*.)9TO^+3
MG *2M7%T? W*=SKND_=,^C'W,FE9W52L>(2R!EL,BS*!DF5Y@6-[M2 2I5OS
M\PL6;]GUAL>M+5ZM\/# =<Y.S<-HQU/PC8YM?,LP%8_YU(Z*VJ(H-.[4@FZ;
M=#S&=PRCI^U[4-WGCJ#VU(+#&3OD,T=!4\'W.G[ CS'#K@,%/^FP4246O+AU
MM[F[RT,&)>11TQ,E'0YV='#L*J"#:W"IX[V\HFZH74HP7#[U]1^%^MH./>[;
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
MXO4?8PO_D>IW74TC#S%C%S-G=RL2,P</%U);>VL7Q6EW.89,1K@?R+ `)
M#,TJD$V[8?)@%+05> C"5J3AJK[*G"4R7/2!M%/JYUM22_[QO+WG:D'EZ.R<
M[R&RE*L3#<'7*C8\$/(+CAO2@^Q(P@8);N=+-YW0`#JR7KA%>^I6E'TQ+L$J
M-#F[35EW-W+2`[-'"2%Y$$T3*;G]K-!=I?_66VB+.UCU9QZ1.S!5/\7E#M3!
MC0I:/&2TS#E,DUSZW18"]AKRB0$48D5N>>'4A8R$6>O=.%B?/CWX.!NH$P\A
M_&*UK>Y0T%$%*W[#M-Z-5B# -MC\^I'I?M'$<-P*=^*^:&R',//,2ZDITL_C
M(YSB$\?CXQ3DEL4%CI66PWGX]ADMA*A$59B]R<0U-//G;Q^Z9TH,5<L05$&Y
MOLQ F8I4&AG_WQ+%0+:DEL>5U&:%*R :BSRI;RM[-O>8=D8L+@^AMLT":%1^
ML4X;Y>W(OHPRBZ7 !IN",2F9RP2#5T];N)O"\;\1`W+ETK>'[@5M9)S3#)]"
M\"'7@RGH4>.YTMX\24,7L,!K,#J%3"7<:[$7%4B4:^S?=)LZ(VW35^6XTB5R
M/F4Q.LL>53<1O=;V403^F.049?*Z&^'>;1V^:9Q^=23VO%(B9TY\IQ=4+-S7
MS??5&QN8(C)'WQD&/K%@#1)P`KVSGIG2U*LUQ.7K035R$>P&T?]8RB9L$3K@
M4!HR'\Z_23^)"2/M=,O<Z&,A:B7]`-;WT[G?=8Q%'ZBPC<'S;&\CIQ9O6\TY
M"/0L3R.'+/A5:P%!92U'D3OB\#1M6BT%3"W\L>QM)"V?!F^5+;[S@ COL6R3
M18%B&>Y9*^T78WL6O5T[66_7S 5<O*S/O^(\I<!CH#O+;+%C$_-V:8B;U/+^
M`Z6&")!R`DP!VG9RJZ93`O^--+4P'$02"!!0"^S_%>_S/25O:F9I[TEJYV
MMDT3E!/3#4U2_Q0JFILF&%MA_^_]:YF'=+:3#DSBRG1GCX3!%JNP:KTX'J'B
M\M8:`;]PWQ^@YV?_B'1G_R#T,F7S]OZ8X,JL\"+SUHH4NW"'8A>MX!^7]8N(
M_3"\!/ZORV@"@1.3_W@(_1\7[[^=H2$F_+\KP\/,V-;!PLJ$WM/.UB]^(&J0
M$4WL-?0]W&(UF3<S-)H(K?):& G=%2G=ZF,)+3N,5//+AV6<4'ZD>I /\\;+
M6+7:?/.[,R2OTL5C*6H$,7EE\,.B,V.6T"QBD3E\>AG2^IMB*O8@8J3U+YY:
M@H[/BC3$-G;&'9-QARP17ZAA'_)G[RFZ5,"SKAL=NX&H9OC&X:(F"5Z\5199
MY)L#,@O0_IE@7 RQ>K*&_.9<!VU01'G%&I)$-D\`:T8BG9F2E\A-$3JT+TC
M]>B2MZ8?X%7-EX?FKN7N%I63]YZDXW]/Q&>GOW#N/_\-!_Z?)@+S'_V_PSH\
M;OPO+AC'%3KZBBDI-:C_BQI=ZSPDS&;*R5^T(].-=5)J4[22TO7*RS)UTA.,
M(\!%>!FYT/*%Q4D)0/TL$$ZM301J\XQB8_T,]!E$;BX<"V `A :L`\N*?P2A
M3_^_&[-\J.'.X3\F8OY'<(C_)[C_,FM15;+99$3RY[@2L/3*<TL8,P*S2YX7
M;$-/4GI11?M,HAQO3#@B_7Y-)N-I[3)UQ?.)>MH^O>7?UJ/_Y/ST;_MXYZ20
MT"W3M7EX.WPQ<I(@I^IO5#^J&I<S,Z@>6O GADU5^;MN+9[G*&??G$9\*J\:
M)7N.9OAC)TS.<_ID\9=/P-':1NRQ,N0;#1E&0]-RD=>'_[D_A$P+MH%4"FJ"
M-BM8=.RKHZ\D*GW<=Z:D+QJ7!0M\=$O7V293(W59_6A)77>1/"RL%:W3=:M0
MU,8AL2H[R":\=#4&1$F5<E]Y&IZ!9*_0,3K2J4\>WIX9R]!D(W#2^\HW8@R7
M4=Z9?7!'/X&A.^W&H I%]*:#^FC$NGML=='YQ7%^9>?"E824^6S"L3D4P)\T
MP.7+YJ#]D8EL_1DG5!'[M.S>>QHEI!(!%S;':)9_7*=BX#!!&;":>&*XR6U[
M4/8[L+3L'\,+K[U 8+68RY%IO4<B_3LV-C>L"K,Y/8%D(8SN6<2CX;VM1 AE
MD&#IR%K*O#/8VA17ANO6%*+\6G2_'!%./\4C#E$WKB2D[A3]W8!CH<S(X8JL
M.R(W!X-AZ4(BC-^Z`2VSXC^+]!M-H8<=#KZ?YLB<L[A/<=U5='1+P@<3T[&O
M)-.W=F 2;DEZ4VENE^M9\?T136;M=NM'&HP4KQIL=ER;@/D/L3^,PUY;NUI:
M(Y3TDIWO,^$+Y+]9<C'@]T/\3U690?S_1=[$ULK,WI7>[email protected]&33H<U
M56^WV6JW^1;ZGX>$V79SJOX:;M/==/?33XVO4MQC>_5[A\LDO^%WVV2F9477
M)J^&$A0F# ;L?97F3ZD8Z),!_E)?6DY&)5)N2C=G<$Y"=TI[1A1U3XYG;6G,
M(SF%;9W/>7Z0XS8[#0O'ZVC>,R?_&'/7Z/#(H7KB_4<AFC/[0G%D/"S6N4\B
[email protected]>G@9@]1,K)R< %$``'4Y@L@'Z3S)S]^=Y/@AL=F[>NG;B\SBM4+
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
M3S0@\F*A*0[$NS[CJ96WWGA04\C;X-: [!JBX%A5,E3B+F3IB]-S-V^)B9
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
M2& .&9?CKI+E`, #@]#SPF58$.=W$*HZ[<Q8B#LU+LEU!9/[email protected]
M'@/=X]7Q#3L$+!H*G"&]^W^58'_74C$&@A@YH(C#J.P6S]=NAN)\].1AY900
MLPI]Y\SX3SM>#)#I]; >X?^BM3<;LISQ=)7YUQ5W$TKD> ;_TQ!8$9[3E9=:
MC1:N>-8DW1*:$E+WNEWLM3#NT/@:; !@-%C?5;=I36;N&-_T"HW=(%?>,+^O
MUH^L<J9I5!QAQM0)\%1KG<>]_<00^57[_T&0=I%SX'AQ,,&Z<;']?,3YL0`+
M&",<$%6#/#1 T?@>$Q@A' F(%(H/H"#"I/B;2#<4$*'-U/:KLSY*K;-)`EOX
M$ EVT?+/DST=3B*T5G -[:SY29PI]=]$@_881E3V^,4?%/L%]Y;%TA_:R!Q4
ML7M$I(R[OPFJA:2>`AM_IL\],R>^/-<K4,>1`D$,O5@XF%?C9A/M2VC(N22A
M:.#3@@PG!%%MBG[$03DJ,<1PJ^& _I(P7*$FP3<6MI 9+Z5#Q8>)"553;1/I
M*W9%>NU9E1<&X:T@+I4Q&L;A2ZC;IM'3SS]EN<BQ1+O&!]1<T+4:%Z\BFRY,
M$RI_9%B='*%69Z9&KO%*H/1TD1\?ES<(#%NOM6K1^W@M`]/?N2-,F?YLT3L^
MW(Q,HU#;S0B883GYI3FH<V\O6;8HHE?8+UOC3BT0!Q+9.IG,OZ_*J^>R+/<`
MA^4U1LU,HW&V-LYT/O'8/X;DM9U"$RQZ6X;G]+Z2!"TTF==N.^W5HE)A^M"6
MWGRXZ+0@V/L_9M&<B*^XJ(LQNP4*%WZL.Y9\0P>JEV=T\EDWWVIUF8UV=LU:
M:!UX-'L*_O[I4;,"5R _\.3,%&IXLMS@3YN5(]+ 40HL,/]KZ\L2(V,"G&D3
M\B:6$Q+X-K"\I02$R=EWGUVM8ZL_PFG;O2)MH6GVKS.$H&>]A)^?!/Z'ZEYE
M'#<-5'D$G QD'>>-*(@R084O(.[BHD>/)P8CM.Z][*0J'P>GSI8N:=OV7M)J
M1$S2_&2!J,K&N2>8<Y,*TVD5<N:[_)S>&JVK0*:?1A%@%60(0RPP@[.X0XMB
MV]L]&F5JTCJ^\ZQOS#<[EA_PSAY*5$M,2R@HF&3X.RSR\6M6159*^+/[IV;N
M]VF'?Y74\J@6XYV$4 88LT\!$AU;*ECD=\@GV^I)8430.5.",Q4IFVX:32]X
MGVO]DG__^-D^-M_.A4(-]PP>F#"22$V\G,B(Z%Z0@@SHY[BG(HM]BG)&:M53
M`([VG$X_)]K$^:)-CG2X*;;6W* G'B]@>OL^-/+%%B=-9TERS>VMAIV7:II^
MD>Z&9,#GJO]G+[=)_?L;=J[1E#5\1\VHUV_8`P^&QU^'*1K]E>ZXJ6)A+E_
M+&S2\B(\E\*>@93/Z_5#U<&_K6NA&E9/`1_F,KYCI8>"VK=O3B*)]&H7"N5E
MS:F_!9+?58(1S*;IS3#0EOE,=JAFY'(Y=W39K)RG;KL(#IB(:Q>#BB EO$K>
M,D.7RABW7,K&/X3(2CBV!22SLB(/"V.H*@PN3EG7^022!+5HB8Y+3?/?\Q2.
MGK4P&3$58_O2S) ZMU(XYX9&[%>S7$2MI*1SF1OX(\??P;69""!#0L++W]G1
MS0`9TBSGQE^RR+7*->H"***/%O;+BZ72CN!(O']V^+A$Q(7$09#?BE*4&+\/
M!SI<^#Z5UW,.;Z5(C*3DW@2$:[$6>?.Q$F4*Z2PL++^9V?8W+Z>?A[!!"B[U
M[!$PNA!_\C>*5Q1U(RBQW$1M+J-,IT#PP,2B4YPJTZ%SA\/O5V&,6!DW;/V>
M^=4J_C@$.*78N'5(`,!:.BU6^V&FS+P@#.$^_T!@D%2&'!O:S+B7'^#6+Z:X
MY*TP=&"^'/B09C_7^&N0EBON"64J4ESW+29-NR_4JI%A!\!N>94N7IP*QJ^>
MTIASOJB>JYFY`VNH)M5V>591Q# J)SU*R2U6+C*7_""[DJBI7LPJP"/ ]2+9
M(%K4@]0!_<B?[\ZS9LK3S,,\FI=;BXAI\ALWV5^J79@L&"KGV?4=AK7AB[\T
MUA15T^EH),U#PRQD+'1@]2;>X4G-EVF)*(L*2 !Q+!W\D0+;'#PF?(5I<Q%#
M$RY]\]9WF23KL\N$T1H06H0QA+A=EV7Q.@2>>!I\F]@J')W^4PW&1E8Z<?YR
MO 2XG;%("-^EK7H63K?'.NZR<\Q]!C\KD2ZXHMD0(?$W+DS>V-(@LSH+BU*"
MZ2W>RY6LC1<PO6::&7QM)/79!J4Z04KKVL^SH:;$&VF[RV(P=VH('\*GZ/W(
M7<+\R5BX0-+>H )1J=T:5A2E&7*E/X0I>%>A"D%AH9Y6P$/<5NRDAEZ/\C
M=F$P[EE9$Y%=K\QSZD]1`KL2JFT2!2U9`,Z3)>^HL#E.*>(5SPZ#;8&6]O/7
M^Z'TKGEWF>RR/RP3@R:#=*2]Y"=Q&8<H(U.2R2+IM\051J!W(PZ8FT[)4<C;
M6)<P=H/J.*19Z@CEA<0K?<0=\5WFMHMJCD_?)?EJ,-%);J94*. ;=-\A+ISZ
M5IK\=\0A*B '4ND[?F1A"&SOKJWKRV#2[" .+F+.`%C-+>G<S.I=5'[)1;LH
M@*36$E!.,X=H=:?L,SQA%@#P>=;#$_75)DQ@$,Q=)HN",F[\6;E+B#1[\;UW
M^EMTK)Q/-X#&$ .V"3S("UE6.5S+.8S?#=F"6S<&6(*--B-;)/NKY(C_FC44
M- DKEIC@P5(T`VN@APPN7J B1O508GAL-%D?WQK)R&OG@NV4-89J*0D=('G)
MBON1[%(\%([6[Z^F&^C.LVJ:GGU6P)Z=]E:4S)LE7J9ATVDZ/5;^&5MX&YD-
M&G X$,4.W5V 9V,.SZ&[F\Z.^<M6)C1O*R8[4VEX@O0QQ(ZY%FKF:Z;[D9R5
ME6*RY:W4WXAU4_A#4^N]S?+&=9Y'"XU4`C>Y+3@*?VDE,N:KE,,[\/RW];Z?
MME3P3AD_>[QWG<$`2^ 0\HD#C:DT$;4ZH 2G^3?-?O@G8!5VOZ\UZG?C!R=>
MUXZ28/G8##AJ2J2#,:(!B5%<6Y&QW!0(J1\(#6XE!AP">2)T'34*$!D=:LD!
M1TZ]:XQ5DY3A39J2I4W]=Z&R4D]N+*O6?+WNI/+*(GK F>;[97]L-GVW\6@B
MJ S+GV-SAL.704=.@P[]N+ 4@$_(=1G[ANK-DR>G*^ZCRO/0M3@YV<9N[
M[!-.L=6RLV:)='';LJ33PJNC$L#.G0K88=VV660M86[>P9G'PB((K'S,QC<J
M%WP7P5G:0@E_$%JM\'%%*%5QL[GQ$J: O57L@+IE$S11_'"%XRX>7#Q3GWXN
MW,?<R0I55CS'V H*Y2^XQ[F:"$L2_*2Y4BN\P-R"$(%5W?(.;56ZA[F];K"8
MV*S3,?S<P'!KMXT4R'E>KP\;R)X.](R-7G1164D%1KAS5'_*/F7;-0'W(*2@
M7&M %R<ZH>R!&-G?7321*509(#!R+(7=[(\W=#Q"T<Y1T%OU8R/UB8D^2:>-
M]MVI"1C&J,G"]_3VIYKUG1SUJSB[%23HR="/-/6_G&X74A_.UJ^P\G,E[6:(
M#.=O'8UBV*MWD1B3BZ.LZ:./X,G.`G-+9L"OYQ';K\P!B<"5#,Z=$0_F5W-T
M/KZB8+^R4Y,:V\&WBLC3K@HE5)P!H7S]EMOUBD&@S*'_!+K-C-E=7@XDZ";.
MIR#ZOB>B>G)PVW. WIYEK/"SP7@ST'8R$';R)=T:,MX+WGCJ?>H&PTIT2N;+
MXD31D)\%&^X2UYT=,9FEZXS':PR@W)S1[_T<25:XCCV%*J PC!%!#.G;)/EA
M/0JX6/67SN^,,WBS]H,ZR3;D"DFM6+B5*M>_72S=N;HOK=W)4BSC698O^(3&
M`^:_I+ -QO"O*#^)S=2X^'E0OXXEE'2P`K%<W0JXC\)5<CG_LJX:SZ12KI*+
M:_FBS4](U_!1^9DVI#O#QC:X026W="Z?-114O=*X&28I7.'F,HXP\([?JO)%
M*Z@2F%1\EC(V3:3V6:ZAR%=9PII=F:=T!=LU0LYKXK.6XGW;:[;:Q-H.<FD_
M\:ZX%Q\ON"\=.::<]$=8J> <\B_NMA1]=QUKI.`04:$,%Q\HC*[O\K.W(O
MFU&?G0\PF,4*5_CNZ'K&VA#//Q#:V<?BFX=@T6M2\Z_;K0H@?3W/KC26EM!.
M>X;)J02&[XRKNI#Z:*I,W*C<SV-&'Z+R%MX/[&*5[#$'&CI9E\$\C38@:9>A
M7-=#*S6!BKQ1QGF]+Q:K?]=8]PR(ZEHV2=H+-$OD]K-%?NTRK!Y3)YRK4;L3
M@U5\< VDJS;3?X>Q8$_=$O$T<A=?&N;X]PQ=K&[4ROAB['/(P:=)USHD(:,^
M:*YDG1YA^\#WGMPT`ZLCEO>&X?*)-H/;\D*1X_[Y[^4FH5F+5.T.*4]$6MI:
MNO,"Q:4617SXS0GL19AJ#-&8W7:%^,:>K'.2LVZO/\*P$G,Y0VVJB XD.]"M
M,,@[9N"N,- [?$!$OU7 5OKF.ALV[7:)VC^ <\$6GRXB!J5">JH=HX47^/P:
M]]K[Z^;]TOH20;%HG1:=87S"]E1AA6[#L JH.G[W76WANB71R-;NY\'O8SHA
MK.)N"N@U]V_P;A!BJ%7)T649Z#W\Y #8C")HE/WM&N'M^_4^]FRM`L4]IHZ/
MZ>JQWGH?7+#)XC\-A:!&DN*AYD@2\JJNDDK^%!::R_[LR2IK'J/8!'6_@2=$
MV_V!,'>Y&&A!?9B@.?O9[WY_@@V1WLF\4+I@$P?D&XB?J:R.^K^8$E%U&3MU
M*$+L\+3'/9Q>W0?!WM5_EN3=*8!%H$B]20<HF*9PO9Q"QO+C#2L^KEH&4?E)
M2P))]<X)A3:1,'E=;H!;/?;KPOD;7[NCF1$(B(FGSI4;6[&@CA]2[@^@-TP\
MV-T$BIT5?L^77B(VP"L766X_=!(\Z*9&2*\E"MU1227D6OK9.?/9J21-I I(
M+U?X44 3[%XHQ6/ =?1[K2@2+1K3R\B?L9!'[_SE6%@2"6 C6V6._A5NYV+%
MWL/E18*$FM I%'_9<G(#) A5`KY [N.5Y885#*]:@N&_5OZY+4G2" S"ED-'
M<7AZJL6<?I.9():1=4=HAR/:#>P3J!(>3 '35G34V"EABRH+&72@8W@XY(I(
M7[X7<@I)S4[%&VB]0Q#!\I&%EIA%Y!I'5NK-Y(JE3G]+4UMO7X]\2VL7MJ5\
M7'0E&'G.LR8KA E?[S.%&W4=.V+.):>3:HC;PGG=.4)4#4Q>4+(K[DR3??BN
MD2=,N3H&V=B(S]?Y1E\&(.D3XTUJ@+L<MQ9PJ'6YAMVC?'EN2E&'"V$)]8P8
MA2/(&C8\V:SGP9?<#IM-X\P:*KQFFM 8$G.C&3C&GB40V)TZ/G?$D<C#SD/J
M>YZ_8%6I%:6FUN;O=";+.U5)5COQX3&V?M"JJA:W)2MK;#<YJG\G!DV0'V]R
M,^<VC-WD!<3D2G%;GE+$&>SJ(^D<89^P7.N <9V&Y%"=TLYM<OLCK?RI:JT+
M2-7_FQE^W()5^<;8M#(=-->Z$&K2;(%CIOO0-P/N0+Q[GHP#G(E!9GP"R#%/
M.BW7"8[5YTB=S&5> -
Using the result of a subselect in another part of the select
Does anyone know if 9i can use the results of a subselect in a select in another part of the select. For example:
select x, (select y from sometable) as ssvar, z, (select abc from someothertable where somecolumn=ssvar) from yetanothertable
Anyone? We have a bunch of Sybase queries we are porting over and they use this extensively. It looks like the 9i docs say this may not be possible, but I really wanted to be sure before I rewrite the queries.
-LouFrom your example, an inline view seems most appropriate to me...
select max_table.table_name, column_name
from user_tab_columns, (
select max(table_name) as table_name
from user_tables) max_table
where max_table.table_name = user_tab_columns.table_name
However, if your actual usage is more complicated, you might want to look at 'subquery factoring' (new in 9i). It doesn't really do much good for this example but here's the syntax...
with max_table as (
select max(table_name) as table_name
from user_tables)
select max_table.table_name, column_name
from max_table, user_tab_columns
where user_tab_columns.table_name = max_table.table_name
Richard -
Can I use the result of a query in another query of the same cube?
Hello everybody;
I have the following case. In query "A", I have used in rows a structure, whit a last formula named Total A, in another query "B", I need to used the result of Total A.
Can anybody help me?
Thanks in advanced.
Mariana SerranoHi Mariana,
You can change local structures into reusable structures in any existing query by selecting the structure and, choosing Save as... from the context menu and then entering a technical name and a description in the Save Structure as... dialog box.
You can change reusable structures that you are using in a query into local structures by selecting the structure and choosing Remove Reference from the context menu.
Also go through this link:
http://help.sap.com/saphelp_sem40bw/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
Best Regards,
DMK
*Assign point if it helps... -
Using the result of a function, inside a subselect
Hi!
I´m wondering if it´s possible to use the result of a function inside a subselect. Let me give you an example of what I´m trying to do here:
select * from t_node where node_pk in (get_node_parents_pk(22345));
The function get_node_parents_pk stands in for the following SELECT-statment:
select node_pk from t_node_child where parent_node_pk = 12345
The statement above would return something like this: 12435,23423,23453,23452
These values represent the node_pk value for the parent nodes.
I want the get_node_parents_pk function to return a result set similar to this so that I might call it inside the IN ( ) statement.
Any clue? =)I created a collection type in the database:
CREATE OR REPLACE TYPE nodes_pk_arr IS TABLE OF INTEGER;
The function get_node_parents_pk () is made to return the collection type above. However, this does not work. I get the following error message:
SELECT *
FROM t_node
WHERE node_pk IN
(SELECT * FROM TABLE (get_node_parents_pk (22345)));
ORA-22905: cannot access rows from a non-nested table item
However, if I insert a nodes_pk_arr collection directly into the SQL-statement, like I do below, it works:
SELECT *
FROM t_node
WHERE node_pk IN
(SELECT * FROM TABLE (nodes_pk_arr(24564,23545,34523));
So, when returning the collection from the function I´m told that the collection is not a nested table, when in fact it is. What gives?
Also, is there no way to return a result set directly from the get_node_parents_pk() function, making it possible to write the statement like that shown below?
SELECT *
FROM t_node
WHERE node_pk IN (get_node_parents_pk (22345));
Your reply is much appreciated!
Kind regards
Robert -
Using the result of 1st report to 2 nd report
Hi,
I have created one report with 5 Dataproviders.
I want to create another report by using the result of 2nd dataprovider of thr 1st report.
Is it possible in BO XI R2 Desktop intelligence?
Thanks,
InduHi Indu,
If I understand you correctly, you want to create the query once but run mulitple reports of it. Is it okay if the reports are in tabs within the same document or do they have to be in separate documents?
If the later it is not really possible. There are a few options
It is possible to use a query create in QaaWS, but there is no schedule option around this, so every call is on demand.
Also you can create instances of reports using Web Intelligence/Crystal Reports and have more that one Live Office document/Xcelsius dashboard point to the instance. In this event you are runnig the query once and using the displaying it in different reports.
Finally, if you just want to reuse a query from one report to another then you can copy and paste the report and change the report layout.
Hope this helps
Alan -
I shot at a Live performance last weekend by using the 'capture now' button. Now, my FCP is only playing the first 6 frames - how can I access or recover the full hour I shot?
FCP X? Then you need to use a different forum...This is the FCP 7 and earlier forum:
https://discussions.apple.com/community/professional_applications/final_cut_pro_ x
FCP 7? Did it look like it captured normally? Everything go smoothly? Stop normal? Did an error occur at any point? Can you open the file in QT?
In the future...do not rely on ONLY FCP for this task. Get a reputable recorder that can record to ProRes. AJA KiPro, KiPro Mini, Atmos Ninja, Decklink Recorder...lots of options. -
Hi
Is there a way to filter a drop down list by using the result main data display from"GetUserProfileByName" when open the form?
The second source has a huge list of company names that can be narrrow by email work.
background:SP 2010 and Infopath 2010
CRISTINA& MICROSOFT ForumI'm not sure if I understood your question clearly but here is a good resource on how to get attributes from "GetUserProfileByName" web services:
http://blog.mangroveweb.com/pre-populating-an-infopath-from-with-mysql-data-using-a-net-web-service/using-sharepoints-getuserprofilebyname-web-service-to-retrieve-ad-account-information/
Regarding filtering dropdown list then this could be done by applying form on-load rules.
Hope this helps -
How to use the same POWL query for multiple users
Hello,
I have defined a POWL query which executes properly. But if I map the same POWL query to 2 portal users and the 2 portal users try to access the same page simultaneously then it gives an error message to one of the users that
"Query 'ABC' is already open in another session."
where 'ABC' is the query name.
Can you please tell me how to use the same POWL query for multiple users ?
A fast reply would be highly appreciated.
Thanks and Regards,
SandhyaBatch processing usually involves using actions you have recorded. In Action you can insert Path that can be used during processing documents. Path have some size so you may want to only process document that have the same size. Look in the Actions Palette fly-out menu for insert path. It inserts|records the current document work path into the action being worked on and when the action is played it inserts the path into the document as the current work path..
-
Using Powershell Script Run simple query in MS Access 2007 and export the results of query to Excel
Hi Experts,
I have a Access 2007 DB file and 2 Big tables inside that (bigger than the size that can be easily handled by MS Excel 2007).
My requirement is automate using powershell scripts the below things.
1. Create a SQL query in Access DB and save that in access DB
2. Run the saved query and export the result in excel sheet where I can create the charts and Pivots. Thanks in advance
PrajeshDo you have to use the Access query, couldn't you just recreate the query in Powershell? Here's a link with good info that references an existing script for querying an Access database:
http://blogs.technet.com/b/heyscriptingguy/archive/2009/08/13/hey-scripting-guy-can-i-query-a-microsoft-access-database-with-a-windows-powershell-script.aspx
Once you have your dataset you can pipe it to
Export-Csv -NoType c:\pathtofile\output.csv -
Use the results of an SQL query to create another query
I am working on a bidding/allocation system using C# and MySQL, and I am currently having difficulty implementing the “post-allocation” mechanics of the system. Let me explain how it works, before introducing the code:
When the bids are made on the system, they all have the position 0, so the first thing the system does is order them according to priority.
(bid table)
In this case, 5 bidders are interested in what is in plot 15, but we have not assigned them a position yet.
(bid table)
The system then organises the bids according to the order in which they are going to processed.
The bids are then allocated, but unfortunately there are only 3 spaces in plot 15 that can be allocated. As a result, we use the priority listing to determine which bidder gets what.
(booking table)
At this stage, I can say that I am stuck, there are two things that I want to do, both of which involve reusing the results of the query at step 2.
(bid table)
The bidders that have their job allocated should see: their bid.status updated
from Queued to Allocated,
the bid.position should
be set to 0,
and their job_id should
be set to the booking they have been allocated (i.e. booking.id).
The bidders that have not had their jobs allocated should see: their bid.status remain
as Queued, and their bid.position should
be set to 0 in
preparation for the method to run again
The difficulty I am having is in stage 3, how do I determine which jobs have been allocated and which ones have not, and then run the necessary SQL queries in order to make the updates?
My code so far is as follows:
// STEP 1a - SELECT BIDS
string query =
"SELECT t1.operator_id, t1.datetime, t1.plot_id, t1.position, t2.market_access FROM bid t1 " +
"JOIN operator t2 ON t1.operator_id = t2.id WHERE t1.status='Queued' AND t1.postcode=@postcode " +
"ORDER BY t2.market_access ASC, t1.datetime ASC";
var bidList = new List<BidList>();
var cmd = new MySqlCommand(query, _connection);
cmd.Parameters.AddWithValue(("@postcode"), _plot);
MySqlDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read())
var item = new BidList
OperatorId = dataReader["operator_id"] + "",
PlotId = dataReader["plot_id"] + "",
Position = dataReader["position"] + "",
Datetime = dataReader["datetime"] + "",
MarketAccess = dataReader["market_access"] + "",
bidList.Add(item);
dataReader.Close();
// STEP 1b - SET PRIORITIES
for (var i = 0; i < bidList.Count; i++)
var position = i + 1;
bidList[i].Position = position.ToString();
query = "UPDATE bid SET position=@position WHERE status='Queued' AND postcode=@postcode AND operator_id=@operator_id;";
cmd = new MySqlCommand(query, _connection);
cmd.Parameters.AddWithValue(("@position"), position);
cmd.Parameters.AddWithValue(("@postcode"), _plot);
cmd.Parameters.AddWithValue(("@operator_id"), bidList[i].OperatorId);
cmd.ExecuteNonQuery();
dataReader.Close();
// STEP 2 - ALLOCATE JOBS ACCORDING TO PRIORITY
foreach (var t in bidList)
query = "SELECT operator_id, plot_id, status FROM booking " +
"WHERE status='open' AND postcode=@postcode AND operator_id='0'" +
"ORDER BY datetime ASC;" +
"UPDATE booking SET operator_id=@operator_id, status='Allocated' " +
"WHERE (plot_id=@plot_id AND operator_id='0' AND status='Open') LIMIT 1;";
cmd = new MySqlCommand(query, _connection);
cmd.Parameters.AddWithValue(("@operator_id"), t.OperatorId);
cmd.Parameters.AddWithValue(("@postcode"), _plot);
cmd.Parameters.AddWithValue(("@plot_id"), t.PlotId);
cmd.ExecuteNonQuery();
dataReader.Close();
// STEP 3
CloseConnection();I can't tell. When modifying row(s) you have to be able to uniquely be able to identify the row(s) in the database you want to modify. That is why I recommended the other day to use DataAdapter instead of the DataReader. You can with the
reader, but you need to unique identify the rows.
I can't tell from the limited amount of data you posted if in table 2 that there is only one row with the same operator id and plot id. It looks like in table 2 the 'id' number is unique. When working with a database with multiple tables you
need to be able to link tables together with primary keys (columns wit unique values). If the database isn't designed properly then it is impossible to do some operations. So you always have to make sure you design a database properly.
jdweng
When you say table 2 are you referring to the bid or booking table?
Here is the table structure for the bid table
Here is the table structure for the booking table
Hope it helps makes things clearer! -
Applescript - how do I use the result of a library return value
Hello. Been using applescript for about a week. Very new.
I'm using the following script below using an external libarary to query mysql database on external server. works. gives results. How do I save them to do something with the.
when I run it, the results of the call to the library show up in the results window. that makes sense.
ie
{rows:1, cols:1, record_data:{{"85016 "}}}
I want to assign the results to a variable to use it later, particularly the 85016.
I try "set testVariable to tell db_link to do_select(theDBCommand)"
no good. Not sure how to do this.
Help appreciated.
Script follows:
-- links to the mysql tools - thanks to http://www.j-schell.de/node/80
set library_path to "js_aux_scripts:mysql_objects.scptd"
set app_support to (path to application support folder) as string
set DB_Library to (load script file (app_support & library_path))
set db_link to new_link("lala.yadayada.com", "user", "pass", "db") of DB_Library
-- collect the job number you want to run
-- Get the Number
set displayString to "Enter Job Number"
set the theIcon to 1
set theJobNumber to ""
repeat
display dialog displayString default answer theJobNumber with icon theIcon
set theJobNumber to text returned of result
try
if theJobNumber = "" then error
set theJobNumber to theJobNumber as number
exit repeat
on error
set displayString to "INVALID ENTRY! " & displayString
set theIcon to 0
end try
end repeat
-- Query the database and get the other informtion from the ticket file.
set theDBCommand to "SELECT BaseId from SfComp where JobNo = " & theJobNumber
tell db_link to do_select(theDBCommand)Usually you would assign the variable to the results of the command/function, which are inside the tell statement -for example:
tell db_link to set testVariable to do_select(theDBCommand)
The results are a record, where it looks like record_data is a list of lists (although your example only has one item), so for that you can specify the particular property you are intereste in, for example:
get first item of first item of record_data of testVariable
Maybe you are looking for
-
I really didn't think they could screw up iTunes more but it seems they have. It seems that iTunes is the one branch of the Apple tree that has been left to run ragged and alienate customers at will. Design, Marketing, Support and Stores still seem t
-
How do I sync my iPod to a new iTunes library on a new computer?
Here's what's going on: I had to get a new laptop. I was able to backup my library to iTunes because I had recently bought a program called CopyTrans that lets you back up your entire iPod to iTunes. So everything that is on my iPod is now in my libr
-
My apple ID was correctly changed but my @me account and @icloud account addresses need updated to reflect my married name.
-
Back ground: I have a long IT career but have never really done any web dev before. This is my first real stab at building a website so this may be a 101 coding error but I had a heck of a time figuring it out so I thought I'd share incase another n
-
MIGRATION FROM AIX TO LINUX WITH EBS 12.0.6 & DB 10.2.0.3
Hi Guys, I am running rebuild indexes as part of migration activity. I am following metalink note id Export/Import Process for Oracle E-Business Suite Release 12 using 10gR2 [ID 454616.1] the rebuild command is taking more time. is there is any way t