Using the result of string_to_table in SQL

Hi,
Apologies if this has already been answered - I couldn't seem to get the right mix of search terms to find what I was looking for.
I'd like to know if there is a way to use the output or APEX_UTIL.string_to_table directly in SQL without any extra coding (I know I could create VARCHAR2 table type and CAST that to a table - essentially I'm wondering if this has already been done for you or not with APEX).
So the end query would be something like:
UPDATE my_table
   SET column_a = 12345
WHERE my_id_column IN (SELECT column_value FROM TABLE(APEX_UTIL.string_to_table(:P1_MY_MULTISELECTLIST)));Regards,
Gareth.

Thanks guys,
Both (obviously) spot on and which was the confirmation I was expecting.
Denes' example was virtually identical to what I'd already come up with (probably cribbed from the same source! ;o)
Andy with regards to the LIKE method this would have worked as well although (initially) I was concerned about the overhead of having to do a TO_CHAR for each row in the 'real' table - in my case they are numbers and not strings, but then I neglected to mention that in the original post so you couldn't have known that. It's also probably a fairly moot point as I have to send it through a function anyway only way to know which is best for a given situation is to test. My gut feel is that for relatively small number of rows there will be no difference/a slight edge towards a TO_CHAR and using LIKE but as the table volumes go up the in list idea might be best - don't quote me on that though!
For what it's worth, my example is below, but it is essentially the same as Denes's/Tom Kyte's functions.
CREATE OR REPLACE TYPE my_arr_t AS TABLE OF NUMBER(15, 0);
CREATE OR REPLACE FUNCTION my_in_list(
   p_string   IN   VARCHAR2
   RETURN my_arr_t AS
   l_string   VARCHAR2(32767) DEFAULT p_string || ':';
   l_data     my_arr_t        := my_arr_t();
   n          NUMBER;
BEGIN
   LOOP
      EXIT WHEN l_string IS NULL;
      n := INSTR(l_string, ':');
      l_data.EXTEND;
      l_data(l_data.COUNT) := TO_NUMBER(TRIM(SUBSTR(l_string, 1, n - 1)));
      l_string := SUBSTR(l_string, n + 1);
   END LOOP;
   RETURN l_data;
END;
SELECT *
  FROM TABLE(CAST(my_in_list('1:2:3:4:5:6:7:8:9:10') AS my_arr_t));Thanks both for the speedy replies.
G.

Similar Messages

  • 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

  • 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 tell

    Hi,
    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./>[;
    M44UT29AH- FQF"N_F,/2>4W^O(IA9E"+.VU=[?=MQ.>':WXD;-^A$]_)Y<NO
    MPI!?->1[;B1D":9S+P=T;LI$+_QX<IVML1AG>F2A.^H%P9-F@^%Z;L#E&Y3G
    M\!X7ZUS4@AT&<R H'J-D>=>>P!,OVZ-(7/\@>$)UF8V]`_]7\K,T.J(2U:F-
    M@6QCIFOM!O0`N+Z@R+A=)T#:;C2X3X<57Y'M6>K)'H@>T:F.N?-V2WU2Q0\D
    MSC;DRB/2908=^(CNZ@P]TO(W!"9?+Y)OTVJ*1D9CZL8QV*\T(;J03'>4HQC&
    M-5PGB#3]"RDH-/YR@J'M8R3*!2-II-I(;Q4,Q5#EY'<,KQ=/H-'V2!MZP7BM
    M*-4GN+!=.,;%C3EC] ]<&L)S&*5D-FE<;F.LE,JFDD^1V4X8XY4V7G^.B5+Z
    M-V1/<(7<3!I7VYC*IDFT,=W&&Z<QWH1.<@PJQG$)6?HD3&(:5Y$GN4#IEBC)
    M>Q3])F;I)N?P,^W,$B))^!S]\YUBW/@74$L'"(09M1:E`P``QP8``%!+`P04
    M``@`" `WAEDK````````````````*0```&%N="]B=6EL9"]E>&%M<&QE<R]S
    M;V%P+U-E<G9I8V5"96%N+F-L87-SC53I3A-1%/YN%Z8=1@3*8JW%!<0I149Q
    M`2FB4*D6$8@E)/Z<E@L,:6>:SK2I3^0?8]3$8C3Q`7P2G\)X[DS3EK(YR=Q[
    MS_9]YYR[_/[[XQ?\N(M-&1$DPQC$=)C$&0F:C "2(=P3\WTQS,IX@(<A/!+"
    MXQ#FQ#P?A/OY_\AX@@4)*0F+$IY*6&+P%YPZP]7U0[VFUS5^F-=RW+8-RTQ;
    MIL/K3HJA9]$P#4?XJHD=AD#:VN4,E]<-DV]42WE>V=;S1=+T4O1RP3%JND-2
    MF*2WO&35:*W0>DLG6,\T8'/G. M#7#T[!<$JX-(5[L;+J_4"+SOD84MX1C(O
    M'%@YIV*8^PR3'I!6U,U]S5.F$B=5#)*(RIK$'5"SB:R@($6F:.FD"JK93")#
    MT#FK6BGPC"$*[,_Q2LTH\!6NFS,"4<$HKB@8QHB$YPJ6L<(PTDVU4MW;XQ71
    MGE:6"PK2>*%@%1D)+Q6\`M&'FOFXQK5F56XZKN:UA'4%;[#!$&E3M#K!$.5U
    MO50N<ENS+;VL=>1*F;<C-O.'O$ 5#I]HM^<:;>N]?G=0=,#DWML.+]&9L*H"
    MS&NP86E;5)]#57*])(Z.7BYS<Y=A^K]VQ6L5Q86<UGX.J:?N7N040MK3LI"*
    ME.KP:81TCF*TUV?SQM3,.=:.\K</B)#J"MI%SLOB"*TE=G"3+F<$E#/]/G$L
    MZ-:%:4VGA,8H27&:&<W!J2.P+[2@NT=CCZL4KK&6:]2UXJ1;'XW7+G8;H#%^
    ML9O(=0S7FVZW*&^?L$TEO\'7]I5=[2B"+N -&GWGP\:H&:#'AQ$DPS@FF@1S
    M])8)J-A7^'\B\.X(P<&>!J0D_0V$&@@G/W>QCE&@R.\V)L\!D0D@UD"O!Q+[
    MV 4R3H$BASM0FR F@01H7NH`48Z!=!DF&KCD&8;0]QW]'Q#8F/A$:+.81\KM
    MM^ ;@7AO5>)(D"5)EFDLTH/-2 ;E,O4/4$L'".G,>(S3`@``T@4``%!+`P04
    M``@`" `WAEDK````````````````*0```&%N="]B=6EL9"]E>&%M<&QE<R]S
    M;V%P+U-E<G9I8V5(;VUE+F-L87-S;8X];L) $(7?\.,-A 32A98J%&0/D"Z(
    M"! 2$IQ@64TB6[;76CO(9TO!`3@48@PH4%!,\;WYYFGVA[\=ZABAI_"HT%%X
    M(@36LRF8,'@;+K@T219SKG-G,KUFOPTMS]*"_;>Q_$%H3TK+61&Z-%=X5NA*
    MM':_WO)7&$M)[W(S=0F_1V9K"/V[I94@>J7HV*0_>KF)V!:$ERHJ-4<;/9E_
    MGK7^-1N?OOW_@O!ZJO!)J%><N)M50"#49.H`J$%HH"D4" 62*SP(M81J:!\!
    M4$L'".(!=>+,````&@$``%!+`P04``@`" `WAEDK````````````````+@``
    M`&%N="]B=6EL9"]E>&%M<&QE<R]S;V%P+U-E<G9I8V5);G1E<F9A8V4N8VQA
    M<W-ECMU*PT 0A<\T:=?6OZH(7GDIR87N`W@G-)!2$,P3;)>Q;DBR(8DES^:%
    M#^!#B1/%'^K%,',^YLR<M_>75P2XQJG"D<*QPIPP8_ODLZYQU89P%:URLS6Z
    M,-5&?\';^#\2UZ*W7'?.5ZW""4$-5]*J(X11&J>$Z0"2PAM!XRA-XD1,F7]N
    M+">N8,)YQLW66183-X_&\LWPAG#)O2GK@EO=>E/KW2W"_#?._3IG*P_.!M1K
    MSM=ZL;S[IA>?BTWI] .7ON.?R!,"8205``A"R8RQJ(FH4+H2LH?I#IEA_R^1
    M.I!YA,,/4$L'" `AY6?E````5@$``%!+`P0*``````"*94DK````````````
    M````$P```&%N="]B=6EL9"]-151!+4E.1B]02P,$% `(``@`-H99*P``````
    M`````````!X```!A;G0O8G5I;&0O345402U)3D8O96IB+6IA<BYX;6R-4LMN
    MPC 0O%?J/[A<(E5-MNFQ<H/$0RI5'PBHJIZ0DRS"B-BIO2#X^SH0#!20>LO.
    MS.Z.9\.;JV+.EFBLU.JI$4?WC69R?<5O.A_MT7>_RW"6AC-A6/^S]=IKLR $
    M&"X4>Y.9T79M"0M[QWHJBP`ZHP[K*D)3&FF1O8BE:*%0EL51#-!]#U@P)2H?
    M`6:.BNQ"19DN8/: "#GE%NI=XW@<1PX(*B,UYCX9X^BGAVDU>8,ZW**M_-=E
    M)71=2A28?&$Z1+.4&7+PH)=-M:MP)8IRCC:R6I11K7YV#(<-[]4&"TT7]+W*
    MV414:VK9D9=L+JP]WUE%M/6V%?F^^E$AK4M,AB0(7:OE<(1[-1F7A\C(,VVM
    M2$B%AL,)5\<&A[DY#^?2Y<X3%NE\'>9H,R-+TF;7G^U6A <;]I8*I*G.??WO
    ML_C64"J:)(--GAP.L5/I9L*M5QW?&?Y8V:85"B(CTX4[U@!_%M)@7F=UP.RB
    MNOQ6#N<CXK#_=W\!4$L'"$[06?EX`0``9P,``%!+`P04``@`" `VAEDK````
    M````````````)P```&%N="]B=6EL9"]-151!+4E.1B]W96)L;V=I8RUE:F(M
    M:F%R+GAM;'V0O4[#,!2%=R3>P>V2!?LF0Q<44C5-AJ(**K458G2<2^LHMB/;
    M(N7ML3N :('U._?\V/G\I'KRCM9)HQ^F&4NG\^+V)I]4S\O=ZZ8F(S:].4A!
    ML6MHQRW9[,OU:DD2"E#6"[+]<!Z5NR,K+1A M:O("S;K:"$S%O)(_5@"U$\)
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
    M31?TO<K91%1K:MF1EVPNK#W?646T];85^;[Z42&M2TR&) A=J^5PA'LU&9>'
    MR,@S;:U(2(6&PPE7QP:'N3D/Y]+ESA,6Z7P=YF@S(TO29M>?[5:$!QOVE@JD
    MJ<Y]_>^S^-90*IHD@TV>' ZQ4^EFPJU7'=\9_EC9IA4*(B/3A3O6`'\6TF!>
    M9W7 [**Z_%8.YR/BL/]W?P%02P<(3M!9^7@!``!G`P``4$L#!!0`" `(`/-;
    M)"L````````````````8````86YT+W=E8FQO9VEC+65J8BUJ87(N>&UL?9"]
    M3L,P%(5W)-[![9(%^R9#%Q12-4V&H@HJM15B=)Q+ZRBV(]LBY>VQ.X!H@?4[
    M]_S8^?RD>O*.UDFC'Z892Z?SXO8FGU3/R]WKIB8C-KTY2$&Q:VC'+=GLR_5J
    M21(*4-8+LOUP'I6[(RLM&$"UJ\@+-NMH(3,6\DC]6 +43PE)CMX/]P#C.+(&
    M.1-&@4,;RV'LW2Q+H?4M7#:R`).XZ5+XR;1'.UCID(9L';5XIKG"(@S:AAXI
    M,(<O& X$%T>I#[1%)ZP<O#E'*GXZ1S@J-7VSB'0PIB^R-,WA#RVXX/>P3K?R
    M>L0WC<[_WG#U&P%^`E!+!PASJ@1!\0```+0!``!02P,$% `(``@`1H99*P``
    M`````````````!(```!A;G0O5V5B4V5R=FEC92YE87(`,T#,OU!+`P04``@`
    M" !&AEDK````````````````% ```$U%5$$M24Y&+TU!3DE&15-4+DU&\TW,
    MRTQ++2[1#4LM*L[,S[-2,-0SX.7BY?)+S$VU4BA/3=(M3BTJRTQ.+=8K3RQ"
    MR/BZACCJ>OJYZ2<6%.1D)B>6`#7K5>3F(%2$IR8%0[3J94%T`@!02P<(J46S
    MIE8```!M````4$L#!!0`" `(`$:&62L````````````````0````=V5B+7-E
    M<G9I8V5S+G=A<H2T8Y NP-:LV;;=NVW;MFW;MK7;MJVW;=O>;=NVK7O.G8B)
    MN1$SWU1%1OW-6D^N5)0!!4,#@OK/%0O3H@'Z?QRT_TA.3%6(3DI>G$%.2%Y*
    M7$Q%E5Y._%%N:E)6AHY^'EZ&CGIF:K9)F7&)9>_XX/A!9DJN11E*00Y&GHYZ
    M4E9^F8%!?F)^DIJ^GSHS,SU)NS!=*2D[F/3Z`G!Y?EIJD)>5DIR?EUFM$4@;
    M+1=>9Q-!HAE=5YQ?EFWC&)%7AZ/^J!@K/3,A.TTS/RE-"Q()#*0H`PEUATUO
    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
    MW'.8&^=6>V__V7],IN?_`4K -LVQ>E[)B@LO(ZBP6['SNV8TK\T]Y'[P.0B4
    MIWYX[ DD7-]R&VT94XY?2S2D7((RTLHKA,8-H#)15?TB)1ANFR(@>U9D;<@_
    M&<=RAC!?%U?(QFHN^;1*)QBT,P>:?COWX+!6,A!DJ(6E6K.XE,IQ3UC0SV_K
    M+*N(R5UI^Q:'JXB)G?G^M]ASRE#4B@E>Z?J.( >Q37!XIRMREJB +0)K#EJU
    M8BL0#I[H>,N"4!:!=M3C]^9U8T)WX'? @8"0MQE8U%E8\B6Q)/SA6,!EDV\2
    M#2$/)9IUL668[\V3F;5[](KA*/['UZB*\UF<EH%QVQ3=%STE%:(3@!4TTA*J
    MJDP5[]6I@E2;X0.YB'G2D'LQCG[@2]5CQYRT=[CWMHW3#>MZ)S[OH<H:O\6/
    ML?H&8N6LD*W!A-O6(>N;J1Z@X-6SRUUH3PLOXTM\&82$Y L]GU0VNZ,'(>]]
    MLF>-DNU7U(P(H9PR6 0#;2,C*]G]M[CQ<2OL(&Q!L@=Y5KF*N\065H6#0*R"
    MXM7<BM7%JCTA-]8#D]\-K91B-UMF;_;0#>U LM<K><Z10LY'CA]_&@U&H+7N
    M>@720$UN4IHU03ZMZ\\+HW)\'86"Q%/-5 PO]S\TP5-!]H8)A*817,T>#P"\
    M(,ZAD0J?UD<(19'3>!-GTK[PD::(S!1B<O>)<!'/1=KQ:OW8"4Q)9SDE?\%)
    MA-5Q6FH=X)>PLFSQ*#9('6N-@!<JMWPJ?7]X%6I1L-#O157-<5C?S>\TBR(?
    ME;G-E0HFB/&NM?^DW5+2L9#1:ER=FZ+%4\CXT_.P`YG -K9UR"J>NQ_?%?PY
    M"_:H#Q>BUHTDLK.]N&TP0^7TPR69JX%]/3?)UU"YE+,??OD!8:UL#%O/W6@*
    M2\MH>8>ZX<@KU]P<*[N3,7^#M4:.UE[21O^J7B36CNP/)@Z$RFF'6<TV2<;-
    M,!#@S=2_885=/KMRY+'@@;40*^L-OY7VHP>K+AN]#C=[_4"U)7BU>EI6_UED
    MA.AHB CMF'I75JP):VZVF?PH<4\_:%[04 S'X!1/MBMXR'<CTV3R&+Q!D;^&
    M&[]K$2K>X]$#&[>#A72IOS:)K@)K9G!-/8O CT]#'" J(++M3I08UNPMI$*9
    MMAR\(ES4=X^_(J1V@HPX95PAW9?'@8('-W>\#@9FL[I&C^%%W[!2M+]&DCK6
    M;9?,U:??_BB9=MT1<D<D6D\HG-MJ(D:1T+C0^0RC]DKB?X42R"1_[H)@[?)/
    MVAXRTR[6$PENSF%B]R!4/"LG[D2:O<!6PHU+\"OM%0;F^>1-TYS;GWR:I&OY
    M]G8?[J==["7@"O9#<Y7)?(S/63WGW%5==>YGIX-EL%+'A_5-9^:N6.G@7>B'
    M3#/A5VHFX;?/1MD"E82GJP^L(BHX<2*@F::A\M ].JK<%RXN1M:=$T/$I7P#
    ME6K$\!R]WI6:F'5/-&LDI BK*\<=4PJG`C)F8=E&5!3^KZ"((1 :,Q[@3PVY
    MRW/M%,T<_2UUH6&'XL:,RHWLZG3:Y^JKN;N.J-)?E#\AE14;)=+!P_7<65C:
    MC&Y8FW7>I4Z-Q(5&]IR6=:33XV6A$&[>/:%7Z-'3O@!J]+K:8O$*)<#D,42.
    M8SKN0"]GD<BJQ#F%\/MC"P%QL3_[8UQEZAY[U>.^I&<QO';(N6L#%C.9CL6*
    M/=F8\Y957&^)>:6*DC?MJ95%;LT+4]X?]INH$'$:=2_39]?L[JV;C_=>G&WU
    M-:<3*A:G3KOTRV^/SD#K"Q&&5MR4A\PO!HB[U&U <J"FC0X$0>$_+!L/`3XA
    MV\D[]7=,%NJ57I9FZI/(DH%*\Z:%IYPII[\J.!H.Y]WI* '1'\I4BEX51N?X
    M66WFKK%TLCH=\OMK$_]J_7:+0Q-&32MN>YU,]W?Z* ]8BLDJFFQE\-: V+79
    MGG.T4_V%$3/36/4OF&1.5IV$GHB>L>.Y3F[2($V!R7,1/34LZ+\QL1W9^0_@
    M/=:JC+VQU)+V@<AE%LA#TW4`,_IM2(Q*]9;(%3"'S$&FSV+$Z ^^W59!3?(2
    MU5");9_:VJWLV\C^#TGM79P3N +P&;R[HJ,=!6_N+HY#'^??<[2'J5,WEQ<3
    M'IP'A_PU_02THPIP,,"RLO>S6/1R9)U5PZ!TA2(X2@`<Z,]H94_YV^%O2?V_
    M)8D;^P:9=<!3^S2#&Q;,K 0LF])%&Q;Z^08K/@X0T)Z-"\1B-493`[73<?C:
    MFJ+&EJS!:WY]@_$.6E*&W67M%9[Z.I/=<Z?D[3*]B2TT\0G2,F])F.:MB2%-
    MC"C&G9=_9@)[HE0;4FGR_!B[0-/PSG>%V)\$Q##O4(=D\#L4(2_'QD$43G8&
    M*XJ,M4WR=I^O_VA@CU]'N6*()VTG)=]C<C<T7HJ\LQ>_\=/43G$-7@I-R.(]
    MUB\H\)3Z6] IL1:4XRI#@ET`FLVXC3UY1OMZ&,%#7" 4=7N;L&:S"'=$>2%>
    MIL>R>PMYIYVCLL/NE"VIASVWXOMG)NI@?7]LE.LUZF=DOS4XVH%^%.;'WOJN
    MH-1T8W)T?W1D,BKI#PN*PM[I\J]3OBAI26J$(PN2\P7EVR18L\UI4>%;YW*8
    MVH3X*$\!Q=V"G2VIPEM5Y1&B=]32/02Y7"+0R3CEWN";YYJ"0T*WC<LWC ?M
    M'%@PP0V_%F6:4>PLE$V'1X\G9CDVIY?[DO0E2#(FG=OF@,F85??A]>ILXWBH
    M**$3-2<D:)A@5O%_(MYW(%[BS,)AR5N2;HKBN2^8C/#/.4Z6< 3>"=EQB9+H
    M69G1:<JDHB<GBH\2<M_T`G"Y!%,-4H)C$O!KJ?<D1#,55"B@4[$5[1RKPWF)
    MG"+S\42/1CLRR<2[&:?B/(&5&-?>A#HX`A#((=X\$<1Y<+A#:U4R)_XT>\JK
    M4K).Y\AY[M(HAAV)EN-2B(:AT#.9)YZ0#8F@6@ZRQ-7<Y$D1J$!7O3F]L&E\
    MT*D1\V[)X6M0B8C[@0Y3&9#4X(06<R@TVT*>(3;@LU-DQOY/['2C3F+SJ).N
    M(5799X*QZ4=_U4GS$NFC0*[:Q;:P*B1J\_L8PRZXP04:75@TI17$VI-)K*"W
    MJ"L>/*Y#V:U&!YT;0-(V,-&TF+C::9-M$-9"ZI,V>#6?V\)994,Y&I*T?_2A
    MW*<D.:'G)ZM&4/*LD=QRT70"0U.RFKK6&E$VQX<1B83>4%8T__5KD+,_=$QN
    M8F]^[?G[*>),3L;GOPY0V0]2[P]#$IK[KIKIC(H440^*V@K+:NN1:"+WR2K+
    MBG EJ/G2G#S2#*A 32XQT.+'%X>/W"C0R"C@V0P_T#R:-$J[E*:=4",64J'3
    MD8BJK%[T2.B2? = X*XU$))#[5(A5S$6G0X6N)BCU.+M<*]-#.RN$<Z-M)(Y
    MTT1'*,JXKHHVIULUDJ$F%F)"CQ:85&2&?_X,_,-K#@*X;73*GTX[,S54A0SX
    M`"=K2M?[T*J%PJ1'<4H9CZI0`:R9X@O2G/2K_I954LX.(9OOE*FXMVMP<ZAZ
    M[:P.-@3>T#>?H"\8N(^K\3?T=ICSCR!>'0$S+K&HAZ/3@V?!S*<9(]!...^E
    MEG2NGKS>FB0VYP(=()YO-:06(DMVY#$424];6'18'.PC*\N ;]>U!JEXEFIB
    M-)!TO;UQ,S-=S%<W51_Z\K/X?(AH5LWZX1)VT$CYC7PZYPXM,R^ ,KJL06D%
    MF=FYJ=KB%H59>?E1*Q6LS5D((VC5RW'<(>%+._T;1M\4K<*UJ\6Y'D;6"5ZA
    MJRJJT6O3[6B7$)B6&D?+$<C8XPL]`]J"TN4Y-N,])'09FMM%0@J0!V]=-6_H
    M9'[?Q1SZ' BA!Z2</LTZ0_B8TZKMF\62[U<:F- *)C0S,>HP8,,.UF9Z`@RN
    MR:LO(BI%MBKQVY<W,3<FP2ZFUCF+J9K*84_'E=-:CKRZK:2<=VLZ;G@#.,VK
    M62,CS;(EPG/O`?(8(^XL=),^ZK<ZM)8WBR]@6>?Y`I0U-)$&E H91N=TLGE4
    MEY#:=$1C&U0<,"T_23+4X]@03&-A"F51N;4]Y1Q0OX)445QT%23@<LP9DZ%E
    M;NPL9KL7'D48+2.K787DP5(GJBFD<2F=4S"/5QKI<1$KRO-?NN8M6C#EZVFH
    MRWQM$R@K*@.UQECMIFI%D(>,FX\+<X-QY!K=YOI//#I6.A)HE,NF' (%1HDS
    M6)Y-_$NMF9XU;!3SUKL1E)7F(66$G80<6X_+%SJFL/"/@54L@*H*:L2JRK.@
    M)L*7PH$6)&*OF_@O9ZP$P3.06OJ%B.'$<L2IH3$CF*1HP4KVP7,E:[4)]]W0
    MEJG4@D(.0(&&N0EC8(6<=0/_=0#7=Z@C-Y;#AZD_UY1C5Y43EVE 5_R><X%C
    M0#S3GH(PY75!!I."DRX8`[+,"!+,"62N.ZQ(3WEH=A_=!9TQ>4Y3KJ[],X(Q
    M_ H.>P\U3^]#Q$*VI7NO\R.&L9T7I25[*O'L,JK&>0:1?Y0F<3]G9L=DX8WX
    MAH3H])")C L%0]#M'HZ&E)J>;GTB^4V4W?:C>(6_JFBD)8V!J-A0;&.UXI8I
    M] )([51>1A85M41SGO#*B(#<2L9;5T4^=!9[E"W5QB6F&NG:(O8I<QMO-BZ3
    MHGV2ZP)*Z255QH897_)@I.K.(^I.7UF<Q68PC8 _$+!;_Y=*[,"'S3I/YF]5
    M-R>.%^/X1C96QQK/=U=&Q(B]""0T<=@,ALX'#0TQI5$SX10P$E$J*/H%1X3$
    M#"3/D'<STQL8\IPU4#76C#D+OTI>SRI43A9IF^RLK"@3K?A#[3!B=3?E6;(U
    MO<\?%@`<[1EGQ_GE+..0'2IR:"&AGG&>ZEUM9((S@I4:= S=ZL-A;LK/;LH%
    MW</0U[E03&(E:@/L^JRO> L]B=9@K!+N,J^D>0"]7$X"]0VAR!U'SE/C@/J^
    MR->_.X'#_18=A-.\^Y'K7_Y.7#%4B4<#2!Z(#P&D-N(B<7KQ7RK[,G3%%*3?
    M)TH;]P7VX#=P,2R,.:WM`2A"Z@7-9C J'%0)9CO\R!I R7IS#_=.U@WL5= D
    MG9E,!)HVIOA.YK7,MN_0&?]WAI.4A*"6H_;CE0_7B6$#!T]FG$(NFR(,^82B
    M&2UC"IXA"$4@@H@/8+^:;8G,10V]V,><6V,;=8#J`P1CIW3[;HN6*B2\WQLD
    M&4Z+`G\+K"37$GXUIXYZ>&PH3( PUAYQT:J.4?C(D,Z_))8T*-D1C6#A'Y-,
    MC@L0Y$C:[C5<\#XMD_0]KU,$H*K%.EX2`EMR0E: \CS"BMXO)36<GB$J_+AQ
    M%N%9Z:(M_0$^6PM*#B2&B4RD)8.K$RG:+:Z#MQ5F)\(TKEC/(CI@YG+A=+J)
    MT831T.>>9:F[$F6>-\/UCY%J?*FY=N>DG?L_9*O#_$%/N_D?:?$.2Y&@85MM
    M+)K<TC<U_'-'*Z-4/B"EXWYD>:.Q3%6_ZU3"9"0BQ*&H"NG:Y-*]BGG)[/6P
    MA26I4LN$A:R\?WLX567[_&K[E3M>RW8<[('>(OG/+2*./#ZEM?22,"=BO/8^
    M.4)<9%RHZ-.&\OS09:+'C;N6'@VB]*-.3"F6T8FO0 *I^,M/G]8=#966L.JO
    M0:XMCYT\R8?_QO7V51I$IB<N-V?#WX20NM3F]B9(NIJ2Q&O,B3@A,9Z<&BH@
    MA!^^EYG0*R1$-S^:)4%Y'9E-S06!-Q4/48Z]CG+[$BZPNT>^<_OV(DDE2[&H
    MB.?#< /D4[A )#WE8!Y=3'DO)\WR-HK(/^!G0<9J'HA79>%.]%0&NDPK/?T]
    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.
    -Lou

    From 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 Serrano

    Hi 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 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,
    Indu

    Hi 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

  • 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

  • Is there a way to filter a drop down list by using the result main data display from"GetUserProfileByName" when open the form.

    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&amp MICROSOFT Forum

    I'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

  • 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!

  • How to use the result of a sql query for a max () function

    Hi
    I wrote a query on which i wrote
    "select max(id) from users "
    how can i use the returned value.
    if i made the var name ="userid"
    can it be userid.rows[0] or what.
    thnx for any help

    Hi!
    The result of this query will be the max ID of users' IDs.
    Let say we have:
    String sql="select max(users.id) from users";
    Statement st = ctx.conn.createStatement();
    ResultSet rs = st.executeQuery(sql);
    rs.next();     
    So you can get the max Id in the following way:     
    int maxId=rs.getInt("id");
    Regards,
    Rossi

  • How can I show all the results returned by a sql query?

    Hi guys,
    I need your help.
    Let's say I have one table: TableA. Fields of TableA are aleg, anon, apes. The following sentence can return, in general, several rows: select anon from TableA where aleg = somevalue. I'd like to show the result of column anon but no luck. If I try to show the results in a TextArea and the origin is an sql query only shows the first row value. I tried Show as: show as text (based in PLSQL) and coding an anonymous plsql block as
    DECLARE
    v_anon TableA.anon%TYPE;
    CURSOR v_cur IS
         select anon from TableA where aleg = somevalue;
    BEGIN
    OPEN v_cur;
    LOOP
    FETCH v_cur INTO v_anon;
    EXIT WHEN v_cur%NOTFOUND;
    :FIELD_IN_FORM := v_anon;
    END LOOP;
    CLOSE v_cur;
    END;
    but in this case it's not shown any result.
    So the first question is what kind of field should I use to show the result. And the second one is what can I do to being able to show all the results returned by the query (provided that is more than one single row).
    regards

    Hi Denes,
    Just starting with apex. I think I know how to show the results in a report region. I've simplified the posted question.
    A more detailed question would be: Suppose you have a region where you have put several text areas to accommodate the result of a multi-column query (lets say for TableA) that only returns one row, each column value returned put in a different text area. Also you want to show the values of other fields in TableB that depends on some value just retrieved from TableA and that you want all values retrieved (from TableA and the linked TableB) to be show in the same region. Is that possible? If yes, how?
    Thank you in advance

  • JSP Servlet and convert the result set of an SQL Query To XML file

    Hi all
    I have a problem to export my SQL query is resulty into an XML file I had fixed my servlet and JSP so that i can display all the records into my database and that the goal .Now I want to get the result set into JSP so that i can create an XML file from that result set from the jsp code.
    thisis my servlet which will call the jsp page and the jsp just behind it.
    //this is the servlet
    import java.io.*;
    import java.lang.reflect.Array;
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.naming.*;
    import javax.sql.*;
    public *class *Campaign *extends *HttpServlet
    *private* *final* *static* Logger +log+ = Logger.+getLogger+(Campaign.*class*.getName());
    *private* *final* *static* String +DATASOURCE_NAME+ = "jdbc/SampleDB";
    *private* DataSource _dataSource;
    *public* *void* setDataSource(DataSource dataSource)
    _dataSource = dataSource;
    *public* DataSource getDataSource()
    *return* _dataSource;
    *public* *void* init()
    *throws* ServletException
    *if* (_dataSource == *null*) {
    *try* {
    Context env = (Context) *new* InitialContext().lookup("java:comp/env");
    _dataSource = (DataSource) env.lookup(+DATASOURCE_NAME+);
    *if* (_dataSource == *null*)
    *throw* *new* ServletException("`" + +DATASOURCE_NAME+ + "' is an unknown DataSource");
    } *catch* (NamingException e) {
    *throw* *new* ServletException(e);
    protected *void *doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    Connection conn = *null*;
    *try* {
    conn = getDataSource().getConnection();
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select post_id,comments,postname from app.posts");
    // out.println("Le r&eacute;sultat :<br>");
    ArrayList <String> Lescomments= *new* ArrayList<String>();
    ArrayList <String> Lesidentifiant = *new* ArrayList<String>();
    ArrayList <String> Lesnoms = *new* ArrayList <String>();
    *while* (rs.next()) {
    Lescomments.add(rs.getString("comments"));
    request.setAttribute("comments",Lescomments);
    Lesidentifiant.add(rs.getString("post_id"));
    request.setAttribute("id",Lesidentifiant);
    Lesnoms.add(rs.getString("postname"));
    request.setAttribute("nom",Lesnoms);
    rs.close();
    stmt.close();
    *catch* (SQLException e) {
    *finally* {
    *try* {
    *if* (conn != *null*)
    conn.close();
    *catch* (SQLException e) {
    // les param&egrave;tres sont corrects - on envoie la page r&eacute;ponse
    getServletContext().getRequestDispatcher("/Campaign.jsp").forward(request,response);
    }///end of servlet
    }///this is the jsp page called
    <%@ page import="java.util.ArrayList" %>
    <%
    // on r&eacute;cup&egrave;re les donn&eacute;es
    ArrayList nom=(ArrayList)request.getAttribute("nom");
    ArrayList id=(ArrayList)request.getAttribute("id");
    ArrayList comments=(ArrayList) request.getAttribute("comments");
    %>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    Liste des campagnes here i will create the xml file the problem is to display all rows
    <hr>
    <table>
    <tr>
    </tr>
    <tr>
    <td>Comment</td>
    <td>
    <%
    for( int i=0;i<comments.size();i++){
    out.print("<li>" + (String) comments.get(i) + "</li>\n");
    }//for
    %>
    </tr>
    <tr>
    <td>nom</td>
    <td>
    <%
    for( int i=0;i<nom.size();i++){
    out.print("<li>" + (String) nom.get(i) + "</li>\n");
    }//for
    %>
    </tr>
    <tr>
    <td>id</td>
    <td>
    <%
    for( int i=0;i<id.size();i++){
    out.print("<li>" + (String) id.get(i) + "</li>\n");
    }//for
    %>
    </tr>
    </table>
    </body>
    </html>
    This is how i used to create an XML file in a JSP page only without JSP/SERVLET concept:
    <%@ page import="java.sql.*" %>
    <%@ page import="java.io.*" %>
    <%
    // Identify a carriage return character for each output line
    int iLf = 10;
    char cLf = (*char*)iLf;
    // Create a new empty binary file, which will content XML output
    File outputFile = *new* File("C:\\Users\\user\\workspace1\\demo\\WebContent\\YourFileName.xml");
    //outputFile.createNewFile();
    FileWriter outfile = *new* FileWriter(outputFile);
    // the header for XML file
    outfile.write("<?xml version='1.0' encoding='ISO-8859-1'?>"+cLf);
    try {
    // Define connection string and make a connection to database
    Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/SAMPLE","app","app");
    Statement stat = conn.createStatement();
    // Create a recordset
    ResultSet rset = stat.executeQuery("Select * From posts");
    // Expecting at least one record
    *if*( !rset.next() ) {
    *throw* *new* IllegalArgumentException("No data found for the posts table");
    outfile.write("<Table>"+cLf);
    // Parse our recordset
    // Parse our recordset
    *while*(rset.next()) {
    outfile.write("<posts>"+cLf);
    outfile.write("<postname>" + rset.getString("postname") +"</postname>"+cLf);
    outfile.write("<comments>" + rset.getString("comments") +"</comments>"+cLf);
    outfile.write("</posts>"+cLf);
    outfile.write("</Table>"+cLf);
    // Everything must be closed
    rset.close();
    stat.close();
    conn.close();
    outfile.close();
    catch( Exception er ) {
    %>

    Please state your problem that you are having more clearly so we can help.
    I looked at your code I here are a few things you might consider:
    It looks like you are putting freely typed-in comments from end-users into an xml document.
    The problem with this is that the user may enter characters in his text that have special meaning
    to xml and will have to be escaped correctly. Some of these characters are less than character, greater than character and ampersand character.
    You may also have a similiar problem displaying them on your JSP page since there may be special characters that JSP has.
    You will have to read up on how to deal with these special characters (I dont remember what the rules are). I seem to recall
    if you use CDATA in your xml, you dont have to deal with those characters (I may be wrong).
    When you finish writing your code, test it by entering all keyboard characters to make sure they are processed, stored in the database,
    and re-displayed correctly.
    Also, it looks like you are putting business logic in your JSP page (creating an xml file).
    The JSP page is for displaying data ONLY and submitting back to a servlet. Put all your business logic in the servlet. Putting business logic in JSP is considered bad coding and will cause you many hours of headache trying to debug it. Also note: java scriptlets in a JSP page are only run when the JSP page is compiled into a servlet by java. It does not run after its compiled and therefore you cant call java functions after the JSP page is displayed to the client.

  • Using the results of one recordset to filter another.

    Hi
    I have a dynamically generated web page that uses a recordset to gather most of the relevant information that is needed on it. However, what i need to do is create a second record set on the same page and filter that second recordset using one of the results generated from the first recordset. The problem that i am having is that the first recordset displays its information as an echo <?php echo $row_Recordset1['move_type']; ?> but i obviously cannot use this echo code in the filter for the second recordset, the code obviously needs tweaking but i am not sure how.
    If it were as simple as copy and paste the query i would need for the recordset2 is as follows but i am unsure how to code the echo from the first recordset. I am well aware that the following code could never work but i hope it works as simplified example of my intention.
    SELECT ID, move_name, catagory_link_path, move_type, mem_on_off
    FROM moves
    WHERE move_type = <?php echo $row_Recordset1['move_type']; ?>
    ORDER BY move_name ASC
    Any help would be appreciated

    I can think of two ways this can be done. One way, (which may or may not be appropriate in your case) is to use an INNER JOIN. Here is an example:
    $presenterset1=mysql_query("SELECT * FROM presenters INNER JOIN presenters_course USING (presenter_id) WHERE course_id='$course_id' ORDER BY presenter_rank");
    Do a search for tutorials on INNER JOIN for information about how to use it.
    Another possible solution is to nest one SQL statement within the result of another: like this:
    $sql1=mysql_query("SELECT one, two, three from table1 WHERE one='$one'");
    while ($result1=mysql_fetch_assoc($sql1)){
    extract ($result1);
    $sql2=mysql_query("SELECT apple, orange, pear from table2 WHERE fruit='$three'");
    while ($result2=mysql_fetch_assoc($sql2)){
    extract ($result2);
    echo "$apple and $orange" and $pear<br/>";

Maybe you are looking for

  • JaVA 1_4_2 SLES 11 - download ?

    Hi, I`d like to install new system SAP ERP ECC 6.06 on the Linux SUSE 11 (x64_86) and Oracle 11. Temporarily i have trail version SUSE Enterprise Server 11. I installed SUSE, but according to note (1172419) I neeed java: SUSE Linux Enterprise Server

  • Performance issues in OVM2 VM

    Hello, may be someone who has experience of running oracle database on OVM2 VM can share knowledge... I have OVM2 VM with oracle database running in it. This is only one VM on physical server. All VM's virtual disks located in the storage repository,

  • [SOLVED] Cinnamon stuck in US keyboard layout

    I can't seem to get Cinnamon to use a UK keyboard layout. At the GDM login prompt the keyboard layout is correct, but as soon as I log in to cinnamon it switches to a US layout. I can't find any Cinnamon setting applets to change the keyboard layout

  • Ideas on storing version (ptf) info at the class level

    Our product is regulated by the FDA and so must do a lot of extra documentation chores. One thing we need to do is track version numbers (we call 'em PTF's) for each source file and .class file. We are playing with ideas on an easy way to go about th

  • Just got 4G, email removed from server when read

    hi, i just got the iPhone4G and setup all my email accounts with no problem, BUT i dont want any emails marked "read" on ther server when i read them on my iphone, but thats exactly whats happening.....anything i can change to stop this? marking unre