Get x and y coordinated from a text position in JtextComponent

Hi,
I want to paint matching brackets in my JTextComponent.
I have the position of the char I need to paint but in order to use paint() I need the x,y coordinates.
Any idea?
Dekel

I need the x,y coordinates
textComponent.modelToView(...);

Similar Messages

  • How do I get date and time component from a DATE object?

    Hi All,
    I need to get date and time separately from a DATE object, does
    anyone know what function I should call? GetDate()? GetTime()?
    I need this in a SELECT statement.
    Thanks in advance and looking forward to your early reply.
    Regards.
    Gladywin
    30/11/2001

    Hello,
    See following SQL.
    select to_char(sysdate,'dd/mm/rrrr') today_date,
    to_char(sysdate,'hh24:mi') now_time
    from dual
    Adi

  • Getting repeated values when reading from a text file.

    I need to read from a text file. When the token encounters a particular word (command) I need to read the next line and perform some actions. However, this part is working but it is repeating the values again and again until it encounters the next particular word (command). Hope that someone will help me out, as always when I posted a problem in these forums.
    SetOperations class - contains the set methods
    // Imported packages.========================================================
    import java.util.Vector;
    import java.util.Iterator;
    // Public class SetOperations.===============================================
    public class SetOperations
         // Instance variables.===================================================
         private Vector v = null; // Creates new instance of vector.
         protected int memberCount;
         // Constructor.==========================================================
         public SetOperations()
              v = new Vector();
         } // end constructor.
         // Method isMember.======================================================
         * Checks whether the element is already a member of the set.
         * @return True if Vector v contains Object member.
         public boolean isMember(Object member)
              if (member != null) // only if Object member is not null.
                   return v.contains(member); // returns true if vector already contains member.
              else
                   return false; // returns false if vector does not contain member.
         } // end public boolean isMember(Object member).
         // Method addMember.=====================================================
         * Adds a member to the set.
         * @return Adds Object member to Vector v.
         public void addMember(Object member)
              //if (! v.contains(member)) // only if element is not already a member.
              if (isMember(member) == false) // only if element is not already a member.
                   v.add(member); // adds a member.
         } // end public void addMember(Object member).
         // Method countMember.===================================================
         * Returns the number of members present in the vector.
         * @return Number of elements present in the vector.
         public int countMember()
              return v.size();
         } // end public int countMember().
         // Method isSetEmpty.====================================================
         * Returns true if set is empty.
         * @return True if no elements are present in Vector v.
         public boolean isSetEmpty()
              return v.size() == 0; // returns 0 if no elements are present in the vector.
         } // end of public boolean isSetEmpty().
         // Method printMember.===================================================
         * Displays member/s of the set.
         * @return Prints element/s present in the vector.
         public void printMember()
              for (int i = 0; i < v.size(); i++) // iterates through present members.
                   System.out.println("[" + i + "] " + v.get(i)); // displays member/s present in the vector.
         } // end of public void printMember().
    } // end public class SetOperations.
    SetTextLauncher class - reads from a text file and implements the set operations
    // Imported packages.========================================================
    import java.util.*;
    import java.io.*;
    // Public class SetTestLauncher.=============================================
    public class SetTestLauncher
         // Main method public static void main(String args[]).===================
         public static void main(String args[])
              displayFile("test.txt"); // outputs result from text file.
         // method to display a file on screen
         public static void displayFile (String textFile)
              // Instance variables.===============================================
              // Creates new instances of SetOperations.
              SetOperations setA = new SetOperations();
              SetOperations setB = new SetOperations();
              SetOperations setC = new SetOperations();
              SetOperations setD = new SetOperations();
              SetOperations setE = new SetOperations();
              // Initialisation.
              String line = "", nextLine = "";
              FileReader fr = null;
              try
                   // Opens the file with the FileReader data sink stream.
                   fr = new FileReader(textFile);
                   // Converts the FileReader input stream with the BufferedReader processing stream.
                   BufferedReader br = new BufferedReader(fr);
                   // Iterates through text file reading lines until end of text lines.
                   while (line != null)
                        line = br.readLine(); // reads one line at a time.
                        if(line == null) break; // when the line is null break the loop.
                        // Creates a new instace of StringTokenizer.
                        StringTokenizer st = new StringTokenizer(line);
                        // Loops until there are no more tokens.
                        while (st.hasMoreTokens())
                             String token = st.nextToken(); // reads next token.
                             // Only if the token encounters the String "membera".
                             if(token.equals("membera"))
                                  nextLine = br.readLine(); // gets next line.
                                  setA.addMember(nextLine); // adds a member to the set.
                                  // Displays members present in the set if vector is not empty.
                                  if (! setA.isSetEmpty())
                                       setA.printMember(); // print members present.
                                  // Displays the number of member/s present in the vector.
                                  System.out.println("Number of set members: " + setA.countMember());
              // Catches and displays exceptions.
              catch (FileNotFoundException exp)
                   System.out.println(exp.getMessage());
                   exp.printStackTrace();
              catch (IOException exp)
                   System.out.println(exp.getMessage());
                   exp.printStackTrace();
              finally
                   try
                        // if file is found
                        if (fr != null)
                             // close file
                             fr.close();
                   catch (IOException exp)
                        exp.printStackTrace();
         } // end public static void main(String args[]).
    } // end public class SetTestLauncher.

    Thanks for your interest. Please ignore SetOperations class, it is just the class containing the methods and it works correctly since I checked it without reading from a text file. I marked the part where I think lies my problem in class SetTestOperations.
    The information in the text file is as follows:
    membera
    Hillman
    membera
    Skoda
    membera
    Honda
    membera
    Toyota
    and the result is:
    [0] Hillman
    Number of set members: 1
    [0] Hillman
    [1] Skoda
    Number of set members: 2
    [0] Hillman
    [1] Skoda
    [2] Honda
    Number of set members: 3
    [0] Hillman
    [1] Skoda
    [2] Honda
    [3] Toyota
    Number of set members: 4
    instead of just one set:
    [0] Hillman
    [1] Skoda
    [2] Honda
    [3] Toyota
    Number of set members: 4
    Hope it is easier to understand like this.
    Regards
    Marco
    I need to read from a text file. When the token
    encounters a particular word (command) I need to read
    the next line and perform some actions. However, this
    part is working but it is repeating the values again
    and again until it encounters the next particular
    word (command). Hope that someone will help me out,
    as always when I posted a problem in these forums.
    SetOperations class - contains the set
    methods
    // Imported
    packages.=============================================
    ===========
    import java.util.Vector;
    import java.util.Iterator;
    // Public class
    SetOperations.========================================
    =======
    public class SetOperations
    // Instance
    e
    variables.============================================
    =======
    private Vector v = null; // Creates new instance of
    f vector.
         protected int memberCount;
    Constructor.==========================================
    ================
         public SetOperations()
              v = new Vector();
         } // end constructor.
    // Method
    d
    isMember.=============================================
    =========
    * Checks whether the element is already a member of
    f the set.
         * @return True if Vector v contains Object member.
         public boolean isMember(Object member)
    if (member != null) // only if Object member is not
    ot null.
    return v.contains(member); // returns true if
    if vector already contains member.
              else
    return false; // returns false if vector does not
    not contain member.
         } // end public boolean isMember(Object member).
    // Method
    d
    addMember.============================================
    =========
         * Adds a member to the set.
         * @return Adds Object member to Vector v.
         public void addMember(Object member)
    //if (! v.contains(member)) // only if element is
    is not already a member.
    if (isMember(member) == false) // only if element
    nt is not already a member.
                   v.add(member); // adds a member.
         } // end public void addMember(Object member).
    // Method
    d
    countMember.==========================================
    =========
    * Returns the number of members present in the
    e vector.
         * @return Number of elements present in the vector.
         public int countMember()
              return v.size();
         } // end public int countMember().
    // Method
    d
    isSetEmpty.===========================================
    =========
         * Returns true if set is empty.
    * @return True if no elements are present in Vector
    r v.
         public boolean isSetEmpty()
    return v.size() == 0; // returns 0 if no elements
    ts are present in the vector.
         } // end of public boolean isSetEmpty().
    // Method
    d
    printMember.==========================================
    =========
         * Displays member/s of the set.
         * @return Prints element/s present in the vector.
         public void printMember()
    for (int i = 0; i < v.size(); i++) // iterates
    es through present members.
    System.out.println("[" + i + "] " + v.get(i)); //
    // displays member/s present in the vector.
         } // end of public void printMember().
    } // end public class SetOperations.
    SetTextLauncher class - reads from a text file
    and implements the set operations
    // Imported
    packages.=============================================
    ===========
    import java.util.*;
    import java.io.*;
    // Public class
    SetTestLauncher.======================================
    =======
    public class SetTestLauncher
    // Main method public static void main(String
    g args[]).===================
         public static void main(String args[])
    displayFile("test.txt"); // outputs result from
    om text file.
         // method to display a file on screen
         public static void displayFile (String textFile)
    // Instance
    ce
    variables.============================================
    ===
              // Creates new instances of SetOperations.
              SetOperations setA = new SetOperations();
              // Initialisation.
              String line = "", nextLine = "";
              FileReader fr = null;
              try
    // Opens the file with the FileReader data sink
    ink stream.
                   fr = new FileReader(textFile);
    // Converts the FileReader input stream with the
    the BufferedReader processing stream.
                   BufferedReader br = new BufferedReader(fr);
    // Iterates through text file reading lines until
    til end of text lines.
                   while (line != null)
    line = br.readLine(); // reads one line at a
    at a time.
    if(line == null) break; // when the line is null
    null break the loop.
                        // Creates a new instace of StringTokenizer.
                        StringTokenizer st = new StringTokenizer(line);
                        // Loops until there are no more tokens.
                        while (st.hasMoreTokens())
    String token = st.nextToken(); // reads next
    next token.
    // Only if the token encounters the String
    tring "membera".
                             if(token.equals("membera"))
                                  // *****THE PROBLEM LIES HERE....I GUESS
    // need to read the next line after encountering the word membera in text file
    nextLine = br.readLine(); // gets next line.
    setA.addMember(nextLine); // adds a member to
    ber to the set.
    // Displays members present in the set if
    set if vector is not empty.
                                  if (! setA.isSetEmpty())
                                       setA.printMember(); // print members present.
    // Displays the number of member/s present in
    ent in the vector.
    System.out.println("Number of set members: " +
    s: " + setA.countMember());
              // Catches and displays exceptions.
              catch (FileNotFoundException exp)
                   System.out.println(exp.getMessage());
                   exp.printStackTrace();
              catch (IOException exp)
                   System.out.println(exp.getMessage());
                   exp.printStackTrace();
              finally
                   try
                        // if file is found
                        if (fr != null)
                             // close file
                             fr.close();
                   catch (IOException exp)
                        exp.printStackTrace();
         } // end public static void main(String args[]).
    } // end public class SetTestLauncher.

  • Get PO and Item number from FI Cleared Items

    Hi,
    I need to retrieve PO and item numbers from FI cleared items.
    So I retrieve the records for a particular GR/IR account from table BSIS.  Based on FI document number, item number, fiscal year and company code, I get the PO and item numbers from table BSEG.
    However, I cannot use BSEG in query i.e. SQ01.
    What is the easiest way for me to retrive PO and items numbers?
    Thanks.

    Hi,
    First of all, cleared items live in BSAS. BSIS is for the items that are still open.
    Goto SQ02 and make a direct table read to BSAS; click 'Extras' icon; on the right part of screen click 'Create' icon; give name BSEG and choose 'Additional table' radio button. The keys suggested by the system should be good.
    Regards,
    Ming

  • How To Get FileType and MIME Type from a File

    Hi,
    I am using following ways to get FileType and MIME Type.
    I am able to get file type, but I am getting MIME Type as */*
    Can any one please let me know how to get MIME Type, but it should not be time consuming process.
    For File Type I am using following Code:
    private String getFileData(InputStream inStream) {
    fileName = C:\temp\temp.tiff
    String filePath = Util.createTempFile(fileName);
    RandomAccessFile raf = new RandomAccessFile(filePath, "rw");
    while (inStream.available() > 0) {
         byte[] buf = new byte[inStream.available()];
         inStream.read(buf);
         raf.write(buf);
    inStream.close();
    raf.close();
    File file = new File(filePath);
    JFileChooser chooser = new JFileChooser();
    String fileType = chooser.getTypeDescription(file);
    file.delete();
    //MIME Type I am getting from
    DataHandler data = new DataHandler(new DocumentSource(inStream));
    data.getContentType();
    data.getContentType() is not working well in all cases.
    Can any one help me on this.
    Thanks in advance,
    Ram.
    Edited by: javausers07 on Apr 15, 2009 4:25 PM

    javausers07 wrote:
    Hi,
    I am using following ways to get FileType and MIME Type.
    I am able to get file type, but I am getting MIME Type as */*
    Can any one please let me know how to get MIME Type, but it should not be time consuming process.
    For File Type I am using following Code:
    private String getFileData(InputStream inStream) {
    fileName = C:\temp\temp.tiff
    String filePath = Util.createTempFile(fileName);
    RandomAccessFile raf = new RandomAccessFile(filePath, "rw");
    while (inStream.available() > 0) {
         byte[] buf = new byte[inStream.available()];
         inStream.read(buf);
         raf.write(buf);
    inStream.close();
    raf.close();
    File file = new File(filePath);Why do you do all above?
    JFileChooser chooser = new JFileChooser();
    String fileType = chooser.getTypeDescription(file);
    file.delete();
    //MIME Type I am getting from
    DataHandler data = new DataHandler(new DocumentSource(inStream));
    data.getContentType();
    data.getContentType() is not working well in all cases.That's because there's no way to get MIME type of all files on all filesystems.
    Kaj

  • Get previous and latest salary from IT0008 Record

    Hey guys, i am trying to develop a letter that needs to show an increment, i.e. grab the current and previous records from IT0008..
    I have tried a few things:
          CALL FUNCTION 'HR_READ_INFOTYPE'
    >> this does not get the salary i need.. but gives me dates that i used in:
          CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE'
    >> this is returning the current salary and future salarys (we have some postdated increments in the system) but does not get me the previous no matter what i put in for dates.
    also tried:
          CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE_EXT'
    >> same as above.
    thoughts? i want to get the last two records as they appear in Pa20/30 for IT0008.
    Thanks!
    -Jason

    Jason:
    My suggestion
    SELECT * FROM PA0008 WHERE  INTO it_0008
       PERNR EQ P_PERNR.
    SORT it_0008 BY ENDDA DESCENDING.
    READ TABLE it_0008 INDEX 1.
    MOVE it_0008 TO WA_LAST.
    READ TABLE it_0008 INDEX 2
    MOVE it_0008 to WA_PREV.
    Obvious,  wa_last and wa_prev there are work area LIKE PA0008.
    I think this can work fine.
    Regards.
    José Luis

  • What's the 'best practice' way to get email and fax number from vendor?

    Hello *,
    could anybody let me know what the 'best-practice' is to get the fax number and smtp address from the vendor master? Is there a preferred function module I should use?
    Thanks a lot,
    Torsten

    Hi ,
    try that:
    TYPE-POOLS: szadr.
    DATA adr_kompl TYPE szadr_addr1_complete.
    DATA adr1 TYPE szadr_addr1_line.
    DATA adtel TYPE szadr_adtel_line.
    DATA admail TYPE szadr_adsmtp_line.
    DATA adfax TYPE szadr_adfax_line.
    CALL FUNCTION 'ADDR_GET_COMPLETE'
           EXPORTING
                addrnumber              = lfa1-adrnr
           IMPORTING
                addr1_complete          = adr_kompl
           EXCEPTIONS
                parameter_error         = 1
                address_not_exist       = 2
                internal_error          = 3
                wrong_access_to_archive = 4
                OTHERS                  = 5.
    * Mail
      LOOP AT adr_kompl-adsmtp_tab INTO admail.
        MOVE admail-adsmtp-smtp_addr TO atab-mail.
      ENDLOOP.
    * fax
      LOOP AT adr_kompl-adfax_tab INTO adfax.
        MOVE adfax-adfax-fax_number TO atab-fax_number.
      ENDLOOP.
    regards Andreas

  • Get user and Oranization Attributes  from portal channels

    Hello,
    I am trayin to retrieve some user and arganizational attributes from portal channels (2005Q1), but, with directive "<dtpc:getStringAttribute key="attribute"/>, i can not retrieve some importants attributes as "dn" and an custom attribute from the organization that contain user entry, for example, "orgIdSuscriptor".
    i don't know how to retrieve in the same channel some attributes of user entry and some attributes from oraganization entry, any one know how?
    Thank yu very much.

    Thanks that helpful in some ways, but I want to get the page_id. For example, if I create a page with the name PG_DEPT and the display name "Department Page". I need to know how to get the current PG_DEPT name from the API. Also, I will like to get the current URL from the page (http://portal/pls/portal/page=123).

  • HT204291 I only get sound and no picture from my tv when playing sky sports through Air play , any help ?

    I only get sound and no picture when playing sky sports through my air play , Help ?

    apps can choose to block mirror
    try restarting wifi router, ipad and appletv and try again if it still don't work maybe the app is blocking mirror

  • How to get truck no and transporter name from header.text(vf03) to webi rep

    Hi
    making a stock received details bill wise with webi (bo 3.1)
    so require a truck no and transporter name along with consignor detail and bill wise detail.
    picking data from vbrk and vbrp tables.
    pls assist in this
    Thanks and Regards
    Ritu Raj
    BI/BO Consultant

    Thanks M
    Yes It is Sales and Distribution process and we are using ODBC Connectivity through database client for the connection parameter in the Universe designed to the R/3 ECC.
    So we dont have
    a) DS
    b) BW
    c) Data Connector
    So Universe is basically on the relational Data
    base where by linking VBRK,VBRP and various Master tables.
    (OLTP level universe)
    So the quesion remain as it is bcos we cant access functional module READ_TEXT in the R/3
    Pls suggest for the following Alternatives
    a)Using Crystal Reports
    b)Use BW (Currently it is not there,but soon be Implemented)
    What do you think?
    Bcos we dont want to refresh z table which could be developed from given functional module before running our report.
    Regards
    Ritu Raj

  • Getting links and its names from a html file

    Hi everyone
    My problem about the a getting links with name from a html file. For example
    &#304;n a web page in this site ?SUN? when use click SUN the browser open http://java.sun.com
    &#304; want both of them, so the links and name. I can succeeded the get link but i don t know how to get the link name.
    For example :
    <B>setRightComponent(Component)</B>
    &#304;n this code segment i want to get B tag. But how i don t know. To get A tag i used this code
    List result = new ArrayList();
    try {
    // Create a reader on the HTML content
    URL url = new URI(uriStr).toURL();
    URLConnection conn = url.openConnection();
    Reader rd = new InputStreamReader(conn.getInputStream());
    // Parse the HTML
    EditorKit kit = new HTMLEditorKit();
    HTMLDocument doc = (HTMLDocument)kit.createDefaultDocument();
    kit.read(rd, doc, 0);
    // Find all the A elements in the HTML document
    HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A);
    while (it.isValid()) {
    SimpleAttributeSet s = (SimpleAttributeSet)it.getAttributes();
    String link = (String)s.getAttribute(HTML.Attribute.HREF);
    if (link != null) {
    result.add(link);
    it.next();
    &#304; can use B tag but i don t know hot to get its value because it has no prefix such as HREF....
    i am sorry if i use a bad explanation style or incorrect word.

    import java.io.*;
    import java.net.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    class GetLinks
        public static void main(String[] args)
            throws Exception
            // Create a reader on the HTML content
            Reader reader = getReader( args[0] );
            // Parse the HTML
            EditorKit kit = new HTMLEditorKit();
            HTMLDocument doc = (HTMLDocument)kit.createDefaultDocument();
            doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
            kit.read(reader, doc, 0);
            // Find all the A elements in the HTML document
            HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A);
            while (it.isValid())
                SimpleAttributeSet s = (SimpleAttributeSet)it.getAttributes();
                String href = (String)s.getAttribute(HTML.Attribute.HREF);
                int start = it.getStartOffset();
                int end = it.getEndOffset();
                String text = doc.getText(start, end - start);
                System.out.println( href + " : " + text );
                it.next();
        // If 'uri' begins with "http:" treat as a URL,
        // otherwise, treat as a local file.
        static Reader getReader(String uri)
            throws IOException
            // Retrieve from Internet.
            if (uri.startsWith("http:"))
                URLConnection conn = new URL(uri).openConnection();
                return new InputStreamReader(conn.getInputStream());
            // Retrieve from file.
            else
                return new FileReader(uri);
    }

  • How to get Essential and additional qualifications ,From which table

    Hi all,
    In one of my requirement, the report should show the Qualifications and Essential qualifications columns in the output.
    Requirement is :
    1. I have brought qualifications of Applicant from PB0024 table.
    2. I need to compare these with the Qualifications maintained in Job for the pernr.
    3. There are two types of Qualifications namely essential Qualifications and additional Qualifications.
    4.
    How do we get the Qualifications maintained for a job/Position?
    How can we distinguish between Qualifications and essential Qualifications maintained for a job at the database table level ?
    Please reply ASAP.
    Regards,
    Rama.P

    Hi Dilek Ersoz Adak,
    How can we get the jobs assigned to a position ,from which table ?
    Actually i am doing a custom recruitment report which displayes several fields along with the qualificaions and additional qualifications.
    For the two fileds: in the spec it is given as:
    14.     Qualification (This is maintained in HRPE_PROFQ_TBJID-infotype 0024 of the employee. Thus, check Position maintained for the employee in P4002_OBJID, against this position check for Essential Qualification, related object type u2018Qu2019 HRPE_PROFQ_ESSENTIAL, compare this with the qualifications maintained for the employee in Infotype 0024, and display wherever these maintained.)
    15.     Additional Qualification (This is maintained in HRPE_PROFQ_TBJID-infotype 0024 of the employee. Thus, check Position maintained for the employee in P4002_OBJID, against this position check for Essential Qualification, related object type u2018Qu2019, compare this with the qualifications maintained for the employee in Infotype 0024, and display all qualifications for which HRPE_PROFQ_ESSENTIAL is not maintained.)
    16.     Proficiency (HRPE_PROFQ_PROFC_TEXT)
    in clear :
    1.       Positions (Object Type S) are linked to Job through relationship A 007
    2.       In APDISCOM scenario, Qualifications (Object Type Q) are attached to Object u2018Jobu2019 (Object Type C) through Transaction Code PPPM
    3.       Now, for a Job there can two types of qualifications maintained Essential Qualifications (ii) Additional Qualifications
    4.       For essential qualifications: Against a Qualification we can maintain u201Cessential check boxu201D HRPE_PROFQ
    5.       For additional qualifications: Those qualifications for which HRPE_PROFQ is not maintained
    6.       Now, for an applicant, Qualifications are maintained in Infotype 0024, wherein the necessary qualifications would be selected.
    7.       In the report for field of u201Cessential qualificationu201D, check for qualifications maintained in Infotype 0024 and compare it with qualifications maintained in Job (through Position assigned to the applicant in P4002_OBJID)
    8.       Check for essential qualification HRPE_PROFQ maintained in Job and check whether the same Q is maintained in Infotype 0024 for the applicant, if yes, then generated Text of the Q
    9.       If there are any additional qualifications which are maintained in the job and not maintained in Infotype 0024, DONu2019T GENERATE ANYTHING IN FIELD
    10.   If there are any additional qualifications which are maintained in the job and if same are maintained in Infotype 0024, generate Q text under field of u201CAdditional Qualificationsu201D in the report
    11.   If there are any extra qualifications in infotype 0024, which are not maintained in Job, then generate Q text under field of u201CAdditional Qualificationsu201D in the report
    Please provide the procedure.(For clarity copy and paste the text in a MS-word)
    Please reply ASAP.
    Regards,
    Rama.P
    Edited by: Rama Chary on Dec 9, 2009 1:28 AM

  • How to get Cube and Dimension ID from SSAS Database programatically

    Hi All,
    I am processing one SSAS cube from SSIS package and processing the cubes dynamically .For this am putting the Cube ID ,Cube name, Dimension ID, Dimension Name in a table and generating the XML programmatically.
     I can right click the properties of the dimension and cube and will get the ID information. But is there any way we can get the ID information programmatically .So that On the fly I will get the information and create the XML without storing
    the these information in table.
    We are using 2008 R2
    Thanks in advance
    Roshan

    Hi,
    Here is the C# code you want. Try it and see.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using AMO = Microsoft.AnalysisServices;
    namespace ConsoleApplication4
    class Program
    static void Main(string[] args)
    AMO.Server oServer = new AMO.Server();
    oServer.Connect(@"Provider=MSOLAP.5;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=AdventureWorksDW;Data Source=DEVWKS6\MSSQLSERVERMDX");
    foreach (AMO.Database db in oServer.Databases)
    foreach (AMO.Cube cube in db.Cubes)
    Console.WriteLine(System.String.Format("Cube Name : {0} Cube ID : {1}", cube.Name, cube.ID));
    foreach (AMO.CubeDimension dim in cube.Dimensions)
    Console.WriteLine(System.String.Format("Dimension Name : {0} Dimension ID : {1}", dim.Name, dim.ID));
    System.Console.WriteLine("");
    System.Console.WriteLine("");
    oServer.Disconnect(true);
    oServer.Dispose();
    System.Console.ReadLine();
    If you know your target SSAS Database Name, then you could use LINQ to narrow your search. Take a look into the following Code.
    AMO.Database db = oServer.Databases.Cast<AMO.Database>().Where<AMO.Database>(SSASdb => SSASdb.Name == "AdventureWorksDW").FirstOrDefault();
    foreach (AMO.Cube cube in db.Cubes)
    Console.WriteLine(System.String.Format("Cube Name : {0} Cube ID : {1}", cube.Name, cube.ID));
    foreach (AMO.CubeDimension dim in cube.Dimensions)
    Console.WriteLine(System.String.Format("Dimension Name : {0} Dimension ID : {1}", dim.Name, dim.ID));
    System.Console.WriteLine("");
    Best Regards...
    Chandima Lakmal Fonseka

  • Get OUTPUT and RETURN parameters from a stored procedure

    I have a stored procedure (MS SQL Server 2008 R2) like the following example.
    Using Database Connectivity I can get the OUTPUT parameters but I can't get de RECORDSET DATA and de RETURN value.
    Does anybody knows how to do that?
    CREATE PROCEDURE [dbo].[TS_Teste] (@T057_S_NOMEMAQUINA VARCHAR(20), @STATUS INT OUTPUT, @ERRO NVARCHAR(500) OUTPUT)
    AS
    BEGIN     
      DECLARE @TABLE TABLE(CODIGO INT, DESCRICAO VARCHAR(30))
      INSERT INTO @TABLE VALUES (51, 'A')     
      INSERT INTO @TABLE VALUES (52, 'B')
      INSERT INTO @TABLE VALUES (53, 'C')
      SELECT * FROM @TABLE
      SET @STATUS = 1
      SET @ERRO = 'Nenhum erro!'
      RETURN 0
    END
    Solved!
    Go to Solution.
    Attachments:
    SQL SP Return.vi ‏29 KB

    I finaly found what was wrong... It was necessary an only aditional line in the stored procedure. It should be like that:
    CREATE PROCEDURE [dbo].[TS_Teste] (@T057_S_NOMEMAQUINA VARCHAR(20), @STATUS INT OUTPUT, @ERRO NVARCHAR(500) OUTPUT)
    AS
    BEGIN    
      SET NOCOUNT ON;                                                                                               -- NEW LINE!!!
      DECLARE @TABLE TABLE(CODIGO INT, DESCRICAO VARCHAR(30))
      INSERT INTO @TABLE VALUES (51, 'A')    
      INSERT INTO @TABLE VALUES (52, 'B')
      INSERT INTO @TABLE VALUES (53, 'C')
      SELECT * FROM @TABLE
      SET @STATUS = 1
      SET @ERRO = 'Nenhum erro!'
      RETURN 0
    END

  • Get old and new values from DBTABLOG table

    Hi,
    I am developing a report to display all changes to some fields of PKHD table over a date range. CDHDR & CDPOS do not capture the changes while DBTABLOG does. But the variable key field (LOGDATA) in DBTABLOG does hold encrypted values which need to be decrypted. Is there any FM or a way out to get them ?
    Please let me know. Thanks a lot.
    Regards
    Neeraj

    Use DBLOG_READ and then work with the data like in the following sample
    * Constants (cf. SAP RSVTPTOP)
      CONSTANTS: type_i4 LIKE x031l-fieldtype VALUE 'AC',       "UF160698B
                 type_i2 LIKE x031l-fieldtype VALUE 'A8',
                 type_f  LIKE x031l-fieldtype VALUE '88'.       "UF160698E
    * First - informations from directory
            REFRESH fld_list.
            CALL FUNCTION 'GET_FIELDTAB'
              EXPORTING
                langu                     = sy-langu
                only                      = ' '
                tabname                   = 'TEVEN'
                withtext                  = 'X'
    *       IMPORTING
    *         HEADER                      =
    *         RC                        =
              TABLES
                fieldtab                  = fld_list
              EXCEPTIONS
                internal_error            = 1
                no_texts_found            = 2
                table_has_no_fields       = 3
                table_not_activ           = 4
                OTHERS                    = 5.
            LOOP AT fld_list INTO fld WHERE keyflag = 'X'.
              ADD fld-intlen TO keylen.
            ENDLOOP.
    * Then extract data log
            REFRESH obj_list.
            obj-tab = 'TEVEN'.
            INSERT obj INTO  TABLE obj_list.
            CALL FUNCTION 'DBLOG_READ'
              EXPORTING
                from_day                   = s-aedtm-low
    *           FROM_TIME                  = '000000'
                to_day                     = s-aedtm-high
    *           TO_TIME                    = '235959'
                obj_list                   = obj_list
    *         ACCESS_DATABASE            = 'X'
    *         ACCESS_ARCHIVES            = ' '
    *         AUTO_ARCH_SEL              = ' '
    *         USER_LIST                  =
              CHANGING
                log_list                   = log_list
              EXCEPTIONS
                archive_access_error       = 1
                no_archives_found          = 2
                OTHERS                     = 3.
    *   Extract data from returned tables
            LOOP AT log_list INTO log.
              LOOP AT fld_list INTO fld.
                IF fld-keyflag = 'X'.
                  ASSIGN log-logkey+fld-offset(fld-intlen)
                    TO <hexa> TYPE 'X'.
                ELSE.
                  fld-offset = fld-offset - keylen.
                  ASSIGN log-logdata+fld-offset(fld-intlen)
                    TO <hexa> TYPE 'X'.
                  fld-offset = fld-offset + keylen.
                ENDIF.
                CASE fld-inttype.
                  WHEN 's'.
                    f_type = type_i2.
                  WHEN 'I'.
                    f_type = type_i4.
                  WHEN 'F'.
                    f_type = type_f.
                ENDCASE.
                IF 'sIF' CS fld-inttype.
                  feld = <hexa>.
                  CALL FUNCTION 'DB_CONVERT_FIELD_TO_HOST'
                       EXPORTING
                            type        = f_type
                       CHANGING
                            field       = feld
                       EXCEPTIONS
                            wrong_param = 1
                            OTHERS      = 2.
                  ASSIGN feld TO <hexa> TYPE 'X'.
                ENDIF.
                ASSIGN <hexa> TO <char> TYPE 'C'.
                teven+fld-offset(fld-intlen) = <char>.
              ENDLOOP.
    *     Here structure teven is filled
            ENDLOOP.
    Regards

Maybe you are looking for