Justification of number field in output file

I created a abap program to write a file to my C drive. I have to create this file with the fields in certain columns and the numeric fileds are causing me problems. is there a way to left-justify the numeric values so that they all end in the same column. this way I can control the spacing of the rest of the fields. I have checked the forum and can not find anything on this. I have also did the F1 on the DATA field so see some help but there is no explaination for it.

Just like this Tim,  notice here I'm using the same example program,  not the SHIFT statements,  this will force the FLD2 field to push the numbers to the right of the field, hence lining them up.
report zrich_0001.
data: begin of itab occurs 0,
      fld1(10) type c,
      fld2(20) type c,
      fld3(10) type c,
      end of itab.
itab-fld1 = 'A'.
itab-fld2 = '100.00'.
shift itab-fld2 right deleting trailing space.
itab-fld3 = 'C'.
append itab.
itab-fld1 = 'D'.
itab-fld2 = '1000.00'.
shift itab-fld2 right deleting trailing space.
itab-fld3 = 'F'.
append itab.
itab-fld1 = 'G'.
itab-fld2 = '10000.00'.
shift itab-fld2 right deleting trailing space.
itab-fld3 = 'I'.
append itab.
call function 'GUI_DOWNLOAD'
     exporting
          filename = 'C:test.txt'
     tables
          data_tab = itab.
Regards,
Rich Heilman

Similar Messages

  • Setting up FileName for Output file in SendPort

    Hi - I have a requirement setting up FileName in output file. For instance say, whatever I receive in the 'FathersName' field that Output File should be with that File Name.
    For e.g. if data received in FathersName field is JOHN, output file name should be JOHN.xml
    I am using File Adapters on Receive and send side.
    Can this be achieved just by Messaging Scenario or do I need to implement this using Orchestration ?
    If so, please advise on how to do this ?
    e.
    MBH

    To achieve this, you will have to set your filename value on one of the Context Properties available as a File Adapter macro. For example FILE.ReceivedFileName is mapped to the %SourceFileName% macro.
    You have several options to do this:
    Set FILE.ReceivedFileName in an Orchestration.  It does not have to be Promoted.
    Write the Property ReceivedFileName in namespace
    http://schemas.microsoft.com/BizTalk/2003/file-properties in a Custom Pipeline Component.
    If FathersName can be used in the file name unmodified, you set FathersName as a Promoted Property on the schema and Promote directly to FILE.ReceivedFileName.
    For 1 & 2, you will have to extract FathersName somehow, such as a distinguished field.
    A Custom Pipeline Component or direct Promotion are the only way to achieve this in Messaging only.

  • MT103 - IBAN fields not output in DME file

    We completed the necessary payment method / payment media configuration using the PMW for MT103.  We are testing payments in EUR which our banks says should output the IBAN number from the vendor master record vs. the SWIFT account.  When the DME file is output, the SWIFT code or the bank account number is output instead of the IBAN.
    Does anyone know how to output the IBAN number instead?
    Thanks,
    Jason

    Hi Jason,
    To populate the IBAN number in the DME File please follow the following configuration process:
    1. Execute Program SAPFPAYM to create a variant.
    2. Enter MT103 in Payment Medium Format and click enter
    3. Then click on the Format Parameters.
    4. One pop-up appears " Other specifications for payment medium formats MT103"
    5. Check the field " Transfer IBAN".
    6. After this assign this variant to your Company Code and House Bank in TCode OBPM4 under MT103 Payment Format.
    This way you would be able to transfer IBAN to your payment file.
    Regards,
    Sanjay

  • How to calculate number of data records in a XML output file

    Hi,
    After generating a XML output file from Oracle Reports, I want to calculate number of records in the XML file. Is it possible? Specifically, I want to calculate number of records for a group variable ( organization_id, which I use for bursting).
    Thanks for the help.

    Thanks BIPuser. It is useful for me.
    I can use this xsl function within the template. However, I'm also looking to print this in the concurrent request log file. So, outside of rtf template, id there any PL/SQL based XML functions I can use to count the number of records.
    Thanks.

  • How do I use UTL_FILE to insert a large number of fields to a file?

    Hi
    I am trying to use UTL_FILE for the first time in a Stored Procedure. I need to run a complex query to select 50 fields from various tables. I need these to be inserted into one line in the output file for all rows. Is this possible? My procedure so far is like the following
    CREATE OR REPLACE PROCEDURE PROC_TEST IS
    output_file UTL_FILE.FILE_TYPE;
    BEGIN
    FOR query in (SELECT FIELD1, FIELD2, ..........FIELD50)
    FROM TABLE A, TABLE B
    WHERE A.ID = B.ID
    ETC
    LOOP
    UTL_FILE.PUT_LINE(output_file, <put all 50 fields for all records into file> );
    END LOOP;               
    UTL_FILE.FCLOSE (output_file);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NULL;
    WHEN OTHERS THEN
         UTL_FILE.FCLOSE_ALL;
    RAISE;
    END PROC_TEST;
    Do I need to define 'query' (after the FOR) anywhere, also please advise with how I put all of the fields into the file.
    Thanks
    GB

    Thanks Steve,
    I have the UTL_FILE working fine now.
    I have other queries to run and conditions to apply in the same procedure, and I need to schedule via Enterprise Manager, therefore using UTL_FILE in a procedure seemed the best option. I looked up Data-pump but this seems to be an 11g feature, and we are still on 10g therefore I will not be able to use it.
    Thanks for your help.
    GB

  • How to get the Output File Name as One of the Field Value From Payload

    Hi All,
    I want to get the Output file name as one of the Field value from payload.
    Example:
    Source XML
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_TEST xmlns:ns0="http://sample.com">
    - <Header>
      <NAME>Bopanna</NAME>
      </Header>
      </ns0:MT_TEST>
    I want to get the Output file name as " Bopanna.xml"
    Please suggest me on this.
    Regards
    Bopanna

    Hi,
    There are couple of links already available for this. Just for info see the below details,
    The Output file name could be used from the field value of payload. For this you need to use the UDF DynamicFile name with below code,
    //       Description: Function to create dynamic Filename
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
    conf.put(key,a);
    return "";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
    conf.put(key,a);
    return "";
    With this udf map it with the MessageType as
    (File Name field from Payload) > DynamicFileConfiguration>MTReceiver
    Thanks
    Swarup

  • LR 5.7.1 File Renaming start number field is missing

    Installed Lr CC 5.7.1 on a MacBook Air OS 10.10.2 - in the Lr import window in the File Renaming panel the Start Number field is missing and I can not add a start number to the files?  Any suggestions on what is causing this issue and how to repair this Start Number field omission?

    Sounds like you are looking for the "sequence" field. The "original file number" is also a good one to use.

  • Syndicator:Restricting Number of records in a output file

    Is there any mechanism by which i could restrict the number of records syndicated to a single output file ?.
    Currently the only option seems to be output all records(matching certain criteria) or a single record to XML file/s.

    Hi,
    You can restrict the search based on the search parameters.
    If you want to syndiacte all the data in single XML file the in destination items tab ,
    Step 1. Need to select the "Repetable XML Node" for the Main node.
    Step 2. In Item Mapping tab Map the Main Table with main node for which you have set the indicator in Step 1.
    Hope, I answered you.
    Regards,
    Nitin Deshpande

  • How do I zero-fill a field in a Presort Output file?

    Hello,
    I am trying to zero-fill a field in my Presort address output file.  For example, instead of posting ap.pc_no_abs as "1", I need to post it as "00000001"
    Thank you,
    Dawn Deems

    Dawn,
    Below are some examples of how to pad data when posting to output:
    To right justify data in a character-type field:
    In the Post to Output File block, place the following filter(s) to achieve your desired result:
    To prepad with leading "spaces" for a total length of 10:
    right("          "+alltrim(AP.Field_name), 10)
    To prepad with leading "zeros" for a total length of 10:
    right("0000000000"+alltrim(AP.Field_name), 10)
    Thanks,
    Kendra

  • Intrastat Output File doesnot contain VAT number and Document Number

    Hi experts,
    While creating a output file from Intrastat Dispacth, I am not getting Document number and VAT number in output file.
    I can see the Document number in Display of selection log.
    Can someone help me?
    Thanks
    Arpit

    Hi,
    Try the enhancement FTGOVSEL.
    In the userexit EXIT_SAPLV50G_002, in the include ZX50GU02, write this coding (for the VAT number)
    if c_record_intrastat-kundeuinr is initial.
       select single * from kna1
         where kunnr = c_record_intrastat-kunnr.
         if sy-subrc = 0.
            c_record_intrastat-kundeuinr = kna1-stceg.
         endif.
    endif.
    Remember update the VAT number in the customer (in this case).
    I hope this help you
    Regards,
    Eduardo

  • Problem with number-fields in csv-Export-Files

    Hello,
    the export with the csv option works fine and our users like this export-function.
    But Unfortunatelly we have some problems with the exported number fields. In my region I defined the field with a format mask.
    On the screen it looks fine but when I change to csv the values are exported as text-values.
    So in excel the columns are shown with left alignment.
    When I try to change the format in excel to number, excel change the column type but not the value inside.
    On this account we cannot use the sum-function and the display of the value is wrong (alignment).
    Which possibilities do I have to resolve that problem?
    Thanks in advance
    Ulrike

    I have the same issue - Anyone any ideas on how to export currency values in a report to excel as numbers?

  • Line number in a *.class file, please help, advanced language guys

    dear all,
    i use c++ to open a *.class file and try to read line number of code in the file, i have 2 questions:
    1. i read line number in a method successfully, but i can not understand the meaning of start_pc, following are one of those data, please explain:
    s = start_pc,n = line_number
    s , n
    0 , 123
    8 , 125
    23 , 126
    29 , 127
    34 , 129
    38 , 130
    2. i can not find where the class's line number are, i.e. class start line and class end line, or field's line number.
    does these info exist inside a *.class file?
    thx for any light

    jdb gets line number of fields from class file, not
    source file definitely.I'm not really sure how you tested this, but here's my test, and JDB definitely gets its listing from the source file.
    First, I created and compiled class Tester:
    public class Tester
        public static void main( String[] argv )
        throws Exception
            Tester x = new Tester();
            System.out.println(x.toString());
        int     x;
        int     y;
        private Tester()
            x = 0;
            y = 1;
    }Then, I ran this in JDB. Note lines 16 and 17 in the output from "list":
    H:\Workspace>jdb Tester
    Initializing jdb ...
    stop in Tester.mainDeferring breakpoint Tester.main.
    It will be set after the class is loaded.
    runrun Tester
    Set uncaught java.lang.Throwable
    Set deferred uncaught java.lang.Throwable
    >
    VM Started: Set deferred breakpoint Tester.main
    Breakpoint hit: "thread=main", Tester.main(), line=12 bci=0
    12            Tester x = new Tester();
    main[1] list
    8    {
    9        public static void main( String[] argv )
    10        throws Exception
    11        {
    12 =>         Tester x = new Tester();
    13            System.out.println(x.toString());
    14        }
    15
    16        int     x;
    17        int     y;
    main[1] quit
    Tester@b82368Then I edited the source file. Again, look at lines 16 and 17:
    H:\Workspace>jdb Tester
    Initializing jdb ...
    stop in Tester.mainDeferring breakpoint Tester.main.
    It will be set after the class is loaded.
    runrun Tester
    Set uncaught java.lang.Throwable
    Set deferred uncaught java.lang.Throwable
    >
    VM Started: Set deferred breakpoint Tester.main
    Breakpoint hit: "thread=main", Tester.main(), line=12 bci=0
    12            Tester x = new Tester();
    main[1] list
    8    {
    9        public static void main( String[] argv )
    10        throws Exception
    11        {
    12 =>         Tester x = new Tester();
    13            System.out.println(x.toString());
    14        }
    15
    16        int     a;
    17        int     b;
    main[1]

  • File sequence  number in a Flat file

    Hi,
    I am working on Idoc to file scenario wherein my output file will have a sequence number assigned to each level.
    there are 4 levels and hence 4 sequence number to be genearted and its values should also have the same sequence number.
    i am doing this just by using Counter function.
    But when i am getting  a multiple detail records, for each detail record(0040) level its keep incrementing.but it should have the same value what its level has.
    for ex:
    ALPHAMER AS2 E5 710 20114806124829 01.00   
    0000 00000000 20100102 V3.0 SORD CZ1
    0010 00000001 76767 123 100 WER Constant BNG 560011 RAJ WERR     560011    BTM   X EN RT
    0020 00000001 TYUIOP
    0040 00000001 8765 6532 200 45 10 WE 20 AG
    0040 00000002 8765 6532 200 45 10 WE 20 AG
    0040 00000003 8765 6532 200 45 10 WE 20 AG
    0040 00000004 8765 6532 200 45 10 WE 20 AG
    9999 99999999
    It has to be like this.
    ALPHAMER AS2 E5 710 20114806124829 01.00   
    0000 00000000 20100102 V3.0 SORD CZ1
    0010 00000001 76767 123 100 WER Constant BNG 560011 RAJ WERR     560011    BTM   X EN RT
    0020 00000001 TYUIOP
    0040 00000001 8765 6532 200 45 10 WE 20 AG
    0040 00000001 8765 6532 200 45 10 WE 20 AG
    0040 00000001 8765 6532 200 45 10 WE 20 AG
    0040 00000001 8765 6532 200 45 10 WE 20 AG
    9999 99999999
    Can someone help me in achieving this.
    Regards

    Hi there,
    Just to try out from a different view, the following case could be implemented if the pre-requiisites are satisfied:
    Pre-requisites:
    1) The element that carries a primary factor, let us say, '8765' from your example.
    2) Functionally there is an element in your header item that relates the line items under it.
    My understanding of your example:
    1) Line items present for 00, 10, 40
    2) Line item 30 absent in the series
    Proposal:
    Map source field (the one that is arelating factor, here the one that carries '8765') -> INDEX (start by 0, increment by 1) -> multiply by one.
    INDEX standard function property: Donot Reset for every context;
    Srikanth Srinivasan
    Edited by: Srikanth Srinivasan on Jan 10, 2011 11:02 AM

  • How to create multiple output files using TrAX?

    I am new in this field. I'm trying to create multiple xml output files using TrAX. I have to parse a xml source file and output it to multiple xml files. My problem is that it only creates one output file and puts all the parsed data there. When i use saxon and run xsl and xml files, it works fine and creates multiple files...it has something to do with my java code...Any help is greatly appreciated.
    Here's my XSL file
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
    <xsl:template match="data_order">
    <data_order>
         <xsl:copy-of select="contact_address"/>
         <xsl:copy-of select="shipping_address"/>
         <xsl:apply-templates select="ds"/>
    </data_order>
    </xsl:template>
    <xsl:template match="ds">
    <xsl:variable name="file" select="concat('order', position(),'.xml')"/>
    <order number="{position()}" href="{$file}"/>
    <xsl:document href="{$file}">
    <xsl:copy-of select="."/>     
    </xsl:document>
    </xsl:template>
    </xsl:stylesheet>
    xml source file
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE operation SYSTEM 'data_order.dtd'>
    <data_order job_id='00-00-000' origin='PM-ESIP'>
         <contact_address>
              <first_name>ssssss</first_name>
              <last_name>sssss></last_name>
              <phone>2323232</phone>
              <email>dfdfdsaf</email>
         </contact_address>
         <ds ds_short_name ='mif13tbs'>
              <output>
                   <media_format>neither</media_format>
                   <media_type>FTP</media_type>
                   <output_format>GIF</output_format>
              </output>
         </ds>
              <ds ds_short_name ='mif15tbs'>
              <output>
                   <media_format>neither</media_format>
                   <media_type>FTP</media_type>
                   <output_format>GIF</output_format>
              </output>
         </ds>
    </data_order>
    My java file
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    import java.io.*;
    public class FileTransform {
    public static void main(String[] args)
    throws Exception {
    File source = new File(args[0]);
    File style = new File(args[1]);
    File out = new File(args[2]);
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer t = factory.newTransformer(new StreamSource(style));
    t.transform(new StreamSource(source), new StreamResult(out));

    Saxon has specific extensions. In this case it is <xsl:document>. That looks like a standard XSLT element, but it actually isn't. The history behind it is this: There was a proposal to create a new version of XSLT, called XSLT 1.1. One of the new features of this version was to be this xsl:document element. The author of the Saxon product, Michael Kay, is one of the people on the W3C committee directing the evolution of XSLT, so he upgraded his product to implement XSLT 1.1. But then the committee decided to drop XSLT 1.1 as a recommendation. So that left Saxon in the strange position of implementing a non-existent extension to XSLT.
    The other outcome of this process was that XSLT (1.0) does not have a way of producing more than one output file from an input file. And so the short answer to your question is "Trax can't do that." However, XSLT 2.0 will be able to do that, although it is not yet a formal W3C recommendation, and when it does become one it will take a while before there are good implementations of it. (I predict that Saxon will be the first good implementation.)
    One of the problems with XML and XSLT is that what you knew a year ago is probably obsolete now, because of all the evolution going on. So being new in the field is not a disadvantage, unless you get stung by reading obsolete tutorials or magazine articles.

  • How to limit 35 charactger field to output 35 bytes in Unicode system

    Hello,
    I hope someone can help me.  We are have upgraded from 4.5b to 6.2 Unicode and in the previous system when 35 characters of double byte characters was output to a Unix file via OPEN DATASET FOR OUTPUT IN TEXT MODE - only 35 bytes would be output.  Under unicode we are now having 35 characters being output not 35 bytes.  Has anyone had any experience with limiting the number of bytes output to a field.  I have tried all variations of the OUTPUT DATASET command.
    All help will be much appreciated.
    Joanne

    FYI
    This issue was resolved by creating a flat type C structure and using
    SET LOCALE LANGUAGE 'J'
    OPEN DATASET dsn FOR OUTPUT IN LEGACY TEXT MODE.
    and TRANSFER the contents of the flat data structure TO THE FILE dsn

Maybe you are looking for