Data set Line feed

Hi I am writing a file using data set.
But the each line doesnot start in a new line. how do i make it possible?
Points will be rewarded
thanks
My code is ...
  OPEN DATASET p_unixfile FOR OUTPUT IN text mode  ENCODING DEFAULT.
  LOOP AT i_opfile INTO wa_opfile.
    TRANSFER wa_opfile TO p_unixfile.
    CLEAR wa_opfile.
  ENDLOOP.
  CLOSE DATASET p_unixfile.

hi,
use this.
CL_ABAP_CHAR_UTILITIES=>NEWLINE
Data: data_string type string.
data_string = '123456789'.
concatenate data_string cl_abap_char_utilities=>NEWLINE
     into data_string.
rgds
anver
pls mark hlpful asnwers
Message was edited by: Anversha s

Similar Messages

  • How can an external table handle data with line feed between delimiters?

    I have defined an external table as below. My data is pipe delimited and comes from a DOS system.
    I already remove any carriage returns before putting the file into the DATA_DIR for reading. But
    I have found that some of my VARCHAR fields have embeded line feeds.
    Is it possible to have a definition that would remove any line feed characters between the delimiters?
    Below I also threw together a sample data set there ID #2 has that extra character. Yes, I could
    write an awk script to pre-process all my data files. But I am hoping there is a way for Oracle
    to also do this.
    I understand the LDTRIM to remove any leading and trailing spaces in the delimited field. Is there a
    REPLACE or TRANSLATE option. I did a bit of searching but I must be asking the wrong things.
    Thanks for any help
    Eric
    CREATE TABLE table_ext
      id        NUMBER,
      desc1     VARCHAR2(64 CHAR),
      desc2     VARCHAR2(255 CHAR),
      add_date  DATE
    ORGANIZATION EXTERNAL
      TYPE ORACLE_LOADER
      DEFAULT DIRECTORY data_dir
      ACCESS PARAMETERS
        RECORDS DELIMITED BY NEWLINE
        CHARACTERSET WE8ISO8859P1
        BADFILE     log_dir:'table_ext.bad'
        DISCARDFILE log_dir:'table_ext.dis'
        LOGFILE     log_dir:'table_ext.log'
        FIELDS TERMINATED BY '|' LDRTRIM
        MISSING FIELD VALUES ARE NULL
        id        INTEGER EXTERNAL(38),
        desc1     CHAR(64),
        desc2     CHAR(255),
        add_date  CHAR DATE_FORMAT DATE MASK "yyyy-mm-dd hh24:mi",
      LOCATION( 'data.txt' )
    PARALLEL
    REJECT LIMIT UNLIMITED;
    1|short desc|long desc|2001-01-01 00:00
    2|short desc| long
    desc |1999-03-03 23:23
    3|short desc|  long  desc  | 2011-02-02 02:02

    Thanks for looking. But that relates to the record delimiter which in my case is the pipe character '|'. In my various data sets this is consistent. I expect each record to be one per line. But between two delimiters some data has a line feed. So I'm looking for a method that will "cleanup" the field data as it gets imported.
    I was hoping there was an option that would ignore any embedded line feeds (\n) characters. I.e., those not at the end of the line.
    Eric

  • Designing a 'sample time feed' for Spry XML Data Set

    Hi!
    Often when I call a Spry XML Data Set I find I can't get the
    schema. If offers you the option to design a sample time feed but
    doesn't give you enough info to be able to even guess how to do
    this.
    Is the answer in modifying that php line somehow?
    Any guidance would be much appreciated!
    Mike

    The idea for Design Time XML is that you can use a static XML
    file instead of a dynamic source, in case you don't have access to
    the real data. You can use the Design Time XML to make the query
    and design the page.
    This gives you access to the data references for designing
    the page.
    If you are getting schema errors, the numbers that the dialog
    shows is the line number and character number (1,1)
    You should be able to see the XML directly in the browser. If
    you can, then DW should be able to consume it.

  • Why would only the first line of my data set txt file work?

    Hi -
    I had a lot of success using variables and external data sets until today.
    I have an external text file that I have imported as a data set (Image/Variables/Data Sets/Import...).  All of the variables have been defined and confirmed (at least PSD hasn't told me it can't find something which is the typical error msg.)
    This external text file, with the extension ".txt" has 12 lines on it, each line is 7 comma separated values, and each line is ending in a carriage return.
    YESTERDAY when I used File/Export/Export Data Set as Files... the procedure went beautifully for the 8 times I used it.  TODAY I only get the first of the 12 lines completed and then the export stops.  There are no error messages or other signs that Photoshop has choked on something so I guess something is wrong with my text file... BUT WHAT??
    Any insight on any step in this would be helpful.  You all know that if I'm using this feature it's because I have TONS of repetition ahead of me if it doesn't work.
    TIA your expertise,
    JL

    Fixed it!
    When Exporting as Data sets as files... the step I missed was to select "All Data Sets" from the Data Set drop down.
    Thanks all.
    JL

  • Could not parse the file contents as a data set. There were too many variable names in the first line of the text file.

    Could not parse the file contents as a data set. There were too many variable names in the first line of the text file.

    What are the Variables settings, what is the text file’s content, …?

  • [4712] WARNING!!! 'Huh, you set a test object to itself... whats up with dat?' Line 601 in function in file .\tstobj2\ObjArray.cpp

    I'm using TestStand 4.0 and anytime I try to intialize my chasis this message shows up in my debugg viewer. I would appriciate any feedback. I have no idea what could be triggering this message or why it's worded the way it is.
    [4712] WARNING!!! 'Huh, you set a test object to itself... whats up with dat?' Line 601 in function  in file .\tstobj2\ObjArray.cpp

    You've hit what was intended to be an internal development warning, but apparently the warning macro used is not compiled out in the release.
    This has likely been there since TestStand 1.0 and is nothing to worry about. In most cases it indicates you've called SetPropertyObject or SetPropertyObjectByOffset to set an object that was already set in the specified location. This is a harmless NOP and the warning only appears in attached debuggers, but it "might" be an indication that you have made a programming error.
    I launched and exited the 4.0 sequence editor without seeing this warning, so I don't know if it is being triggered by your code module (or sequence, or custom step type, or custom UI, or custom process  model, ...) or another part of TestStand that you are using.  Chances are good that this warning does not indicate a functional problem. However, if you can reproduce it with a clean uncustomized TestStand install, I'd like to know how you did it.
    I've entered a corrective action request to remove this warning.
    Message Edited by James Grey on 09-13-2007 10:12 AM

  • Replace Line Feed a field with imported data

    Hi, I’m trying to replace a line feed in a form field where data is imported to the field.
    I can make the replace function work when typing into the field, but I can’t figure out how to make it work on imported data.
    This is the script I use:
    if (xfa.event.newText.match(/[\n]/) )
    xfa.event.change = "LF"
    Regards,
    Kirstine

    Hi,
    So if I am getting you correctly, the imported data has the new lines (\n)?
    You could try the layout:ready event and test against the field's .rawValue. But this is going to be very inefficient.
    Niall

  • Line up data sets

    Hello,
    Does anyone know a good way to line up two very similar data sets?  for example, a sine and cosine, but they are rough data sets, not clean where I could take a min or max and line them up this way, I need something more clever.  Can anyone point me towards a good algorithm or way to do this?
    thanks!

    Your question is vague. For example, what are your criteria to get them "lined up" and how precisely you need it done? Are the signals periodic, or is there only one point in an entire set at which the measurement is to be "lined up"? Is the noise level such that there might be multiple data ranges where one signal might seem to "line up" with the other?  Please describe and provide typical data sets you see, how you would like them "lined up," and what you have tried so far which didn't work.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ

  • Folder action to find and replace text and change line feeds

    I want to use a folder action to find and replace text and change Mac carriage returns to DOS line feeds inside text files.
    The text to be replaced is: "/Users/wim/Music/iTunes/iTunes Music/Music" (without the quotes)
    This text has to be removed (i.e. replaced by an empty string)
    The text occurs many times within each file.
    The files are playlists exported from iTunes in the M3U format (which are text files). They contain Mac carriage returns. These need to be changed to DOS line feeds.
    I have found the following two perl commands to achieve this:
    To find and replace text: perl -pi -w -e 's/THIS/THAT/g;' *.txt
    To change carriage returns to line feeds: perl -i -pe 's/\015/\015\012/g' mac-file
    I know that it's possible to make a folder action with Automator that executes a shell script.
    What I want to do is drop the exported playlists in M3U format in a folder so that the folder action will remove the right text and change the carriage returns.
    My questions are:
    Is it possible to make a folder action that executes command line commands instead of shell scripts?
    What is the correct syntax for the two commands when used in a folder action shell script? Especially, how do I escape the slashes (/) in the string to be removed?
    Thanks for your help

    Ok, I've include an applescript to run a shell command. The applesript command quoted form makes a string that will end up as a single string on the bash command line.  Depending on what you want to do, you may need multiple string on the bash command lines.  I've included some information on folder actions.
    It is easier to diagnose problems with debug information. I suggest adding log statements to your script to see what is going on.  Here is an example.
        Author: rccharles
        For testing, run in the Script Editor.
          1) Click on the Event Log tab to see the output from the log statement
          2) Click on Run
        For running shell commands see:
        http://developer.apple.com/mac/library/technotes/tn2002/tn2065.html
    on run
        -- Write a message into the event log.
        log "  --- Starting on " & ((current date) as string) & " --- "
        --  debug lines
        set desktopPath to (path to desktop) as string
        log "desktopPath = " & desktopPath
        set unixDesktopPath to POSIX path of desktopPath
        log "unixDesktopPath = " & unixDesktopPath
        set quotedUnixDesktopPath to quoted form of unixDesktopPath
        log "quoted form is " & quotedUnixDesktopPath
        try
            set fromUnix to do shell script "ls -l  " & quotedUnixDesktopPath
            display dialog "ls -l of " & quotedUnixDesktopPath & return & fromUnix
        on error errMsg
            log "ls -l error..." & errMsg
        end try
    end run
    How to set up a folder action.
    1) right click on folder. click on Enable folder actions
    2) Place script in
    /Library/Scripts/Folder Actions Scripts
    3) right click on folder. click on attach folder action
    pick your script.
    Create a new folder on the desktop & try.
    You can put multiple folder actions on a folder. There are other ways of doing this.
    Here is my test script:
    on adding folder items to this_folder after receiving dropped_items
        repeat with dropped_item_ref in dropped_items
           display dialog "dropped files is " & dropped_item_ref & " on folder " & this_folder
        end repeat
    end adding folder items to
    How to  make the text into an AppleScript program.
    Start the AppleScript Editor
    /Applications/AppleScript/Script Editor.app
    In Snow Leopard it's at: /Applications/Utilities/AppleScript Editor
    Copy the script text to the Applescript editor.
    Note: The ¬ is typed as option+return.  ption+return is the Applescript line continuation characters.
    You may need to retype these characters.
    Save the text to a file as an script and do not check any of the boxes below.

  • Working with line feed, carriege return, tab etc in JSP web layout

    Hi guys,
    After looking at an old thread
    line feed, carriege return, tab etc in JSP web layout
    I think I am experiencing the same problem here and I'm struggling to implement the solution, mainly because I am a complete newbie at jsp reports (and most things webby).
    1) Can I add the code following code directly to the web source? If not then how do I find the css file being used?
    table pre {
    overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
    /* width: 99%; */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
    2) I'm not sure how to set the width to be same as the width of the table cell.
    Here's the web source and thanks very much in advance!
    <%@ taglib uri="/WEB-INF/lib/reports_tld.jar" prefix="rw" %>
    <%@ page language="java" import="java.io.*" errorPage="/rwerror.jsp" session="false" %>
    <%@ page contentType="text/html;charset=ISO-8859-1" %>
    <!--
    -- Version control data:
    -- $Revision: $
    -- $Date: $
    -->
    <!--
    <rw:report id="report" parameters="userid=xxx/xxx@xxx">
    <rw:objects id="objects">
    </rw:objects>
    -->
    <html>
    <head>
    <meta name="GENERATOR" content="Oracle 9i Reports Developer"/>
    <title> STAR Solution Plan Report </title>
    </head>
    <body>
    <!-- Data Area Generated by Reports Developer -->
    <rw:dataArea id="MG2GRPFR69">
    <rw:foreach id="RG2691" src="G_issue_solution">
    <!-- Start GetGroupHeader/n --> <table>
    <TABLE border=0 cellPadding=0 cellSpacing=0 width="100%" style="font-family: Book Antiqua; font-size: 10pt">
    <TBODY>
    <TR>
    <TD vAlign=center align="left">
    <p><IMG src="http://witton3/star/Docs/EU_Man/TIMET_Logo.jpg" width="150" height="77"><br>
    </p>
    </TD>
    <TD vAlign=center align="right">
    <p><IMG src="http://witton3/star/Docs/EU_Man/Star_Logo.gif" width="116" height="46">
    </p>
    </TD>
    </TR></TBODY></TABLE>
    <p align=center style='margin-right:.5in;margin-left:.5in;text-align:center'><span
    style='font-size:18.0pt;font-family:"Book Antiqua"'>STAR System Documentation</span></p>
    <p align=center style='margin-right:.5in;margin-left:.5in;text-align:center'>
    <u><b><span
    style='font-size:13.5pt;font-family:"Book Antiqua"'>Solution Plan for STCR </span><font size="4"><span style="font-family: Book Antiqua">
    <rw:field id="F_issue_id" src="issue_id" breakLevel="RG2691" breakValue=" "> F_issue_id </rw:field>
    </span></b></u></font></p>
    <P>NOTE: <font color="#008000">For existing STAR programs, unless explicitly
    stated in the solution plan, functionality pre-existing in the program or report
    will be retained. Approval of the solution  plan implies agreement that
    current functionality not being modified is still acceptable going forward, in
    the light of the specific changes documented. </font></P>
    <b><u><p>Root Cause of Issue</b></u></p>
    <p> <rw:field id="F_root_cause" src="root_cause" breakLevel="RG2691" breakValue=" "> F_root_cause </rw:field>
    </p>
    <b><u><p>Overview of Solution</b></u></p>
    <p> <rw:field id="F_solution_overview" src="solution_overview" breakLevel="RG2691" breakValue=" "> F_solution_overview </rw:field>
    </p>
    <b><u><p>Functionality Changes</b></u></p>
    <b><p>After implementation of these changes the users will now be able to:</b></p>
    <p> <rw:field id="F_sp_new_functionality" src="sp_new_functionality" breakLevel="RG2691" breakValue=" "> F_sp_new_functionality </rw:field>
    </p>
    <b><p>After implementation of these changes the users will no longer be able to:</b></p>
    <p> <rw:field id="F_sp_removed_functionality" src="sp_removed_functionality" breakLevel="RG2691" breakValue=" "> F_sp_removed_functionality </rw:field>
    </p>
    <b><p>After implementation of these changes the users will need to do this differently:</b></p>
    <p> <rw:field id="F_sp_changed_functionality" src="sp_changed_functionality" breakLevel="RG2691" breakValue=" "> F_sp_changed_functionality </rw:field>
    </p>
    <b><u><p>Program Units Affected</b></u></p>
    <!-- End GetGroupHeader/n --> <tr>
    <td valign="top">
    <table summary="STAR System Documentation" border="1" width="100%" style="font-family: Book Antiqua; font-size: 10pt">
    <!-- Header -->
    <thead>
    <tr>
    <th width="100" align="left" <rw:id id="HBprgunittype69" asArray="no"/>> <b><font face="Book Antiqua">Program <br>Unit Type </font></b></th>
    <th width="200" align="left" <rw:id id="HBprgunitname69" asArray="no"/>> <b><font face="Book Antiqua">Program Unit Name </font></b></th>
    <th align="left" <rw:id id="HBdescofchange69" asArray="no"/>> <b><font face="Book Antiqua">Description of Change </font></b></th>
    <th align="left" <rw:id id="HBtechnotes69" asArray="no"/>> <b><font face="Book Antiqua">Technical Notes </font></b></th>
    </tr>
    </thead>
    <!-- Body -->
    <tbody>
    <rw:foreach id="RG1691" src="G_issue_prg_units">
    <tr>
    <td width="100" align="left" valign="top" <rw:headers id="HFprgunittype69" src="HBprgunittype69"/>> <font face="Book Antiqua" size="2"><rw:field id="Fprgunittype69" src="program_unit_type" nullValue=" "> F_prgunittype </rw:field></font></td>
    <td width="200" align="left" valign="top" <rw:headers id="HFprgunitname69" src="HBprgunitname69"/>> <font face="Book Antiqua" size="2"><rw:field id="Fprgunitname69" src="program_unit_name" nullValue=" "> F_prgunitname </rw:field></font></td>
    <td <rw:headers id="HFdescofchange69" src="HBdescofchange69"/>> <font face="Book Antiqua" size="2"><rw:field id="Fdescofchange69" src="sp_description_of_change" nullValue=" "> F_descofchange </rw:field></font></td>
    <td <rw:headers id="HFtechnotes69" src="HBtechnotes69"/>> <font face="Book Antiqua" size="2"><rw:field id="Ftechnotes69" src="sp_technical_notes" nullValue=" "> F_technotes </rw:field></font></td>
    </tr>
    </rw:foreach>
    </tbody>
    </table>
    </td>
    </tr>
    <b><u><p>Security</b></u></p>
    <p> <rw:field id="F_sp_security" src="sp_security" breakLevel="RG2691" breakValue=" "> F_sp_security </rw:field>
    </p>
    <b><u><p>Site Specific data /processing</b></u></p>
    <p> <rw:field id="F_sp_site_specific_info" src="sp_site_specific_info" breakLevel="RG2691" breakValue=" "> F_sp_site_specific_info </rw:field>
    </p>
    <b><u><p>Impacts and restrictions</b></u></p>
    <p> <rw:field id="F_sp_impacts_and_restrictions" src="sp_impacts_and_restrictions" breakLevel="RG2691" breakValue=" "> F_sp_impacts_and_restrictions </rw:field>
    </p>
    <b><u><p>Pre-Implementation data modifications</b></u></p>
    <p> <rw:field id="F_sp_pre_imp_data_mods" src="sp_pre_imp_data_mods" breakLevel="RG2691" breakValue=" "> F_sp_pre_imp_data_mods </rw:field>
    </p>
    <b><u><p>Post Implementation user actions</b></u></p>
    <p> <rw:field id="F_sp_post_imp_data_mods" src="sp_post_imp_data_mods" breakLevel="RG2691" breakValue=" "> F_sp_post_imp_data_mods </rw:field>
    </p>
    </table>
    </rw:foreach>
    </rw:dataArea> <!-- id="MG2GRPFR69" -->
    <!-- End of Data Area Generated by Reports Developer -->
    </body>
    </html>
    <!--
    </rw:report>
    -->

    The solution in the original post was:
    set the
    width to be same as the width of the table cell
    add following class to css file
    table pre {
    overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
    /* width: 99%; */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
    But I dont have a css file ... can I just add this to the web source and if so where?

  • How to set form feed   in output .lst file

    sql >set pagesize 60
    spoo abc
    select * from xyz;
    spoo off
    In the file abc.lst header and placed details 60 lines. but at
    the time of printing if paper lenght is 72 lines how to set form feed?

    Try
    set newpage 0

  • Mail attachment generated in UDF in SAP PI 7.1 - Issue with line feed

    Hello,
    Situation is:
    Implemented a scenario in SAP PI 7.1 with a mail receiver following this thread:
    /people/samuel.chandrasekaran2/blog/2008/10/06/xi-mail-adapter-dynamically-building-attachment-and-message-body-content-using-a-simple-udf
    which is about moving message lines from sender into an attachment forn the receiver mail.
    It is working great!
    The receiver gets the mail including the attachment with all added lines.
    But when opening this mail there is an issue depending on the program we are using to open the attachment
    which is defined as txt file
    - Using MS Editor 5.1 (Windows XP 2007, SP3) the Carriage returns and line feeds (added with
    in the UDF) to separate the message lines are not recognized. In the Editor each 
        is shown as □   within the text.  Word wrap (flag set in the editor) is different to the carriage return/line feeds set in the file.
    - Using MS Notepad 5.1 (Windows XP 2007, SP3)   situation is the same but
        is NOT shown as □ , it simply seems to be unvisible. Word wrap (flag set in the editor) is different to the carriage return/line feeds set in the file.
    - Using Word 2007 the carriage returns are recognized and used in a correct way to display the file content. But now mutated vowels (äüö) are not recognized. They are displayed as
    So I followed this thread:
    http://help.sap.com/saphelp_nw04/helpdata/en/96/f04142099eb76be10000000a155106/content.htm
    Nice....
    In the editors there is no change, but when opening the file in Word it asks now how to convert the file content
    (proposing UTF-8) and Word recognizes mutual vowels.
    But there seems to be a side effect....
    Following the second link,  PI recognizes an error.
    This is the error message.
    MP: exception caught with message Null as XI message received (PrincipalData in ModulData is null)
    Adapter Framework caught exception: Null as XI message received (PrincipalData in ModulData is null)
    Delivering the message to the application using connection Mail_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.Exception: Null as XI message received (PrincipalData in ModulData is null).
    But the message is sent to the mail recipient which could be ok if PI would not repeat the mail sending now for several times.
    So we will receive not one but a number of mails.
    So we removed the modul recommended in this help link from the channel.
    Result: Behaviour in Word changed now to the described one. But the errors are no longer coming up in channel monitoring incl. message send repetition. So this is a first success. But the partner wants to process the files first with one of the named editors. So we are looking for another solution now to fix the last issue!
    Your ideas are really welcome!
    Best regards
    Dirk

    Hi,
    as I found this in wikipedia:
    Another common problem is the use of '\n' when communicating using an Internet protocol that mandates the use of ASCII CR+LF for ending lines. Writing '\n' to a text mode stream works correctly on Windows systems, but produces only LF on Unix, and something completely different on more exotic systems. Using "\r\n" in binary mode is slightly better, as it works on many ASCII-compatible systems, but still fails in the general case. One approach is to use binary mode and specify the numeric values of the control sequence directly, "\x0D\x0A".
    Back to my issue:
    In the UDF I am adding "\r\n" but only the "\n" seems to survive!
    In Mapping test line feeds are available and the lines are shown as expected.
    Using Notepad ++ to open the created txt file from the mail shows that LF is in the file at each end of line but CR is missing.
    CR is only at the end of the last line in the file and is not from the UDF that creates the mail or the UDF that creates the attachment lines. Seems that this is added somewhere else behind the mapping.
    This is what I found in galileo computing
    (http://www.galileocomputing.de/glossar/gp/anzeige-11241/FirstLetter-Z, SORRY, only available in german language!):
    In Parsing of XML-Documents the XML-Parser changes the end of line delimiter internally in general to a simple line feed (LF, #0A) as usual in UNIX. ..... In Windows this could result in problems with readability of  source texts (e.g. in Notepad) which can be solved by choosing the right editor.
    My target application is on Windows and not able to "choose" the right editor (PI system is on windoes OS too) !
    But Im wondering where the CR at the end of the text comes from when all the \r\n will be replaced with \n as described.
    Ideas are really welcome!
    Best regards
    Dirk
    Edited by: Meinhard Dirk on May 31, 2011 2:45 PM

  • Download using open data set and close data set

    can any body please send some sample pgm using open data set and close data set .the data should get downloaded in application server
    very simple pgm needed

    Hi Arun,
    See the Sample code for BDC using OPEN DATASET.
    report ZSDBDCP_PRICING no standard page heading
    line-size 255.
    include zbdcrecx1.
    *--Internal Table To hold condition records data from flat file.
    Data: begin of it_pricing occurs 0,
    key(4),
    f1(4),
    f2(4),
    f3(2),
    f4(18),
    f5(16),
    end of it_pricing.
    *--Internal Table To hold condition records header .
    data : begin of it_header occurs 0,
    key(4),
    f1(4),
    f2(4),
    f3(2),
    end of it_header.
    *--Internal Table To hold condition records details .
    data : begin of it_details occurs 0,
    key(4),
    f4(18),
    f5(16),
    end of it_details.
    data : v_sno(2),
    v_rows type i,
    v_fname(40).
    start-of-selection.
    refresh : it_pricing,it_header,it_details.
    clear : it_pricing,it_header,it_details.
    CALL FUNCTION 'UPLOAD'
    EXPORTING
    FILENAME = 'C:\WINDOWS\Desktop\pricing.txt'
    FILETYPE = 'DAT'
    TABLES
    DATA_TAB = it_pricing
    EXCEPTIONS
    CONVERSION_ERROR = 1
    INVALID_TABLE_WIDTH = 2
    INVALID_TYPE = 3
    NO_BATCH = 4
    UNKNOWN_ERROR = 5
    GUI_REFUSE_FILETRANSFER = 6
    OTHERS = 7.
    WRITE : / 'Condition Records ', P_FNAME, ' on ', SY-DATUM.
    OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.
    if sy-subrc ne 0.
    write : / 'File could not be uploaded.. Check file name.'.
    stop.
    endif.
    CLEAR : it_pricing[], it_pricing.
    DO.
    READ DATASET P_FNAME INTO V_STR.
    IF SY-SUBRC NE 0.
    EXIT.
    ENDIF.
    write v_str.
    translate v_str using '#/'.
    SPLIT V_STR AT ',' INTO it_pricing-key
    it_pricing-F1 it_pricing-F2 it_pricing-F3
    it_pricing-F4 it_pricing-F5 .
    APPEND it_pricing.
    CLEAR it_pricing.
    ENDDO.
    IF it_pricing[] IS INITIAL.
    WRITE : / 'No data found to upload'.
    STOP.
    ENDIF.
    loop at it_pricing.
    At new key.
    read table it_pricing index sy-tabix.
    move-corresponding it_pricing to it_header.
    append it_header.
    clear it_header.
    endat.
    move-corresponding it_pricing to it_details.
    append it_details.
    clear it_details.
    endloop.
    perform open_group.
    v_rows = sy-srows - 8.
    loop at it_header.
    perform bdc_dynpro using 'SAPMV13A' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RV13A-KSCHL'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RV13A-KSCHL'
    it_header-f1.
    perform bdc_dynpro using 'SAPMV13A' '1004'.
    perform bdc_field using 'BDC_CURSOR'
    'KONP-KBETR(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'KOMG-VKORG'
    it_header-f2.
    perform bdc_field using 'KOMG-VTWEG'
    it_header-f3.
    **Table Control
    v_sno = 0.
    loop at it_details where key eq it_header-key.
    v_sno = v_sno + 1.
    clear v_fname.
    CONCATENATE 'KOMG-MATNR(' V_SNO ')' INTO V_FNAME.
    perform bdc_field using v_fname
    it_details-f4.
    clear v_fname.
    CONCATENATE 'KONP-KBETR(' V_SNO ')' INTO V_FNAME.
    perform bdc_field using v_fname
    it_details-f5.
    if v_sno eq v_rows.
    v_sno = 0.
    perform bdc_dynpro using 'SAPMV13A' '1004'.
    perform bdc_field using 'BDC_OKCODE'
    '=P+'.
    perform bdc_dynpro using 'SAPMV13A' '1004'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    endif.
    endloop.
    *--Save
    perform bdc_dynpro using 'SAPMV13A' '1004'.
    perform bdc_field using 'BDC_OKCODE'
    '=SICH'.
    perform bdc_transaction using 'VK11'.
    endloop.
    perform close_group.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • What is open data set and close data set

    what is open data set and close data set,
    how to use the files in sap directories ?

    hi,
    Open Dataset is used to read or write on to application server ... other than that i am not sure that there exists any way to do the same ... here is a short description for that
    FILE HANDLING IN SAP
    Introduction
    • Files on application server are sequential files.
    • Files on presentation server / workstation are local files.
    • A sequential file is also called a dataset.
    Handling of Sequential file
    Three steps are involved in sequential file handling
    • OPEN
    • PROCESS
    • CLOSE
    Here processing of file can be READING a file or WRITING on to a file.
    OPEN FILE
    Before data can be processed, a file needs to be opened.
    After processing file is closed.
    Syntax:
    OPEN DATASET <file name> FOR {OUTPUT/INPUT/APPENDING}
    IN {TEXT/BINARY} MODE
    This statement returns SY_SUBRC as 0 for successful opening of file or 8, if unsuccessful.
    OUTPUT: Opens the file for writing. If the dataset already exists, this will place the cursor at the start of the dataset, the old contents get deleted at the end of the program or when the CLOSE DATASET is encountered.
    INPUT: Opens a file for READ and places the cursor at the beginning of the file.
    FOR APPENDING: Opens the file for writing and places the cursor at the end of file. If the file does not exist, it is generated.
    BINARY MODE: The READ or TRANSFER will be character wise. Each time ‘n’’ characters are READ or transferred. The next READ or TRANSFER will start from the next character position and not on the next line.
    IN TEXT MODE: The READ or TRANSFER will start at the beginning of a new line each time. If for READ, the destination is shorter than the source, it gets truncated. If destination is longer, then it is padded with spaces.
    Defaults: If nothing is mentioned, then defaults are FOR INPUT and in BINARY MODE.
    PROCESS FILE:
    Processing a file involves READing the file or Writing on to file TRANSFER.
    TRANSFER Statement
    Syntax:
    TRANSFER <field> TO <file name>.
    <Field> can also be a field string / work area / DDIC structure.
    Each transfer statement writes a statement to the dataset. In binary mode, it writes the length of the field to the dataset. In text mode, it writes one line to the dataset.
    If the file is not already open, TRANSFER tries to OPEN file FOR OUTPUT (IN BINARY MODE) or using the last OPEN DATASET statement for this file.
    IF FILE HANDLING, TRANSFER IS THE ONLY STATEMENT WHICH DOES NOT RETURN SY-SUBRC
    READ Statement
    Syntax:
    READ DATASET <file name> INTO <field>.
    <Field> can also be a field string / work area / DDIC structure.
    Each READ will get one record from the dataset. In binary mode it reads the length of the field and in text mode it reads each line.
    CLOSE FILE:
    The program will close all sequential files, which are open at the end of the program. However, it is a good programming practice to explicitly close all the datasets that were opened.
    Syntax:
    CLOSE DATASET <file name>.
    SY-SUBRC will be set to 0 or 8 depending on whether the CLOSE is successful or not.
    DELETE FILE:
    A dataset can be deleted.
    Syntax:
    DELETE DATASET <file name>.
    SY-SUBRC will be set to 0 or 8 depending on whether the DELETE is successful or not.
    Pseudo logic for processing the sequential files:
    For reading:
    Open dataset for input in a particular mode.
    Start DO loop.
    Read dataset into a field.
    If READ is not successful.
    Exit the loop.
    Endif.
    Do relevant processing for that record.
    End the do loop.
    Close the dataset.
    For writing:
    Open dataset for output / Appending in a particular mode.
    Populate the field that is to be transferred.
    TRANSFER the filed to a dataset.
    Close the dataset.
    Regards
    Anver
    if hlped pls mark points

  • File adapter-How to set line break in text file-split record into two lines

    Dear Guru's,
    I have to solve following problem with XML (with mulitiple records) to TEXT file scenario using file adapter. I have to output for ever ONE data record in XML always two identical lines in text file. Second line should have a little bit different mapping in few fields like date,... So I did duplicate fileds in my output structure in mapping and need to know how to set line break in the middle and see half of structure in first line and next structure half in second line
    My output structure in mapping is:
    CASHFLOW
    - INTERFACE
    - GESELLSCHAFT
    - ANWENDUNG
    - PRODUKT
    - VERTRAG
    - BETRAG
    - WAEHRUNG
    - DIRECTION
    - BEWEGUNGSTYP
    - FAELLIGKEIT
    - ZINSFESTSTELLUNG
    - ZAHLUNGSTAG
    - RENDITE
    - INTERFACE2
    - GESELLSCHAFT2
    - ANWENDUNG2
    - PRODUKT2
    - VERTRAG2
    - BETRAG2
    - WAEHRUNG2
    - DIRECTION2
    - BEWEGUNGSTYP2
    - FAELLIGKEIT2
    - ZINSFESTSTELLUNG2
    - ZAHLUNGSTAG2
    - RENDITE2
    Question is how can I set on receiving file adapter in Content Conversion Parameters that fields from first structure half INTERFACE...RENDITE should be outputed in one line and fields from second half of structure INTERFACE2...RENDITE2 should start on second line in final text file.
    I'm getting at the moment one line only and I need to know how can set line break so that second line starting with INTERFACE2(CA)...RENDITE2 will start in new line.
    CA,"0100","7","512",20090127010001,-12454762586.6800,"EUR",2,12,2009-01-28,2009-01-27,2009-01-28,"0.0000000",CA,"0100","7","512",20090127010001,-12454762586.6800,"EUR",1,10,2009-01-27,2009-01-27,2009-01-27,"0.0000000"
    This should be final output:
    CA,"0100","7","512",20090127010001,-12454762586.6800,"EUR",2,12,2009-01-28,2009-01-27,2009-01-28,"0.0000000"
    CA,"0100","7","512",20090127010001,-12454762586.6800,"EUR",1,10,2009-01-27,2009-01-27,2009-01-27,"0.0000000"
    My file adapter settings:
    RecordsetStructure=CASHFLOW
    CASHFLOW.fieldNames=INTERFACE,GESELLSCHAFT,ANWENDUNG,PRODUKT,VERTRAG,BETRAG,WAEHRUNG,DIRECTION,BEWEGUNGSTYP,FAELLIGKEIT,ZINSFESTSTELLUNG,ZAHLUNGSTAG,RENDITE
    CASHFLOW.fieldSeparator=,
    CASHFLOW.endSeparator='nl'
    CASHFLOW.fieldNames=INTERFACE2,GESELLSCHAFT2,ANWENDUNG2,PRODUKT2,VERTRAG2,BETRAG2,WAEHRUNG2,DIRECTION2,BEWEGUNGSTYP2,FAELLIGKEIT2,ZINSFESTSTELLUNG2,ZAHLUNGSTAG2,RENDITE2
    CASHFLOW.fieldSeparator=,
    It wont help if I add two identical structures in mapping because in output i would see for multiple entries section with first lines only and after that section with second lines only. And CASHFLOW is one part of more complex mapping ...
    (This is final output structure RecordsetStructure=HEADER,CASHFLOW,CONDITION,REFERENCE,CONTRACT - more sections with different data and all these should have duplicate lines at the end)
    Thanks a lot for any help
    Cheers
    Marian
    Edited by: Marian  Luscon on Jul 14, 2009 11:44 AM

    Hi Ivan,
    right, I did test just for sure.
    Putting constant 'nl' into field CASHFLOW-INTERFACE1 didnt help - still getting one line instead two lines.
    CA ,"0100" ,"7" ,"512" ,20090127GTP101 ,-12454762586.6800 ,"EUR" ,2 ,12 ,2009-01-28 ,2009-01-27 ,2009-01-28 ,"0.0000000" ,'nl' ,"GTP1" ,"7" ,"512" ,20090127GTP101 ,-12454762586.6800 ,"EUR" ,1 ,10 ,2009-01-27 ,2009-01-27 ,2009-01-27 ,"0.0000000"
    So there is still question. Is there any way (mapping,...) how to output always 2 lines in text file for one record in XML. It always does 1 record in mapping structure = 1 line but we need 2 lines ...
    Example:
    Input: 4 records in XML
    Output: 8 lines in final text file ...
    Thanks to you all guys
    Marian

Maybe you are looking for