Opne data set issue

Hi,
I have problem with OPEN DATA SET statement.
OPEN DATASET FILE_PATH FOR OUTPUT IN BINARY MODE.
( Where file_path =
sacorf02\satsap$\ISM010\DATA\FILE\ZPRA_JE_UPLOAD )
After the execution of this statement sy-subrc set to 8 and giving dump.
it shows following in dump.
When accessing the file "ZPRA_JE_UPLOAD", the system recognized that this file is not open, the file cannot be accessed.
Can anybody pls help on this.
Regards,
Zakir.

Hi Zakir,
First thing to do before opening a file for read/write is to check the authority of the user. Use the FM AUTHORITY_CHECK_DATASET to check the appropriate authority. Pass ACTIVITY as WRITE/READ to this FM. Then based on the exception u can give appropriate messages in ur code.
TYPE-POOLS sabc.
  CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
       EXPORTING
            program          = sy-cprog
            activity         = sabc_act_write
            filename         = l_filename
       EXCEPTIONS
            no_authority     = 1
            activity_unknown = 2
            OTHERS           = 3.
  CHECK NOT sy-subrc IS INITIAL.
    MESSAGE e700.
Another thing is application server file is case sensitive. Make sure that u r giving correct file name with correct case. If the file doesn't exist and u r trying to access then also u will get the dump.
Thanks,
Vinod.

Similar Messages

  • ISO MME Data Set Issues

    We are experiencing some difficulties/awkwardness with the DIAdem MME data import function. Please consider the following:
    1. The keywords from the channel file are stored in a vector (MME_ChnInfoDesc) and the related values are stored in a matrix (MME_ChnInfo). This scheme assumes the keywords are in the same order in all channel files that comprise the MME set. This is not the case as the ISO specification allows comment keywords to “be used at any line”. In addition, many of the keywords defined in the ISO specification are optional. The insertion of optional keywords will result in channel files with differing keywords and the MME_ChnInfoDesc vector will not represent the keywords properly.
    2. Is it possible to have the MME reader only load specific channels in the MME data set, rather than loading the entire MME data set? We have very large MME sets from which only a few channels are required. We do not want to allocate time or memory to handle the excess data.
    3. There are no provisions to retrieve the comments for a particular channel from the channel comment file (CHANNEL.TXT).
    4. There are no provisions to write MME data channels, sets, or comments.
    These issues are forcing us to consider writing a low-level driver to read and write MME data. Does NI have any advise for us on this issue?
    Thank you very much.

    Hello,
    It sounds as if you are using the MME import based on the DIAdem GPI extension "gfsmme.dll". There is currently a new DataPlugin for ISO-MME on our website that has more functionality. YOu can find this at http://www.ni.com/dataplugins.htm. The older GPI import used variables while the new plugin stores the MME parameters in groups and channel properties. The new DataPlugin will be much more useful to you but you may have to adapt your application to access these MME properties. As to each of your questions:
    1. The DataPlugin does not require a fixed order of keywords in the channel files. This was an issue however with the GPI import.
    2. The plugin in capable of loading specific channels as well as registering large sets of data.
    3. THe channel comment file is optional in the MME format without and format requirements. This plugin does not by default access this file butyou could customize the script to do so.
    4. Currently, we still do not have these provisions in the plugin but I will make a product suggestion for it to be included in the future.
    Thanks,
    Caroline
    National Instruments.
    Thanks,
    Caroline Tipton
    Data Management Product Manager
    National Instruments

  • Open Data Set Issue

    Hello
    How can we set the length of the record size in the open data set. I have like 40 fields of internal table and I need to upload it to Appl server. I could do it but all the fields dont appear. How can set the record size ? Can anyone explain..Thanks

    HI Vicky,
    doesn't show all fileds: scence in the file?
    then either you are not passing the whole data or you are not selecting the whole data to the sending internal table
    change your declaration to the string rather than character....
    follow the code below:
    DATA:  filepath TYPE string.
    OPEN DATASET filepath FOR OUTPUT IN BINARY MODE.
        LOOP AT l_xml_table INTO l_xml_rec.
         TRANSFER your itab TO filepath.
        ENDLOOP.
        CLOSE DATASET filepath.

  • Header data come from the Data Set, Issue if Data Set is sorted

    Currently in our Data Set, the 1st line contains unique fields for the HEADER. For example "adress of the user site".
    If we are sorting the Data Set, the 1st line value is empty, so the Header Data is empty.
    What would be the best way to solve this problem:
      - Duplicate on all lines, but we want to avoid this solution to reduce the Data Set Size?
      - Does Crystal Reports fields can have a specific "Set-up" to define that they are for the Header so, it's an unique value?
    Remark: Our Data Set is unique, ie: there is no table link because it's not possible from the database we are extracting values.
    Thanks in advance

    Hi Alexandre
    The best way to display only the header i.e. the uniques line would be to write a formula. Write a formula to extract the line for header and drag this formula field to your report.
    Hope it helps!!
    Regards
    Sourashree

  • Spry Data Set Issue

    Hello,
    I have written a page using a SpryData  set/Accordion structure. The XML feeds the name of the accordion tab and  its content. The idea is supposed to be that each topic has a potential  for 4 images. If there are fewer than four, no sweat, they just don't  show up. In Firefox 3.6.3 (Mac and PC), that is what happens. In Safari 4 (Mac and PC), latest Chrome for Mac and PC and in IE 8  any topic that has fewer than 4 images shows a missing image icon.
    I  don't want to resort to blank gifs and I hope that is not what is  needed. Below is some code. Just so you know, I am simultaneously using  tabbed panels and the accordion which is presented without the normal  accordion look-and-feel.
    ===header content===
    <script  src="../SpryAssets/SpryTabbedPanels.js"  type="text/javascript"></script>
    <script src="../SpryAssets/SpryAccordion.js"  type="text/javascript"></script>
    <script src="../SpryAssets/xpath.js"  type="text/javascript"></script>
    <script src="../SpryAssets/SpryData.js"  type="text/javascript"></script>
    <link href="../SpryAssets/SpryTabbedPanels.css" rel="stylesheet"  type="text/css" />
    <link href="../SpryAssets/SpryAccordion.css" rel="stylesheet"  type="text/css" />
    <script type="text/javascript">
    <!--
    var dsAeroInterface = new Spry.Data.XMLDataSet("xml/aerointerface.xml",  "aero/topic[@name = 'New Desktop features']");
    <!--var dsAeroPics = new  Spry.Data.XMLDataSet("xml/aerointerface.xml",  "aero/topic/images/image");-->
    //-->
    </script>
    ===Accordion content===
    <div  id="acc_aero" spry:region="dsAeroInterface">
                           <div id="Acc1" class="Accordion"  tabindex="0">
                             <h5>{@name}</h5>
                             <div spry:repeat="dsAeroInterface"  class="AccordionPanel">
                               <div class="AccordionPanelTab">
                                 <h4>{item}</h4>
                               </div>
                               <div class="AccordionPanelContent">
                                 <div>
                                   <ul class="image_thumbs">
                                     <li><a href="{pic1/@path}"  rel="lightbox[a]" title="{pic1/@caption}"><img class="changeDim"   src="{pic1/@path}"/></a></li>
                                     <li><a href="{pic2/@path}"  rel="lightbox[a]" title="{pic2/@caption}"><img class="changeDim"   src="{pic2/@path}"/></a></li>
                                     <li><a href="{pic3/@path}"  rel="lightbox[a]" title="{pic3/@caption}"><img class="changeDim"   src="{pic3/@path}"/></a></li>
                                     <li><a href="{pic4/@path}"  rel="lightbox[a]" title="{pic4/@caption}"><img class="changeDim"   src="{pic4/@path}"/></a></li>
                                   </ul>
                                 </div>
                               </div>
                             </div>
                           </div>
    <script type="text/javascript"> var a1 = new  Spry.Widget.Accordion("Acc1", { useFixedPanelHeights: false,  defaultPanel: -1 }); </script>
    </div>
    Here  is the URL: http://academic.csuohio.edu/milhoan_g/windows7/_index2.html.
    I don't know if it's a Spry problem, a browser problem or an XML  problem, especially since there are lots of ways to organize the XML.
    Thanks  for your help.
    Bill

    g.milhoan wrote:
    I don't know if it's a Spry problem, a browser problem or an XML  problem, especially since there are lots of ways to organize the XML.
    Hello Bill,
    First of all, thank you for posting the URL of the site, this makes it easier for us to supply you with an answer.
    It is very rarely a Spry problem, it could be a browser idiosyncrasy, but usually it is the way that we have coded mark-up as in this case.
    Because there is no picture to show due to a link to a non-existing picture, FF places a blank, whereas other browsers, rightly so, place a broken link image where the picture is supposed to be.
    <ul class="image_thumbs">
      <li><a href="{pic1/@path}" rel="lightbox[a]" title="{pic1/@caption}"><img class="changeDim"  src="{pic1/@path}"/></a></li>
      <li><a href="{pic2/@path}" rel="lightbox[a]" title="{pic2/@caption}"><img class="changeDim"  src="{pic2/@path}"/></a></li>
      <li><a href="{pic3/@path}" rel="lightbox[a]" title="{pic3/@caption}"><img class="changeDim"  src="{pic3/@path}"/></a></li>
      <li><a href="{pic4/@path}" rel="lightbox[a]" title="{pic4/@caption}"><img class="changeDim"  src="{pic4/@path}"/></a></li>
    </ul>
    The solution to overcome this is to place a conditional statement in each of the above such as spry:if='{pic4/@path}' placed in the <LI>-tag. This will hide the the <LI>-tag if the condition is false.
    I hope this helps.
    Ben

  • SQL Update a Single Row Multiple Times Using 2 Data Sets

    I'm working in tsql and have an issue where I need to do multiple updates to a single row based on multiple conditions. 
    By Rank_
    If the column is NULL I need it to update no matter what the Rank is.
    If the Ranks are the same I need it to update in order of T2_ID.
    And I need it to use the last updated output.
    I've tried using the update statement below but it only does the first update and the rest are ignored. Here is an example of the data sets i'm working w/ and the Desired results. Thanks in advance!
    update a
    set Middle = case when a.Rank_> b.Rank_ OR a.Middle IS NULL then ISNULL(b.Middle,a.Middle) end,
    LName = case when a.Rank_> b.Rank_ OR a.Lname IS NULL then ISNULL(b.LName,a.LName) end,
    Rank_ = case when a.Rank_> b.Rank_ then b.Rank_ end
    from #temp1 a
    inner join #temp2 b on a.fname = b.fname
    where b.T2_ID in (select top 100% T2_ID from #temp2 order by T2_ID asc)

    The Merge clause actually errors because it attempt to update the same record.  I think this CTE statement is the closest I've come but I'm still working through it as I'm not too familiar w/ them.  It returns multiple rows which I will have to
    insert into a temp table to update since the resulting row I need is the last in the table.
    ;WITH cteRowNumber
    AS(
    Select DISTINCT
    Row_Number() OVER(PARTITION BY a.LName ORDER BY a.LName ASC, a.Rank_ DESC,b.T2ID ASC) AS RowNumber
    ,a.FName
    ,a.LName
    ,b.LName as xLname
    ,a.MName
    ,b.MName AS xMName
    ,a.Rank_
    ,b.Rank_ AS xRank
    ,b.T2ID
    FROM #temp1 a
    inner join #temp2 b
    ON a.fname = b.fname
    ), cteCursor
    AS(
    Select a.RowNumber,
    a.Fname
    ,a.LName
    ,a.xLname
    ,a.MName
    ,a.xMName
    ,a.xRank
    ,a.T2ID
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xRank,a.Rank_) else ISNULL(a.Rank_,a.xRank) end AS Alt_Rank_
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xMName,a.MName) else ISNULL(a.MName,a.xMName) end AS Alt_MName
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xLName,a.lname) else ISNULL(a.LName,a.xlname) end as Alt_Lname
    FROM cteRowNumber a
    where a.RowNumber = 1
    UNION ALL
    Select crt.RowNumber
    ,crt.FName
    ,crt.LName
    ,crt.xLname
    ,crt.MName
    ,crt.xMName
    ,crt.xRank
    ,crt.T2ID
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xRank,Prev.Alt_Rank_) else ISNULL(Prev.Alt_Rank_,crt.xRank) end AS Alt_Rank
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xMName,Prev.Alt_MName) else ISNULL(Prev.Alt_MName,crt.xMName) end AS Alt_MName
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xLName,Prev.Alt_Lname) else ISNULL(Prev.Alt_Lname,crt.xLName) end as Alt_Lname
    FROM cteCursor prev
    inner join cteRowNumber crt
    on prev.fname = crt.fname and prev.RowNumber + 1 = crt.RowNumber
    SELECT cte.*
    FROM cteCursor cte

  • OBIEE 11g BI Publisher; New Data Set Creation Error "Failed to load SQL"

    Hi,
    I'm trying to create a new SQL data set (from a client machine). I use "query builder" to build the data set. But when I click "OK", it fires the error "Failed to load SQL".
    But strangely, if connect to the OBIEE server's desktop and create the data set it works without any issues. I wonder this would be a firewall issue. If so what are the ports I should open.
    It's a enterprise installation. And we have already open 9703, 9704, and 9706.
    Has anyone came across such a situation?

    Talles,
    First of all you might have more chance of getting a response over in the BIP forum. Other than that all I can think of is: is your MS SQL Server running with mixed mode auth?

  • No data set found when creating a report

    Dear all,
    This is my first time using BI Publisher, and I am stuck at a very early stage.
    I have followed the various steps described in the documentation, up to creating a new report.
    When I try to do so, I fail as there is no available data set in the left panel.
    Another curious behaviour is that I have first to export and then import sample data as xml for the sample to be saved. Otherwise, when I just click on 'Save as Sample Data', the sample file appears to be associated with the dataset, but disappears at the next logon.
    What would cause such behaviours?
    Are these issues linked?
    Is it a configuration/setup issue?
    Or could it be a privileges/roles issue?
    Cordially,
    Albain

    Vitaly,
    1.  Yes, I checked "More Data Sources" - not there.
    2.  I tried adding the Field Definitions using Control Panel Add/Remove - no help.
       I tried removing the "Field Definitions" and then adding them again - no help.
    3.  Another machine does have the same version of CR.  It is running Vista.  Problem machine is running XP.
    4.  Clicked the "Reinstall" button in the Control Panel Add/Remove - this fixed the problem.  I did not need to uninstall the program.
    Both machines now exhibit the same list of connection types (with one small exception).  Thank-you for your hellp.
    .... Warren
    Edited by: Warren Pickell on Oct 23, 2009 11:55 PM
    Edited by: Warren Pickell on Oct 23, 2009 11:56 PM
    I'm trying to indicate "Yes, my question has been answered.", but it does not seem to "take".

  • Can Data Links be established between Data sets based on View Objects?

    Hi all,
    In the BI Publisher Documentation it's given that Datasets based on view object queries do not support Data Links / Group Links. We found out that only way to establish relationship between view object Datasets is to create a view link and then upload it to create a Dataset.
    1. Is there any other way to establish relationship between view objects Datasets in DataModel editor itself just as in the case of data sets based on (SQL queries e.t.c.)?
    2. If so can View object Datasets be linked to Datasets based on other Datasources?
    3. Will the Datalinks for View object Datasets be supported in any of the upcoming releases. Is there any ER logged for this case?
    Any insight on the above issues will be really helpful.
    Thanks

    Enhance the data source with date and time and populate these fields in the user exit using the function module IB_CONVERT_FROM_TIMESTAMP .
    OR
    You can create Z function module IB_CONVERT_FROM_TIMESTAMP in BW side and write a routine in update rules/transfer rules to populate date and time.
    hope this helps ...
    Ravi

  • Please help! Multiple users accessing the same data sets

    Hi all,
    Can anyone provide a bit of insight in to a question I have?
    We have two users that require to see the same set of data in the BPC Excel interface at the same time. The information is employees and date.
    User 1 would like to see All Employee SignedData for 1 month, and User 2 would like to see just a slice of the Employees for 1 month.
    If both of the Users are logged in at the same time, what will happen in terms of SAP 'locking' the data set? I am aware of Data Access Profiles to restrict their access to particular Master Data but there will be the requirement for users to see (maybe just in read-only), data that is shared between both Users.
    Will it throw up an error or can I make it so that users have 'read only' access?
    Any advice would be very much appreciated!
    Nick

    Hi Nick,
    No issue with that at all.
    They can even both have write access. If they try to update the exact same record at the same time BPC will just keep writing Delta records.
    User A enters 10
    User B enters 20
    User A refreshes and will get 20
    User B refreshes and also gets 20

  • Error message when using Spry Data set with XML

    Hi,
    I have what i see as a big problem, might just be me being
    dumm, but here we go.
    When I try to use the feature of spry XML Data Set and insert
    spry table I get error message when trying it in IE 7.
    There are even a problem when I use fireworks automated slide
    show function, where you can choose to use the Spry/XML gallery
    feature.
    The error message I get everytime (incl the auto gallery in
    fireworks) is:
    The tag: "html" doesn't have an attribute: "xmlns:spry" in
    currently active versions.[XHTML 1.0 transitional]
    The tag: "div" doesn't have an attribute: "spry:region" in
    currently active versions.[XHTML 1.0 transitional]
    The tag: "th" doesn't have an attribute: "spry:sort" in
    currently active versions.[XHTML 1.0 transitional]
    and so on.
    What´s wrong?!

    Hello barvid,
    Ok, let's take each problem step by step:
    1. The first error you see in the browser: " Exception while
    loading ..." normally appears when you try to load files that are
    not permitted by the browser security model. This means the XML
    file you try to load is located on a different server than your
    HTML which is not allowed. The browser is not permitting to load
    any files that are not in the same domain as the current page
    because of the complex security risks. You'll have to either get
    the XML file from its original location and save it in your website
    or use a proxy on your web server that should request that file
    from the external server and send it to the browser as an XML from
    the same domain as the HTML origin.
    1.2 The "Exception while loading ..." error you see is a
    generic error and my previous advise is based on my experience. In
    case this is not your scenario you'll have to open the SpryData.js
    and around line 112 you'll see the following code:
    Spry.Debug.reportError("Exception caught while loading " +
    url + ": " + e);
    Please change this line with the following line of code:
    Spry.Debug.reportError("Exception caught while loading " +
    url + ": " + (e.message?e.message:e));
    to obtain a more verbose error message that may clarify the
    reasons of your errors.
    2. The problems you describe are not browser errors but they
    are w3c validation errors. At this point the XHTML standard allows
    every application that define custom namespace attributes to also
    link a DTD to the page so the page to continue to be valid.
    Unfortunately at this point this feature is not correctly supported
    by the FF and IE so we wrote an articles about how you should
    link
    the Spry DTD to your page so the validator understand the
    custom attributes Spry use. You'll find inside the full description
    of the problems and all the technical details you'll need to know
    to solve this issue.
    Regards,
    Cristian

  • Paged view data set not working

    Help - I'm new to spry and web design in general, I'm
    attempting to create a spry table pulling data from an xml file
    which works fine, but the xml file has 70+ records so I want to use
    the SpryPagedView.js function, but when I add the code for the
    SpryPagedView data set the browser displays the following error in
    a red box at the bottom right of the page saying "failed to
    retrieve data set (pv1) for spry:repeat".
    What am I doing wrong???
    The html is as follows: -
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml"
    xmlns:spry="
    http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />
    <title>Untitled Document</title>
    <script src="SpryAssets/xpath.js"
    type="text/javascript"></script>
    <script src="SpryAssets/SpryData.js"
    type="text/javascript"></script>
    <script src="SpryAssets/SpryPagedView.js"
    type="text/javascript"></script>
    <script type="text/javascript">
    var ds1 = new Spry.Data.XMLDataSet("extlist.xml",
    "Root/Row"});
    var pv1 = new Spry.Data.PagedView(ds1,{ pageSize:20 });
    </script>
    <link href="style.css" rel="stylesheet" type="text/css"
    />
    </head>
    <body>
    <p>
    <input type="button" value="First"
    onclick="pv1.firstPage();" />
    <input type="button" value="Prev"
    onclick="pv1.previousPage();" />
    <input type="button" value="Next"
    onclick="pv1.nextPage();" />
    <input type="button" value="Last"
    onclick="pv1.lastPage();" />
    </p>
    <div spry:region="pv1" spry:repeatchildren="pv1">
    <table>
    <tr>
    <th>First Name</th>
    <th>Surname</th>
    </tr>
    <tr>
    <td>{First_Name}</td>
    <td>{Surname}</td>
    </tr>
    </table>
    </div>
    </body>
    </html>
    and the XML is laid out as follows: -
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Root xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance">
    <Row>
    <Surname>Blogs</Surname>
    <First_Name>Joe</First_Name>
    <Ext>2279</Ext>
    <DDI>657912</DDI>
    </Row>
    </Root>

    Bannana fingers wrote:
    > Help - I'm new to spry and web design in general, I'm
    attempting to create a
    > spry table pulling data from an xml file which works
    fine, but the xml file has
    > 70+ records so I want to use the SpryPagedView.js
    function, but when I add the
    > code for the SpryPagedView data set the browser displays
    the following error in
    > a red box at the bottom right of the page saying "failed
    to retrieve data set
    > (pv1) for spry:repeat".
    > What am I doing wrong???
    If the following is your exact code:
    > var ds1 = new Spry.Data.XMLDataSet("extlist.xml",
    "Root/Row"});
    > var pv1 = new Spry.Data.PagedView(ds1,{ pageSize:20 });
    Then the issue may be that you have a } after "Root/Row"
    which could cause an error in the creation of the ds1 dataset.
    HTH
    Danilo Celic
    |
    http://blog.extensioneering.com/
    | WebAssist Extensioneer
    | Adobe Community Expert

  • Regarding Upload of data into SAP from Application server using DATA SETS

    Hi all,
    I have a problem when uploading data that is application server [.txt file] into SAP using OPEN DATA SET,READ DATA SET & CLOSE DATA SET it is now going to dump. The file is actually splits the fields by using Tab Delimiter.  
    During uploading some junk values are coming with '#' so it going to dump and giving follow type of error.
    Runtime Errors         CONVT_NO_NUMBER          
    Exception              CX_SY_CONVERSION_NO_NUMBER
    Unable to interpret "#0#0#0#0#0#0#0#" as a number.
    Can any one solve the above issue as i need it urgently.
    Thanks in advance.
    Thanks & Regards,
    Rayeezuddin.

    Hi Hielman,
    Thnaks for that reply and for effort you are putting to solve my issue.
    I had done the same thing what u have posted prior to your reply but still i am getting dump.
    FORM f_get_legacy_data .
      DATA: l_tab type xstring,
            l_tab1(1) type c,
            s type x.
      move '23' to l_tab.
      move l_tab to l_tab1.
    OPEN DATASET v_pfile FOR INPUT IN TEXT MODE ENCODING DEFAULT.
      OPEN DATASET v_pfile FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc <> 0.
       MESSAGE text-207 TYPE c_e.
    ELSE.
      DO.
        CLEAR wa_input1.
       READ DATASET v_pfile INTO wa_input1.
        READ DATASET v_pfile INTO wa_read.
        IF sy-subrc EQ 0.
          move wa_read to i_txt-txt.
          append i_txt.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
      s = '09'.
      loop at i_txt.
       move i_txt-txt+10(1) to l_tab1.
       move '#' to l_tab1.
       split i_txt-txt at s into wa_input1-vbeln wa_input1-posnr
        split i_txt-txt at '#' into wa_input1-vbeln wa_input1-posnr
                                       wa_input1-per0bal wa_input1-per1val
                                       wa_input1-per2val wa_input1-per3val
                                       wa_input1-per4val wa_input1-per5val
                                       wa_input1-per6val wa_input1-per7val
                                       wa_input1-per8val wa_input1-per9val
                                       wa_input1-per10val wa_input1-per11val
                                       wa_input1-per12val.
        APPEND wa_input1 TO i_input1.
        CLEAR wa_input1.
      endloop.
    ENDIF.
      CLOSE DATASET v_pfile.
      IF i_input1[] IS INITIAL.
    If there is no data in the legacy file or if the structure of the
    legacy data does not match with that of internal table error message
    need to be displayed.
        MESSAGE text-211 TYPE c_e.
    *&--begin of change--
      ELSE.
        CLEAR: wa_input, wa_input1.
        LOOP AT i_input1 INTO wa_input1.
         MOVE wa_input1 TO wa_input.
          MOVE: wa_input1-vbeln TO wa_input-vbeln,
                wa_input1-posnr TO wa_input-posnr,
                wa_input1-per0bal TO wa_input-per0bal,
                wa_input1-per1val TO wa_input-per1val,
                wa_input1-per2val TO wa_input-per2val,
                wa_input1-per3val TO wa_input-per3val,
                wa_input1-per4val TO wa_input-per4val,
                wa_input1-per5val TO wa_input-per5val,
                wa_input1-per6val TO wa_input-per6val,
                wa_input1-per7val TO wa_input-per7val,
                wa_input1-per8val TO wa_input-per8val,
                wa_input1-per9val TO wa_input-per9val,
                wa_input1-per10val TO wa_input-per10val,
                wa_input1-per11val TO wa_input-per11val,
                wa_input1-per12val TO wa_input-per12val.
          APPEND wa_input TO i_input.
          CLEAR: wa_input, wa_input1.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " GET_LEGACY_DATA
    When i am giving input as
    Directory  /pw/data/erp/D5S/fi/up
    Name: Backlog1616_D1S.txt
    BKCOPO1           BKSOI1        1000.00                100.00                 -200.00                0                      0                      0                      0                      0                      0                      0
    BKSOPO2           BKSOI2        2222.22                0                      300                    0                      0                      0                      0                      0                      0                      0
    BKSOPO3           BKSOI3        -3000                  400                    0                      0                      0                      0                      0                      0                      0                      0
    BKSOPO4                         4000.55                500                    600                    0                      0                      0                      0                      0                      0                      0
    0040000000        000010        -100                   -110                   -110                   0                      0                      -600                   0                      0                      0                      0
    0040000001        000010        -110                   -110                   0                      0                      0                      -610                   0                      0                      0                      0
    I am getting i_input internal table populated as follows at the end of that subroutine.
    After appending [APPEND wa_input TO i_input].
    BKCOPO1#BK|000000|            0.00 |            0.00 |            0.00    |
    BKSOPO2#BK|000000|            0.00 |            0.00 |            0.00    |
    BKCOPO3#BK|000000|            0.00 |            0.00 |            0.00    |
    BKCOPO4##4|000000|            0.00 |            0.00 |            0.00    |
    0040000000|000000|            0.00 |            0.00 |            0.00    |
    0040000001|000000|            0.00 |            0.00 |            0.00    |
    And output is showing erronious records: 6
    No entries inserted.
    Can you solve this issue.

  • ORA-01403 No Data Found Issue

    Hi,
    Im very new to streams and having a doubt regarding ORA-01403 issue happening while replication. Need you kind help on this regard. Thanks in advance.
    Oracle version : 10.0.3.0
    1.Suppose there are 10 LCRs in a Txn and one of the LCR caused ORA-01403 and none of the LCRs get executed.
    We can read the data of this LCR and manually update the record in the Destination database.
    Eventhough this is done, while re-executing the transaction, im getting the same ORA-01403 on the same LCR.
    What could be the possible reason.
    Since, this is a large scale system with thousands of transactions, it is not possible to handle the No data found issues occuring in the system.
    I have written a PL/SQL block which can generate Update statements with the old data available in LCR, so that i can re-execute the Transaction again.
    The PL/SQL block is given below. Could you please check if there are any issues in this while generating the UPDATE statements. Thank you
    /* Formatted on 2008/10/23 14:46 (Formatter Plus v4.8.7) */
    --Script for generating the Update scripts for the Message which caused the 'NO DATA FOUND' error.
    DECLARE
    RES NUMBER; --No:of errors to be resolved
    RET NUMBER; --A number variable to hold the return value from getObject
    I NUMBER; --Index for the loop
    J NUMBER; --Index for the loop
    K NUMBER; --Index for the loop
    PK_COUNT NUMBER; --To Hold the no:of PK columns for a Table
    LCR ANYDATA; --To Hold the Logical Change Record
    TYP VARCHAR2 (61); --To Hold the Type of a Column
    ROWLCR SYS.LCR$_ROW_RECORD; --To Hold the LCR caused the error in a Txn.
    OLDLIST SYS.LCR$_ROW_LIST; --To Hold the Old data of the Record which was tried to Update/Delete
    NEWLIST SYS.LCR$_ROW_LIST;
    UPD_QRY VARCHAR2 (5000);
    EQUALS VARCHAR2 (5) := ' = ';
    DATA1 VARCHAR2 (2000);
    NUM1 NUMBER;
    DATE1 TIMESTAMP ( 0 );
    TIMESTAMP1 TIMESTAMP ( 3 );
    ISCOMMA BOOLEAN;
    TYPE TAB_LCR IS TABLE OF ANYDATA
    INDEX BY BINARY_INTEGER;
    TYPE PK_COLS IS TABLE OF VARCHAR2 (50)
    INDEX BY BINARY_INTEGER;
    LCR_TABLE TAB_LCR;
    PK_TABLE PK_COLS;
    BEGIN
    I := 1;
    SELECT COUNT ( 1)
    INTO RES
    FROM DBA_APPLY_ERROR;
    FOR TXN_ID IN
    (SELECT MESSAGE_NUMBER,
    LOCAL_TRANSACTION_ID
    FROM DBA_APPLY_ERROR
    WHERE LOCAL_TRANSACTION_ID =
    '2.85.42516'
    ORDER BY ERROR_CREATION_TIME)
    LOOP
    SELECT DBMS_APPLY_ADM.GET_ERROR_MESSAGE
    (TXN_ID.MESSAGE_NUMBER,
    TXN_ID.LOCAL_TRANSACTION_ID
    INTO LCR
    FROM DUAL;
    LCR_TABLE (I) := LCR;
    I := I + 1;
    END LOOP;
    I := 0;
    K := 0;
    dbms_output.put_line('size >'||lcr_table.count);
    FOR K IN 1 .. RES
    LOOP
    ROWLCR := NULL;
    RET :=
    LCR_TABLE (K).GETOBJECT
    (ROWLCR);
    --dbms_output.put_line(rowlcr.GET_OBJECT_NAME);
    PK_COUNT := 0;
    --Finding the PK columns of the Table
    SELECT COUNT ( 1)
    INTO PK_COUNT
    FROM ALL_CONS_COLUMNS COL,
    ALL_CONSTRAINTS CON
    WHERE COL.TABLE_NAME =
    CON.TABLE_NAME
    AND COL.CONSTRAINT_NAME =
    CON.CONSTRAINT_NAME
    AND CON.CONSTRAINT_TYPE = 'P'
    AND CON.TABLE_NAME =
    ROWLCR.GET_OBJECT_NAME;
    dbms_output.put_line('Count of PK Columns >'||pk_count);
    DEL_QRY := NULL;
    DEL_QRY :=
    'DELETE FROM '
    || ROWLCR.GET_OBJECT_NAME
    || ' WHERE ';
    INS_QRY := NULL;
    INS_QRY :=
    'INSERT INTO '
    || ROWLCR.GET_OBJECT_NAME
    || ' ( ';
    UPD_QRY := NULL;
    UPD_QRY :=
    'UPDATE '
    || ROWLCR.GET_OBJECT_NAME
    || ' SET ';
    OLDLIST :=
    ROWLCR.GET_VALUES ('old');
    -- Generate Update Query
    NEWLIST :=
    ROWLCR.GET_VALUES ('old');
    ISCOMMA := FALSE;
    FOR J IN 1 .. NEWLIST.COUNT
    LOOP
    IF NEWLIST (J) IS NOT NULL
    THEN
    IF J <
    NEWLIST.COUNT
    THEN
    IF ISCOMMA =
    TRUE
    THEN
    UPD_QRY :=
    UPD_QRY
    || ',';
    END IF;
    END IF;
    ISCOMMA := FALSE;
    TYP :=
    NEWLIST
    (J).DATA.GETTYPENAME;
    IF (TYP =
    'SYS.VARCHAR2'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETVARCHAR2
    (DATA1
    IF DATA1 IS NOT NULL
    THEN
    UPD_QRY :=
    UPD_QRY
    || NEWLIST
    (J
    ).COLUMN_NAME;
    UPD_QRY :=
    UPD_QRY
    || EQUALS;
    UPD_QRY :=
    UPD_QRY
    || ' '
    || ''''
    || SUBSTR
    (DATA1,
    0,
    253
    || '''';
    ISCOMMA :=
    TRUE;
    END IF;
    ELSIF (TYP =
    'SYS.NUMBER'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETNUMBER
    (NUM1
    IF NUM1 IS NOT NULL
    THEN
    UPD_QRY :=
    UPD_QRY
    || NEWLIST
    (J
    ).COLUMN_NAME;
    UPD_QRY :=
    UPD_QRY
    || EQUALS;
    UPD_QRY :=
    UPD_QRY
    || ' '
    || NUM1;
    ISCOMMA :=
    TRUE;
    END IF;
    ELSIF (TYP =
    'SYS.DATE'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETDATE
    (DATE1
    IF DATE1 IS NOT NULL
    THEN
    UPD_QRY :=
    UPD_QRY
    || NEWLIST
    (J
    ).COLUMN_NAME;
    UPD_QRY :=
    UPD_QRY
    || EQUALS;
    UPD_QRY :=
    UPD_QRY
    || ' '
    || 'TO_Date( '
    || ''''
    || DATE1
    || ''''
    || ', '''
    || 'DD/MON/YYYY HH:MI:SS AM'')';
    ISCOMMA :=
    TRUE;
    END IF;
    ELSIF (TYP =
    'SYS.TIMESTAMP'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETTIMESTAMP
    (TIMESTAMP1
    IF TIMESTAMP1 IS NOT NULL
    THEN
    UPD_QRY :=
    UPD_QRY
    || ' '
    || ''''
    || TIMESTAMP1
    || '''';
    ISCOMMA :=
    TRUE;
    END IF;
    END IF;
    END IF;
    END LOOP;
    --Setting the where Condition
    UPD_QRY := UPD_QRY || ' WHERE ';
    FOR I IN 1 .. PK_COUNT
    LOOP
    SELECT COLUMN_NAME
    INTO PK_TABLE (I)
    FROM ALL_CONS_COLUMNS COL,
    ALL_CONSTRAINTS CON
    WHERE COL.TABLE_NAME =
    CON.TABLE_NAME
    AND COL.CONSTRAINT_NAME =
    CON.CONSTRAINT_NAME
    AND CON.CONSTRAINT_TYPE =
    'P'
    AND POSITION = I
    AND CON.TABLE_NAME =
    ROWLCR.GET_OBJECT_NAME;
    FOR J IN
    1 .. NEWLIST.COUNT
    LOOP
    IF NEWLIST (J) IS NOT NULL
    THEN
    IF NEWLIST
    (J
    ).COLUMN_NAME =
    PK_TABLE
    (I
    THEN
    UPD_QRY :=
    UPD_QRY
    || ' '
    || NEWLIST
    (J
    ).COLUMN_NAME;
    UPD_QRY :=
    UPD_QRY
    || ' '
    || EQUALS;
    TYP :=
    NEWLIST
    (J
    ).DATA.GETTYPENAME;
    IF (TYP =
    'SYS.VARCHAR2'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETVARCHAR2
    (DATA1
    UPD_QRY :=
    UPD_QRY
    || ' '
    || ''''
    || SUBSTR
    (DATA1,
    0,
    253
    || '''';
    ELSIF (TYP =
    'SYS.NUMBER'
    THEN
    RET :=
    NEWLIST
    (J
    ).DATA.GETNUMBER
    (NUM1
    UPD_QRY :=
    UPD_QRY
    || ' '
    || NUM1;
    END IF;
    IF I <
    PK_COUNT
    THEN
    UPD_QRY :=
    UPD_QRY
    || ' AND ';
    END IF;
    END IF;
    END IF;
    END LOOP;
    END LOOP;
    UPD_QRY := UPD_QRY || ';';
    DBMS_OUTPUT.PUT_LINE (UPD_QRY);
    --Generate Update Query - End
    END LOOP;
    END;

    Thanks for you replies HTH and Dipali.
    I would like to make some points clear from my side based on the issue i have raised.
    1.The No Data Found error is happening on a table for which supplemental logging is enabled.
    2.As per my understanding, the "Apply" process is comparing the existing data in the destination database with the "Old" data in the LCR.
    Once there is a mismatch between these 2, ORA-01403 is thrown. (Please tell me whether my understanding is correct or not)
    3.This mismatch can be on date field or even on the timestamp millisecond as well.
    Now, the point im really wondering about :
    Some how a mismatch got generated in the destination database (Not sure about the reason) and ORA-01403 is thrown.
    If we could update the Destination database with the "Old" data from LCR, this mismatch should be resolved isnt it?
    Reply to you Dipali :
    If nothing is working out, im planning to put a conflict handler for all tables with "OVERWRITE" option. With the following script
    --Generate script for applying Conflict Handler for the Tables for which Supplymentary Logging is enabled
    declare
    count1 number;
    query varchar2(500) := null;
    begin
    for tables in (
    select table_name from user_tables where table_name IN ("NAMES OF TABLES FOR WHICH SUPPLEMENTAL LOGGING IS ENABLED")
    loop
    count1 := 0;
    dbms_output.put_line('DECLARE');
    dbms_output.put_line('cols DBMS_UTILITY.NAME_ARRAY;');
    dbms_output.put_line('BEGIN');
    select max(position) into count1
    from all_cons_columns col, all_constraints con
    where col.table_name = con.table_name
    and col.constraint_name = con.constraint_name
    and con.constraint_type = 'P'
    and con.table_name = tables.table_name;
    for i in 1..count1
    loop
    query := null;
    select 'cols(' || position || ')' || ' := ' || '''' || column_name || ''';'
    into query
    from all_cons_columns col, all_constraints con
    where col.table_name = con.table_name
    and col.constraint_name = con.constraint_name
    and con.constraint_type = 'P'
    and con.table_name = tables.table_name
    and position = i;
    dbms_output.put_line(query);
    end loop;
    dbms_output.put_line('DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER(');
    dbms_output.put_line('object_name => ''ICOOWR.' || tables.table_name|| ''',');
    dbms_output.put_line('method_name => ''OVERWRITE'',');
    dbms_output.put_line('resolution_column => ''COLM_NAME'',');
    dbms_output.put_line('column_list => cols);');
    dbms_output.put_line('END;');
    dbms_output.put_line('/');
    dbms_output.put_line('');
    end loop;
    end;
    Reply to u HTH :
    Our Destination database is a replica of the source and no triggers are running on any of these tables.
    This is not the first time im facing this issue. Earlier, we had to take big outage times and clear the Replica database and apply the dump from the source...
    Now i cant think about that situation.

  • Logical Standby Data Consistency issues

    Hi all,
    We have been running a logical standby instance for about three weeks now. Both our primary and logical are 11g (11.1.0.7) databases running on Sun Solaris.
    We have off-loaded our Discoverer reporting to the logical standby.
    About three days ago, we started getting the following error message (initially for three tables, but from this morning on a whole lot more)
    ORA-26787: The row with key (<coulmn>) = (<value>) does not exist in table <schema>.<table>
    This error implies that we have data consistency issues between our primary and logical standby databases, but we find that hard to believe
    because the "data guard" status is set to "standby", implying that schemas' being replicated by data guard are not available for user modification.
    any assistance in this regard would be greatly appreciated.
    thanks
    Mel

    It is a bug : Bug 10302680 . Apply the corresponding Patch 10302680 to your standby db.

Maybe you are looking for

  • HP Envy M6 Microphone Issues

    I have an HP Envy M6 running windows 8.  I'm trying to record running an external mic through a guitar amp.  The output from the guitar amp works, but when I plug it into the speaker/mic combo jack, it will only recognize it as a speaker, and not a m

  • Error message when trying to sync iPhone 3GS.

    After updating my iPhone 3GS with the newest iOS and restoring it, I now get this message when trying to sync the iPhone 3GS The iPhone "iPhone" could not be synced because the sync session failed to finish. Have recently purchased 4S and need to con

  • Maya 2015 cannot see Mac Pro 2013 or GPU

    Cannot understand why Apple would have Autodesk certify the AMD D500 on a Mac Pro 2015 when in preference the make of workstation and the GPU cannot be seen. I am getting nowhere with Autodesk so I hope someone might know here. Do I have to move to t

  • Help: Oracle8i installation on Linux6.0

    I could use some help with the installation of Oracle8i I have downloaded the single file version of the enterprise and I have gotten JDK116_v5 installed and running. I am new to this.. Can any one help. null

  • Qosmio G20-127: Hotkeys & Fn buttons don't work with Vista RC1

    This problem is really annoying me. Neither the Hotkeys(play, pause, forward, record, brightness) nor the Fn Buttons work since I installed windows vista RC1. I need to find a solution for this issue. If anyone has experienced it please provide me wi