[JS OSX problem executing CS3 script in CS4 ]

I created a program in CS3 for hyperlink. Following code will work fine in CS3. But when i am trying to run this program in CS4 its not giving me any error but i am not getting  expected output.
var myTextFrame_np = mydoc.pages.item(i).textFrames.add();
myTextFrame_np.geometricBounds = ["38p0", "26p0", "40p0", "30p0"];
var source_np = mydoc.hyperlinkPageItemSources.add(myTextFrame_np,{name:'P1:P2'});
var dest_np = mydoc.hyperlinkExternalPageDestinations.add();
dest_np.documentPath = myfile;
dest_np.destinationPageIndex = 2;
dest_np.viewSetting = HyperlinkDestinationPageSetting.fitWindow;
mydoc.hyperlinks.add(source_np, dest_np, {visible:false, name:'P1:P2'});
Can anyone tell me what i need to change in this program to work in CS4.
Thank you,
--Amit

I created a test case for you. Copy the code into ESTK and run for CS4. I am sending Amit.indd file as well in your mail box please check the attachment. You can check now what is the problem. 
var file_path = "/Users/amitvyawahare/Desktop/Amit.indd";
var OpenDocument = app.open(File(file_path));
myDoc = app.activeDocument;
var myfile = File(file_path);
var nextPage = ["38p5", "26p0", "40p0", "30p0"];  // Next Page text frame for hyperlink (y1, x1, y2, x2)
var prevPage = ["38p5", "21p0", "40p0", "25p0"];  // Previous Page text frame for hyperlink (y1, x1, y2, x2)
var myNextFrame = myDoc.pages.item(0).textFrames.add();
myNextFrame.geometricBounds = [nextPage[0], nextPage[1], nextPage[2], nextPage[3]]; 
var myNextSource = myDoc.hyperlinkPageItemSources.add(myNextFrame,{name:'P1:P2'});
var myNextDest = myDoc.hyperlinkExternalPageDestinations.add();
myNextDest.documentPath = myfile;
myNextDest.destinationPageIndex = 2;
myNextDest.viewSetting = HyperlinkDestinationPageSetting.fitWindow;
myDoc.hyperlinks.add(myNextSource, myNextDest, {visible:false, name:'P1:P2'});
When you finish execution try to open the showDestination it wount work.
But  when you open P1:P2 hyperlink or try to open hyperlink option which is under hyperlinks.
Then try to open showDestination that time it will work.
--Amit

Similar Messages

  • Problem executing Unix script from Java...

    Hi there, I'm having trouble executing a unix script from a java program. The script receives multiple parameters and it seems that one of them ( or more ) is not well interpreted. When I run the script directly from a shell, the script executes without any errors. But, when I run the exact same script with the exact same parameters, it does not work.
    Here is the command to execute the script with all the parameters that is executed from the shell ( with success ) and also from the java program ( with errors ):
    /z/opus/dcap/intfu001.csh 'NODEBUG^NOTKPROF^NOSTACK' opus dcap JACQUES JACQUES '2625781' 'ORA$PIPE$001D00D70001' JOB^DEBUG^SINISIMU^STATPROD^DECTIDANC^81^503^4080^86^87^151^97^98^99 BUT^N^N^SPRI^0^13^24^3^J^05^N^19^19^19 >> /tmp/switcher8.999.null.pgm.test
    And here is my portion of code that executes the script:
    Runtime wShell = Runtime.getRuntime();
    Process wProc = wShell.exec(cmd_unix_final);
    wProc.waitFor();
    return wProc.exitValue();
    Please give me your thoughts on this!
    Thanks in advance!

    Ok.
    Let's proceed surgically, else we'll never solve or overcome anything.
    In the last your reply you wrote:
    the normal output is what I get when the script runs successfully, the script first prints a few things
    and then does stuff that takes at least 2 or 3 secondsWhat do you mean?
    -Finally have you got your script correctly executed?
    The stuffs you spoke of are really performed?
    If this is the case I can't see the prob.
    Is your concern only about exitValue() for it doesn't let you distinguish programmatically
    the success or failure of the script execution?
    Of course you surely already have a routine in your java code to handle
    exceptional situations of errors from the script.
    And the "normal output" is just what you must parse to detect those errors.
    Then who cares about exitValue() in this case?
    Don't invoke it, relay on the stdout and stderr of the script.
    -Or you get only a deceiving standard output
    that let you think the script execution went alright, while instead it didn't.
    In this case we have to investigate some other thing.
    I can't still exclude that the problem isn't related with the buffer size of the stdout
    allocated by the environment to the subprocess. You spoke of few things printed out.
    Be explicit. What's the size of the output you get?
    And is the "normal output" complete till the very last char
    or is it truncated from somewhere on?
    Also it's important that you hit a ps command after the java main process terminates
    (or simply when waitFor() returns) and see if the script subprocess hung up.
    As an alternative approach directly call your pro*C code from Java through JNI, instead of translating it.
    1. Exec.java
    public class Exec{
         static{
              System.loadLibrary("Exec");
         public static native void proCFunct();
         public static void main( String[] args){
              proCFunct();
    }2. javac Exec.java
    3. javah Exec
    4.Exec.c
    #include "Exec.h"
    JNIEXPORT void JNICALL Java_Exec_proCFunct(JNIEnv * a, jclass b){
         //here call the function that executes the script
    5. cc -G -I$JAVA_HOME/include -I$JAVA_HOME/include/solaris -I$YOUR_INCLUDES Exec.c -o libExec.so
    6. setenv LD_LIBRARY_PATH .
    7. java Exec

  • Problem executing shell script for rwrun

    hi..
    I wrote a shell script to make a report similar to the batch file in windows.
    My OS is Suse 8.0 with oracle installed in it..
    I have the script like this..I used 2 lexical parameters for my rep file.
    /opt/oracle/OraHome1/bin/rwrun.sh test techy/techy@simone batch=yes desname=test_3.pdf destype=file desformat=pdf atable=\'\' whereford=\'protokolle.haendlernummer=\'Ludwigsburg\' and\'
    This one works fine but the one below doesn't give any output. The pdf fiel is just empty. I wonder y,,may be any problems with the spaces or escape characters.I didn't get any error when executed the scripts.
    /opt/oracle/OraHome1/bin/rwrun.sh test techy/techy@simone batch=yes desname=test_3.pdf destype=file desformat=pdf atable=\'\' whereford=\'protokolle.haendlernummer like \'L%\' and\'
    thanx and waiting for soem one to answer..
    regards
    Kovi

    I solved it by doing the following..
    opt/oracle/OraHome1/bin/rwrun.sh test techy/techy@simone batch=yes desname=test_3.pdf destype=file desformat=pdf atable=\\'\\' whereford=\\'\\ protokolle.haendlernummer\\ like\\ \\'L%\\'\\ and\\'
    from the Java Program..
    Important thing I discoverd is there should be a space at the beginning like whereford=' prot...' and it sok now..
    thanx ...but I still has other probelm now..which is to invoke the report from a servlet which executes this shell script..Problem with DISPLAY variable..I cannot run rwrun.sh without DISPLAY variable..
    Is there any way to set this variable for tomcat service.

  • OS Problem executing shell script

    Hi,
    I am executing a shell script using 'Runtime.getRuntime().exec()'. I need to view the iteration data on my shell as the execution progresses.
    I get the input streams from the process and buffer them in order to do this.
    I can see the progress successfully on SunOS, but not on HP. The shell script itself runs fine on HP.
    Any possible solution to this is greatly appreciated. I searched the forum and also some other sites like Java World, but haven't found anything useful yet.
    Thanks.

    Here's a detailed explanation of the problem:
    I have a shell script that makes a single call to a executable. The output is piped to the shell one line at a time(number of lines depend on the number of iterations I specify in the script). This shell script run by itself works on Unix SunOS and on HPUX 11 with the output piped to the shell as the execution progresses.
    I am trying to execute this shell script from my java code. For this I use the "runtime" environment, and get the output from the "process" using the "getInputStream" and "getErrorStream" methods. I buffer these streams using "BufferReader", and output them to the shell.
    My code works as desired on Sun OS, with the output from the process piped to the shell one line at a time as the execution progresses. But on HPUX 11, the output is piped to the shell all at one time - after the process runs to completion. I am not able to understand this behavior.
    Hope my description of the problem is clear. Thank you.

  • Problem executing SQL scripts

    Hi,
    I am unable to execute any SQL script in my APEX application.
    I uploaded a SQL Script using the SQL Workshop->SQL Scripts->Upload option.
    this is the script tat i uploaded :
    SELECT COUNT(*),'PROJECT_TEAM' FROM PROJECT_TEAM
    SELECT COUNT(*),'PROJECTS' FROM PROJECTS
    SELECT COUNT(*),'PROJECT_TASK_DETAILS' FROM PROJECT_TASK_DETAILS
    But when I click on the Run button, the script doesn't execute and also I am unable to edit the script tat i uploaded.
    Any thoughts on whr I am goin wrong or any solutions??
    Thanks,
    Janani

    Hi Janani,
    You can exec one select statement each time.
    Best,
    Othman

  • CS3 script runs slow with CS4 and CS5

    I have written a table transformation script for InDesign CS3, which formats an imported Excel table.
    With InDesign CS3 the script runs well. Now I tried the same script with InDesign CS4 and CS5 and it runs very slow. It's about 10 times slower than with CS3.
    I tried to turn off redrawing, but this didn't help. It even got slower again!
    Does someone has made similar experiences? Could you solve the performance issue?
    Do scripts in CS4/CS5 generally run slower than in CS3?
    Does CS4 differ so much to CS3 that the script runs 10 times slower?
    What can I do to improve the execution performance?
    Thanks for any tips / advices etc.

    I now have made some tests with profile / timing. Here are the results.
    you find the code snipped below. It iterates first over all rows and then over all cells inside of the row. In the cell iteration, the function hasGapInLineBelow(...) does more iterations.
    The example is with a table of 42 rows and 9 cells.
    I have compared CS3 and CS5
    there are 3 test cases:
    for 1/1 means: first for-loop is in iteration 1 and second for loop is in iteration 1 (statements for first row and first cell done)
    for 1/9 means: first for-loop is in iteration 1 and second for loop is in iteration 9 (statements for first row and all 9 cells of the row done)
    for 2/9 means: first for-loop is in iteration 2 and second for loop is in iteration 2 (statements for second row and all 9 cells of the row done)
    it's strange that normal variable assignments take lot of time (like the statement startPos = indexLeftNeightbourOfCurrentCell;) -> I don't understand why this can be so time consuming!?!
    it's also strange why in "for 1/9" and "for 2/9" variable assignments take much longer than in "for 1/1"...
    could I use another data type than array for the variable isMergedRow? Which one?
    do you know any performance optimizations?
    in which time unit ExtendScript Toolkit shows the measured periods?
    how are the times calculated in loops? Are these the times sumed up over all iterations or is it just the time for a single statement?

  • Problem installing CS3, being asked for CS4 disc

    Hi,
    I'm having problem reinstalling CS3, during the installation I'm being asked to insert CS4 disc. All I want is to reinstall CS3.
    Also, the liks to download CS3 products don't work.
    Anybody can help me with this? Thanks!

    Karniak which operating system are you using?  I would recommend removing any current installations for Adobe Creative products on your computer.  Once removed please use the CC Cleaner tool to insure complete removal.   You can find more information on the use of the CC Cleaner tool at Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6 - http://helpx.adobe.com/creative-suite/kb/cs5-cleaner-tool-installation-problems.html.
    Once you have used the CC Cleaner Tool please reinstall CS3.  If you need a fresh copy of the installation files then you can download them from http://helpx.adobe.com/creative-suite/kb/cs3-product-downloads.html.  Is this the same location you were attempting to download from previously?

  • Problem in executing vb script in java pgm

    hi
    i need to execute vb script in java pgm
    i code is given below
    there are no errors but the script is not executed,instead if i replace "command.exe \C G:/vb.vbs" with notepad,notepad is being executed
    import java.lang.*;
    import java.io.*;
    public class run
    public static void main(String args[])
    Process p1;
    Runtime r = Runtime.getRuntime();
    try
         p1 = r.exec("command.exe \C G:/vb.vbs");
    catch(NullPointerException eo){}
    catch(IOException e) { }
    }

    Isn't it supposed to be "/C" and not "\C"?

  • How can i istall the photocd plugin of photoshop CS3 to photoshop cs4 under windows7?

    How can i istall the photocd plugin of photoshop CS3 to photoshop cs4 under windows7?
    i had no problem to install under windows XP, but i do not know how and where to install the windows profiles and i am not sure, if i habe just ro move the .8bi file to the directory plugins/file formats.
    can anyone, please, explain me how to install the plugin into the 64bit and 32bit versions of photoshop cs4 under windows7?

    Thanks for the response. Photomerge.jsx, and stack scripts only are in the scripts folder. However, I had to put them in there from cs3. Now I can get the photomerge window to open (still the cs3 version) but after I select the photos and hit ok nothing happens. I have been comparing the presets in cs3 to see what I am missing in cs4, but I cant find the missing files.

  • Cross upgrade Windows CS3 to Mac CS4.

    Hello,
    I am new in this forum.
    I want to upgrade my old Window CS3 to Mac CS4. Does anybody here had this kind of upgrade? If yes. How long did take you to get the upgrade from the customer service?

    I have a good friend who wanted to crossgrade Adobe's applications from Windows to Mac. Here's a quote:
    Our senior editor, Kathleen, has been trying to do a platform change/upgrade request on our CS3 Production Bundle since APRIL, and has been getting nothing but a runaround from the published customer service entities. Two case numbers, 8 phone calls, promised call backs from supervisors that never appear, lost faxes, the eternal circle of handoffs (you need to talk to sales/no, sales can't help you, please talk to customer service/wash, rinse, repeat) --- you name it, and not one helpful person in the mix. It's been two and one half months. Meantime, they have our shipping money and we have an outdated bundle for the incorrect platform for our current needs.
    Honestly, I'm not inclined to bash a company's support without being given good reason, but this has to be one of the most frustrating experiences I've seen with any tech company, anytime. In my editing career I've never had to make a posting like this. Can anyone point us in a better direction, or if you have a contact behind the "hold-music curtain", forward them this email.
    This was published on June 29th, 2009.
    Here was the solution, which was posted July 9th, 2009:
    Longtime list friend L. W. had the best suggestion though -- he forwarded my complaint to his friend Simon, a top executive in charge of video/film (dynamic) media applications at Adobe. I'm happy to say that the attitude towards customer service at this level is excellent, and within hours Simon initiated a review of our case which resulted in our getting the long-promised software yesterday -- and this case has started a dialogue within the company to avoid problems like this in the future. I think this proactive approach to accountability at the highest levels says good things about Adobe for the future. Thank you, Simon. The business world needs many more like you.
    Apparently Simon was not able to make any real changes inside the Adobe Support bureaucracy...

  • Error while executing the script adgetlnxver.sh

    Error while executing the script adgetlnxver.sh on apps&db tier during upgrade from 11.5.9 to 11.5.10.2
    -bash: [: -lt: unary operator expected
    [aptinst@dba5 TINST_dba5]$ sh adapcctl.sh restart
    adapcctl.sh version 115.55
    /u01/app/tinst/tinstappl/ad/11.5.0/bin/adgetlnxver.sh: line 123: [: -lt: unary operator expected
    Apache Web Server Listener :httpd ( pid 8645 ) is running.
    Restarting the Apache Web Server Dedicated HTTP Listener..
    Apache Web Server Listener (PLSQL) :httpd ( pid 8673 ) is running.
    Restarting the Apache Web Server Dedicated PLSQL Listener..
    adapcctl.sh: exiting with status 0
    In adgetlnxver.sh: line 123 says
    if [ ${setflag}x = "x" -a $os = "RH" ]; then
    redhatver=`grep -oP "Enterprise Linux [a-z A-Z 0-9]* release [0-9]+" /etc/redhat-release | sed 's/Enterprise Linux [a-z A-Z 0-9]* release //g'`
    if [ $redhatver -lt 5 ]; then
    LD_ASSUME_KERNEL="2.4.19"
    export LD_ASSUME_KERNEL
    fi
    fi
    Thanks,
    Vamsi

    Hi Vamsi.
    The exactly erro refers to a problems when you try upgrade from these version to 11.5.10.
    Can you read this note and apply solution? The note refers a patch, but the problem is the same.
    After Patch 4334965, adstrtal.sh & adstpall.sh is failing with errors [ID 360046.1]
    BR Rafael Ceolim

  • How to execute vb script with out using Remote manager in oim 11g r2

    Hi Currently,
    i have a requirement to execute  vb script (present on a remote machine in which connector server is installed) from oim machine while using Exchange connector (11.1.1.6).
    This can be achieved by using remote manager,but i dont want to use remote manager.
    Hence decided to use Action scripts.
    As per connector configuration,
    i have configured Action scripts in Lookup.Exchange.UM.Configuration lookup definition, by means of three entries
    After Create Action Language      Shell
    After Create Action Target           Resource
    After Create Action File              /home/scripts/Disable.bat
    Disable.bat has the following ,
    Powershell.exe -File C:\scripts\Setup.vbs
    -%Log on Name%
      Exit
    As Setup.vbs is expecting a parameter of log on name, i was providing the same.
    But while creating the user,as this script gets called, getting the following error and hence 'create User' is getting failed.
    Problem while PowerShell execution System.Management.Automation.RemoteException: This task does not support recipients of this type. The specified recipient XXXXXXXXXXX...XXXXX is of type UserMailbox. Please make sure that this recipient matches the required recipient type for this task.
    While provisioning the user to Exchange , i have selected 'Recepient type' as 'User Mail box' explicitly, but still getting the error.
    Please provide any pointers to resolve the issue.
    Thanks in advance
    Kumar

    As far as I know Oracle and MySQL are two different products.
    Why do you clutter an Oracle forum with MySQL questions?
    If MySQL is such a tremendous RDBMS, like many people state (as 'free' means per definition better),
    why don't you visit a MySQL forum where fellow MySQL aficionados can answer you MySQL questions?
    In short, why don't you stop abusing Oracle forums?
    Sybrand Bakker
    Senior Oracle DBA

  • Epson Printing Problem with CS3

    My Epson Stylus Pro 9600 has a problem with CS3 printing. When printing large images (i.e. 36x60) a portion of the image would be missing at the bottom (blank) The 10.01 update addressed this issue but it seems not completely. The problem was attributed to using a "Custom" print resolution however I still have this problem and after much testing I have narrowed it down to the "Finest Detail" check box under the custom, advanced tab. Checking this "Finest Detail" check box reproduces the problem.
    I'm not sure where the problem lies whether it be Photoshops new stripped down print code or Epsons drivers. For the mean time I will keep this feature de-selected. Hope this helps other frustrated Epson Owners.
    Vista 32, dual quad xeon 2.33
    Photoshop CS 3.3 Extended (Masters Collection)
    Epson Stylus Pro 9600, Drivers ver 5.52, current printer bios

    Adobe blamed Epson drivers for not anticipating CS3's changes. Like they're clairvoyant or something. Their reason was that it was too hard to take into account every printer on the market when writing the new (unasked for) CS3 printing module. A feeble excuse when it comes to Epson pro machinery, though - it is the industry standard, after all.
    Solution? - use CS2 for printing, authored back when Adobe wrote its software to be compatible with existing equipment and drivers, not expecting the world to fall into line with whatever it decided it would do. CS2 works flawlessly with my 7800, CS3 remains a basket case for the same reasons you mention, though checking/unchecking the fine detail box makes no difference. CS3 is erratic - sometimes it works as directed, but then out of nowhere it will suddenly decide to attenuate a pano print.
    We'll see if they get it right with CS4's "improved" printing, but don't hold your breath.

  • Why is Merge into single pdf using InDesign CS3 and not CS4 ?

    I'm new to this so the question may be trivial, but it beats me:
    I've created some InDesign files in CS4 and want to combine them into one PDF. So I opened Acrobat 9 Pro and
    navigated to "Merge files into single pdf". I chose the CS4 InDesign files to Add and clicked the Combine Files button.
    BUT, this starts up InDesign CS3 and not InDesign CS4 and returns a pop-up saying "unidentified error".
    Why is starting CS3 InDesign and not CS4, and what is the "unidentified" error ! ?
    As background I intially installed CS3 and then updated to CS4, leaving the CS3 applications intact. When I initially
    bought CS3, just before CS4 was released I may have created pdfs from InDesign as an experiment, but it is possible I have not done this
    since upgrading to CS4.
    Thanks for any help

    Thanks Michael, I was not aware of quality issues. Actually this is not really significant for my usage this time. What I'm doing is just using ID to capture notes/images/links etc in several free format ID documents. I then planned to merge them quickly into one pdf using Acrobat. I can easily shuffle the file order around to create a handy portable pdf reference document with the Merge feature.
    Doing something similar from ID seemed to me to require me to create pdfs for each ID doc and them to merge them in Acrobat. I did start to write a simple script to do this in ID, but I then realised that I wanted the ordering to vary and the ID files would likely to change. Then I found the merge and bingo, that solved it..... Well it solved it on another CS4 installation that had never seen CS3, but not on my machine which had been upgraded from CS3.
    I tried looking in the registry for obvious entries that might point Acrobat to use ID CS3 rather than CS4, but couldn't spot anything. I wonder if there is something buried in there ?
    Thanks again for helping
    Regards.

  • Opening InDesign CS3 documents in CS4

    I am hoping someone from Adobe can help me with this question. Here is the scenario:
    I work on the support team in a prepress environment where we get hundreds of client supplied InDesign files weekly. Some clients supply their files in InDesign CS3 and some supply the files in InDesign CS4. We have both applications.
    From our experience, we have found that if we open a InDesign CS3 document using InDesign CS4, there is a potential for items to disappear in the document. I don't know what changed from 3 to 4 to cause this problem. This has happened to us more than one time and we have experienced money losses due to on press errors.
    One would say, as we have, if the document is supplied in InDesign CS3, work on it in InDesign CS3. Easy enough, right?
    Well, not really. If you have CS3 and CS4 both installed on your mac at the same time, simply double-clicking on the file will default to CS4 (since it is newer).
    We have told our operators that they need to identify what version the file was created in; which is not the easiest thing either.
    If you "get info" on the file, you do not get accurate information. It may say "CS4", even if it is "CS3", I think this is because your system is reading what the newest application that you have install is.
    I have found that by dragging the file over the CS3 icon in the doc, it will attempt to open the file in CS3 and if it truly is a CS4 document, you will get plugin errors and the file won't open. This works, but my 38 mac operators are so used to just double-clicking a file to open it, they sometimes forget to do it my way, and thats when we get errors.
    Is there a plugin available that would prompt you, when double -clicking on a file as to what version it is, or what version InDesign that you would like to open the file in?
    What did Adobe change in InDesign CS4 that would cause items to disappear or change when working on CS3 documents in CS4?
    Thank you in advance.

    First, this is a user forum, not an official Adobe support site, so you aren't talking to Adobe employees for the most part.
    Second, though it is subtle, there is a visible difference between the icons for file created in CS3 and CS4, but you do need to look.
    There is (or perhaps it's now "was") a known issue with master items disappearing when placing one ID file into another in CS4. Be sure your copies are updated to the latest patch. Another reason to avoid opening CS3 files in CS4 is potential differences in text flow due to text engine differences which will affect how lines break.
    If you want to train your people in a hurry, tell them the next time you have to re-run a job because they opened it in the wrong version you'll deduct the cost from their pay.
    Peter

Maybe you are looking for

  • Can you please help me?

    My iPod touch 4 wont charge. I've had this problem before, and i solved it by buying a new charger. But I tried all different outlets, and even bought a new charger and still nothing. It's dead, and it comes on with the apple sign and all that, but i

  • Convert dotx or docx to pdf with Word Automation Service failed

    Hello everybody, After search on the internet, I'm looking for a solution to this issue. I wrote this code for a document conversion in a visual studio 2010 workflow: string wordAutomationServiceName = "Word Automation Service"; ConversionJobSettings

  • IMac G5 Graphic Card Replacement for blue screen problem

    When I turn on iMac, I only see blue screen, the apple technician said Need to replace graphic card,  Nvidia Gforce 7600GT 256. 1, can it install in IMac?  Seem like it work for PC? 2,  I had blue screen problem several time,  I think I turn on iMac

  • FCP 7 (Studio 3) with new OS and new computers. Will it work?

    I have read, and mostly likely so have you, that a new Power Mac will be introduced sometime this spring. I don't know when it will be available to purchase, though. My concern is that as a FCP Studio 3 user, Not FCPX, that the new machines and whate

  • Leading zeros and editing figures

    Hello, Just need the following on a query: To get rid of 0unit or 0currency: Quatity 14ST -> 14 Import 145,320US -> 145,320 To print leading zeros: Item  10 -> 000010 Item 480 -> 000480 Item 10289 -> 010289 To print editing on figures and percentages