Problem with Simple Transformation

Hi to all
I am working with ST, and have the following issue:
I have a highly nested xml structure, and, when I execute a abap program with a myself ST, only the last one data is passed to internal tables.
I want to know: how can I do to get that all the information from xml file to store to internal tables but not only the latest information structure?
For example I have the following xml file, and only the last occurence of <PSMService> is update in internal tables.
Thank you very much for your help.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<InvoicingInformation>
<Services>
<PSMServices>
        <PSMService ContractCode="STF0996" InvoicePeriod="2011-01-31T00:00:00-06:00" ReceiptPointCode="347">
          <Transactions>
            <Transaction ReceiptPointCode="347" DeliveryPointCode="167" ExitTramoCode="15" SectorCode="SECTP_GNV">
            </Transaction>
          </Transactions>
          <DailyCharges>
            <DailyCharge ChargeCode="CHRGS_FIJO" Date="2011-01-01T00:00:00-06:00" Quantity="93" QuantityUnit="KPC">
            </DailyCharge>
            <DailyCharge ChargeCode="CHRGS_FIJO_COP" Date="2011-01-01T00:00:00-06:00" Quantity="93" QuantityUnit="KPC">
            </DailyCharge>
          </DailyCharges>
          <AggregateCharges>
            <AggregateCharge ChargeCode="CHRGS_DESVIO" IsTiered="false" Quantity="0" QuantityUnit="KPC" CurrencyCode="COP">
            </AggregateCharge>
            <AggregateCharge ChargeCode="CHRGS_DESVIO_US$" IsTiered="false" Quantity="0" QuantityUnit="KPC" CurrencyCode="USD">
            </AggregateCharge>
         </AggregateCharges>
        </PSMService>
        <PSMService ContractCode="STF0996" InvoicePeriod="2011-01-31T00:00:00-06:00" ReceiptPointCode="347">
          <Transactions>
            <Transaction ReceiptPointCode="347" DeliveryPointCode="192A" ExitTramoCode="16" SectorCode="SECTP_GNV">
            </Transaction>
          </Transactions>
          <DailyCharges>
            <DailyCharge ChargeCode="CHRGS_FIJO" Date="2011-01-01T00:00:00-06:00" Quantity="112" QuantityUnit="KPC">
            </DailyCharge>
            <DailyCharge ChargeCode="CHRGS_FIJO_COP" Date="2011-01-01T00:00:00-06:00" Quantity="112" QuantityUnit="KPC">
            </DailyCharge>
          </DailyCharges>
          <AggregateCharges>
            <AggregateCharge ChargeCode="CHRGS_FIJO" IsTiered="false" Quantity="560" QuantityUnit="KPC" CurrencyCode="USD">
            </AggregateCharge>
            <AggregateCharge ChargeCode="CHRGS_FIJO_COP" IsTiered="false" Quantity="560" QuantityUnit="KPC" CurrencyCode="COP">
            </AggregateCharge>
          </AggregateCharges>
        </PSMService>
        <PSMService ContractCode="STF0996" InvoicePeriod="2011-01-31T00:00:00-06:00" ReceiptPointCode="360">
          <Transactions>
            <Transaction ReceiptPointCode="260A" DeliveryPointCode="167" ExitTramoCode="15" SectorCode="SECTP_GNV">
            </Transaction>
            <Transaction ReceiptPointCode="260B" DeliveryPointCode="168" ExitTramoCode="15" SectorCode="SECTP_GNV">
            </Transaction>
          </Transactions>
          <DailyCharges>
            <DailyCharge ChargeCode="CHRGS_DESVIO" Date="2011-01-01T00:00:00-06:00" Quantity="0" QuantityUnit="KPC">
            </DailyCharge>
            <DailyCharge ChargeCode="CHRGS_DESVIO_US$" Date="2011-01-01T00:00:00-06:00" Quantity="0" QuantityUnit="KPC">
            </DailyCharge>
          </DailyCharges>
          <AggregateCharges>
            <AggregateCharge ChargeCode="CHRGS_DESVIO" IsTiered="false" Quantity="0" QuantityUnit="KPC" CurrencyCode="COP">
            </AggregateCharge>
            <AggregateCharge ChargeCode="CHRGS_DESVIO_US$" IsTiered="false" Quantity="0" QuantityUnit="KPC" CurrencyCode="USD">
            </AggregateCharge>
          </AggregateCharges>
        </PSMService>
</PSMServices>
</Services>
</InvoicingInformation>
Edited by: Thomas Zloch on May 10, 2011 12:46 PM - code tags added

Hi Charles.
Thank you.
This is a piece of the simple transformation:
<Services>
<!--                 PSM Services  -->
<PSMServices tt:extensible="deep-dynamic">
<tt:loop name="PSMService" ref="TABLA_PSM_SERVICES">
     <PSMService tt:extensible="deep-dynamic">
        <tt:attribute name="ContractCode" value-ref="$PSMService.ContractCode"/>
        <tt:attribute name="InvoicePeriod" value-ref="$PSMService.InvoicePeriod"/>
        <tt:attribute name="ReceiptPointCode" value-ref="$PSMService.ReceiptPointCode"/>
        <tt:attribute name="DeliveryPointCode" value-ref="$PSMService.DeliveryPointCode"/>
        <tt:attribute name="ExitTramoCode" value-ref="$PSMService.ExitTramoCode"/>
        <tt:attribute name="SectorCode" value-ref="$PSMService.SectorCode"/>
        <tt:attribute name="MarketCode" value-ref="$PSMService.MarketCode"/>
        <tt:attribute name="TransportMarketCode" value-ref="$PSMService.TransportMarketCode"/>
        <tt:attribute name="InvoiceBy" value-ref="$PSMService.InvoiceBy"/>
        <tt:attribute name="MarketCapacity" value-ref="$PSMService.MarketCapacity"/>
        <tt:attribute name="MarketCapacityUnitCode" value-ref="$PSMService.MarketCapacityUnitCode"/>
        <tt:attribute name="SAPMaterialCode" value-ref="$PSMService.SAPMaterialCode"/>
        <Transactions tt:extensible="deep-dynamic">
           <tt:loop name="Transaction" ref=".TABLA_PSM_TRANSACTIONS">
             <Transaction tt:extensible="deep-dynamic">
                <tt:attribute name="ReceiptPointCode" value-ref="$Transaction.ReceiptPointCode"/>
                <tt:attribute name="DeliveryPointCode" value-ref="$Transaction.DeliveryPointCode"/>
                <tt:attribute name="ExitTramoCode" value-ref="$Transaction.ExitTramoCode"/>
                <tt:attribute name="SectorCode" value-ref="$Transaction.SectorCode"/>
                <tt:attribute name="MarketCode" value-ref="$Transaction.MarketCode"/>
                <tt:attribute name="MarketCapacity" value-ref="$Transaction.MarketCapacity"/>
                <tt:attribute name="Firm" value-ref="$Transaction.Firm"/>
                <tt:attribute name="Overrun " value-ref="$Transaction.Overrun "/>
                <tt:attribute name="UnitCode" value-ref="$Transaction.UnitCode"/>
                <tt:attribute name="SAPMaterialCode" value-ref="$Transaction.SAPMaterialCode"/>
             </Transaction>
           </tt:loop>
        </Transactions>
        <DailyCharges tt:extensible="deep-dynamic">
            <tt:loop name="DailyCharge" ref=".TABLA_PSM_DAILYCHARGES">
                <DailyCharge tt:extensible="deep-dynamic">
                    <tt:attribute name="ChargeCode" value-ref="$DailyCharge.ChargeCode"/>
                    <tt:attribute name="Date" value-ref="$DailyCharge.Date"/>
                    <tt:attribute name="Quantity" value-ref="$DailyCharge.Quantity"/>
                    <tt:attribute name="QuantityUnit" value-ref="$DailyCharge.QuantityUnit"/>
                </DailyCharge>
            </tt:loop>
        </DailyCharges>
        <AggregateCharges tt:extensible="deep-dynamic">
            <tt:loop name="AggregateCharge" ref=".TABLA_PSM_AGGREGATECHARGES">
                <AggregateCharge tt:extensible="deep-dynamic">
                    <tt:attribute name="ChargeCode" value-ref="$AggregateCharge.ChargeCode"/>
                    <tt:attribute name="IsTiered" value-ref="$AggregateCharge.IsTiered"/>
                    <tt:attribute name="Quantity" value-ref="$AggregateCharge.Quantity"/>
                    <tt:attribute name="QuantityUnit" value-ref="$AggregateCharge.QuantityUnit"/>
                    <tt:attribute name="CurrencyCode" value-ref="$AggregateCharge.CurrencyCode"/>
                    <tt:attribute name="TariffRate" value-ref="$AggregateCharge.TariffRate"/>
                    <tt:attribute name="TariffRateUnit" value-ref="$AggregateCharge.TariffRateUnit"/>
                </AggregateCharge>
            </tt:loop>
          </AggregateCharges>
        </PSMService>
       </tt:loop>
      </PSMServices>
  </Services>
Edited by: Thomas Zloch on May 10, 2011 12:47 PM - code tags added

Similar Messages

  • Problem with CALL TRANSFORMATION xml - abap

    Hello!
    I got the following problems using call transformation to read a xml-file to local abap datatype!
    Simple xml file for testing:
    <BMECAT>
    <HEADER>
    asdf
    </HEADER>
    </BMECAT>
    XSLT file:
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:template match="/">
        <xsl:value-of select="./BMECAT/HEADER"/>
      </xsl:template>
    </xsl:transform>
    The xslt transformation works with xslt-tester!
    My Source:
    DATA: xmlupl TYPE string,
    outputx TYPE XSTRING,
    lv_string TYPE string.
    * in xmlupl my xml import is stored
    CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    EXPORTING
    text = xmlupl " variable type string
    IMPORTING
    buffer = outputx. " variable type xstring
    TRY .
         CALL TRANSFORMATION path_to_xslt_file
           SOURCE XML outputx
         RESULT HEADER = lv_string.
    CATCH cx_xslt_exception INTO xslt_error.
         data: xslt_message type string .
         xslt_message = xslt_error->get_text( ).
    ENDTRY.
    After debugging in xslt_message is stored the following text:
    "The element abap was expected for the XML-ABAP transformation"
    Can anyone help me with this problem?
    Regards,
    Daniel

    hi
    good
    try this code
    Just look at this piece of code, I think it should help you.
      DATA : ITAB   TYPE TABLE OF SPFLI,
             L_XML  TYPE REF TO CL_XML_DOCUMENT.
      SELECT * FROM SPFLI INTO TABLE ITAB.
    CREATE THE XML OBJECT
      CREATE OBJECT L_XML.
    CONVERT THE DATA TO XML
      CALL METHOD L_XML->CREATE_WITH_DATA( DATAOBJECT = ITAB[] ).
    DATA IS CONVERTED TO XML; DISPLAY THE XML-DOCUMENT
      CALL METHOD L_XML->DISPLAY.
    thanks
    mrutyun^

  • Problem with x:transform function : translation with XSLT

    I've got a problem with this code :
    This is the XML file :
    <%@taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
    <c:import var="xslDoc" url="test.xsl"/>
    <x:transform  xslt ="${xslDoc}">
      <students>
      <student id="1">
       <name>
         <first>John</first>
         <last>Smith</last>
         <middle>T</middle>
       </name>
       <grade>
         <points>72</points>
         <letter>C</letter>
       </grade>
      </student>
    </students>
    </x:transform>This is the XSLT :
    <xsl:stylesheet version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="students">
      <html>
      <head>
      <title>XSLT Transform</title>
      </head>
      <body>
       <table border="1">
       <tr><th>First</th><th>Last</th>
    <th>Points</th><th>Letter</th></tr> 
       <xsl:apply-templates/>
       </table>
       </body>
      </html>
    </xsl:template>
    <xsl:template match="student">
      <tr>
       <td><xsl:value-of select="name/first"/></td>
       <td><xsl:value-of select="name/last"/></td>
       <td><xsl:value-of select="grade/points"/></td>
       <td><xsl:value-of select="grade/letter"/></td>
      </tr>
    </xsl:template>
    </xsl:stylesheet>I use NetBeans 3.5.1 for compiling and testing, and on my machine all works fine.
    But when i upload the code on the server i''ve this type of error :
    HTTP Status 500 - Internal Server Error
    exception
    org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
         at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
         at java.lang.Thread.run(Thread.java:536)
    root cause
    java.security.AccessControlException: access denied (java.util.PropertyPermission org.xml.sax.driver read)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
         at java.security.AccessController.checkPermission(AccessController.java:401)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
         at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
         at java.lang.System.getProperty(System.java:572)
         at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:81)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:280)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.getSource(TransformSupport.java:276)
         at org.apache.taglibs.standard.tag.common.xml.TransformSupport.doStartTag(TransformSupport.java:159)
         at org.apache.taglibs.standard.tag.el.xml.TransformTag.doStartTag(TransformTag.java:104)
         at org.apache.jsp.test_jsp._jspService(test_jsp.java:78)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
         at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
         at java.lang.Thread.run(Thread.java:536)
    org.apache.jasper.JasperException: access denied (java.util.PropertyPermission org.xml.sax.driver read)It seems a permission problem, but my experience with JSP is very poor , i've asked to control to my host
    the policy of the folders but they didn't respond me yet.
    Any suggestion ?
    Thx for reading, and sorry for my rusty english :-P

    Thanks.
    I've already tried to insert the whole path. You mean this,right ?
    <c:import var="xslDoc" url="http://www.domain.net/examples/test.xsl"/>I've searched a lot with google but i haven't find anything.
    I've not searched a lot into the jakarta site, I'll do tomorrow, now it's
    a bit late (1:45 AM in Italy :-0 ), so i think that i'll go to sleep.
    Thanks for responding so soon!
    I'll wait for your new infos.
    Thanks again.
    read you tomorrow.

  • Problem with simple chart

    Hi everyone. I've got a problem with ABAP charts. I need to place a simple chart in screen's container.
    REPORT ZWOP_TEST4 .
    Contain the constants for the graph type
    TYPE-POOLS: GFW.
    DATA: VALUES       TYPE TABLE OF GPRVAL WITH HEADER LINE.
    DATA: COLUMN_TEXTS TYPE TABLE OF GPRTXT WITH HEADER LINE.
    DATA: ok_code LIKE sy-ucomm.
    DATA: my_container TYPE REF TO cl_gui_custom_container.
    REFRESH VALUES.
    REFRESH COLUMN_TEXTS.
    VALUES-ROWTXT = 'Salary'.
    VALUES-VAL1 = 50000.
    VALUES-VAL2 = 51000.
    APPEND VALUES.
    VALUES-ROWTXT = 'Life cost'.
    VALUES-VAL1 = 49000.
    VALUES-VAL2 = 51200.
    APPEND VALUES.
    COLUMN_TEXTS-COLTXT = '2003'.
    APPEND COLUMN_TEXTS.
    COLUMN_TEXTS-COLTXT = '2004'.
    APPEND COLUMN_TEXTS.
    Call a chart into a standard container, this function could be used
    for many different graphic types depending on the presentation_type
    field :
    gfw_prestype_lines
    gfw_prestype_area
    gfw_prestype_horizontal_bars
    gfw_prestype_pie_chart
    gfw_prestype_vertical_bars
    gfw_prestype_time_axis
    CALL SCREEN '1000'.
      CALL FUNCTION 'GFW_PRES_SHOW'
        EXPORTING
          CONTAINER         = 'CONTAINER'    "A screen with an empty
                                            container must be defined
          PRESENTATION_TYPE = GFW_PRESTYPE_LINES
        TABLES
          VALUES            = VALUES
          COLUMN_TEXTS      = COLUMN_TEXTS
        EXCEPTIONS
          ERROR_OCCURRED    = 1
          OTHERS            = 2.
    *&      Module  STATUS_1000  OUTPUT
          text
    MODULE STATUS_1000 OUTPUT.
      SET PF-STATUS 'GUI_1000'.
    SET TITLEBAR 'xxx'.
      IF my_container IS INITIAL.
        CREATE OBJECT my_container
          EXPORTING container_name = 'CONTAINER'.
      ENDIF.
    ENDMODULE.                 " STATUS_1000  OUTPUT
    *&      Module  USER_COMMAND_1000  INPUT
          text
    MODULE USER_COMMAND_1000 INPUT.
      ok_code = sy-ucomm.
      CASE ok_code.
        WHEN 'EXIT'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1000  INPUT
    I created a screen 1000 in SCREENPAINTER, named it 'CONTAINER'. Then I try to launch code above and nothing appears on the screen. Could You give me some tip?

    Hi,
    delete this lines:
    IF my_container IS INITIAL.
    CREATE OBJECT my_container
    EXPORTING container_name = 'CONTAINER'.
    ENDIF.
    then it should work.
    R

  • Problem With Match Transformation

    Hi ,
    I am using Match transformation to find the duplicates .
    My input data like this
    EMP NO     ENAME         SAL     DEPTNO
    10     SRIRAM MV  10000     100
    11     MV SRIRAM  11000     100
    12     SRIRAM PV  11000     100
    13     SRIHARI       11000     100
    14     SUBBIAH       11000     100
    15     RAMANA       11000     100
    Iam finding the duplicates on Ename .
    My ename data like SRIRAM MV, MV SRIRAM  like that data . both are duplicate records . for that iam using WORD SIMILARITY  option instead of field similarity with match score is 100 and no match score is 99.
    But i am getting all are unique records .
    If i am using match score is 85 and no match  score is 84 then iam getting the result like this .
    EMP NO     ENAME     SAL     DEPTNO     GROUP_NUMBER     MATCH_STATUS     MATCH_SCORE
    11     MV SRIRAM     11000     100     1     P     94
    15     RAMANA     11000     100          U     
    13     SRIHARI     11000     100          U     
    10     SRIRAM MV     10000     100     1     D     
    12     SRIRAM PV     11000     100     1     P     88
    14     SUBBIAH     11000     100          U     
    means MV SRIRAM,SRIRAM MV ,SRIRAM PV  comes under one group number with SRIRAM MV  as driver and MV SRIRAM as passenger with 94 similarity score and  SRIRAM PV as passenger with 88 score.
    While i am using the match score i need to get 100% per SRIRAM MV and MV SRIRAM . then whats the settings needed to get correct result. whats the problem with my settings.
    Please help me out to solve the problem
    Thanks&Regards,
    Ramana.

    Ramana,
    <<< My ename data like SRIRAM MV, MV SRIRAM like that data . both are duplicate records . for that iam using WORD SIMILARITY option instead of field similarity with match score is 100 and no match score is 99. >>>
    You are looking for an exact match here, but MV SRIRAM and SRIRAM MV are not exactly the same.  The characters MV are in different positions.  The Word Similarity option compares words instead of the entire field, but the character position also affects the match score.
    <<< While i am using the match score i need to get 100% per SRIRAM MV and MV SRIRAM . >>>
    You cannot force the the match score to be a specific value.  SRIRAM MV and MV SRIRAM are not a 100% match and never will be.  What you need to do is adjust the match settings so that the dupe group includes SRIRAM MV and MV SRIRAM but excludes SRIRAM PV.  Try Match Score = 90 and No Match Score = 89.

  • Problems with simple picture gallery

    I've got a website project where the client wanted a picture
    gallery. I don't really do much with Flash so I went on the web and
    found a tutorial on how to get what I want. Problem is that the
    instructions I followed are fairly old so I couldn't export my
    movie any higher than AS2 and Flash 6 and have it work. That would
    be fine except that I wanted to use a feature that requires Flash 8
    or higher, namely a gradient mask. I was hoping that I could post
    my code and have the board gurus help me out with what i need to do
    to get everything working together.
    First you'll want to create a movie using AS2 and Flash 8 to
    see what I'm trying to accomplish, then export it again with Flash
    6 to see it actually working. You can grab a copy of what I'm
    working with here:
    http://www.technospider.com/~david/rusty.zip
    All help greatly appreciated.
    Thanks,
    David

    based on experience. i didn't check your file.
    you're not likely to get anyone in this forum to check your
    file.
    if there's not code problem, and you can't publish for flash
    8, there will be an error message. if you can publish for flash 8,
    you see no error message but your application fails to work
    correctly, you must have a problem with code.

  • Problem with simple query

    I have a problem with Oracle 10.2.0.5.0 and 11.2.0.1.0. Query result is wrong.
    SELECT t.id
      FROM (SELECT t.ID, MAX(t.nom) AS nom
              FROM (SELECT 2 AS ID, 200 AS nom
                      FROM dual
                    UNION ALL
                    SELECT 3 AS ID, 0 AS nom FROM dual) t
              LEFT JOIN (SELECT 0 AS ID_1, 0 AS nom_1 FROM dual) s
                ON s.id_1 = t.ID
             WHERE t.ID IN (2, 3)
             GROUP BY t.ID
            HAVING MAX(t.nom) != 0) t;Return nothing.
    But on Oracle 10.2.0.4.0 result is correct:
    ID  NOM
    2  200

    Looks like a bug related to ANSI joins.
    Check Oracle Support, maybe it's fixed in 11.2.0.2.
    It works with Oracle join syntax :
    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
    Connected as dev
    SQL>
    SQL> SELECT t.id
      2    FROM (SELECT t.ID, MAX(t.nom) AS nom
      3            FROM (SELECT 2 AS ID, 200 AS nom
      4                    FROM dual
      5                  UNION ALL
      6                  SELECT 3 AS ID, 0 AS nom FROM dual) t
      7                ,(SELECT 0 AS ID_1, 0 AS nom_1 FROM dual) s
      8           WHERE t.ID IN (2, 3)
      9           AND s.id_1(+) = t.ID
    10           GROUP BY t.ID
    11          HAVING MAX(t.nom) != 0) t;
            ID
             2

  • BOE XI 3.1: Problem with Simple Report Filter.

    Hi everyone!.
    One requirement that i have in one customer is about the use of simple reports filters, the customer doesn't want to use the input controls.
    If i add one simple report filter and save the report, the final user can add other simple report filters, but the problem is that the name "Others" appears with all the variables than i have created to be used in the report.
    Is it possible to hide the group "Others"?
    Thanks!
    Edited by: Jaime Pestaña on Mar 12, 2010 10:26 AM

    If I understood you clearly, I think you have few variables created and one set of variable is called Others and you dont want users to see it.
    There are couple of things you can do.
    First one is to Use Othere filters as constant and it will not appear.
    Second you can use others filter at Report level and it will not prompt to users.
    Bashir Awan

  • Problem with XSLT Transformation on BPM

    Hi there,
    I have a 1:N File --> Idocs Scenario with BPM, Inside the BPM i have an XSLT Transformation that has a problem i cant figure out, basically this XSLT Groups the file structure like this:
    <File>                                                *                  <Shipments>
       <Route>                                         *                     <Route>
          <Id>1</Id>                                   *                         <Id>1</Id>
          <delivery>1</delivery>               *                         <delivery>1</delivery>
       </Route>                                        *                         <delivery>2</delivery>
      <Route>                                          *                     </Route>
          <Id>1</Id>                                   *                     <Route>
          <delivery>2</delivery>               *                         <Id>2</Id>
       </Route>                                        *                         <delivery>3</delivery>
      <Route>                                          *                         <delivery>4</delivery>
          <Id>2</Id>                                   *                      </Route>
          <delivery>3</delivery>               *                   </Shipments>
       </Route>                                        *
       <Route>                                         *
          <Id>2</Id>                                   *
          <delivery>4</delivery>               *
       </Route>                                        *
    </File>                                               *
    It's supposed to generate 1 Route Segment for each disctint Route Id on the Source file, it has always worked fine as we ran several tests before going into production system, but now, sometimes it misses a few routes for example the output will be 25 different Routes for a source file that 28, or 2 routes from a file that as 3.
    I have tested the XSLT on the repository and it works fine all the time, same thing when using xml spy, i always download the payload i get from the file adapter, i got a source file from PRD that has 28 routes and i ran the whole scenario on QAS and it generated 12 routes only, im about to open an OSS message but first i wanted to know if anyone has seen something like this, thanks in advance for all the help you guys can provide.
    Best Regards,
    Roberto.
    p.s. i can send the XSL if needed or anything just ask for it.

    Hi,
    Basically because i  have to do 2 transformations, first i run the XSLT to group all the deliveries and such, and then i do a graphic mapping to split it into single Shipment Idocs, i dont know how to group by id on graphical mapping..., anyway i don't think the fact that im using BPM would finally alter the xslt result,
    Regards,
    Roberto.

  • Newbie problem with JAXM - Transformer  Exception

    Hi there!
    I am looking for some start- up help.
    I have this SOAP message in a file (test.xml)
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
      <soap-env:Header>
        <m:SessionID xmlns:m="Some-URL" value="2123123"/>
      </soap-env:Header>
      <soap-env:Body>
        <m:StartSession xmlns:m="Some-URL">
          <username>TestUser</username>
        </m:StartSession>
      </soap-env:Body>
    </soap-env:Envelope>I use the following lines of code
      StreamSource src  = new StreamSource(new File("c:/test.xml"));
      TransformerFactory tFact=TransformerFactory.newInstance();
      Transformer trans = tFact.newTransformer(src);And i get an Transformer exception saying
    javax.xml.transform.TransformerException: stylesheet requires attribute: versionAny hint? Thanks a lot!

    I think I found the problem because I managed to use the transformer ..and to read from the xml file.Aftwards with the output of the transformrt i produced a separaye xml
    WRONG ->>The passing parameter src
    Transformer trans = tFact.newTransformer(src);
    Anyway thats ok because I had to search through the XSLTC thing and read some usefull things!

  • Problem with simple error checking

    Scratch the error checking bit. The original code involved error checking, but I've dwindled the problem down to the following code:
    int input;
    cout << endl << "Enter number: ";
    cin >> input;
    if (isnumber(input) == 0)
    cout << "Not a number";
    else
    cout << "Is a number";
    How is it that, when I enter the number 2 as input for this program, I get the response "Not a number." I get the same response when I enter something that actually is not a number, like the character 'a', as input. No matter what, it displays "Not a number."
    This seems really basic to me. Am I missing something obvious here?

    As far as isnumber() goes, I made a mistake. Apparently isnumber() is also a function because it didn't raise an error, but it was a typo -- the function I meant to use was isdigit(), not isnumber(). So, I changed the function isnumber() to isdigit(), but still got the exact same result.
    I've since figured out what the problem is, though. The function isdigit() was given in the notes my professor provided, along with isalpha(), ispunct(), isspace(), isupper(), and islower(). It occurred to me that these functions are intended to be used with single characters, and in my code I had defined the variable input as an int. So, I changed input to data type char and it worked fine.
    So, that solves that issue, but raises another. Consider the following code, if you will:
    int numHands;
    while (numHands < 1 || numHands > 7)
    cout << endl << "How many hands do you want to play: ";
    cin >> numHands;
    if (numHands < 1)
    cout << endl << "You must play at least one hand...";
    wait();
    else if (numHands > 7)
    cout << endl << "You can not play more than seven hands...";
    wait();
    This is a simple bit of error checking to make sure that the number that the user enters is between 1 and 7, and in that regard, it works fine. It does not, however, ensure that what the user enters is a number in the first place. My original solution to this was the following code:
    while (numHands < 1 || numHands > 7 || isdigit(numHands) == 0)
    cout << endl << "How many hands do you want to play: ";
    cin >> numHands;
    if (numHands < 1)
    cout << endl << "You must play at least one hand...";
    else if (numHands > 7)
    cout << endl << "You can not play more than seven hands...";
    else if (isdigit(numHands) == 0)
    cout << endl << "You did not enter a number...";
    When this didn't work, it prompted me to post this thread, but as I mentioned at the beginning of this post, I realized that the reason it didn't work was because isdigit() works with char and not int data types, and I obviously can't declare numHands as a char because the user could enter more than one character as input.
    How, then, can I error check to ensure that the user's input is, in fact, a number?

  • Problems with xml transformation via xslt - strange results

    hi everybody...
    i've little trouble finalling a little tool programmed by myself for my education.
    the application contains a kind of document-server which enables the client to up- and download xml-document in a special format to/from the server.
    in case of the xml-dtd of client and server are different (same type of content, different dtd) the server implements a method called transform(StreamSource source, StreamSource xsl_stylesheet, StreamResult result) which contains the following code:
        transform(StreamSource source, StreamSource xml_stylesheet, StreamResult result) {
          try {
            TransformerFactory factory = TransformerFactory.newInstance();
            Templates template = factory.newTemplates(xsl_stylesheet);
            Transformer transformer = template.newTransformer();
            transformer.transform(source, result);
            return true;
          catch(Exception e) {
            return false;
        }the method is called by the methods downloadFile(...) and uploadFile(...) which both generate the different StreamSource- and StreamResult-Objects.
    by using the downloadFile(...) method, the requested file is transformed, stored temporary in a tmp-directory, read in and send to the requesting client.
    by using the uploadFile(...) method, the sent file is stored temporary in the tmp-directory, read in, transformed and stored as new server-document (if the file still exists it will be overwritten).
    My Problem:
    the result files generated by transform(SreamSource source, StreamSource xsl_stylesheet, StreamResult result) look strange. That means the result xml-code is not equal to the result xml-code i generated by transforming my xml-documents with saxon.
    The xsl files are correct and the xml files are wellformed as well as they are valid.
    The result files look like this:
    <?xml-stylesheet type="text-xsl" href="../xsl/SERVER.xsl"?>
       XYZ
       ABC
          1
          piece
          One piece of ABC(-> <?xml-stylesheet type="text-xsl" href="../xsl/SERVER.xsl"?> is a "string" of code from the source xml-file...)
    The result should look like this:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE a-resource SYSTEM "../dtd/A.dtd">
    <a-resource id="XYZ">
       <a-type>ABC</a-type>
       <a-data>
          <a-value>1</a-value>
          <a-unit>piece</a-unit>
          <a-descr>One piece of ABC</a-descr>
       </a-data>
    </a-resource>Is there anyone who knows what kind of mistake i did in my transform(...) method??
    Do I need to add some attributes to any of the Objects of Template of Transformer??
    please... help me
    i've been testing now over two nights long but couldn't find any solution how to bring my application to work "correct".
    thanks,
    Thof!!!

    ok...
    i got it!
    seems like jaxpi is unable to convert files with extensions different to .xml ...
    now it's working

  • Problem with simple label program

    I'm getting a problem to a most basic program. I'm using the Java2 Fast And Easy Web Start book. This simple label program gives me an error when I compile. This is the program
    //Label Program
    //Danon Knox
    //Another basic program
    import java.awt.*;
    import java.applet.*;
    public class Label extends Applet{
      public void init(){
       Label firstlabel = new Label();
       Label secondlabel = new Label("This is the second label");
    //put the labels on the applet
      add(firstlabel);
      add(secondlabel);
    }// end init
    }// end appleterror when I compile is as follows:
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\>cd java
    C:\java>javac Label.java
    Label.java:12: cannot resolve symbol
    symbol : constructor Label (java.lang.String)
    location: class Label
    Label secondlabel = new Label("This is the second label");
    ^
    1 error
    C:\java>
    Can anyone help me?

    public class Label extends Applet{The name of your class is "Label". This choice of name hides the class named "Label" in java.awt.
    Label firstlabel = new Label();This creation of a Label is successful because the class has a default, no-argument constructor.
    Label secondlabel = new Label("This is the second label");And this one fails because there is no constructor for Label that takes a String argument.
    You probably want firstlabel and secondlabel to be java.awt.Label objects and not instances of your own Label class. Try this:
    public class Label extends java.applet.Applet{
        public void init(){
         java.awt.Label firstlabel = new java.awt.Label();
         java.awt.Label secondlabel =
             new java.awt.Label("This is the second label");
         add(firstlabel);
         add(secondlabel);
    }As a general remark, I advise programmers to stay away from
    import a.b.*;statements which import entire packages into your program namespace.
    When starting out, I believe it is better to write out the fully qualified names ot the classes and methods you are working with. This helps you learn the class hierarchy, and makes your code clearer.
    Others will disagree, but that's my opinion...

  • B1iF 1.5 SQL Call problem with result transformation

    Hi all,
    i've made a scenario that reads a text file, and for each line, mak an sql call to find corresponding CardCode.
    Everything is ok until i want to transform the result of the SQL Call.
    Here is the result message
    <?xml version="1.0" encoding="UTF-8"?>
    <Msg xmlns="urn:com.sap.b1i.vplatform:entity">
      <Body>
        <Payload Role="C" id="atom5_1" system="0010000102" mode="single" method="Automatic detection by key word(Automatic detection by key word)" sql="SELECT CardCode,52657 as CodeTiers FROM OCRD WHERE U_CRL_CODE_DEN=52657" disable-output-escaping="false">
          <ResultSet xmlns="urn:com.sap.b1i.adapter:jdbcadapter" rowCount="0"/>
        </Payload>
        <Payload Role="C" id="atom5_2" system="0010000102" mode="single" method="Automatic detection by key word(Automatic detection by key word)" sql="SELECT convert(varchar,(Max(Convert(int,substring(CardCode,2,len(CardCode)-1))) + 1),20) as NewCardCode FROM OCRD WHERE Left(CardCode,1)= 'F' AND ISNUMERIC(substring(CardCode,2,len(CardCode)-1))=1" disable-output-escaping="false">
          <ResultSet xmlns="urn:com.sap.b1i.adapter:jdbcadapter" rowCount="1">
            <Row>
              <NewCardCode>3</NewCardCode>
            </Row>
          </ResultSet>
        </Payload>
      </Body>
    </Msg>
    When i apply the following XPath expression :
    //Msg/Body/Payload[@id='atom5_2']/jResultSet/Row/NewCardCode
    It gives nothing. So i've tried with XML Copy Editor, i've changed xmlns="urn:com.sap.b1i.adapter:jdbcadapter" to xmlns:jdbc="urn:com.sap.b1i.adapter:jdbcadapter" and it works.
    It seems that the namespace is incorrect at the ResultSet level.
    So, here is my question : Why the SQL Call doesn't give the expected output ? How to correct it ?
    Thanks in advance !

    Well, i found a way to do it using local-name() function. it gives the following :
    <xsl:value-of select="$msg5_2[$Pos1]/*[local-name()='ResultSet']/*[local-name()='Row']/*[local-name()='NewCardCode']"></xsl:value-of>
    The job is done, but this not easy to read.

  • Problem with "CALL Transformation" in ABAP

    Hello All,
           I am creating XML from ABAP program and using CALL TRANSFORMATION. Everything works fine but when my XML is created sometimes in some "element" values it is truncating space between the texts. For example, I have a field "description" with value "Bon Apetite" it changes to "BonApetite" (space truncated) after transformation! I did research everywhere but could not find why this would happen! Please give me any feedback if you have any information.
    Thanks.
    Mithun

    Hello Mithun,
    when you use the call transformation statement you have to specifiy the xslt transformation used. As a first step you usually use the transformation with the name ID. This is a special transformation for making the asXML representation of abap data. Unfortunately if you look into this transformation you find the following:
    <xsl:transform version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    >
    <xsl:strip-space elements="*"/>
    <xsl:template match="/">
      <xsl:copy-of select="."/>
    </xsl:template>
    </xsl:transform>
    If I remember correctly when you use another transformation this will first call the ID transformation and after this the specified one. So it should not be possible to just copy ID transformation and remove the line. I'll have to think again how to avoid the behaviour.
    Best Regards
    Roman

Maybe you are looking for