Fixed length output

I need to write lots of data to a file. I retrieve the data from the DB. The data is not formatted correctly from the DB so I need to pad or truncate to fixed lengths. I need to perform this conversion for doubles ie 15 integer places 3 decimal. I also need to do this for Strings some string need to have length 10 others need a variety of lengths.
Does Java have a class to perform this transformation for me or do I have write my own class?

Did you look at the answers to your previous post?
http://forum.java.sun.com/thread.jsp?forum=31&thread=258517

Similar Messages

  • Can I get fixed length output after encryption using PBEwithMD5andDES?

    Hi,
    I am currently using "PBEWITHMD5ANDDES" algorithm to encrypt the string and later it is encoded using BASE64. I need to store the value in Database so I need output to be of fixed size. Currently output depends on the input string length. My input string can vary in length.
    I cannot use Message digest for storing it database as I need to decode too.
    Sonal

    You can't possibly have a fixed encrypted output size regardless of the input size and be able to recover the original. Just think about it for a bit. This would enable infinite compression.
    PBEWITHMD5ANDDES uses PKCS5 padding and so produces an output which is (n+8)/8 blocks of 8 bytes so 1,2,3 ... 7 become 8 bytes, 8,9,10 ... 15 become 16 bytes etc etc etc.

  • Numeric conversion in fixed length outputs

    I have a requirement to right justify all numeric fields in a fixed length file content conversion..Due to the fixed length nature the numeric fields are stating from the positions defined in the file content conversion..Is it possible for them to be right justfied though we give them starting postions??
    -Teresa

    Hi,
    Simplest way would be to write a user defined function, where you append spaces to the variable based on length.
    string b;
    int size = a.length();
    int diff = 5 - size;
    b = a;
    for(int i = 0; i <= diff;i++)
      b = " " + b;
    return b;
    Hope it helps,
    Naveen

  • File Adapter problem for Fixed Length output file

    Hi There!,
    The following is my sample data format
    ABCD 2345 03Accounting Swissland
    ABCD 011234 1000Jack Gates 400000 03
    ABCD 021234 1001Bill Welch 400000 03
    In the first record has dept details:
    DummyText, Row identifier(not given in case of dept), Identifier, Deptno, Deptname, Location
    The second and third records are emp details:
    DummyText,Row identifier, Identifier,EmptNo,Emp Name, Manager, Salary, Deptno.
    Notice that the primary key is defined by the first three columns DummyText, Row identifier, Identifier.
    When I use Native Format Builder from File Adapter and scan the first three columns I get all three records (i.e dept and both employees). I deleted the second employee and proceeded to finish the configuration. But, the problem I face is that the key value shows as "ABCD% 011234" for both the employee records where as I would like it to show as "ABCD 011234" for the first record and "ABCD 021234" for the second record.
    How do I get around this problem?
    Moreover if I have a group or recurring records and not just one record recurring. I mean assuming I have the following:
    First row: Department
    Second row: Employee
    Thrid row: Manager
    Fourth row: Employee
    Fifth row: Manager
    How do I get this done?
    Does anyone have an idea where to find details of nxsd.
    Thanks in Advance.

    Hi Manoj
    Give the FCC parameter as
    RecordSet Structure = Header,,Detaillnes,,Detaillines2,*
    Header.endSeparator = 'nl'
    Header.fieldFixedLengths = field length
    Header.fieldFixedLengthType = char/byte
    Header.fieldNames = field1,field2,field3,.....
    Header.keyFieldValue = Header
    Detaillnes.endSeparator = 'nl'
    Detaillnes.fieldFixedLengths = field length
    Detaillnes.fieldFixedLengthType = char/byte
    Detaillnes.fieldNames = field1,field2,field3,.....
    Detaillnes.keyFieldValue = Detaillnes
    Detaillines2.endSeparator = 'nl'
    Detaillines2.fieldFixedLengths = field length
    Detaillines2.fieldFixedLengthType = char/byte
    Detaillines2.fieldNames = field1,field2,field3,.....
    Detaillines2.keyFieldValue = Detaillines2
    The keyFieldValue should be the Value which identifies your record either as Header/Detaillines/Detaillnes2.
    Regards
    Santhosh
    Message was edited by:
            Santhosh Kumar V

  • Output file as a text file with tab delimited and fixed length fields

    Hi all,
    I have developed a custom report which outputs an excel file on the user desktop who executes that report.Now i need to create an additional (second) excel file with almost the same data as the first file.
    Im using the FM GUI_DOWNLOAD to create the file.i need have the 2nd file as txt file(seperated by space/tab delimited) and also i want the fields to have fixed length.For this format of the file,what parameters do I need to pass to the FM ?
    BR,
    SRM Tech.

    Thanks for the prompt reply.
    Also in the sel screen,Im entering the path where  the o/p file needs to be downloadede.g. C:/Output_folder/Output.xls...Now if I need a text file,do I need to give the fielname as C:/Output_folder/Output.txt.?

  • How to output non-fixed length field by DMEE?

    Hi,
    In DMEE, I need to set a fixed length for each field. If the source data length is less than what we set, it will ouput space to fill in rest of the place. Is that a way I could just out put exactly what I need? No extra space to be output.
    Thank you!

    Hi
    The extra spaces can be removed as follows:
    In the transaction DMEE --> Head --> Format attributes --> Field type = 1
    Best regards
    Jean Daniel

  • Interface output file : tab limited vs flat file with fixed length

    hey guys,
    any idea on difference b/w to file type : flat file with fixed length or tab limited file
    thanks

    Tab Delimited:
    Two Field are seperated by a TAB
    eg. SANJAY    SINGH
    First field is First Name and Second is Sir Name.
    Nth field will be after N -1 tab
    Fixed Length:
    Every field has a fixed starting position and length
    eg. SANJAY     SINGH
    Here First field start from Position 1 and has lenght 10 and 2nd field start from 11th postion and has lenght 10.
    Fixed Length -> The lenght of each field is fixed, while in tab delimited the lenght of field is not fixed but we know it ends when the Seperatot (Tab) is encountered.

  • Need to download a file which si space delimted and has fixed length char

    Hi,
    I have a custom report which downloads an output file in text format.I need the contents to be space delimited.My file data contains numbers as well as characters.I ahve pased the parameter WRITE_FIELD_SEPARATOR = ' ' in the FM.Hwoever the space is introduced only oif the column value is a character.If its a number/digit,the columns are not seperated by space.
    Now my data appears like that:
    0000101310179.28 +0827200808 DHLBSRF VISA AUG 2008US021SW111 RYAN,BICOVNY
    I want my data to be like this :
    0000101310 179.28 + 0827200808 DHLBSRF VISA AUG 2008 US02 1SW111 RYAN,BICOVNY
    DO I need to pass any additinal parametre?Also for fixed length characrets,do i need to pack/unpack data before passing to the FM ?
    Thanks.

    Hi,
    try this way.
    REPORT ztest_notepad.
    DATA: BEGIN OF it_download OCCURS 0,
           data TYPE string,
          END OF it_download.
    DATA: BEGIN OF it_vbrk OCCURS 0,
            vbeln TYPE vbrk-vbeln,
            fkart TYPE vbrk-fkart,
            fktyp TYPE vbrk-fktyp,
            netwr TYPE vbrk-netwr,
          END OF it_vbrk.
    DATA : l_netwr TYPE char21.
    "START-OF-SELECTION.
    START-OF-SELECTION.
      SELECT  vbeln
              fkart
              fktyp
              netwr
       FROM vbrk
       INTO CORRESPONDING FIELDS OF TABLE it_vbrk
       UP TO 100 ROWS.
      LOOP AT it_vbrk.
        l_netwr = it_vbrk-netwr.
        CONCATENATE it_vbrk-vbeln
                    it_vbrk-fkart
                    it_vbrk-fktyp
                    l_netwr
            INTO it_download-data
            SEPARATED BY space.
        APPEND it_download.
        CLEAR  it_download.
      ENDLOOP.
      CALL FUNCTION 'GUI_DOWNLOAD'
           EXPORTING
                filename = 'C:\test.txt'
                filetype = 'ASC'
           TABLES
                data_tab = it_download.
    Thanks
    Venkat.O

  • Parameters for Ingesting wide fixed-length files?

    I created an SSIS process to ingest fixed-length text files into this table.
    CREATE TABLE [dbo].[Temp_Source_Fixed](
     [Column 0] [text] NULL,
     [ID] [int] IDENTITY(1,1) NOT NULL,
     CONSTRAINT [Temp_Source_Fixed_ID] PRIMARY KEY CLUSTERED
     [ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    It works fine with most of the files, but one file has almost 26000 characters per row and the process halts with a truncation error.
    I suspect that if I change a parameter on the connection manager it will work, since I can manually use
    the SSMS wizard to import manually if I specify Text Stream (DT_Text) for the data type of Column 0 versus String (DT_STR).
    For the connection manager I have
        In the connection string I have Provider=SQLNCLI10.1 and Auto Translate=False.
        In Misc parameters, DelayValidation=False.
    For the Data Flow Task I have
     DefaultBufferSize is 10485760
    Any ideas on what I need to change?
    Thanks,
    Jnana
    Jnana Sivananda

    You need the column in question defined in SSIS as DT_Text.
    You need to either drop the flat file connector and re-do it with this datatype, or access the Advanced Editor input and output column and alter its datatype there
    Arthur
    MyBlog
    Twitter

  • XSLT Mapping : XML to Fixed Length File

    Hi,
    I have to code a XSLT mapping which converts the XML into a Fixed Length File Format. I am getting the output but it has some garbage values (Some extra spaces in front of first record and also extra blank lines before the first record)
    I am pasting my xsl sheet :
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="text" indent="yes" media-type="text/plain"/>
         <xsl:template match="Employees">
              <xsl:for-each select="Employee">
                   <xsl:value-of select="Name"/>
                   <xsl:value-of select="ID"/>
                   <xsl:value-of select="ADD"/>
                   <xsl:text>&#xA;</xsl:text>
              </xsl:for-each>
         </xsl:template>
    My input XML file is as follows:
    <?xml version="1.0"?>
    <p1:Test02 xmlns:p1="http://www.infosys.com/xi/training/hyd/66289">
            <Employees>
              <Employee>
                 <Name>Anurag</Name>
                 <ID>1121</ID>
                 <ADD>Hyderabad</ADD>
             </Employee>
             <Employee>
                 <Name>Divya</Name>
                 <ID>1122</ID>
                 <ADD>Hyderabad</ADD>
             </Employee>
             <Employee>
                 <Name>Rasmi</Name>
                 <ID>1123</ID>
                 <ADD>Bangalore</ADD>
                </Employee>
         </Employees>
    </p1:Test02>
    And the output i am receiving is as follows:
        Anurag1121Hyderabad
    Divya1122Hyderabad
    Rasmi1123Bangalore
    Please do help.....

    hi,
    >>>>
    <xsl:output method="text" indent="yes" media-type="text/plain"/>
    you allow the spaces by using indent="yes"
    try with indent="no"
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Reg: DATASET of fixed length

    I want my dataset to consist of 128 byte fixed length records, with spaces padding out the record length to 128 bytes
    Can u help me how to code in ABAP programming or IS THERE ANY UNIX command for the same?

    Hi sreenivas,
    On the unix front , you can try 'awk' and 'sed' for formatting your input/output.
    Check man pages for the above mentioned command.
    Regards,
    Siddhesh

  • Downloading Fixed length File,  Delimited with '|'

    Hi,
    I have a requirement to download data from SAP into local PC and the file needs to be Fixed Length, delimited with separator '|'.
    My data in the output file should look like ==> P317|122887************|ARP1|0000000004.000|EA |.
    But i am getting the output like ==> P317|122887|ARP1|4.000|EA|. Can you please suggest me what should i do to get my expected output? ** -> Space.
    Thanks and Regards,
    Kannan
    Message was edited by: Kannan SA

    If you have quantity fields you can do the below to get in the required format.
    <b>WRITE L_BOXQTY TO IT_FINAL-BOX02
              USING EDIT MASK 'RR________.__'.
              TRANSLATE IT_FINAL-BOX02 USING ' 0'.</b>
    Logic to get the data to be separated by delimiter with correct spaces.
    clear : l_offset.
    DO.
      ASSIGN COMPONENT SY-INDEX OF STRUCTURE it_final TO <F>.
      IF SY-SUBRC <> 0.
         EXIT.
      ELSE.
         describe field <f> length l_len in character mode.
         move <f> to l_chr+l_offset(l_len).
         l_offset = l_offset + l_len.
         move '|' to l_chr+l_offset(1).
         l_offset = l_offset + 1.
      ENDIF.
    ENDDO.
    move l_chr to it_output-text.
    append it_output.
    Download the table it_output...it has the fields separated by the delimiter.
    Regards
    Anurag

  • Uploading data into a fixed length file

    hello experts,
    I got  a task to upload data into a fixed length positional file from internal table.So  please help me.
    regards,
    sriram.

    Hi there.  What you basically need to do is set up the path and name for the export file, move your records to an output table, and then transfer the data to the file that you have specified.  We usually set up our export programs so that the user can choose to download the file locally or onto the application server.  So first we define the following fields on the selection screen:
    PARAMETERS: p_file(128) LOWER CASE OBLIGATORY. "File
    *path name from system standard
    PARAMETERS: p_path LIKE rlgrap-filename MODIF ID fpn.  "Path Name
    PARAMETERS: p_local AS CHECKBOX.  "Local File Flag
    Then we use this to set the path to the application server:
    INITIALIZATION.
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          logical_filename = 'Z_AO_HR_UP_LOAD'
          parameter_1      = space
        IMPORTING
          emergency_flag   = lw_emergency_flag
          file_name        = p_path
        EXCEPTIONS
          file_not_found   = 1
          OTHERS           = 2.
    AT SELECTION-SCREEN OUTPUT.
    make path name display only
      LOOP AT SCREEN.
        CHECK screen-group1 = 'FPN'.
        screen-input = 0.                  "Output (Display) only
        MODIFY SCREEN.
      ENDLOOP.
    After your START-OF-SELECTION statement, you need to open the file for output:
      IF p_local NE ztc_on.
    Get Path/file Name using logical filename.
          CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          logical_filename = 'Z_AO_HR_UP_LOAD'
          parameter_1      = p_file
        IMPORTING
          emergency_flag   = lw_emergency_flag
          file_name        = p_path
        EXCEPTIONS
          file_not_found   = 1
          OTHERS           = 2.
        IF sy-subrc <> 0.
          w_message = 'No Output file - Missing Logical File Z_AO_HR_UP_LOAD'.
          WRITE: / w_message.
          IF sy-batch = 'X'.               "Is this in a job?
            NEW-PAGE.
            PERFORM end_of_selection.
            MESSAGE e000(38) WITH w_message. "This causes the job to cancel
          ELSE.
            MESSAGE i000(38) WITH w_message.
          ENDIF.
          w_stop = 'X'.
          STOP.
        ENDIF.
    *Check if output file is already present.
        OPEN DATASET p_path FOR INPUT IN TEXT MODE.
        IF sy-subrc EQ 0.
          CLOSE DATASET p_path.
          WRITE: 'Output Data file already present ', p_path.
    *Use the following for logging error message
          CONCATENATE 'Ouput Data file already present ' p_path INTO
                       w_message.
          IF sy-batch = ztc_on.            "Is this in a job?
            NEW-PAGE.
            PERFORM end_of_selection.
            MESSAGE e000(38) WITH w_message. "This causes the job to cancel
          ELSE.
            MESSAGE i000(38) WITH w_message.
          ENDIF.
          w_stop = 'X'.
          STOP.
        ENDIF.
        OPEN DATASET p_path FOR OUTPUT IN TEXT MODE.
        IF sy-subrc <> 0.
          WRITE: 'Unable to open output dataset - ', p_path.
    *Use the following for logging error message
          CONCATENATE 'Unable to open output dataset - ' p_path INTO
                       w_message.
          IF sy-batch = ztc_on.            "Is this in a job?
            NEW-PAGE.
            PERFORM end_of_selection.
            MESSAGE e000(38) WITH w_message. "This causes the job to cancel
          ELSE.
            MESSAGE i000(38) WITH w_message.
          ENDIF.
          w_stop = 'X'.
          STOP.
        ENDIF.
      ENDIF.
    Next you perform all of the steps to put your data in the internal table. After the end of selection we then transfer the data from the original internal table (which has many separate fields defined) to a second internal table, t_outfile, in which each record has a single field that is the total length of the original itab record:
    *Internal table for Output data
    DATA : BEGIN OF t_outfile OCCURS 0,
             text(1000).
    DATA : END OF t_outfile.
    Then you can download your file, checking whether it goes to a local drive or the application server:
      IF p_local EQ ztc_on.
          CALL FUNCTION 'WS_DOWNLOAD'
        EXPORTING
          filename                = p_file
        TABLES
          data_tab                = t_outfile
        EXCEPTIONS
          file_open_error         = 1
          file_write_error        = 2
          invalid_filesize        = 3
          invalid_table_width     = 4
          invalid_type            = 5
          no_batch                = 6
          unknown_error           = 7
          gui_refuse_filetransfer = 8
          OTHERS                  = 9.
      ELSE.
        LOOP AT t_outfile.
          TRANSFER t_outfile TO p_path.
        ENDLOOP.
      ENDIF.
    Now close your dataset if it is on the application server:
    IF p_local NE ztc_on.
          CLOSE DATASET p_path.
        ENDIF.
    I hope this helps!
    - April King

  • Please help with reading fixed-length file

    I am reading a fixed-length file from a batch program and I need to read through each line, parsing out records in each, and replacing the first character in each line after I finish processing. I am using a RandomAccessFile, but I am not sure if this is best for my needs.
    Here is essentially the code that I am using:
    RandomAccessFile raf = new RandomAccessFile(File, "rw");
    int pointer = 0;
    int recordLength = 65;
    int counter = 0;
    string test = "X";
    pointer = raf.getFilePointer();
    while ((line = raf.readLine()) != null) {
    //set file pointer
    seek(counter * recordLength);
    counter ++;
    if (line.substring(0, 1).equals(test)) {
    continue;
    var1 = line.substring(7, 22);
    var2 = line.substring(23, 41);
    var3 = line.substring(42, 52);
    var4 = line.substring(53, 53);
    //PROCESSING
    raf.writeChar(test);

    Thanks for the suggestion. I think that the
    BufferedReader is the way that I will go. Do you
    happen to know the best way to update the 1st Char of
    each line as I'm reading each line using Buffered
    Writer?Hi,
    To update the first char of each line, you could read each line of the file into a StringBuffer, modify the value, and then write the value back out to the file.
    I had to do something similar.
    eg.
    StringBuffer buf = new StringBuffer();
    BufferedReader in = new BufferedReader(
        // data file source
    new FileReader(db_location));
    String s;
    // while there are still items to read
    while ((s = in.readLine()) != null)
        System.out.println("reading file");
        // split into component parts so we can modify
        StringTokenizer t = new StringTokenizer(s,",");
        int id = Integer.parseInt(t.nextToken());
        String code = t.nextToken();
        int quantity = Integer.parseInt(t.nextToken());
        // copy component parts into StringBuffer
        buf.append(id+",");
        buf.append(code+",");
        buf.append("\n");
         // use StringBuffer methods here to isolate first character
         // use StringBuffer methods to replace first value of input in buffer
         // eg.
              buf.replace(index,length,","+ new_code);
    // print out the StringBuffer to rewrite updated file
    PrintWriter output = new PrintWriter(
        new BufferedWriter(
        new FileWriter(db_location, false)));
    output.println(buf.toString());
    output.close();As always, there is more than one way to skin a cat. But this is my way.
    I think that JDK 1.4 has some new methods, but not 100% sure of that.
    //Daniel.

  • Problem while writing to fixed length flat file from xml

    Hi,
    I have a problem in writing data into a flat file of fixed length...
    My input is a xml file and i want the output as a flat file. I am successful in converting the xml into flat file... But the main problem is, i am unable to insert spaces in between my fields in the flat file.
    The data in the flat file comes without spaces... Any suggestions on writing the schema...
    Regards
    Surya.

    Have a look at this doc
    http://otndnld.oracle.co.jp/document/products/as10g/101310/doc_cd/integrate.1013/b28994/nfb.htm#BGBBAJFD
    your element should be something like this, it pads with a space using the paddedBy expression
    <xsd:element name="C1" type="xsd:string" nxsd:style="fixedLength" nxsd:length="4" nxsd:paddedBy=" " nxsd:padStyle="tail" />if having trouble post what you want the file to look like, and the xsd you are using.
    cheers
    James

Maybe you are looking for

  • Table used in Pending PO List

    Hi, Please tell me which table is used in pending po list ( report me2m, me2L, me2n etc), we have to make zreport using Pending PO and Pending PR. Regards GR

  • FA-retirement-Asset value date and posting date are not in same fisc year

    Hello, I would like to post retirement in the new fiscal year but with asset value date in the previous year so that NBV is calculated correctly. It is not possible neither in ABAON nor in ABAVN with any transaction type. I always get message 'Asset

  • Return delivery without PO & Material Document

    Hi All,          Is it possible to create return Return delivery without PO & Material Document. Regards PKY

  • Error-oracle not available on linux

    I installed oracle 10g on Linux server 4.0 and first time I run the sqlplus successfully when I restart the computer it is giving ORACLE NOT AVAILABLE ERROR after entering the username and password plz tell me the solution and why i got that error

  • Flash player failed to install

    OK so i've been trying to install flash player 9 for a long time now. But every time i've tried it gives me a message : Flash player 9 failed to install, for troubleshooting tips, go to adobe.com/ something someting yadayada I've done ALL the trouble