Need an optimized version for my code.

Hello experts,
I am currently enhancing my report so that when we transport it to production it will
optimized at its best. In one part of my report, there is this code inside a method:
FIELD-SYMBOLS: <fs_bsis_bsas> LIKE LINE OF it_bsis_bsas.
  get currency
    LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
      MOVE <fs_bsis_bsas>-waers TO wa_waers.
      APPEND wa_waers TO it_waers.
      <fs_bsis_bsas>-year_dum = <fs_bsis_bsas>-bldat+0(4).
    ENDLOOP.
SORT it_waers BY waers.
DELETE ADJACENT DUPLICATES FROM it_waers.
Now, it gets the currencies from table it_bsis_bsas and puts them in a new itab. But
it loops through duplicate currencies and I only need to get one for each currency.
As you can see I am just deleting duplicate values using the DELETE ADJACENT statement.
Is there a faster alternative to this?
Also, In the loop I am moving the waers to a work area then appending it to the itab.
I is there a way to use field-symbols here so theres no need to for the append statement?
Comments and suggestions will be appreciated!

Hi guys,
Thanks for the helpful replies. the records really depends on the selection of the user. It can go from 100 records to a thousand. Below are the select statements in the report:
Selection screen                             *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs TYPE t001-bukrs OBLIGATORY,
            p_asof  TYPE bsis-budat OBLIGATORY,
            p_year  TYPE bsis-gjahr OBLIGATORY.
SELECT-OPTIONS: s_hkont FOR bsis-hkont NO INTERVALS OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
     EXPORTING
    PERCENTAGE       = 0
       text             = 'Getting data...'
  get records from BSIS
    SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
    FROM bsis
    INTO  CORRESPONDING FIELDS OF TABLE it_bsis_bsas
    WHERE bukrs = p_bukrs
      AND hkont IN s_hkont
      AND budat <= p_asof.
  get records from BSAS
    SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
    FROM bsas
    APPENDING CORRESPONDING FIELDS OF TABLE it_bsis_bsas
    WHERE bukrs = p_bukrs
      AND hkont IN s_hkont
      AND budat <= p_asof
      AND augdt > p_asof.
  if itab has no records, raise event
    IF it_bsis_bsas[] IS INITIAL.
      RAISE EVENT no_data EXPORTING hkont = s_hkont-low.
    ENDIF.
Thanks again!

Similar Messages

  • I desperately NEED the trial version for school

    I desperately NEED the trial version for school but on the Adobe site it says it's not available until July! Can anyone help me PLEASE????? I need the mac CS3 trial.
    thanks (crossing my fingers)

    Read the "Trial" thread:
    http://www.adobeforums.com/webx/.59b561b5

  • Need Help:Browse Version for ADF

    Hi All,
    I am on a POC for ADF. Customer want some suggestions for Browse Version for ADF development.
    IE or Firefox, and more detail, such as IE 6,7,8 or firefox 3.5, 3.6 … is more suitable for ADF 11.1.1.3.

    Firefox vs IE vs Chrome would be mainly based upon personal preference or corporate standard, as long as you follow the supported and certified browser list that Timo provided.
    John

  • Need JDeveloper Exact Version for 11.5.9

    Hi All,
    I would like to develop the new pages by using OA Framework. To develop the page in 11.5.9 version what is the exact compatible JDeveloper version?
    See below for my OAInfo details....
    OA Framework Version --> 5.7.H.V6
    MDS Version --> 9.0.3.6.7 (build 772)
    UIX Version --> 2.1.19
    BC4J Version --> BC4J Version
    And I have checked all metalink note ids for framework version but those notes are having the JDeveloper version from OAF version 5.10.
    I would appreciate if anyone reply soon with exact version. Let me know if need any more details.
    Thanks
    NV

    To determine which patch to use, you can check the framework version in your instance by using http://host:port/OA_HTML/OAInfo.jsp, then choose the matched JDeveloper patch.
    Release 11i
    OA Framework 5.10 patch JDeveloper 9i Patch
    ATG.PF.H (patch 3438354 or Oracle Applications 11.5.10) Patch 4045639 9IJDEVELOPER WITH OA EXTENSION ARU FOR FWK.H
    ATG PF CU1 (patch 4017300) Patch 4141787 9IJDEVELOPER WITH OA EXTENSION ARU FOR CU1
    ATG PF CU2 (patch 4125550) Patch 4573517 Oracle9i JDeveloper with OA Extension for 11.5.10 CU2
    11i.ATG_PF.H RUP3 (patch 4334965) Patch 4725670 9IJDEVELOPER WITH OA EXTENSION ARU FOR 11i10 RUP3
    11i.ATG_PF.H RUP4 (patch 4676589) Patch 5455514 9IJDEVELOPER WITH OA EXTENSION ARU FOR 11i10 RUP4
    11i.ATG_PF.H RUP5 (patch 5473858) Patch 6012619 9IJDeveloper With OA Extension ARU FOR 11i10 RUP5
    11i.ATG_PF.H.RUP6 (patch 5903765)
    Patch 6469392 9IJDEVELOPER WITH OA EXTENSION ARU FOR 11I10 RUP6
    Thanks

  • I ordered Photoshop Elements 13 and Premiere 13 unfortunately of the Windows version (small print). Instead I needed the Mac version for my new iMac. The order was on December 2nd. 2014. Order no.: AD014937726.

    I contacted Adobe and they recommended the Forum to speed up the process!!! I need to know who to contact.

    Please see this post:
    <returns>
    It has got a link to contact Adobe Customer Service where you can explain your situation.

  • Need origional software version for sb live l

    My four year old daughter got a hold of my origional cd that came with card. I have the old sound blaster li've, li've not 5. so if someone could send me iso image I can get back to tweaking my music the way i like it Please help me or even tell me how in the heck I can buy the orig cds.

    jdg wrote:
    My four year old daughter got a hold of my origional cd that came with card. I have the old?sound blaster li've, li've not 5. so if someone could send me iso image I can get back to tweaking my music the way i like it Please help me or even tell me how in the heck I can buy?the orig cds.
    I have uploaded the ISO for the installation CD to the link below. Hope it hel
    ps.
    http://anonym.to/?http://s9.yousendit.com/d.aspx?id=374HVMZUKVR22UIXF0ER60UVN

  • Need an iCloud version for windows 8 64-bit pc

    I'm looking for an iCloud download for windows 8 64-bit pc. Where do I get one?

    Here's the apple download page.
    https://www.apple.com/uk/icloud/setup/pc.html
    Hope this helps.
    PJRS

  • Any suggestions for my code.

    Hi,
    I wrote this little piece of code to reduce some of the work I need to do when doing database access. I intend to use if with mySQL and mostly web based applications. It'll probably use it quite a bit, and since it's my first try at writing something like this I figured I'd post the code to see if anyone can find any problems. I've already tested it and it works, so I'm mostly interested in any feedback about performance issues.
    I'd really like to know if there's any way I can get the number of rows in a result set before I start going through it. That way I could return the data in an Object[][] array (I'd assume it'd be a little faster to add values to than the ArrayList).
    Here's the code...
    * SQLGruntBean.java
    * Created on November 22, 2002, 12:37 PM
    package com.vacode.beans.sql;
    import java.sql.*;
    import java.util.*;
    /** This bean is a generic class that can be used to access any type of SQL
    *  database.  To use it with an application that accesses an SQL database
    *  do the following:
    *  <p>1. Create a new instance of SQLGruntBean.</p>
    *  <p>2. Set the SQL connection source by calling setConnection(Connection).</p>
    *  <p>3. Set the SQL query you wish to perform by calling setSqlQuery(String).
    *  <br><b>Note:</b> You may replace all values with question mark place holders
    *  as long as you also perform step 4.</p>
    *  <p>4. (OPTIONAL) Set the values that are represented by question mark place
    *  holders by calling setSqlValues.  This method requires an Object array as
    *  input.</p>
    *  <p>5. (OPTIONAL) Set the maximum number of results to be retrieved by calling
    *  setMaxRows.  If left unset it will default to 100.  This method should not
    *  be used as a replacement for the LIMIT parameter in an SQL query.  It is
    *  merely a backup in case an excessive number of results are returned
    *  erroneously.</p>
    *  <p>6. Once all the necessary variables are set you may call either
    *  executeQuery or executeUpdate to perform the intended task.</p>
    *  <p>     <b><i><u>EXAMPLE</u></i></b></p>
    *  <p>
    *  <code>
    *  <br>SQLGruntBean sgb = new SQLGruntBean();
    *  <br>Object[] values = new Object[1];
    *  <br>ArrayList data = null;
    *  <br><br>
    *  <br>sgb.setConnection(dataSource.getConnection);
    *  <br>sgb.setSqlQuery("SELECT * FROM USERS WHERE firstName = ?");
    *  <br>values[0] = "John";
    *  <br>sgb.setSqlValues(values);
    *  <br>data = sgb.executeQuery();
    *  </code>
    *  </p>
    *  <p>The necessary try / catch blocks and error handling have been left out of
    *  this example, but will need to be implemented for production code.</p>
    * @author  Vacode Web Systems
    * @version 1.0
    public class SQLGruntBean
        // Define global variables
        private Connection dbConnection = null;
        private String sqlQuery = null;
        private int maxRows = 100;  // Default to 100 in case it is not set
        private Object[] sqlValues = null;
        // End global variables
        /** A write only method for defining the connection to an SQL
         *  database
        public void setConnection(Connection sqlConnectionObject)
         this.dbConnection = sqlConnectionObject;
        /** A write only method for defining the SQL query that is to be
         *  executed.*/
        public void setSqlQuery(String sqlQuery)
         this.sqlQuery = sqlQuery;
        /** Defines the maximum number of rows that are to be retrieved from the
         *  result set.  This is more of a back up than anything as the sql query
         *  should contain a limit parameter if the query is going to return an
         *  excessive number of results. */
        public void setMaxRows(int maximumRows)
         this.maxRows = maximumRows;
        /** A write only method for defining the dynamic values that are
         *  to replace the question mark placeholders in the sql query.*/
        public void setSqlValues(Object[] values)
         this.sqlValues = values;
        /** Used to execute an sql query.  The executed query is defined by calling
         *  setSqlQuery prior to this method.  The database connection to be used
         *  is defined by calling setConnection prior to this method. */
        public ArrayList executeQuery() throws SQLException
         // Define the local variables that will be used within this method
         ArrayList data = null;
         // End local variables
         if(this.sqlValues!=null && this.sqlValues.length>0)
             /* A prepared statement needs to be executed because the
              * sqlQuery is going to contain ? placeholders rather than
              * actual values.  It is necessary to replace these place
              * holders with their corresponding values.*/
             data = executePreparedQuery();
         else
             // A regular sql query needs to be executed.
             data = executeRegularQuery();
         return(data);
        /** Used to execute an sql update.  The executed update is defined by calling
         *  setSqlQuery prior to this method.  The database connection to be used
         *  is defined by calling setConnection prior to this method. */
        public int executeUpdate() throws SQLException
         // Define the local variables that will be used in this method
         int rowsAffected = -1;
         // Done local variables
         if(this.sqlValues!=null && this.sqlValues.length>0)
             /* A prepared update needs to be executed because the
              * sqlQuery is going to contain ? placeholders rather than
              * actual values.  It is necessary to replace these place
              * holders with their corresponding values.*/
             rowsAffected = executePreparedUpdate();
         else
             // We just need to execute a regular sql query
             rowsAffected = executeRegularUpdate();
         return(rowsAffected);
        /** If a prepared statement is needed this method will be called by the
         *  executeQuery method.*/
        private ArrayList executePreparedQuery() throws SQLException
         // Define the local variables that will be used within this method
         ResultSet rs = null;
         PreparedStatement pstmt = null;
         ArrayList data = null;
         // End local variables
         try
             pstmt = this.dbConnection.prepareStatement(this.sqlQuery);
             setSqlValues(pstmt, this.sqlValues);
             rs = pstmt.executeQuery();
             /* Closing the PreparedStatement is going to cause the
              * ResultSet to be inaccessible.  Therefore it is necessary to
              * move the data that has just been aquired into an alternate
              * data storage object.*/
             data = processResult(rs);
             // Clean up all of the db resources we have opened
             rs.close();
             rs = null;
             pstmt.close();
             pstmt = null;
             this.dbConnection.close();
             this.dbConnection = null;
             /* No exceptions are caught.  They should be dealt with by the
              * calling class. */
         finally
              /* If an exception was thrown during the execution of the
               * sql query there will still be open db resources.  They need
               * to be closed. */
             if(rs!=null)
              try
              { rs.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              rs = null;
             if(pstmt!=null)
              try
              { pstmt.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              pstmt = null;
             if(this.dbConnection!=null)
              try
              { this.dbConnection.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              this.dbConnection = null;
             /* Regardless of what happens we need to return an array of Objects.
              * If the returning value is null it should be handled by the
              * calling class. */
         return(data);
        /** If a regular sql statement is required this method will be called
         *  by the executeQuery method. */
        private ArrayList executeRegularQuery() throws SQLException
         // Define the local variables that will be used within this method
         ResultSet rs = null;
         Statement stmt = null;
         ArrayList data = null;
         // End local variables
         try
             stmt = this.dbConnection.createStatement();
             rs = stmt.executeQuery(this.sqlQuery);
             /* Closing the Statement is going to cause the ResultSet to be
              * inaccessible.  Therefore it is necessary to move the data
              * that has just been aquired into an alternate data storage
              * object.*/
             data = processResult(rs);
             // Clean up all of the db resources we have opened
             rs.close();
             rs = null;
             stmt.close();
             stmt = null;
             this.dbConnection.close();
             this.dbConnection = null;
             /* No exceptions are caught.  They should be dealt with by the
              * calling class. */
         finally
              /* If an exception was thrown during the execution of the
               * sql query there will still be open db resources.  They need
               * to be closed. */
             if(rs!=null)
              try
              { rs.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              rs = null;
             if(stmt!=null)
              try
              { stmt.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              stmt = null;
             if(this.dbConnection!=null)
              try
              { this.dbConnection.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              this.dbConnection = null;
         return(data);
        /** If a prepared update is needed this method will be called by the
         *  executeUpdate method.*/
        private int executePreparedUpdate() throws SQLException
         // Define the local variables that will be used within this method
         PreparedStatement pstmt = null;
         int rowsAffected = -1;
         // End local variables
         try
             pstmt = this.dbConnection.prepareStatement(this.sqlQuery);
             setSqlValues(pstmt, this.sqlValues);
             rowsAffected = pstmt.executeUpdate();
             pstmt.close();
             pstmt = null;
             this.dbConnection.close();
             this.dbConnection = null;
             /* No exceptions are caught.  They should be dealt with by the
              * calling class. */
         finally
              /* If an exception was thrown during the execution of the
               * sql update there will still be open db resources.  They need
               * to be closed. */
             if(pstmt!=null)
              try
              { pstmt.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              pstmt = null;
             if(this.dbConnection!=null)
              try
              { this.dbConnection.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              this.dbConnection = null;
             /* Regardless of what happens we need to return an array of Objects.
              * If the returning value is -1 it should be handled by the
              * calling class. */
         return(rowsAffected);
        /** If a regular sql statement is required this method will be called
         *  by the executeQuery method. */
        private int executeRegularUpdate() throws SQLException
         // Define the local variables that will be used within this method
         ResultSet rs = null;
         Statement stmt = null;
         int rowsAffected = -1;
         // End local variables
         try
             stmt = this.dbConnection.createStatement();
             rowsAffected = stmt.executeUpdate(this.sqlQuery);
             // Clean up all of the db resources we have opened
             stmt.close();
             stmt = null;
             this.dbConnection.close();
             this.dbConnection = null;
             /* No exceptions are caught.  They should be dealt with by the
              * calling class. */
         finally
              /* If an exception was thrown during the execution of the
               * sql update there will still be open db resources.  They need
               * to be closed. */
             if(stmt!=null)
              try
              { stmt.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              stmt = null;
             if(this.dbConnection!=null)
              try
              { this.dbConnection.close(); } catch(SQLException sqle)
              { } // EXCEPTION IGNORED
              this.dbConnection = null;
         return(rowsAffected);
        /** used to iterate through the sql values and add them to the
         *  prepared statement object. */
        private void setSqlValues(PreparedStatement ps, Object[] values) throws SQLException
         for(int i=0;i<this.sqlValues.length;i++)
             Object o = this.sqlValues;
         /* SQL starts counting at 1 not 0, so this loop needs to be
         * incremented by 1 for the setObject method to interpret it
         * correctly. */
         ps.setObject(i+1, values[i]);
    /** Used to copy a result set into a persistent object so that it can
    * be used even once the connection to the database has been closed. */
    private ArrayList processResult(ResultSet rs) throws SQLException
         ArrayList data = new ArrayList();
         ResultSetMetaData rsmd = rs.getMetaData();
         int colCount = rsmd.getColumnCount();
         while(rs.next())
         Object[] currentRow = new Object[colCount];
         for(int i=0;i<colCount;i++)
              currentRow[i] = rs.getObject(i+1); //SQL starts at 1 not 0
         data.add(currentRow);
         return(data);
    Thanks for the input,
    Ryan

    I think I have an idea of what you mean. I just want to make sure before I write everything though. I could implement your idea by doing the following right?
    I haven't tried any of this, so if there's minor (syntax) errors just ignore them. I'll fix them later.
    1. Create the following Interface.
    package com.vacode.beans.sql;
    public interface GruntBeanProccessingModule
        public Object get(Object[] properties);
    }2. Force the subclasses to implement the above interface
    public class EmployeeProcessor implements GruntBeanProcessingModule
        public Object get(Object[] properties)
         //make sure the input array is the right length (+ other validation, etc.)
         //create a new EmployeeBean
         //set all the EmployeeBean properties based on the input Object[]
         //return the EmployeeBean
    }3. Make the following additions to my SQLGruntBean class
    private requestedClassType = null;
    public void setRequestedClassType(Object o) // o must be an instance of the requested class
        this.requestedClassType = o;
    //if requestedClassType isn't null then create the ArrayList like this
    while(rs.next())
             Object[] currentRow = new Object[colCount];
             for(int i=0;i<colCount;i++)
              currentRow[i] = rs.getObject(i+1); //SQL starts at 1 not 0
             Class requestedClass = Class.forName(requestedClassType.getClass().getName());
             GruntBeanProcessingModule gbpm = requestedClass.newInstance();
             Object convertedData = gbpm.get(currentRow);
             data.add(convertedData);
         }Of course I'll have to handle any possible exceptions (requestedClassType isn't an instance of GruntBeanProcessingModule, etc.). I also notice the forum replaced some of my [] with <> (I've seen it before though, so you probably already know about it).
    Did I get it right or am I out to lunch :-)
    Thank you very much for the feedback,
    Ryan

  • How to validity extended for comp code to gl

    MY user is asking extended the validity for company code to gl how to do this any one can please explain me
    user needs the validity extended for comp code 0005
    gl acc no- 768907
    which t code i can use

    Hi Nagendra,
    Is there any error or screenshot? Because when the company code is created, there isn't date to expire.
    In the CO component you have a validity for a cost center but not for company code in the FI-GL.
    JPA

  • Need to buy apps for both iPad & MacBook?

    i've bought ipad apps such as "pages" - do i have to buy a new one to use on my macbook pro?

    Yes you will need a different version for the MacBook Pro.
    Stedman

  • What version of X-code do I need for os x 10.6?

    It's complicated- but my mac only runs on 10.6 snow leopard. No higher. Does anyone know what X-code will run on my mac? Like I said- I can't upgrade it any further so I need to know what version of X-code and the SDK I will need. I'm a newbie noob btw. Any help Appreciated! Even guessing could be helpful! Thanks :D
    -Ben

    3.2.6 is the latest for Snow Leopard. However, version 4 might be usable. Peruse http://developer.apple.com/technologies/tools/whats-new.html for details and requirements.

  • I just put snow leopard 10.6.8 on my macbook pro and I was told that I could purchase Apature for photo management- now its says I need a different version.... is there an older version I could get? so frustrating.

    I just put snow leopard 10.6.8 on my macbook pro and I was told that I could purchase Apature for photo management- now its says I need a different version.... is there an older version I could get? so frustrating.

    The current version of Aperture requires 10.7.5 or later.
    Upgrade Paths to Snow Leopard, Lion, and/or Mountain Lion
    You can upgrade to Mountain Lion from Lion or directly from Snow Leopard. Mountain Lion can be downloaded from the Mac App Store for $19.99. To access the App Store you must have Snow Leopard 10.6.6 or later installed.
    Upgrading to Snow Leopard
    You can purchase Snow Leopard through the Apple Store: Mac OS X 10.6 Snow Leopard — Apple Store (U.S.). The price is $19.99 plus tax. You will be sent physical media by mail after placing your order.
    After you install Snow Leopard you will have to download and install the Mac OS X 10.6.8 Update Combo v1.1 to update Snow Leopard to 10.6.8 and give you access to the App Store. Access to the App Store enables you to download Mountain Lion if your computer meets the requirements.
         Snow Leopard General Requirements
           1. Mac computer with an Intel processor
           2. 1GB of memory
           3. 5GB of available disk space
           4. DVD drive for installation
           5. Some features require a compatible Internet service provider;
               fees may apply.
           6. Some features require Apple’s iCloud services; fees and
               terms apply.
    Upgrading to Lion
    If your computer does not meet the requirements to install Mountain Lion, it may still meet the requirements to install Lion.
    You can purchase Lion by contacting Customer Service: Contacting Apple for support and service — this includes international calling numbers. The cost is $19.99 (as it was before) plus tax.  It's a download. You will get an email containing a redemption code that you then use at the Mac App Store to download Lion. Save a copy of that installer to your Downloads folder because the installer deletes itself at the end of the installation.
         Lion System Requirements
           1. Mac computer with an Intel Core 2 Duo, Core i3, Core i5, Core i7,
               or Xeon processor
           2. 2GB of memory
           3. OS X v10.6.6 or later (v10.6.8 recommended)
           4. 7GB of available space
           5. Some features require an Apple ID; terms apply.
    Upgrading to Mountain Lion
    To upgrade to Mountain Lion you must have Snow Leopard 10.6.8 or Lion installed. Purchase and download Mountain Lion from the App Store. Sign in using your Apple ID. Mountain Lion is $19.99 plus tax. The file is quite large, over 4 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
         OS X Mountain Lion — System Requirements
           Macs that can be upgraded to OS X Mountain Lion
             1. iMac (Mid 2007 or newer) — Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) —
                 Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) — Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) — Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) — Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) — Model Identifier 3,1 or later
             7. Xserve (Early 2009) — Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
    Are my applications compatible?
             See App Compatibility Table — RoaringApps.
         For a complete How-To introduction from Apple see Upgrade to OS X Mountain Lion.

  • I have quicktime pro and it does NOT have the screen record mode that Quicktime is suppose to have.  Can I uninstall it and go back to an older version that would have screen recording?  If so, how?  Step by step needed.  Thank you for your time.

    I have quicktime pro and it does NOT have the screen record mode that Quicktime is suppose to have.  Can I uninstall it and go back to an older version that would have screen recording?  If so, how?  Step by step needed.  Thank you for your time.

    Did you remove Quicktime X?
    On a normal install Quicktime 7 is installed in the Utilities folder and Quicktime Pro in the main Applications folder.
    You will need to reinstall OS X to get Quicktime X back if you have deleted it.
    I notice yor profile says 10.5.8. Quicktime X is only available on 10.6 and above.

  • IPad 3 and iPhone 4S won't synch with iTunes on Mac book pro. Error message says I need to have version 10.6.3 pr later for iTunes.

    iPad 3 and iPhone 4S won't synch with iTunes on Mac book pro. Error message says I need to have version 10.6.3 or later  for iTunes.  Mac iOS version 10.5.8 and iTunes on Mac is 10.6.1. iPad and iPhone version is 6.0(10A403). When I check for updates on the Mac book pro it says software versions are up to date.
    When I check for iTunes version  10.6.3 it looks like it is for snow leopard operating system which I am not on. How to I get my devices to sync with computer. Everything worked prior to iOS 6 upgrade on remote devices.

    I'm having the same problem.
    iPhone 4s won't sync with my Macbook Pro.
    I iust updated the iPhone to iOS6 (thought it wasn't syncing before the update either).
    Macbook Pro running Mac OS 10.5.8
    iTunes 10.6.3 (i.e. latest update - which hasn't had an issues apart from syncing).
    I tried 3 different USB sync cables. Still not syncing.
    Do I really have to update my Mac OS to 10.6.8 in order to sync my phone ? I thought as long as you have iTunes 10.6.3 you're ok...
    Is there a way to update to Mac OS 10.6.8 (or later) without wiping the hard drive and doing a new install?..
    thanks

  • I have pages version 2.1 for the i pad. When I try to open pages documents on my mac it says You need a newer version of Pages to open this document. I have updated to the very latest Pages for mac version 4.3. Cant figure it out.

    I have Pages version 2.1 for the i-pad. I have Pages on my Macbook, version 4.3. When I try to ipen a doc on my Mac it says I need a newer version to open this doc. There is no newer version. I need these docs in a bad way and cant get to them on the Mac. Any ideas?

    IOS Pages 2.0 and 2.1 implement an entirely incompatible document format with Pages ’09 v4.3. It cannot open them, and you are then prompted to update to Pages v5+ which is compatible with your IOS Pages.
    Unfortunately, updating to Pages v5+ is a bad thing, as it is a brand new application that has omitted over 90+ features from Pages ’09 v4.3. When you update to Pages v5+, it will move your old still functional version of the earlier Pages into /Applications/iWork. Aside from all the missing functionality, Pages v5+ will likely damage older documents that depend on specific Pages ’09 v4.3 features (including AppleScript and custom Templates).
    Oh, by the way, the older and new Pages documents have the same filename extension (.pages) making document organization difficult without applying different tag colors to old and new documents.
    We are recommending that users remain on their earlier Pages version. You may have to export documents from IOS Pages as Word .docx to avoid the OS X Pages update notice.

Maybe you are looking for