Appending ns1: in Every field[MAPPING PROBLEM]

Hi All,
I am facing a strange problem when generating the output XML file. The file is generating in XML format with an additional ns1 in each line.
Any idea on this guys.
<b>
<ns1:iABC xmlns:ns1="http://www.ABC.com/xmlschema/ABC/">
<ns1:header>
     <ns1:flow>ACT</ns1:flow>
     <ns1:sender name="XYZ">
     </ns1:sender>
     <ns1:receiver name="PQR">
     </ns1:receiver>
     <ns1:generationDate>2008-05-19</ns1:generationDate>
     <ns1:fileIdent>2008/05/19T13:32:00</ns1:fileIdent>
</ns1:header>
<ns1:ID ="0000000000000000000000012"></b>
Many Thanks,
JGD
Edited by: JGD on May 19, 2008 2:56 PM

Hi Stefan.
Well, the answer is "no"
According to XML spec both declarations
<iABC xmlns="http://www.ABC.com/xmlschema/ABC/">
and
<ns:iABC xmlns=ns:"http://www.ABC.com/xmlschema/ABC/">
are semantically identical.
Any standard xml parser will work with both declarations the same way. The mapping tool always use the first way.
Sometimes legacy systems use "xml like" format with some special restrictions.
In this case the only way to handle that is to use workarounds like with the anonymizer bean.
Another problem I'm aware of is the target file encoding. That's "not officially" solved with hidden menu which you can see if you hold CTRL+SHIFT keys and right click on data flow editor. The last menu item is "encoding" - you can set the encoding of the resulting xml there
Best regards
Dmitry

Similar Messages

  • Flat file mandatory field mapping problem

    Hi Guys,
    I am mapping xml to the positional flat file.
    There is only one field in the output FF 'provider_state' which is not being mapped.
    As a change I added new field after the provider_state.
    My problem is that the provider_state with length 2 is not produced in the output as blank spaces to match the position flat file.
    However, I have tried creating the record using xslt and also tried to add default 'spacespace' in the schema, tried mapping 'spacespace' in the outpt.
    When I try to add space2 I get CRLF in the output at the filed position.
    In short last field '%' should be at 733 position but it is at 731.
    Thanks in advance...
    //Dhiraj Bhavsar

    Hi Dhiraj,
    This is by design and 
    You may want to change provider_id to attribute if its element.
    To resolve this please check this..
    http://msdn.microsoft.com/en-us/library/ee250694(v=bts.10).aspx#bts:source_specification
    Regards
    Ritu Raj
    When you see answers and helpful posts,
    please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

  • Field mapping problem using EntityManager.refresh(...) and @SecondaryTable

    I am experiencing an exception indicating a missing mapping for a field. My problem is that I have a mapping! I suspect the problem has something to do with the fact the field in question is also the @PrimaryKeyJoinColumn. Am I doing something wrong or is this a bug in the refresh() method code since the find() method works with no problem? Thanks in advance.
    Code and log excerpts follow:
    Calling Code...
    TaxableDescription description = em.find( TaxableDescription.class, cusip );
    if (refreshEntity) {
    {color:#ff0000}em.refresh( description );{color}
    Entity Code..
    @Entity
    {color:#ff0000}@Table( name="f_ISSUE" )
    @SecondaryTable(
    name="f_COUPON_INFO",
    pkJoinColumns=@PrimaryKeyJoinColumn(
    referencedColumnName="issue_id", name="issue_id"
    ){color}
    @NamedQueries({
    @NamedQuery(
    name="TaxableDescription.findByCusip",
    query="SELECT d FROM TaxableDescription d WHERE d.cusip = :cusip"
    public class TaxableDescription
    extends Description implements Serializable
    private long issueID;
    private long fkIssueID;
    private String interestFrequencyCode;
    private Date nextCallDate;
    private double nextCallPrice;
    private Date parCallDate;
    private double parCallPrice;
    private boolean defaulted;
    private String variableCouponType;
    //@Id
    @Column( name="issue_id", table="f_ISSUE" )
    public long getIssueID() {
    return issueID;
    public void setIssueID( long issueID ) {
    this.issueID = issueID;
    @Override
    @Id
    @Column( name="CUSIP_nbr" )
    public String getCusip() {
    return super.getCusip();
    @Override
    public void setCusip(String cusip) {
    super.setCusip(cusip);
    @Override
    @Column( name="maturity", updatable=false, insertable=false )
    @Temporal(TemporalType.DATE)
    public Date getMaturity() {
    return super.getMaturity();
    @Override
    public void setMaturity(Date maturity) {
    super.setMaturity(maturity);
    {color:#ff0000} @Column( table="f_COUPON_INFO", name="issue_id", insertable=false, updatable=false )
    {color} public long getFkIssueID() {
    return fkIssueID;
    public void setFkIssueID( long fkIssueID ) {
    this.fkIssueID = fkIssueID;
    @Override
    @Column( table="f_COUPON_INFO", name="coupon", updatable=false, insertable=false )
    public double getCoupon() {
    return super.getCoupon();
    @Override
    public void setCoupon(double coupon) {
    super.setCoupon( coupon );
    @Column( table="f_COUPON_INFO", name="interest_frequency", updatable=false, insertable=false )
    public String getInterestFrequencyCode() {
    return interestFrequencyCode;
    public void setInterestFrequencyCode( String interestFrequencyCode ) {
    this.interestFrequencyCode = interestFrequencyCode;
    @Override
    @Column( table="f_COUPON_INFO", name="dated_date", updatable=false, insertable=false )
    @Temporal( TemporalType.DATE )
    public Date getDatedDate() {
    return super.getDatedDate();
    @Override
    public void setDatedDate(Date datedDate) {
    super.setDatedDate(datedDate);
    @Override
    @Column( table="f_COUPON_INFO", name="first_interest_date", updatable=false, insertable=false )
    @Temporal( TemporalType.DATE )
    public Date getFirstInterestDate() {
    return super.getFirstInterestDate();
    @Override
    public void setFirstInterestDate(Date firstInterestDate) {
    super.setFirstInterestDate(firstInterestDate);
    @Column( name="next_call_date", updatable=false, insertable=false )
    @Temporal( TemporalType.DATE )
    protected Date getNextCallDate() {
    return nextCallDate;
    protected void setNextCallDate( Date date ) {
    this.nextCallDate = date;
    @Column( name="next_call_rate", updatable=false, insertable=false )
    protected double getNextCallPrice() {
    return nextCallPrice;
    protected void setNextCallPrice( double value ) {
    this.nextCallPrice = value;
    @Column( name="par_call_date", updatable=false, insertable=false )
    @Temporal( TemporalType.DATE )
    protected Date getParCallDate() {
    return parCallDate;
    protected void setParCallDate( Date date ) {
    this.parCallDate = date;
    @Column( name="par_call_rate", updatable=false, insertable=false )
    protected double getParCallPrice() {
    return parCallPrice;
    protected void setParCallPrice( double value ) {
    this.parCallPrice = value;
    @Column( name="moodys_code", updatable=false, insertable=false )
    public Integer getIntegerMoodysCode() {
    return super.getMoodysCode();
    public void setIntegerMoodysCode(Integer moodysCode) {
    super.setMoodysCode( moodysCode != null ? moodysCode : 99 );
    @Column( name="s_p_code", updatable=false, insertable=false )
    public Integer getIntegerSpCode() {
    return super.getSpCode();
    public void setIntegerSpCode(Integer spCode) {
    super.setSpCode( spCode != null ? spCode : 99 );
    @Column( name="fitch_code", updatable=false, insertable=false )
    public Integer getIntegerFitchCode() {
    return super.getFitchCode();
    public void setIntegerFitchCode(Integer fitchCode) {
    super.setFitchCode( fitchCode != null ? fitchCode : 99 );
    @Override
    @Column( name="principal_amt", updatable=false, insertable=false )
    public double getPrincipalAmount() {
    return super.getPrincipalAmount();
    @Override
    public void setPrincipalAmount(double principalAmount) {
    super.setPrincipalAmount(principalAmount);
    @Transient
    public boolean getDefaulted() {
    return defaulted;
    @Transient
    public boolean isDefaulted() {
    return defaulted;
    public void setDefaulted( boolean defaulted ) {
    this.defaulted = defaulted;
    @Column( name="defaulted", updatable=false, insertable=false )
    public String getDefaultedFlag() {
    return defaulted ? "Y" : "N";
    public void setDefaultedFlag( String defaultedFlag ) {
    this.defaulted = "Y".equalsIgnoreCase( defaultedFlag );
    @Column( table="f_COUPON_INFO", name="coupon_change_indicator", updatable=false, insertable=false )
    public String getVariableCouponType() {
    return variableCouponType;
    public void setVariableCouponType( String variableCouponType ) {
    this.variableCouponType = variableCouponType;
    @OneToMany( targetEntity=com.bondtrac.entities.TaxableCouponStepEntity.class )
    @JoinTable(
    name="f_CHANGE_SCHEDULE",
    joinColumns=@JoinColumn( name="issue_id", referencedColumnName="issue_id" )
    public List getCouponSteps() {
    return super.getCouponStepSchedule();
    public void setCouponSteps( List couponSteps ) {
    super.setCouponStepSchedule( couponSteps );
    @PostLoad
    private void postLoad() {
    if ( interestFrequencyCode != null &&
    interestFrequencyCode.length() &gt; 0 )
    int intFreq = 2;
    try {
    intFreq = Integer.parseInt( interestFrequencyCode );
    catch ( Exception e ) {}
    if ( intFreq &lt;= 0 ) intFreq = 2;
    super.setInterestFrequency( intFreq );
    else {
    super.setInterestFrequency( 2 );
    if ( nextCallDate != null || parCallDate != null ) {
    CallSchedule _callSchedule = super.getCallSchedule();
    if ( _callSchedule == null ) {
    _callSchedule = new CallSchedule();
    super.setCallSchedule( _callSchedule );
    if ( nextCallDate != null ) {
    _callSchedule.addCall( nextCallDate, nextCallPrice );
    if ( parCallDate != null ) {
    _callSchedule.addCall( parCallDate, parCallPrice );
    @PrePersist
    @PreUpdate
    private void preUpdate() {
    switch ( super.getInterestFrequency() ) {
    case 2 : interestFrequencyCode = "2"; break;
    case 1 : interestFrequencyCode = "1"; break;
    case 4 : interestFrequencyCode = "4"; break;
    case 12 : interestFrequencyCode = "12"; break;
    case 99 : interestFrequencyCode = "99"; break;
    default : interestFrequencyCode = "2"; break;
    nextCallDate = null;
    nextCallPrice = 0.0;
    parCallDate = null;
    parCallPrice = 0.0;
    CallSchedule _callSchedule = super.getCallSchedule();
    if ( _callSchedule != null ) {
    Call call = _callSchedule.getNextCall();
    if ( call != null ) {
    nextCallDate = call.getDate();
    nextCallPrice = call.getAmount();
    call = _callSchedule.getNextParCall();
    if ( call != null ) {
    parCallDate = call.getDate();
    parCallPrice = call.getAmount();
    @Override
    public int hashCode() {
    return cusip != null ? cusip.hashCode() : 0;
    @Override
    public boolean equals( Object o ) {
    if ( !( o instanceof TaxableDescription ) ) return false;
    TaxableDescription otherDescription = (TaxableDescription)o;
    if ( cusip == otherDescription.cusip ) return true;
    if ( cusip != null ) return cusip.equals( otherDescription.cusip );
    return false;
    Server log entry...
    [#|2008-11-20T17:41:42.389-0600|WARNING|sun-appserver9.1|oracle.toplink.essentials.session.file:/opt/SUNWappserver/domains/domain1/applications/j2ee-apps/Bondtrac-EE/Bondtrac-EE-pu.jar-BondtracPU|_ThreadID=36;_ThreadName=p: thread-pool-1; w: 44;_RequestID=5b92f658-e52c-4b83-aafc-454a052fc30b;|
    Local Exception Stack:
    Exception [TOPLINK-45] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DescriptorException
    {color:#ff0000}Exception Description: Missing mapping for field [f_COUPON_INFO.issue_id].{color}
    Descriptor: RelationalDescriptor(com.bondtrac.entities.TaxableDescription --&gt; [DatabaseTable(f_ISSUE), DatabaseTable(f_COUPON_INFO)])
    at oracle.toplink.essentials.exceptions.DescriptorException.missingMappingForField(DescriptorException.java:901)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:154)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:899)
    at oracle.toplink.essentials.queryframework.ReadObjectQuery.prepareForExecution(ReadObjectQuery.java:502)
    at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:622)
    at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:692)
    at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:746)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2233)
    at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:952)
    at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.refresh(EntityManagerImpl.java:389)
    at com.sun.enterprise.util.EntityManagerWrapper.refresh(EntityManagerWrapper.java:511)
    at com.bondtrac.ejb.DescriptionDAOBean.getDescription(DescriptionDAOBean.java:76)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
    at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
    at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:83)
    at $Proxy197.getDescription(Unknown Source)
    at com.bondtrac.offeringprocessor.OfferingProcessorBean.process(OfferingProcessorBean.java:1373)
    at com.bondtrac.offeringprocessor.OfferingProcessorBean.processOfferingEntity(OfferingProcessorBean.java:642)
    at com.bondtrac.offeringprocessor.OfferingProcessorBean.calculateOfferings(OfferingProcessorBean.java:926)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
    at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
    at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
    at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)
    at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
    at $Proxy198.calculateOfferings(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
    at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
    at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
    at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    |#]

    What database are you using? My guess is that the database you are using returns field names in Uppercase. While the database may not be case sensitive, most databases will convert the field names to either all upper or lower case when returning the metadata - which associates the fields to the values. In this case, it is looking for a value for "issue_id" in the returned results, when I suspect that the database returned a value for "ISSUE_ID". Try having your column names match what the database will return and see if you still get problems.
    The other part to this problem is that it does not appear mapped correctly. The primarykeyJoincolumn isn't using primary key fields (CUSIP_nbr is specified as the id), and you have a join table also using the "issue_id" field, so it really should be the id. Either way, the Secondary table is specifying f_ISSUE.issue_id to be a foreign key to f_COUPON_INFO.issue_id, and so the getFkIssueID annotation should be marked insertable=true, updateable =true and the annotation on getIssueID marked insertable=false, updatable=false,since it is set through the f_COUPON_INFO.issue_id field. Fixing this will also likely resolve the issue - the error says it can't find a mapping for the f_COUPON_INFO.issue_id but from looking at the code, what I believe it means is that it can't find a writable mapping. Reading this over again, it looks very confusing but I dont know if I can explain it much better. The field f_COUPON_INFO needs to be writeable and set by the application because you have marked it as controlling the field in f_ISSUE. The field in f_ISSUE needs to be read only, because the value is set/controlled by the value in f_COUPON_INFO.
    Best Regards,
    Chris

  • Problem in lsmw. step: display field mapping and conversion rule

    hi,
    The IDOC structure to be mapped is missing in step 5[lsmw using IDOC]. Hence target structures are missing in auto gnerated conversion program.
    As a result the the step Convert Data step is failing.[Converted data cant be generated]
    I am using standard BAPI charcteristics as my Basic Type.
    Anyone having idea why the target structure is missing??..

    The problem is solved....The field mapping was missing coz i didnt assign the target structure properly....

  • Custom mapped field attach problem

    Hi!
    I have a field, for which I've written custom field mapping. Everything
    seems to run fine, but when I try to attach previously detached instance I
    got:
    kodo.util.FatalInternalException: kodo.util.FatalInternal
    Exception: Cannot attach field "SomeObject.someField" of type "10".
    Mapping's getJDBCType() returns Type.OTHER. Field contains java object, but
    corresponding database table column is numeric type. No matter what I set
    JDBCType to I fail to attach object. When I set type to Type.JAVA_OBJECT I
    get exception (when Kodo is reading database tables on startup) that says
    that column type DECIMAL isn't compatibile with the type I set in my custom
    mapping. When I set it to Type.DECIMAL I got the same error I got with
    Types.OTHER ("Cannot attach..").
    How should custom mapped fields be attached? I want Kodo to attach and
    update object modified on the client side - as for the type (used as I
    presume when Kodo is crafting database statement) I want the type declared
    in mapping to be used (even it seems to be incompatibile with database
    schema, my JDBC driver will take care of it converting it on-the-fly). I've
    been looking for some clues in docs, but no success so far. Any hints?
    Regards,
    Pawel

    Uzytkownik "Marc Prud'hommeaux" <[email protected]> napisal w wiadomosci
    news:[email protected]...
    Pawel-
    Can you post the complete stack trace of the error you are getting?Sure, here's what I receive on the client side. Theres nothing in server
    side logs.
    [java] java.rmi.RemoteException: EJB Exception:; nested exception is:
    [java] java.rmi.RemoteException: setByValue(); nested exception is:
    [java] kodo.util.FatalInternalException:
    kodo.util.FatalInternalException: Cannot attach fi
    eld "edu.mypackage.SomeObject.someField" of type "10".
    [java] at
    weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108
    [java] at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :284)
    [java] at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :244)
    [java] at
    edu.mypackage.impl.JVTSessionExtProxy_f0ahbq_EOImpl_811_WL
    Stub.setByValue(Unknown Source)
    [java] at edu.mypackage.test.JVTSessionTestProxy.setByValue(J
    VTSessionTestProxy.java:112)
    [java] at
    edu.mypackage.test.JUnitTestClientGis3.testGeometryUpdate2(JUnitTestClient
    Gis3.java:99)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [java] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [java] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java
    :25)
    [java] at java.lang.reflect.Method.invoke(Method.java:324)
    [java] at junit.framework.TestCase.runTest(TestCase.java:166)
    [java] at junit.framework.TestCase.runBare(TestCase.java:140)
    [java] at junit.framework.TestResult$1.protect(TestResult.java:106)
    [java] at
    junit.framework.TestResult.runProtected(TestResult.java:124)
    [java] at junit.framework.TestResult.run(TestResult.java:109)
    [java] at junit.framework.TestCase.run(TestCase.java:131)
    [java] at
    edu.mypackage.test.JUnitBaseTestClient.run(JUnitBaseTestClient.j
    ava:118)
    [java] at junit.framework.TestSuite.runTest(TestSuite.java:173)
    [java] at junit.framework.TestSuite.run(TestSuite.java:168)
    [java] at
    edu.mypackage.test.ResultTestSuite.run(ResultTestSuite.java:21)
    [java] at junit.textui.TestRunner.doRun(TestRunner.java:74)
    [java] at junit.textui.TestRunner.start(TestRunner.java:234)
    [java] at junit.textui.TestRunner.main(TestRunner.java:112)
    [java] Caused by: java.rmi.RemoteException: setByValue(); nested
    exception is:
    [java] kodo.util.FatalInternalException:
    kodo.util.FatalInternalException: Cannot attach fi
    eld "edu.mypackage.SomeObject.someField" of type "10".
    [java] at edu.mypackage.impl.JVTSessionExtImpl.setByValue(JVT
    SessionExtImpl.java:579)
    [java] at
    edu.mypackage.impl.JVTSessionExtProxy_f0ahbq_EOImpl.setMan
    agedEntityByValue(JVTSessionExtProxy_f0ahbq_EOImpl.java:102)
    [java] at
    edu.mypackage.impl.JVTSessionExtProxy_f0ahbq_EOImpl_WLSkel
    ..invoke(Unknown Source)
    [java] at
    weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
    [java] at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
    :108)
    [java] at
    weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
    [java] at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
    t.jav
    a:353)
    [java] at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    [java] at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
    [java] at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
    0)
    [java] at
    weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    [java] at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    [java] Caused by: kodo.util.FatalInternalException:
    kodo.util.FatalInternalException: Cannot at
    tach field "edu.mypackage.SomeObject.someField" of type "10".
    [java] at
    kodo.util.FatalInternalException.writeReplace(FatalInternalException.java:54
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [java] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [java] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java
    :25)
    [java] at java.lang.reflect.Method.invoke(Method.java:324)
    [java] at
    java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:882)
    [java] at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1011)
    [java] at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
    [java] at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
    [java] at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
    [java] at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    [java] at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
    [java] at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
    [java] at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
    [java] at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
    [java] at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    [java] .F
    [java] at
    weblogic.common.internal.ChunkedObjectOutputStream.writeObject(ChunkedObject
    Outpu
    tStream.java:114)
    [java] at
    weblogic.rjvm.MsgAbbrevOutputStream.sendThrowable(MsgAbbrevOutputStream.java
    :367)
    Regards,
    Pawel Swierszcz

  • Mapping Problem ORDERS Idoc to Edifact

    Hi,
    I have a mapping problem with the IDOC ORDERS:
    I get the IDOC with several E1EDP01. Each E1EDP01 has several E1EDPT1, where i want only the first one (which I get over the TDID value). Each E1EDPT1 has min. 1 E1EDPT2.
    Now I have to map each field TDLINE from first two E1EDPT2 of the first E1EDPT1 to the Edifact fields /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008 (from the first E1EDPT2) and, if a second E1EDPT2 exists in /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008_2.
    I use following UDF:
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    else
    result.addValue(ResultList.SUPPRESS);
    Unfortunatly, I think becaus of the context problems (not every E1EDPT1 has two E1EDPT2), it's not working. Could somebody help me with this problem?
    Thanks in advance
    Dominic

    Dear Dominic ,
    I had same problem when I was trying to do the same thing for FTX segment.
    Your UDF is fine but you don't need else condition.
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    for C_C273 assigned contant value and
    D_7008 assigned TDLINE but change the context to E1EDPT1
    and for D_7008_2
    TDLINE(context to E1EDPT1 )
                                                      ====>UDF====>D_7008_2
    Contant(=1)
    It should work becasue my map is working fine. If not let me know error message.
    Thanks
    Shubhankar

  • Mapping problem on CSV to RFC scenerio

    Hi all,
    I am implementing an CSV to RFC scenerio on SAP XI 3.0, but stuck on a mapping issue. Please find the message, below;
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:357) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at ...
    I do not face any kind of error on mapping test and see the source and result documents, below;
    Source;
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Csv xmlns:ns0="http://com.sap.astron/tekkasa">
       <mydoc>
          <itemList>
             <items>
                <fld1>1</fld1>
                <fld2>2</fld2>
                <fld3>3</fld3>
             </items>
             <items>
                <fld1>4</fld1>
                <fld2>5</fld2>
                <fld3>6</fld3>
             </items>
          </itemList>
       </mydoc>
    </ns0:MT_Csv>
    Result:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:Z_READ_CSV xmlns:ns1="urn:sap-com:document:sap:rfc:functions"><ITAB_ZCSV><item><FLD1>1</FLD1><FLD2>2</FLD2><FLD3>3</FLD3></item><item><FLD1>4</FLD1><FLD2>5</FLD2><FLD3>6</FLD3></item></ITAB_ZCSV></ns1:Z_READ_CSV>
    It is interesting that I see the message in payload, below;
    <?xml version="1.0" encoding="utf-8"?>
    <mydoc>
    <itemList>
         <items>
              <fld1>1</fld1>
              <fld2>2</fld2>
              <fld3>3</fld3>
         </items>
         <items>
              <fld1>4</fld1>
              <fld2>5</fld2>
              <fld3>6</fld3>
         </items>
    </itemList>
    </mydoc>
    Anyone has a suggestion about the problem? Thank you very much.

    Hi Shabarish;
    I pasted  complete output, below. I would be very appreciated, if you could suggest a solution. Thank you.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Request Message Mapping --> <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30"><SOAP:Header><SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7"><SAP:MessageClass>ApplicationMessage</SAP:MessageClass><SAP:ProcessingMode>asynchronous</SAP:ProcessingMode><SAP:MessageId>977D6A50-91B1-11DC-A122-00145E6896FD</SAP:MessageId><SAP:TimeSent>2007-11-13T06:28:05Z</SAP:TimeSent><SAP:Sender><SAP:Service>GarantiTekKasaFtp</SAP:Service><SAP:Interface namespace="http://com.sap.astron/tekkasa">MI_Outbound_Async</SAP:Interface></SAP:Sender><SAP:Receiver><SAP:Party agency="" scheme=""/><SAP:Service>B3T003</SAP:Service><SAP:Interface namespace="urn:sap-com:document:sap:rfc:functions">Z_READ_CSV</SAP:Interface><SAP:Mapping notRequired="M"><SAP:ObjectId>5bz79NusOaWn/LbMSmdpTA==</SAP:ObjectId><SAP:SWCV>rsCz8ZEJEdycocVZCkEBQg==</SAP:SWCV><SAP:SP>-1</SAP:SP></SAP:Mapping></SAP:Receiver><SAP:Interface namespace="http://com.sap.astron/tekkasa">MI_Outbound_Async</SAP:Interface></SAP:Main><SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService></SAP:ReliableMessaging><SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand=""><SAP:Category>Application</SAP:Category><SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code><SAP:P1>com/sap/xi/tf/_MM_CSV_</SAP:P1><SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2><SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3><SAP:P4/><SAP:AdditionalText/><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack>During the application mapping com/sap/xi/tf/_MM_CSV_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~
    </SAP:Stack><SAP:Retry>M</SAP:Retry></SAP:Error><SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Hop timeStamp="2007-11-13T06:28:05Z" wasRead="false"><SAP:Engine type="AE">af.yxi.yxint01</SAP:Engine><SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter><SAP:MessageId>977D6A50-91B1-11DC-A122-00145E6896FD</SAP:MessageId><SAP:Info/></SAP:Hop><SAP:Hop timeStamp="2007-11-13T06:28:05Z" wasRead="false"><SAP:Engine type="IS">is.00.yxint01</SAP:Engine><SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter><SAP:MessageId>977D6A50-91B1-11DC-A122-00145E6896FD</SAP:MessageId><SAP:Info>3.0</SAP:Info></SAP:Hop></SAP:HopList><SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><SAP:Date>20071113</SAP:Date><SAP:Time>082805</SAP:Time><SAP:Host>yxint01</SAP:Host><SAP:SystemId>YXI</SAP:SystemId><SAP:SystemNr>00</SAP:SystemNr><SAP:OS>Windows NT</SAP:OS><SAP:DB>ORACLE</SAP:DB><SAP:Language/><SAP:ProcStatus>014</SAP:ProcStatus><SAP:AdapterStatus>000</SAP:AdapterStatus><SAP:User>XIAFUSER</SAP:User><SAP:TraceLevel>1</SAP:TraceLevel><SAP:Logging>1</SAP:Logging><SAP:LogSeqNbr>006</SAP:LogSeqNbr><SAP:RetryLogSeqNbr>000</SAP:RetryLogSeqNbr><SAP:PipelineIdInternal>SAP_CENTRAL</SAP:PipelineIdInternal><SAP:PipelineIdExternal>CENTRAL</SAP:PipelineIdExternal><SAP:PipelineElementId>5EC3C53B4BB7B62DE10000000A1148F5</SAP:PipelineElementId><SAP:PipelineStartElementId>5EC3C53B4BB7B62DE10000000A1148F5</SAP:PipelineStartElementId><SAP:PipelineService>PLSRV_MAPPING_REQUEST</SAP:PipelineService><SAP:QIdInternal>XBTO6___0002</SAP:QIdInternal><SAP:CommitActor>X</SAP:CommitActor><SAP:SplitNumber>0</SAP:SplitNumber><SAP:NumberOfRetries>0</SAP:NumberOfRetries><SAP:NumberOfManualRetries>0</SAP:NumberOfManualRetries><SAP:TypeOfEngine client="294">CENTRAL</SAP:TypeOfEngine><SAP:PlsrvExceptionCode/><SAP:EOReferenceRuntime type="TID">0A4101420318473943F5015F</SAP:EOReferenceRuntime><SAP:EOReferenceInbound type="TID"/><SAP:EOReferenceOutbound type="TID"/><SAP:MessageSizePayload>234</SAP:MessageSizePayload><SAP:MessageSizeTotal>2690</SAP:MessageSizeTotal><SAP:PayloadSizeRequest>234</SAP:PayloadSizeRequest><SAP:PayloadSizeRequestMap>0</SAP:PayloadSizeRequestMap><SAP:PayloadSizeResponse>0</SAP:PayloadSizeResponse><SAP:PayloadSizeResponseMap>0</SAP:PayloadSizeResponseMap><SAP:Reorganization>INI</SAP:Reorganization><SAP:AdapterInbound>AENGINE</SAP:AdapterInbound><SAP:InterfaceAction>DEL</SAP:InterfaceAction><SAP:RandomNumber>06</SAP:RandomNumber><SAP:AckStatus>000</SAP:AckStatus><SAP:SkipReceiverDetermination/><SAP:Sender_Agreement_GUID>E8E1DEF39D603F158F70394833EF0ADE</SAP:Sender_Agreement_GUID><SAP:Serialize_Children>X</SAP:Serialize_Children></SAP:RunTime><SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30"><SAP:RunTimeItem><SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.39</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.406</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.406</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.406</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="DBQUEUE">DB_ENTRY_QUEUING</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.406</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="DBQUEUE">DB_ENTRY_QUEUING</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.515</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.515</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.531</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.531</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.531</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.546</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.546</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="DBQUEUE">DB_SPLITTER_QUEUING</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.546</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="DBQUEUE">DB_SPLITTER_QUEUING</SAP:Name><SAP:Timestamp type="end" host="yxint01">20071113062805.64</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_MAPPING_REQUEST</SAP:Name><SAP:Timestamp type="begin" host="yxint01">20071113062805.64</SAP:Timestamp></SAP:RunTimeItem></SAP:PerformanceHeader><SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:TraceLevel>Information</SAP:TraceLevel><SAP:Logging>Off</SAP:Logging></SAP:Diagnostic><SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30"><Trace level="1" type="T">Party normalization: sender </Trace>
    <Trace level="1" type="T">Sender scheme external = XIParty</Trace>
    <Trace level="1" type="T">Sender agency external = http://sap.com/xi/XI</Trace>
    <Trace level="1" type="T">Sender party external = </Trace>
    <Trace level="1" type="T">Sender party normalized = </Trace>
    <Trace level="1" type="T">Party normalization: receiver </Trace>
    <Trace level="1" type="T">Receiver scheme external = </Trace>
    <Trace level="1" type="T">Receiver agency external = </Trace>
    <Trace level="1" type="T">Receiver party external = </Trace>
    <Trace level="1" type="T">Receiver party normalized = </Trace>
    <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
    <Trace level="1" type="T">COMMIT is done by XMB ! </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE">
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV">
    </Trace>
    <Trace level="1" type="T">**************************************************** </Trace>
    <Trace level="1" type="T">*                                                  * </Trace>
    <Trace level="1" type="T">*                                                  * </Trace>
    <Trace level="1" type="T">XMB entry processing </Trace>
    <Trace level="1" type="T">system-ID = YXI</Trace>
    <Trace level="1" type="T">client = 294</Trace>
    <Trace level="1" type="T">language = E</Trace>
    <Trace level="1" type="T">user = XIAFUSER</Trace>
    <Trace level="1" type="Timestamp">2007-11-13T06:28:05Z CET  </Trace>
    <Trace level="1" type="T">*                                                  * </Trace>
    <Trace level="1" type="T">*                                                  * </Trace>
    <Trace level="1" type="T">**************************************************** </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Message-GUID = 977D6A5091B111DCA12200145E6896FD</Trace>
    <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
    <Trace level="1" type="T">QOS = EO</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Get definition of external pipeline = CENTRAL</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
    </Trace>
    <Trace level="1" type="T">Get definition of internal pipeline = SAP_CENTRAL</Trace>
    <Trace level="1" type="T">Queue name : XBTI0002</Trace>
    <Trace level="1" type="T">Generated prefixed queue name = XBTI0002</Trace>
    <Trace level="1" type="T">Schedule message in qRFC environment </Trace>
    <Trace level="1" type="T">Setup qRFC Scheduler OK! </Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="T">Going to persist message </Trace>
    <Trace level="1" type="T">NOTE: The following trace entries are always lacking </Trace>
    <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST </Trace>
    <Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC </Trace>
    <Trace level="1" type="T">Async barrier reached. Bye-bye ! </Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
    </Trace>
    <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
    <Trace level="1" type="B" name="SXMS_ASYNC_EXEC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
    <Trace level="1" type="T">system-ID = YXI</Trace>
    <Trace level="1" type="T">client = 294</Trace>
    <Trace level="1" type="T">language = E</Trace>
    <Trace level="1" type="T">user = XIAFUSER</Trace>
    <Trace level="1" type="Timestamp">2007-11-13T06:28:05Z CET  </Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
    </Trace>
    <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
    <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N </Trace>
    <Trace level="1" type="T"> Cache Content is up to date </Trace>
    </Trace>
    </Trace>
    </Trace>
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    </Trace>
    <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
    <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N </Trace>
    <Trace level="1" type="T"> Cache Content is up to date </Trace>
    </Trace>
    </Trace>
    </Trace>
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    </Trace>
    <Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">number of receivers: 1 </Trace>
    <Trace level="1" type="T">Single-receiver split case </Trace>
    <Trace level="1" type="T">Post-split internal queue name = XBTO6___0002</Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="T">Persisting single message for post-split handling </Trace>
    <Trace level="1" type="T"> </Trace>
    <Trace level="1" type="T">Going to persist message + call qRFC now... </Trace>
    <Trace level="1" type="T">NOTE: The following trace entries are always lacking </Trace>
    <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST </Trace>
    <Trace level="1" type="T">Async barrier reached. Bye-bye ! </Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
    </Trace>
    <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
    <Trace level="1" type="B" name="SXMS_ASYNC_EXEC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
    <Trace level="1" type="T">system-ID = YXI</Trace>
    <Trace level="1" type="T">client = 294</Trace>
    <Trace level="1" type="T">language = E</Trace>
    <Trace level="1" type="T">user = XIAFUSER</Trace>
    <Trace level="1" type="Timestamp">2007-11-13T06:28:05Z CET  </Trace>
    <Trace level="1" type="T">----
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
    </Trace>
    <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    <Trace level="1" type="T">Start with pipeline element PLEL= 5EC3C53B4BB7B62DE10000000A1148F5</Trace>
    <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Interface Mapping http://com.sap.astron/tekkasa IM_CSV </Trace>
    <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_MM_CSV_ </Trace>
    <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
         at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:357)
         at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
         at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64)
         at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91)
         at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
         at $Proxy186.processFunction(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100)
         at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113)
         at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Root Cause:
    com.sap.aii.mappingtool.tf3.IllegalInstanceException: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
         at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:212)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:352)
         at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
         at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64)
         at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91)
         at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
         at $Proxy186.processFunction(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100)
         at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113)
         at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    </Trace>
    <Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_CSV_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd </Trace>
    <Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_CSV_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
         at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:73)
         at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91)
         at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
         at $Proxy186.processFunction(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100)
         at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113)
         at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Root Cause:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
         at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:357)
         at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
         at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64)
         at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91)
         at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
         at $Proxy186.processFunction(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100)
         at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113)
         at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Root Cause:
    com.sap.aii.mappingtool.tf3.IllegalInstanceException: Cannot produce target element /ns1:Z_READ_CSV. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
         at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:212)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:352)
         at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
         at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
         at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64)
         at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91)
         at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
         at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
         at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
         at $Proxy186.processFunction(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100)
         at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113)
         at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:171)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    </Trace>
    <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    </Trace>
    <Trace level="1" type="System_Error">Error exception return from pipeline processing! </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace><!-- ************************************ -->
    </SAP:Trace></SOAP:Header><SOAP:Body><SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7"><SAP:Payload xlink:href="cid:[email protected]"><SAP:Name>MainDocument</SAP:Name><SAP:Description/><SAP:Type>Application</SAP:Type></SAP:Payload></SAP:Manifest></SOAP:Body></SOAP:Envelope>

  • MAPPING PROBLEM - SIMPLE vs. ADVANCED FUNCTIONS

    Dear all,
    I got an IDOC-EDIFACT Mapping, which deals a lot with container variables to prestructure the complex and nested target structure, provide counter and some actual/"you are here"-variables for the reason, that the segments of the target structure are mostly build from the same type, but different filled, depending on what they represent.
    Filling this target segments I need simple functions, which provide my "your are in a ABC segment"-variables to orientate and then I need  most of the time a advanced function, which searches e.g. positions in the source structure (imagine POSNR) and get depending "You are here..."-variable relevant data to map. This is where I get problems. I don't get it totally, yet...but it seems like, how often my field mapping (The different connected functions leading to target field) for one field is processed, depends on the number of the target field itself, as long as you use simple functions (make sense), when I use advanced functions (soesn't matter ,in which step in my field mapping), the field mapping seems to run only once (still makes sense, because you queue the source field entries), but how does it work if I have to use both function types.
    Can some one please help?
    Thank you in advance...
    Daniel

    Thanks for your answer,
    I am into contextes and your tips would normally work and make me go, but... my problem ist a little more complicate. Let's see I try to explain it in another way.
    If you map a constant or a simple function to a target element - you don't care for the occurency of your source element or simple functions, right? This is because, independent from a source element (with the correct occurency matching the target element) XI takes care that your constant is repeated often enough to build so many target elements as needed.
    If you use advanced Functions, its little more complicate, then you have allready to provide a queue, which tells the advanced function - how many times to run and how how many result entries to create, 'cause these must match with the number of occurency of your target element (in simple words: you control the number of runs, that your single field mapping is processed).
    Question: What happens if I use simple Functions (Which should be called every time and context, the target field should be build - in a single context) and advanced function(which should identify, depending on the result of the actual simple function call values from queued source fields) in a single element-mapping?
    What controlls the number of runs? Me or XI? How to provide the right number of entries from my advanced function without knowing before, how many target elements must be build and without a direct dependency from source elements?
    Thanks for thinking about this...

  • Message mapping problem: BAPI with range table parameters

    A kind hello to all,
    I try to call the BAPI_ALM_ORDERHEAD_GET_LIST in a 4.70 system via RFC connector. The configuration already works with another BAPI. With this here I get message mapping exception:
    Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Zielelement /ns1:BAPI_ALM_ORDERHEAD_GET_LIST kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. at com.sap.aii.mappingtool.tf3.AMappingProgram.start
    (How can I switch the trace language to English easily? I try to translate:
    "BAPI_ALM_ORDERHEAD_GET_LIST cannot be created. Check if the XML instance meets the requirements for the output XSD and the destination field mapping meets the requirements of the destination XSD.")
    But the mapping test tool in the Integration Builder Design does not report any warning or error.
    My guess is that the problem lies in the parameter structure of the BAPI_ALM_ORDERHEAD_GET_LIST: I have to fill the IT_RANGES selection range table, so it looks as if I need several instances of the item in the corresponding XML. Can I use "Duplicate tree" in the mapping editor? Here I got another exception?
    Many thanks for any help!
    Regards,
    Carsten

    Hi Udo,
    you gave the final hint, indeed I used a XML file that was not evidently not compliant to the message type I created (even though it had been validated by Altova XMLspy).
    From now onwards I only use the "Create instance" function of the test tool to create the XML body of my test messages...
    Thanks a lot,
    and best regards,
    Carsten

  • Message mapping problem when testing

    Hi guys,
    I'm having a tiny little problem with a message mapping.
    When I'm testing a message mapping I'm getting the following error:
      12:28:35 Start of test
        Cannot produce target element /ns1:MT_Encomenda/Num_doc. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
      12:28:36 End of test
    I'm importing a xml file for testing, but if I fill in the files at hand using the xml instance i get no problems.
    Any ideas?

    hi,
    make sure the target field  /ns1:MT_Encomenda/Num_doc is getting populated from the source message.
    you would see this error if a required field in the target structure is not populated.
    cheers,
    naveen

  • Enhanced Reciever Determination Map problem

    Hi,
    i am working on enhanced reciever determination, i followed this blog for reference
    /people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
    after the mapping recievers MT  (predefined from BASIS) . i have tested with the following payload and it is working fine.i got my ERD is working
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_SampleFile_sx xmlns:ns0="urn:TestScenario">
       <Person>
          <name>mr</name>
          <age>123</age>
       </Person>
       <Person>
          <name>ms</name>
          <age>12</age>
       </Person>
    </ns0:MT_SampleFile_sx>
    if i give the payload with more mr or ms node like below, i am getting error.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_SampleFile_sx xmlns:ns0="urn:TestScenario">
       <Person>
          <name>mr</name>
          <age>123</age>
       </Person>
       <Person>
          <name>mr</name>
          <age>12</age>
       </Person>
       <Person>
          <name>ms</name>
          <age>1256</age>
       </Person>
    </ns0:MT_SampleFile_sx>
    ERROR: Cannot produce target element /ns1:Receivers/Receiver[3]/Service. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    can any one help me to solve this problem
    Thank You,
    Madhav

    Hi,
      I had checked UDF. As per UDF you want to give ,
    <name>mr</name>
    instead
    <name>Mr</name>
    Change the payload and map like below,
    Receiver:
    Name(Change Context to parent)--SplitByValue(ValueChange)--CollapseContext--Receiver
    Service:
    Name(Change Context to parent)--ServiceDetermination(UDF)--SplitByValue(EachValue)--Service
    Regards,
    Prakasu.M

  • Legacy Mapping Problem: Compound PK is Foreign Key

    My job is to map beans using JPA onto a legacy database schema that must not get modified. I am stuck with doing the relation between two tables.
    The schema is:
    CREATE TABLE A (
         a1 INTEGER NOT NULL,
         a2 INTEGER NOT NULL,
         PRIMARY KEY (a1, a2)
    CREATE TABLE B (
         b1 INTEGER NOT NULL,
         b2 INTEGER NOT NULL,
         b3 INTEGER NOT NULL,
         FOREIGN KEY f (b1, b2) REFERENCES A (a1, b2) ON UPDATE CASCADE ON DELETE CASCADE,
         PRIMARY KEY (b1, b2, b3)
    )As you can see, both tables have compound primary keys, and the primary key of table B contains a foreign key to table A. This is typical in our DB because B in fact acts like a "inner table" (in the sense of "inner class") to A.
    So far I defined both classes and provided a primary key, but the question now is, how to provide the relation between both? The relation shall be unidirectional, so that I can query all Bs belonging to one A by "myA.getBs(): Collection".
    The code I have written so far is:
    @Entity
    public class A {
         @EmbeddedId
         private APK primaryKey;
         @OneToMany
         private Collection<B> characteristics;
    @Embeddable
    public class APK {
         private String a1;
         private String a2;
    @Entity
    public class B {
         @EmbeddedId
         private BPK primaryKey;
    @Embeddable
    public class BPK {
         private String b1;
         private String b2;
         private String b3;
    }Unfortunately that is not working, because the JPA Provider (here: TopLink Essentials) tries to map the relationship on a third table named "A_B" that actually is not there.
    So how to tell TopLink to find the mapping information in table B (just like using the foreign key f)?
    Please help, I am driving nuts!

    OK
    So i found out the real problem
    And the problem is that my CustomerHistory has a Text Field, as in a MS SQL Server TEXT Field
    When i changed it to a VARCHAR, it started working
    The strangest thing is that Customer also has a TEXT Field (mapped to a String) and i can do Finds without any problems
    So my question now is how can i work with TEXT in CMPs ?
    Thanks

  • Mapping problem with compressed key update record

    Hi, could you please advise?
    I'm getting the following problem:
    About a week ago replicat abened with "Error in mapping" error. I found in discard file some record looking like:
    filed1 = NULL
    field2 =
    field3 =
    field4 =
    field5 =
    datefield = -04-09 00:00:00
    field6 =
    field8 =
    field9 = NULL
    field10 =
    Where filed9 = @GETENV("GGHEADER", "COMMITTIMESTAM"), field10 = = @GETENV("GGHEADER", "COMMITTIMESTAM"), others are table fields mapped by USEDEFAULTS
    So I got Mapping problem with compressed key update record at 2012-06-01 15:44
    I guess I need to mention that extract failed in 5 minuts before it with: VAM function VAMRead returned unexpected result: error 600 - VAM Client Report <[CFileInfo::Read] Timeout expired after 10 retries with 1000 ms delay, waiting to read transaction log or backup files. To increase the number of retries, use SETENV (GGS_CacheRetryCount = n) in Extract parameter file. To control retry delay time, use SETENV (GGS_CacheRetryDelay = n). handle: 0000000000000398 ReadFile GetLastError:997 Wait GetLastError:997>.
    I don't know if it has ther same source as data corruption, could you tell me if it is?
    Well, I created new extract, starting 2012-06-01 15:30 to check if there was something with extract at the time, but got the same error.
    If I run extract beging at 15:52 it starts and works.
    But well, I got another one today. Data didn't look that bad, but yet one column came with null value:( And I'm using it as a key column, so I got Mapping problem with compressed key update record again:(
    I'm replicating from SQL Server 2008 to Oracle 11g.
    I'm actually using NOCOMPRESSUPDATES in Extract.
    CDC is enabled for all tables replicated. The only thing is that it is enabled not by ADD TRANDATA command, but by SQL Server sys.sp_cdc_enable_table, does it matter?
    Could you please advise why does it happen?

    Well, the problem begins somewhere in extract or before extract, may be in transaction log, I don't know:(
    Here are extract parameters:
    EXTRACT ETCHECK
    TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
    SOURCEDB TEST, USERID **, PASSWORD *****
    exttrail ./dirdat/ec
    NOCOMPRESSUPDATES
    NOCOMPRESSDELETES
    TABLE tst.table1, COLS (field1, field2, field3, field4, field5, field6, field7, field8 );
    TABLE tst.table2, COLS (field1, field2, field3, field4 );
    Data pump:
    EXTRACT DTCHECK
    SOURCEDB TEST, USERID **, PASSWORD *****
    RMTHOST ***, MGRPORT 7809
    RMTTRAIL ./dirdat/dc
    TABLE tst.table1;
    TABLE tst.table2;
    Replicat:
    REPLICAT rtcheck
    USERID tst, PASSWORD ***
    DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
    SOURCEDEFS ./dirdef/sourcei.def
    HANDLECOLLISIONS
    UPDATEDELETES
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
    Rpt file for replicat:
    Oracle GoldenGate Delivery for Oracle
    Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
    Windows x64 (optimized), Oracle 11g on Apr 22 2011 00:34:07
    Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
    Starting at 2012-06-05 12:49:38
    Operating System Version:
    Microsoft Windows Server 2008 R2 , on x64
    Version 6.1 (Build 7601: Service Pack 1)
    Process id: 2264
    Description:
    ** Running with the following parameters **
    REPLICAT rtcheck
    USERID tst, PASSWORD ***
    DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
    SOURCEDEFS ./dirdef/sourcei.def
    HANDLECOLLISIONS
    UPDATEDELETES
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
    CACHEMGR virtual memory values (may have been adjusted)
    CACHEBUFFERSIZE: 64K
    CACHESIZE: 512M
    CACHEBUFFERSIZE (soft max): 4M
    CACHEPAGEOUTSIZE (normal): 4M
    PROCESS VM AVAIL FROM OS (min): 1G
    CACHESIZEMAX (strict force to disk): 881M
    Database Version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Database Language and Character Set:
    NLS_LANG = "AMERICAN_AMERICA.CL8MSWIN1251"
    NLS_LANGUAGE = "AMERICAN"
    NLS_TERRITORY = "AMERICA"
    NLS_CHARACTERSET = "CL8MSWIN1251"
    For further information on character set settings, please refer to user manual.
    ** Run Time Messages **
    Opened trail file ./dirdat/dc000000 at 2012-06-05 12:49:39
    2012-06-05 12:58:14 INFO OGG-01020 Processed extract process RESTART_ABEND record at seq 0, rba 925 (aborted 0 records).
    MAP resolved (entry tst.table1):
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    2012-06-05 12:58:14 WARNING OGG-00869 No unique key is defined for table table1. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
    Using the following default columns with matching names:
    field1=field1, field2=field2, field3=field3, field4=field4, field5=field5, field6=field6, field7=field7, field8=field8
    Using the following key columns for target table R_019_000001.TCALCULATE: field3.
    2012-06-05 12:58:14 WARNING OGG-01431 Aborted grouped transaction on 'tst.table1', Mapping error.
    2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
    2012-06-05 12:58:14 WARNING OGG-01151 Error mapping from tst.table1 to tst.table1.
    2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
    Source Context :
    SourceModule : [er.main]
    SourceID : [er/rep.c]
    SourceFunction : [take_rep_err_action]
    SourceLine : [16064]
    ThreadBacktrace : [8] elements
    : [C:\App\OGG\replicat.exe(ERCALLBACK+0x143034) [0x00000001402192B4]]
    : [C:\App\OGG\replicat.exe(ERCALLBACK+0x11dd44) [0x00000001401F3FC4]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x000000014009F102]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B29CC]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B8887]]
    : [C:\App\OGG\replicat.exe(releaseCProcessManagerInstance+0x25250) [0x000000014028F200]]
    : [C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0xd) [0x000000007720652D]]
    : [C:\Windows\SYSTEM32\ntdll.dll(RtlUserThreadStart+0x21) [0x000000007733C521]]
    2012-06-05 12:58:14 ERROR OGG-01296 Error mapping from tst.table1 to tst.table1.
    * ** Run Time Statistics ** *
    Last record for the last committed transaction is the following:
    Trail name : ./dirdat/dc000000
    Hdr-Ind : E (x45) Partition : . (x04)
    UndoFlag : . (x00) BeforeAfter: A (x41)
    RecLength : 249 (x00f9) IO Time : 2012-06-01 15:48:56.285333
    IOType : 115 (x73) OrigNode : 255 (xff)
    TransInd : . (x03) FormatType : R (x52)
    SyskeyLen : 0 (x00) Incomplete : . (x00)
    AuditRBA : 44 AuditPos : 71176199289771
    Continued : N (x00) RecCount : 1 (x01)
    2012-06-01 15:48:56.285333 GGSKeyFieldComp Len 249 RBA 987
    Name: DBO.TCALCULATE
    Reading ./dirdat/dc000000, current RBA 987, 0 records
    Report at 2012-06-05 12:58:14 (activity since 2012-06-05 12:58:14)
    From Table tst.table1 to tst.table1:
    # inserts: 0
    # updates: 0
    # deletes: 0
    # discards: 1
    Last log location read:
    FILE: ./dirdat/dc000000
    SEQNO: 0
    RBA: 987
    TIMESTAMP: 2012-06-01 15:48:56.285333
    EOF: NO
    READERR: 0
    2012-06-05 12:58:14 ERROR OGG-01668 PROCESS ABENDING.
    Discard file:
    Oracle GoldenGate Delivery for Oracle process started, group RTCHECK discard file opened: 2012-06-05 12:49:39
    Key column filed3 (0) is missing from update on table tst.table1
    Missing 1 key columns in update for table tst.table1.
    Current time: 2012-06-05 12:58:14
    Discarded record from action ABEND on error 0
    Aborting transaction on ./dirdat/dc beginning at seqno 0 rba 987
    error at seqno 0 rba 987
    Problem replicating tst.table1 to tst.table1
    Mapping problem with compressed key update record (target format)...
    filed1 = NULL
    field2 =
    field3 =
    field4 =
    field5 =
    datefield = -04-09 00:00:00
    field6 =
    field8 =
    field9 = NULL
    field10 =
    Process Abending : 2012-06-05 12:58:14

  • Mapping problem with compressed key update record (target format)...

    Hi Guys,
    Getting below error while replication from Source to target. Source table is having NOT NULL Column, but on target replicat process giving error about some NULL value ??
    How to overcome this issue, any idea...
    2011-08-04 10:35:04 INFO OGG-00995 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: REPLICAT RMASTRK starting.
    2011-08-04 10:35:05 INFO OGG-00996 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: REPLICAT RMASTRK started.
    2011-08-04 10:35:06 WARNING OGG-00869 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: OCI Error ORA-01407: cannot update ("INFRA"."CUST"."CODE") to NULL (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"DP_ID" = :a3,"EXCHNG_CODE" = :a4,"ORD_QTY" = :a5,"ORD_PRICE" = :a6,"CODE" = :a7,"MKRT_CODE" = :a8,"CHANN>.
    2011-08-04 10:35:06 WARNING OGG-01004 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Aborted grouped transaction on 'INFRA.CUST', Database error 1407 (ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL).
    2011-08-04 10:35:06 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Repositioning to rba 44132192 in seqno 68708.
    2011-08-04 10:35:06 *WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: SQL error 1407 mapping INFRA.CUST to INFRA.CUST OCI Error ORA-01407:* *cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"DP_ID" = :a3,"EXCHNG_CODE"=:a4,"ORD_QTY"*
    *= :a5,"ORD_PRICE" = :a6,"SCRP_CODE" = :a7,"MKRT_CODE" = :a8,"CHANN>.*
    2011-08-04 10:35:06 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Repositioning to rba 44132192 in seqno 68708.
    2011-08-04 10:35:06 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: Error mapping from INFRA.CUST to INFRA.CUST.
    2011-08-04 10:35:06 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rmastrk.prm: PROCESS ABENDING.
    Oracle GoldenGate Delivery for Oracle process started, group RMASTRK discard file opened: 2011-08-04 10:35:05
    Current time: 2011-08-04 10:35:06
    Discarded record from action ABEND on error 1407
    OCI Error ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL
    (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"MKRT_CODE" = :a8,"CHANN>
    Aborting transaction on ./dirdat/pm beginning at seqno 68708 rba 44132192
    error at seqno 68708 rba 44132192
    Problem replicating INFRA.CUST to INFRA.CUST
    *Mapping problem with compressed key update record (target format)...*
    ORD_QTY = 500
    ORD_PRICE = 37430
    SCRP_CODE =
    MKRT_CODE = N
    Oracle GoldenGate Delivery for Oracle process started, group RMASTRK discard file opened: 2011-08-
    04 10:35:05
    Current time: 2011-08-04 10:35:06
    Discarded record from action ABEND on error 1407
    OCI Error ORA-01407: cannot update ("INFRA"."CUST"."SCRP_CODE") to NULL
    (status = 1407), SQL <UPDATE "INFRA"."CUST" SET "ORD_ID" = :a2,"MKRT_CODE" = :a8,"CHANN>
    Aborting transaction on ./dirdat/pm beginning at seqno 68708 rba 44132192
    error at seqno 68708 rba 44132192
    Problem replicating INFRA.CUST to INFRA.CUST
    Mapping problem with compressed key update record (target format)...
    ORD_QTY = 500
    ORD_PRICE = 37430
    SCRP_CODE =
    MKRT_CODE = N
    Any inputs / help would be appreciated.
    Regards,
    Manish

    The SCRP_CODE column has a NOT NULL constraint. The ORA-01407 error is telling you that you cannot update or set a value for this column to null because of the constraint. This has absolutely nothing to do with an index. You can use a marker/sentinel value in lieu of using NULL. For a numeric field, where everything is positive, a negative value (-1) can be decoded as meaning null. For a character field, a code such as NA can represent NULL.
    This also has nothing to do (directly) with GoldenGate failing because of this error. The underlying SQL statement will fail everywhere, regardless of the tool or application. It is not a case of failing only in GoldenGate.

  • In XI Mapping multiple fields mapping to single target field.

    Hi Friends,
    In XI Mapping multiple fields mapping to single target field.
    For example my requirement is :
    Source Fields:(This RFC BAPI Structure)
    Empno                0-1
    EmpName           0-1
    Address             0-1
    Taget Field is:
    Details               0-1
    The above three fields passed to the Details Field. Here i am using Concat function
    But i have one query on that on,Every field having "line Break" required.
    Can you please help me out above this requirement.
    Thanks in Advance,
    Sateesh N.

    If you want a line break between the three fields, then try
    passing a,b,c to the udf and in the udf you would have
    return a+"\n"+b+"\n"+c;

Maybe you are looking for

  • Close Excel File after getting data from it

    Hi! I have a big vi to make data aquisiton from a spectrometer. I have the aquisition part and the "save to spreeadsheet" part also. Now I want to make a button to open the data from the excel file and show it in a xy chart. I had some problems but n

  • How can I change the login page for an application

    Hello, I've created an application that uses some general login page (http://localhost:7777/pls/apex/wwv_flow_custom_auth_std.login_page). How can I make my application to use, by default, a custom Login page (in fact the 101 - Login page) ? Thank yo

  • Videos not formatted correctly in Windows

    I have several videos on 2 different pages in iWeb. They display fine on either Safari or FireFox on the Mac, but do not display correctly on FireFox or IE on Windows. The placement of the videos is scattered all over the page. The videos do play cor

  • IOS 5.1.1 asking microphone dication

    my iphone 4 ios 5 .1.1 asking  micro phone dictation to procced [ SAYING LIKE THIS WHEN YOU TAP THE MICROPHONE BOTTON ON THE KEYBOARD WHAT YOU SAY WIIL BE CONVERTED TO TEXT DICTATION WORKS WITH ANY APP WITH A KEYBOARD? iam unable understand what is i

  • Where do i publish my app?

    Hi ho, I wrote my small, tiny app, which I'd like to publish, public domain licence or GPL or maybe CC that only forces redistributers to tell my name, I'm not quite sure yet (I like GPL, but it should be a licence that's compatible with GPL AND crea