Sequential file naming for repeating action on same file

I need to export all the hands of a clock to animate the individual hour and minute hands in the software I'm using. So, I'm trying to set up an automated process to save 60 clock hands so that I don't have to do this manually for all future clock designs by doing rotate, save, rotate, save....
I have an action to rotate 6 degrees, and save. This works. I don't know how to automate this to repeat 60 times, other than nesting it in a folder. Problem is, that each time the first action to Rotate and Save plays, it saves over the last file with the same filename I used when recording the action.
OR, if I use the Export function (to save a PNG, which is ultimately what I need, and not an AI), it doesn't work at all (nothing gets saved) unless I turn on the Dialogue option for the export step, and click through the screen manually to OK the filename and settings. Surely there's a way to just make it save with the default and work?
Thanks in advance.

Hi PrePressPro, thanks for taking the time to outline that for me. But, when I duplicate the arrow through Effects, I can't separate the arrows. It's like one big 60-arrowed shape that I can't ungroup, and I need to be able to export each arrow individually. Though I don't know why I need to focus on drawing all 60 arrows, I already have an action to rotate my one arrow into every position it needs to be and then Export. Either way, my action needs to Export, and it's not working.
I don't know why the Export doesn't work, I'm even prepared to set up 60 actions so that I can custom change the name of each export to 1, 2, 3, etc... and then I Play the folder. I've set up the first 10 steps. But as you can see below, though everything is set up, it won't Export unless I turn on the Dialogue option next to Export. Which shows me first the Export screen asking me to confirm the filename, and then it shows me the PNG options screen. It should work without Dialogue turned on!

Similar Messages

  • Not able to open mail from my mac, gmail repeatedly asking for password. but using same password able to open gmail on safari

    not able to open mail from my mac, gmail repeatedly asking for password. but using same password able to open gmail on safari

    okay well they got me to take out some .plist files to see if that would help it didn't. I'm not sure what ones that they deleted for my self maybe someone here would be abel to tell you what ones to take out but didn't work the one that came close to working was this going into keychain and deleting the account(s) then reading them again.
    if you are to do this please back up first with Time Machine. You can do this with a usb drive.
    Okay so go back to where you had internet accounts and make sure mail is shut. click the - on the account your having problems with then quit system preferences.
    Okay so then press cmd and space bar at the same time then type 'keychain access' into the search then click on 'keychain access'
    once it is open go to the top of the window and put your email address that you are having problems with.
    once you have put in your full email, have a look at what comes up i deleted things in the kind colome with 'internet password' and anything with under name that had smtp.gmail.com or imap.gmail.com so it would look like this, map.gmail.com - internet password.
    right click and delete them. make sure not to touch any other files that dont say them things on them.
    Once you have done this quit keychain access and then restart the computer, once the computer is restarted go back to system preferences and internet accounts and re-add the account.
    Hope this helps. if something is not clear just ask.

  • After upgrading to ios6 my iphone will not open .xls files in emails with the default viewer. Is there a fix for this? The same emailed .xls files still open on my ipad using ios5 while viewing email like they did on my iphone prior to upgrading.

    After upgrading to ios6 my iphone will not open .xls files in emails with the default viewer. Is there a fix for this? The same emailed .xls files still open on my ipad using ios5 while viewing email like they did on my iphone prior to upgrading. I have no special software like numbers or anything else installed on either device. Just using the default viewer provided by apple for viewing email.

    The attachment is an .xls excel 97-2003 spreadsheet. I viewed the file in the email and did not edit it with any software. I can forward the file to anyone that is may want to check it out to see if they can help me. I was wondering if there was some way of forcing another ios6 install on my phone and maybe that would solve it.
    Is there anyone out there that is viewing .xls files in email using ios6 w/o any other software installed like numbers or any other add ons? I am not upgrading my ipad from ios5 to ios6 so I can still continue to view the emails on my ipad. Is there an email viewer .xls plug-in that will be availablle in the next ios6 update?

  • How to pass value for value field of return parameters for an action step in teststand sequence file programatically using c#

    I used a method LoadPrototypeFromMetaDataToken(token,options) to load the return type parameters. I am unable to set the value field in the return parameters for an action step in teststand sequence file programatically using C#.How can I do that.

    Continue here

  • SXDA split files for RMDATIND - First record in sequential file & not a session record (type 0)

    Hi gurus,
    I'm trying to perform a mass upload of material master records and for this I've have setup a Data Transfer Project in SXDA with the purpose of splitting an LSMW input file into multiple. The file split task is using Data Load Program:
    Object Type: BUS1001006
    Obj. description: AD Standard Material
    Program type: DINP
    Program: RMDATIND
    The problem I'm facing is that once the .conv (Converted Data) is split in multiple files these files are being transferred without a session record. This is causing to get the following error when running program: RMDATIND "First record in sequential file & not a session record (type 0)"
    So the questions is: How can I specify in SXDA that I want to keep that session record in all my split files?
    Thanks in advance for your help!

      Hi Chris ,
    try to re create logical file path/files for converted data.
    regards
    Prabhu

  • Read data from a sequential file to fill an arrray

    I am trying to read data from a sequential file to fill an array and then use the array for calculations. I believe my program is reading the file; however when I try to use the data for calculations the results show up as boxes rather than numbers. Can someone please take a look and give me some insight into where I am going wrong. The sequential file has the following data:
    5.0
    5.35
    5.5
    5.75
    Here is my code from that portion of the program. I can send the entire program if necessary.
    private void calcResults(TextArea loanResults, double amount, double interest, int term ) throws IOException {
         DecimalFormat df = new DecimalFormat("$###,###.00");
         NumberFormat formats = new DecimalFormat("#0.00");
         StringBuffer buffer=new StringBuffer();
         loanResults.append("Month No.\tMonthly Payment\t\tInterest\t\tBalance\n");
         double monthlyPay = amount*Math.pow(1+interest,term)*interest/(Math.pow(1+interest,term)-1);
         monthlyPayment.setText("" + (formats.format(monthlyPay)));
         double principal= amount;
          * Loop through each month of a given loan
        int month;
         for (int i=0; i<term; i++)
    try {
         int j = 0;
         BufferedReader in = new BufferedReader(new FileReader("rates.txt"));
         String temp = "";
         while((temp = in.readLine()) != null) {     
            j++;
            strRate[j] = temp;
            RateValue1 = Double.parseDouble(loanAmountTxFld.getText());
            in.close();
             catch (FileNotFoundException e) {
                 System.out.println("Can't find file rate.txt!");
                 return;
          month= i+1;
          double rate =principal*interest;
          double balance=principal+rate-monthlyPay;
          loanResults.append((month) + "\t\t" + (formats.format(principal) + "\t\t"  + (formats.format(rate) + "\t\t"
                            + (formats.format(balance)     + "\n"))));
          principal=balance;
          GraphArea.append(formats.format(balance)     + "\n");
    *Method for determining which loan option was chosen
    private void calc() throws IOException{
      String interestTerms = (String) cOption.getSelectedItem();
      if (interestTerms.equalsIgnoreCase("5 yrs at 5.00"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.05/12, 60);
      else if (interestTerms.equalsIgnoreCase("7 yrs at 5.35"))
        calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), RateValue1/12, 84);
      else if (interestTerms.equalsIgnoreCase("15 yrs at 5.50"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.0550/12, 180);
      else if (interestTerms.equalsIgnoreCase("30 yrs at 5.75"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.0575/12, 360);
      else if (interestTerms.equalsIgnoreCase("       "))
        calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), Double.parseDouble(loanInterestTxFld.getText())/100/12,Integer.parseInt(loanTermTxFld.getText())*12);
    }

    ok, I fixed my program per your suggestion and I still cannot get it to work. I get the same result where the ouput is just a bunch of boxes. I also tried to print to see what I am getting and all I see is the values of the array [5.0,5.35,5.5,5.75] but I cannot seem to pass that to the calculations. I wish I could figure this out. Does anybody have any suggestions as to what I am doing wrong. This is the portion of my code that I am having issues with:
    private void calcResults(TextArea loanResults, double amount,double interest, int term ) throws IOException {
         DecimalFormat df = new DecimalFormat("$###,###.00");
         NumberFormat formats = new DecimalFormat("#0.00");
         StringBuffer buffer=new StringBuffer();
         loanResults.append("Month No.\tMonthly Payment\t\tInterest\t\tBalance\n");
         double monthlyPay = amount*Math.pow(1+interest,term)*interest/(Math.pow(1+interest,term)-1);
         monthlyPayment.setText("" + (formats.format(monthlyPay)));
         double principal= amount;
          * Loop through each month of a given loan
        int month;
         for (int i=0; i<term; i++)
          month= i+1;
          double rate =principal*interest;
          double balance=principal+rate-monthlyPay;
          loanResults.append((month) + "\t\t" + (formats.format(principal) + "\t\t"  + (formats.format(rate) + "\t\t"
                            + (formats.format(balance)     + "\n"))));
          principal=balance;
          GraphArea.append(formats.format(balance)     + "\n");
    private void readFile() throws IOException
    try {
         int j = 0;
         BufferedReader in = new BufferedReader(new FileReader("rates.txt"));
         String temp = "";
         while((temp = in.readLine()) != null) {     
            strRate[j] = temp;
            j++;
    RateValue1 = Double.valueOf(((String)(strRate[1]))
    ).doubleValue();
    //        RateValue1 = Double.parseDouble(loanAmountTxFld.getText());
            in.close();
             catch (FileNotFoundException e) {
                 System.out.println("Can't find file rates.txt!");
                 return;
    *Method for determining which loan option was chosen
    private void calc() throws IOException{
      String interestTerms = (String) cOption.getSelectedItem();
      if (interestTerms.equalsIgnoreCase("5 yrs at 5.00"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.05/12, 60);
      else if (interestTerms.equalsIgnoreCase("7 yrs at 5.35"))
        calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), RateValue1/12, 84);
      else if (interestTerms.equalsIgnoreCase("15 yrs at 5.50"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.0550/12, 180);
      else if (interestTerms.equalsIgnoreCase("30 yrs at 5.75"))
         calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), 0.0575/12, 360);
      else if (interestTerms.equalsIgnoreCase("       "))
        calcResults(loanResults, Double.parseDouble(loanAmountTxFld.getText()), Double.parseDouble(loanInterestTxFld.getText())/100/12,Integer.parseInt(loanTermTxFld.getText())*12);
      }

  • Error in running juit test case for struts2 action class

    Hi,
    I am getting error when i am running my junit test case for struts2 action class. Here is the code.
    public class RoleMasterNewActionTest extends StrutsTestCase {
         public void setUp() throws Exception {
            super.setUp();
            ObjectFactory.setObjectFactory( new ObjectFactory() );
         public void testDoSomeThing()throws Exception {
              RoleMasterNewAction action = new RoleMasterNewAction();
              assertTrue(action.doSomeThing());
    }I am getting error at testDoSomeThing(). the error is
    2010-04-30 15:07:12,263 INFO [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] - Parsing configuration file [struts-default.xml]
    2010-04-30 15:07:12,325 INFO [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] - Parsing configuration file [struts-plugin.xml]
    2010-04-30 15:07:12,388 INFO [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] - Parsing configuration file [struts.xml]
    2010-04-30 15:07:12,388 WARN [org.apache.struts2.config.Settings] - Settings: Could not parse struts.locale setting, substituting default VM locale
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.comman-Lookup
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.comman-label
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.comman-headings
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.comman-messages
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.comman-setup
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.common-errors
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.admin.resources.admin-label
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.admin.resources.admin-lookup
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.admin.resources.admin-headings
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.admin.resources.admin-jndinames
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.birthCertificate.resources.birth-jndinames
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.birthCertificate.resources.birth-labels
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.birthCertificate.resources.birth-headings
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.admin.resources.admin-alert
    2010-04-30 15:07:12,388 INFO [org.apache.struts2.config.BeanSelectionProvider] - Loading global messages from ipl.comm.resources.form
    2010-04-30 15:07:12,419 INFO [org.apache.struts2.spring.StrutsSpringObjectFactory] - Initializing Struts-Spring integration...
    2010-04-30 15:07:12,419 FATAL [org.apache.struts2.spring.StrutsSpringObjectFactory] - ********** FATAL ERROR STARTING UP STRUTS-SPRING INTEGRATION **********
    Looks like the Spring listener was not configured for your web app!
    Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.
    You might need to add the following to web.xml:
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>but already i have the listener configuration in my web.xml.
    Thanks in advance..

    I guess it wasn't reading the right web.xml file.
    You may prove it by deleting your web.xml file (don't forget to make a backup), and then run the test again to see whether the error is the same.

  • Problem for Struts action to insert multiple records

    I am writting a code for Struts action which inserting a single record to table A and multiple records to table B .The architecture that I applied is Struts+Spring+iBatis.The multiple records are come from a 10-rows table in the design.The name of each column element is same.The field name other than these are just single-row field.
    <tr>
    <td><input name="date" type="text" size="12" /></td>
    <td><input name="billno" type="text" size="8" /></td>
    <td><input name="desc" type="text" size="11" /></td>
    <td><input name="purpose" type="text" size="20" /></td>
    <td><input name="proName" type="text" size="6" /></td>
    <td><input name="trainingCost" type="text" size="5" /></td>
    <td><input name="travelCost" type="text" size="7" /></td>
    <td><input name="entCost"  type="text" size="5" /></td>
    <td><input name="miscCost" type="text" size="5" /></td>
    </tr> I am using three DTO objects to hold the data.claimArray is the ClaimDTO array that hold the multiple record insert to table B.claimdto is the object that hold the single field record to table A.claim_dtldto is the object that hold the single field record to table B.
    PK of table A and table B are claimNo and claimDtlNo respectively.claimNo is also FK of table B. HTMLUtil is just an API that I used it for type conversion.There will have two insert statements in iBatis xml, insertClaim & insertClaimDtl to insert data into table A and table B respectively.I not sure what went wrong in the code,the data is not inserted into db.Thank advanced for you guys help..
    This is the codes in Action file:
    public class InsertClaimAction extends SpringAction {
       public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response) throws Exception {
        // string arrays that store multiple values
        String [] date = new String[10];
        String [] billno = new String[10];
        String [] description = new String[10];
        String [] purpose = new String[10];
        String [] proName = new String[10];
        String [] trainingCost = new String[10];
        String [] travelCost = new String[10];
        String [] entCost = new String[10];
        String [] miscCost = new String[10];
        String staffName = request.getParameter("name");
        String claimMy = request.getParameter("monthyear");
        String department = request.getParameter("department");
        String designation = request.getParameter("designation");
        Double excrate =  HTMLUtil.str2double(request.getParameter("excrate"),0.0);
        Double grandTotal = HTMLUtil.str2double(request.getParameter("grandTotal"),0.0);
        Double totalRM = HTMLUtil.str2double(request.getParameter("totalRM"),0.0);
        Double totalFC =    HTMLUtil.str2double(request.getParameter("totalFC"),0.0);
        String fcName = request.getParameter("fcAbbr");
        if(request.getParameter("date") != null)
            date = request.getParameterValues("date");
        if(request.getParameter("billno") != null)
            billno = request.getParameterValues("billno");
        if(request.getParameter("description") != null)
            description = request.getParameterValues("description");
        if(request.getParameter("purpose") != null)
            purpose = request.getParameterValues("purpose");
        if(request.getParameter("proName") != null)
            proName = request.getParameterValues("proName");
        if(request.getParameter("trainingCost") != null)
            trainingCost = request.getParameterValues("trainingCost");
        if(request.getParameter("travelCost") != null)
            travelCost = request.getParameterValues("travelCost");
        if(request.getParameter("entCost") != null)
            entCost = request.getParameterValues("entCost");
        if(request.getParameter("miscCost") != null)
            miscCost = request.getParameterValues("miscCost");
          //initialize dto
        ClaimDTO claimdto = new ClaimDTO();
        ClaimDTO claim_dtldto = new ClaimDTO();
        ClaimDTO[] claimArray = new ClaimDTO[10];
        claimdto.setClaimNo(claimNo);
        claimdto.setStaffName(staffName);
        claimdto.setClaimMy(claimMy);
        claimdto.setDepartment(department);
        claimdto.setDesignation(designation);
        claimdto.setExcrate(excrate);
        claimdto.setGrandTotal(grandTotal);
        claim_dtldto.setClaimDtlNo(claimDtlNo);
        claim_dtldto.setClaimNo(claimNo);
        claim_dtldto.setTotalRM(totalRM);
        claim_dtldto.setTotalFC(totalFC);
        claim_dtldto.setFcName(fcName);
        for(int i = 0;i < claimArray.length;i++) {
            if(claimArray[i] != null) {
                claimArray.setDate(date[i]);
    claimArray[i].setBillno(billno[i]);
    claimArray[i].setDescription(description[i]);
    claimArray[i].setPurpose(purpose[i]);
    claimArray[i].setProName(proName[i]);
    claimArray[i].setTrainingCost(Double.parseDouble(trainingCost[i]));
    claimArray[i].setTravelCost(Double.parseDouble(travelCost[i]));
    claimArray[i].setEntCost(Double.parseDouble(entCost[i]));
    claimArray[i].setMiscCost(Double.parseDouble(miscCost[i]));
    //service
    ClaimService springservice = (ClaimService)getBean("ClaimService");
    springservice.insertClaim(claimdto);
    springservice.insertClaimDtl(claim_dtldto,claimArray);
    return mapping.findForward("success");

    Two things; you need to pass #number# as a form field and you
    need to pull the correct record out.
    Use this:
    <cfloop list="#form.fieldnames#" index="fieldName">
    <CFSET record = Evaluate("form.record_#number#")>
    </cfloop>
    Here's some example code:

  • How do I save the width and height of a photo for repeated use?

    How do I save the width and height of a picture for repeated use, rather than having to enter it each time in the 'new file' box?
    Thanks,  Ed Jackson.

    It could be that I'm older and have forgotten. I'm now 73 and will admit I have forgotten many things over the years. I have been using Photoshop since Photoshop version 3.  And can not really recall which features or changes were made in ever version of Photoshop I have installed.  Adobe has added many features over the years. The number of bugs introduce has also greatly increased after CS3.  "New Doc Sizes.psp"  in your user id preferences is edited using the two buttons in the new document dialog.
    As for guide lines in new documents Photoshop CS6 or CC seem to add some for video file presets with guide lines.  I do not know how to edit or add guide line to new doc presets. Guide line actions are easy to create. I have also seem some guideline in new documents when I did not expect any perhaps a new bug. Photoshop like most software has bugs. If you do not see Adobe new presets perhaps you copied an old  "New Doc Sizes.psp"  over Adobe's newer default file or Adobe migrared you presets and wand wiped their presets out. There are bugs. Close Photoshop down and rename your current  "New Doc Sizes.psp"  in you user id Photoshop cc preferences folder and start Photoshop it will add a dedault  "New Doc Sizes.psp"  file see if you see Adobe new presets in the new doc pull down when you select video and film...

  • Save for web action acting weird.

    When I record a save for web action that exports my artboard in 3 file sizes. 100%, 200% and 400% it works for the first few files.
    Then suddenly after a while the first export changes its width and height from 100% to 111%, but not just 111% width and height equally. No it pulls it out of proportion too.
    When I manually enter 100% again it all pops back to the correct aspect ration.
    The 200% and 400% still behave as expected.
    If I rerecord it it starts working again. But that defeats the purpose.

    I have been using this action for a long time. Also the other options won't run until the first one is finished.
    I do this on a file by file basis. So I don't try to run a lot of files the same time.
    Illustrator is really bad at changing resolutions in the save for web window if you change it yourslef. It is extremely slow in updating. It doesn't update actually you need to click in a few other fields for it to update. This is for enlarging and downsizing. With small and large images.
    If you use an action that has the % prefilled it does it immediatly. So it can do, just not in the window you are supposed to do it in. That is the reason I have to use actions.
    The action has been working as intended in all the other CS versions I used. And was working till recently in CC.

  • With PSE 12, is there a magic trick for repeating editing steps that were done on one photo to another?

    With PSE 12, is there a magic trick for repeating editing steps that were done on one photo to another?

    No magic, sorry...
    If you are able to achieve your goal by using adjustment layers, you can save the first picture in psd or tiff format to keep the layers. If you have a new file needing the same adjustments, have both pictures open and copy the adjustments layers to the new file.
    But the best solution, by far, is to edit in the ACR module. You can use it not only for raw files, but also with jpegs, psd or tiffs. Edit the first picture, then when editing the following one, choose 'previous version' from the menu icon on the right of the 'basic' tab.

  • RMS update to sequential file

    RMS supports read/write using VBN number to a sequential file, which
    means that it is possible to randomly update a sequential file in RMS.
    There are some tricky issues around extending the file and setting the
    EOF mark correctly if you are using a sequential file logically as a
    block-addressable random access file, but for your case you
    can probably ignore such things-- you will not be adding records, just
    updating the one record, right? In order to do this, you would have
    to dig into the RMS services manuals a little bit, but from a Forte
    standpoint, it is the same: C Project code.
    If you have some control over the legacy system: RMS supports "relative
    files", which are record-addressable, random access files without
    keys-- ie, the CORRECT file type to use in this case. Depending on
    the app, there is a good chance that the very same application logic
    which handles the "one-record" sequential file (3-gl level open, read,
    write) will work the same for a "one record" relative file. With this
    "change" to the legacy system, your job in the C-project interface code is a
    little easier.
    Dave

    Hi,
    Data : l_qty(16) type c,
           l_value(13) type c,
           l_dec(3)   type c.
    loop at itab.
    split itab-qty at `.` into l_value l_dec.
    concatenate l_value `.` l_dec into l_qty.
    Move l_qty to l_file.
    Transfer l_file.
    endloop.
    close dataset.
    Best regards,
    Prashant

  • Modes in Sequential files?

    hi,
         what are the modes in sequential files and give brief description.

    Hi,
    There are 2 modes:
    1. Text mode
    2. Binary mode
    Using Text Mode
    To open a file in text mode, use the IN TEXT MODE addition to the OPEN DATASET statement.
    Syntax
    OPEN DATASET <dsn> FOR .... IN TEXT MODE.
    If you read from or write to a file that is open in text mode, the data is transferred line by line. The system assumes that the file has a line structure.
    In each TRANSFER statement, the system transfers all bytes (apart from spaces at the end) into the file, and places an end of line marker at the end. For information about the TRANSFER statement, refer to Writing Data to Files.
    In each READ DATASET statement, the system reads all of the data up to the next end of line marker. For information about the READ DATASET statement, refer to Reading Data from Files. If the target field is too small, the line is truncated. If it is longer than the line in the file, it is filled with trailing spaces.
    You should always use text mode if you want to write strings to files or where you know that an existing file has a line construction. You can, for example, use text mode to read files that you have created using any editor on your application server.
    The following example works in R/3 Systems that are running on UNIX systems using ASCII.
    DATA FNAME(60) VALUE 'myfile'.
    DATA: TEXT(4),
          HEX TYPE X.
    OPEN DATASET FNAME FOR OUTPUT IN TEXT MODE.
    TRANSFER '12        ' TO FNAME.
    TRANSFER '123456  9 ' TO FNAME.
    TRANSFER '1234      ' TO FNAME.
    OPEN DATASET FNAME FOR INPUT IN TEXT MODE.
    READ DATASET FNAME INTO TEXT.
    WRITE / TEXT.
    READ DATASET FNAME INTO TEXT.
    WRITE  TEXT.
    READ DATASET FNAME INTO TEXT.
    WRITE  TEXT.
    OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
    SKIP.
    DO.
      READ DATASET FNAME INTO HEX.
      If SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      WRITE HEX.
    ENDDO.
    The output appears as follows:
    12 1234 1234
    31 32 0A 31 32 33 34 35 36 20 20 39 0A 31 32 33 34 0A
    This example opens a file "myfile" for writing in text mode. Three literals with length 10 characters are written to it. After the file has been opened for reading in text mode, the lines are read into the field TEXT (length 4). The first line is filled with two trailing spaces. The last five characters of the second line are truncated. The structure of the file is displayed by opening it in binary mode and reading its contents into the hexadecimal field HEX. The numbers 31 - 36 are the ASCII codes for the digits 1 - 6. 20 is the code for the space character. The end of each line is marked by 0A. Note that any spaces at the end of strings are not written to the file.
    Using Binary Mode
    To open a file in binary mode, use the IN BINARY MODE addition to the OPEN DATASET statement.
    Syntax
    OPEN DATASET <dsn> IN BINARY MODE [FOR ....].
    If you read from or write to a file that is open in binary mode, the data is transferred byte by byte. The system does not interpret the contents of the file while it is being transferred. If you write the contents of a field to a file, the system transfers all of the bytes in the source field. When you transfer data from a file to a field, the number of bytes transferred depends on the length of the target field. If you then use another ABAP statement to address the target field, the system interprets the field contents according to the data type of the field.
    DATA FNAME(60) VALUE 'myfile'.
    DATA: NUM1     TYPE I,
          NUM2     TYPE I,
          TEXT1(4) TYPE C,
          TEXT2(8) TYPE C,
          HEX      TYPE X.
    OPEN DATASET FNAME FOR OUTPUT IN BINARY MODE.
    NUM1  = 111.
    TEXT1 = 'TEXT'.
    TRANSFER NUM1  TO FNAME.
    TRANSFER TEXT1 TO FNAME.
    OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
    READ DATASET FNAME INTO TEXT2.
    WRITE / TEXT2.
    OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
    READ DATASET FNAME INTO NUM2.
    WRITE / NUM2.
    OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
    SKIP.
    DO.
      READ DATASET FNAME INTO HEX.
      If SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      WRITE  HEX.
    ENDDO.
    The output appears as follows:
    ###oTEXT
    111
    00 00 00 6F 54 45 58 54
    The program opens the file "myfile" in binary mode and writes the contents of the fields NUM1 and TEXT1 into the file. For information about the TRANSFER statement, refer to Writing Data to Files. The file is then opened for reading, and its entire contents are read into the field TEXT2. For information about the READ DATASET statement, refer to Reading Data from Files. The first four characters of the string TEXT2 are nonsense, since the corresponding bytes are the platform-specific representation of the number 111. The system tries to interpret all of the bytes as characters. However, this only works for the last four bytes. After the OPEN statement, the position is reset to the start of the file, and the first four bytes of the file are transferred into NUM2. The value of NUM2 is correct, since it has the same data type as NUM1. Finally, the eight bytes of the file are read into the field HEX. On the screen, you can see the hexadecimal representation of the file contents. The last four bytes are the ASCII representation of the characters in the word "TEXT".
    Regards,
    Bhaskar

  • I have multiple devices in my family. Each of us has an iPhone and an iPad. Is there a way for each of us to have our own Apple ID but one account so we can all get the same music, movies, books, etc. I can't see paying twice for something in the same fam

    I have multiple devices in my family. Each of us has an iPhone and an iPad. Is there a way for each of us to have our own Apple ID but one account so we can all get the same music, movies, books, etc. I can't see paying twice for something in the same family.

    Welcome to the world of digital media. Your can't really transfer it. I don't know what the rules are about transferring to your spouse but I do know that in some cases when you die, your heirs cannot inherit your digital media. This is why there is still an advantage to buying the CD since the usage rights belong to whomever holds the physical media.
    A possible workaround is to burn the songs to a music CD with yout account (tracks only without song titles) and then having your wife upload it as a regular music CD onto her account. It's been a while since i've done this so I'm not sure if it would work now.
    Please note that I'm not advocating copyright and/or TOS violations. I'm only suggesting ways to copy music for your own personal use which has traditonally been permitted. I only did this because I wanted to convert iTunes songs to mp3 files so I could burn them onto a data CD for use in my car. It would make sense that since married couples are a joint entity, this would be personal use.
    Also, I'm not a lawyer so don't take this as legal advice.

  • HT5731 How can I download my TV episodes to my Macbook Pro. I bought them from my iPad2, and I looked for them with the same AppleID on iTunes Store and they wont download to my iTunes.

    How can I download my TV episodes to my Macbook Pro. I bought them from my iPad2, and I looked for them with the same AppleID on iTunes Store and they wont download to my iTunes.

    What country are you in ? Depending upon what country that you are in then you might be able to redownload them on your Mac's iTunes via the Purchased link under Quicklinks on the iTunes store homepage
    If you're not in a country where TV programmes can be redownloaded then connect the iPad to your Mac's iTunes and use the File > Devices > Transfer Purchases to copy them over from your iPad

Maybe you are looking for