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

Similar Messages

  • Flat File to XML mapping Problem

    I am facing some issues in mapping from flat file to XML. I have not reached to the stage of actually executing the scenario and the problem has not advanced beyond mapping tests.
    Following are structures of inbound flat file (as specified in content conversion parameters of sender adapter)
    Document Name          MMADealerStatementInbound_MT
    Recordset Name          MMADealerStmtInbound_Type
    Recordset Structure 
    BatchHeader,1,DealerHeader1,,DealerHeader2,,DealerDetail,,DealerAgeing,,Trailer,1
    Recordset Sequence           Ascending
    Key Field Name          RecordType
    Key Field Type               String (Case Sensitive)
    Following are structures of Outbound XML file needed
    All DealerDetail nodes are lumped together in first DealerStmt nodes. They need to be distributed across many DealerStmt nodes.
    Company          CompanyName                    25
    Company          CompanyAddress          StreetAddress     Company Street Address     50
    Company          CompanyAddress          City     Company City     40
    Company          CompanyAddress          State     Company State     3
    Company          CompanyAddress          ZIP     Company ZIP     10
    Company          CompanyAddress          Country     Company Country     3
    Company          RunParams          RunDate     Statement Run date     8
    Company          RunParams          StmtPeriod     Statement Period     20
    DealerStmt     0-unbounded     DealerNumber                    10
    DealerStmt     0-unbounded     DealerName                    35
    DealerStmt     0-unbounded     DealerAddress          StreetAddress     Dealer Street Address     50
    DealerStmt     0-unbounded     DealerAddress          City     Dealer City     40
    DealerStmt     0-unbounded     DealerAddress          State     Dealer State     3
    DealerStmt     0-unbounded     DealerAddress          ZIP     Dealer ZIP     10
    DealerStmt     0-unbounded     DealerAddress          Region     Dealer Region     4
    DealerStmt     0-unbounded     DealerRemitToAddress          CompanyName     Company Name     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress1     Street Address 1     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress2     Street Address 2     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress3     Street Address 3     50
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     DocDate     Document Date     8
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     InvoiceNumber     Invoice Number     10
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     TransDescription     Transaction Description     50
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     TransAmount     Transaction Amount     16
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     AmountSign     Amount Sign     1
    DealerStmt     0-unbounded     DealerAgeing          CurrentBal     Current Balance     15
    DealerStmt     0-unbounded     DealerAgeing          Bal1to31days     Balance 1 to 31 Days     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver31     Over 31 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver61     Over 61 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver92     Over 92 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver123     Over 123 days Old     15
    Trailer          DealersCount                    5
    Trailer          TransCount                    10
    Trailer          TotalAmount                    20
    Here is the mapping I used for this node.
    /ns0:MMADealerStatementOutbound_MT/MMADealerStmtOutbound_Type/DealerStmt/DealerDetail=ifWithoutElse(stringEquals(/ns0:MMADealerStatementInbound_MT/MMADealerStmtInbound_Type/DealerDetail/RecordType=, const()), SplitByValue(/ns0:MMADealerStatementInbound_MT/MMADealerStmtInbound_Type/DealerDetail=))
    My email address is [email protected] and i can send some screen shots to understand better.
    I need help of XI mapping Gurus.
    Thanks
    Rajesh

    HI,
    Possible mention the source Message/Data Type and Target Data Type and Mapping Rules reuired. Then I think it may be useful to give some hints.
    btw , What is the error in Mapping ?
    Regards,
    Moorthy

  • Creating dynamical flat file name in mapping?

    Hi.
    I know about the variations on how to use an input parameter and/or sysdate to create a dynamic output file name in a mapping.
    My challenge is nearly the same, but I cannot make OWB generate the correct code.
    Problem:
    - got a one column table that holds an identifier in a string field
    - got a function that reads and returns said identifier
    - imported function into OWB
    - trying to use the function call in the Flat File Operator's Target Data File Name, e.g. fixedfilename||fn_get_id()||sysdate||'.ext
    OWB creates the code:
    UTL_FILE.FOPEN(
    'my_location',
    'fixedfilename'||fn_get_id()||'_'||SYSDATE||'.ext',
    'w',
    32767
    However, when compiling the package code, it returns the warning:
    ORA-06550: PACKAGE BODY, line 2214, column 29: PLS-00201: identifier 'FN_GET_ID' must be declared
    which results in an error when trying to execute the mapping.
    I've tried substituting the function call in the FOPEN call:
    myId := fn_get_id();
    UTL_FILE.FOPEN(
    'my_location',
    'fixedfilename'||myId||'_'||SYSDATE||'.ext',
    'w',
    32767
    and this works fine, the mapping creates a file with the desired filename. But obviously not a good solution rewriting the generated code all the time....
    Anyone solved something similar?
    Could I use an input parameter and the autogenerated function GET_<PARAMETER>?
    But can I set the value of an input parameter inside the very same mapping?
    Regards,
    -Haakon-

    (It always helps writing out one's problems...)
    I managed to get it working :-)
    Added an input parameter to the mapping, and gave the outgroup variable a default value by calling my imported function.
    Then concatenated the implicitly generated function (GET_PARAMETER) in the Target Data flat file name.
    I now have a target file name that changes according to a departement id stored in a parameter table.
    Regards,
    -Haakon-

  • Flat file to idoc mapping issue

    Hi Gurus,
    i had a flat file format in sender side as below:
    H_ID     TYP_CODE    line_elemet      Quantity
    5896  STANDARD                       1.transmitter    1
    5896                  STANDARD       2.xxxxxxxxx           1
    5896                   STANDARD      3.yyyyyyyyy  2
    6895                  STANDARD       1.aaaaaaaaa        1
    9436                  STANDARD       1.bbbbbbbbb          4
    9436                  STANDARD       2.ggggggggg          3
    The above file need to be send to an Idoc.
    for which same header_ID values should create only one header segment, under that many a line segments should create as many line items appear on that header_id value.
    Here my query is how to suppress the repetetive header values to create onlyone header segment. And how to create as many line_item segments as the number of line items appear.
    points obvoius for the response
    Thanks in advance,
    Sekhar.

    About map problem I suggest youn to see the following link that are really helpful to improve knowledge about mapping:
    /people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    I suggest you to see the following link to learn more about mapping:
    Mapping functionality in XI
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    SAP Exchange Infrastructure - Graphical_Mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
    SAP Exchange Infrastructure - Graphical Mapping Exercise
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
    SAP Exchange Infrastructure - Graphical Mapping - Advanced
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
    SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
    Mapping Lookups a RFC API
    Mapping lookups - RFC API
    XI 3.0 New Mapping Features
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
    I hope these links will be usefull.
    Regards,
    Salvatore

  • XI Flat File to JDBC Mapping Error

    Hi,
    I have been trying to insert some records from a flat file into a sybase database using the FILE adapter (with file content conversion) as a sender and the JDBC adapter as a reciever, but I keep getting mapping errors like:
    RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_hh_file__hh_sybase_nombres_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:mt_hh_sybase_nombres/STATEMENTNAME. 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
    I have read through some blogs and I still can't figure out what is wrong.
    Flat pipe separated file:
    Hans|Robert|Hahn|Gallegos
    Karina|Maria|Cordoba|Gutierrez
    Datatype for this file looks like this:
       Record                         1
          Row                          1...Unbounded
             Nombre                  1
             SegundoNombre     1
             ApPaterno              1
             ApMaterno             1
    Because the FILE adapter uses Content conversion, the file translates to:
      <?xml version="1.0" encoding="utf-8" ?>
      <ns:hh_test xmlns:ns="http://me.com">
      <Record>
         <Row>
          <Nombre>Hans</Nombre>
            <SegundoNombre>Robert</SegundoNombre>
            <ApPaterno>Hahn</ApPaterno>
            <ApMaterno>Gallegos</ApMaterno>
         </Row>
         <Row>
           <Nombre>Karina</Nombre>
           <SegundoNombre>Maria</SegundoNombre>
           <ApPaterno>Cordoba</ApPaterno>
           <ApMaterno>Gutierrez</ApMaterno>
         </Row>
        </Record>
      </ns:hh_test>
    My database table looks like this:
    Nombres
    ApPaterno
    ApMaterno
    Datatype for this table looks like this:
    STATEMENTNAME    1..Unbounded
      nombres                  1
        action                    optional
        TABLE                  1
        access                  1
          Nombres             1
          ApPaterno           1
          ApMaterno           1
    MAPPINGS as follows:
    Record ------> no mapping
    Row ------> STATEMENTNAME
    Constant ------> action
    Constant ------> TABLE
    Nombre + SegundoNombre ------> Nombres
    ApPaterno ----> ApPaterno
    ApMaterno ----> ApMaterno
    How do I do the mapping ? I've been through a lot of blogs and threads but I haven't found an example like this, a flat pipe separeted multiline file with records to be inserted in a database.
    Message was edited by:
            Hans Hahn

    Hans,
    The error shows you have an error in mapping. Also you have mapped constant for ACTION and TABLE. Here you have to hardcode the value INSERT or UPDATE etc for ACTION and the name of the table for TABLE.
    Check this weblog where he has mentioned everything what you are looking for:
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    Also once when you are done with mapping try to execute it in the test tab of mapping editor.
    ---Satish

  • IDoc to Flat file scenario - abap mapping

    Hi All,
    I have to do some IDOC to Flat file scenarios. In Order to generate the file in required format I will have to add all segments(Nodes) of Idoc in FCC receiver. We also have other option of doing it through ABAP Mapping which I found in one blog.
    Now my question is : Is it better way of doing it through FCC or ABAP Mapping?
    Ofcourse from development point of view ABAP Mapping looks easier as FCC is very time consuming task.
    Is there and performance issues in either of the approach?
    Thanks and Regards,
    Atul

    Hi VJ and Harald,
    Thanks for your replies.
    I am not having PI7.1 however the given blog was very informative.
    I will try using file port approach as suggested.
    Thanks and Regards,
    Atul

  • Flat File to IDOC Mapping requirement to generate Multiple Segments

    Hi Experts,
    I got a requirement were i have 2 records in a file and i need to generate 2 IDOCs  with  multiple segments in it.
    FILE :
    10/01/2010     101  KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    Idoc should generate 2 IDOCs with multiple segments as shown below
    I have imported the IDOC and changed the occurrence to " unbounded "
    The Basic  IDOC Type :  WMMBID02
    I need to generate Multiple segments of  E1MBXY1
    i.e..,  First IDOC should contain two  E1MBXY1 segments
             Second IDOC should contain Four  E1MBXY1 segments
    IDOC1 :   WMMBID02
    Segment :   E1MBXY1( 2 segments)                                                       
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    IDOC2 : WMMBID02
    Segment :  E1MBXY1 ( 4 segments)                                                  
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          30-0257     3521     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    10/01/2010     101     KRNA      ic_quantity          90-0005     3521     1     2     ea     110000     10
    Can anyone suggest me how to generate IDOCs with multiple segments
    what are multiple ways of generating it
    Whether it can be achieved using Multi-mapping or I need go for UDF
    If any one has done has done this type of requirement ,please share the points.
    Thanks
    Sai

    Basically you need to generate idoc per record in the flat file. During fcc conversion you convert flat file to xml structure at the sender side. In the mapping use xml file structure source and idoc as receiver structure. You just export idoc and update the idoc segment 1 to unbounded.  Please follow the michael blog for file to idoc multimapping without bpm. Yes without bpm it is possible.
    see this link... This will answer your requirement.
    https://wiki.sdn.sap.com/wiki/display/XI/File%20to%20Multiple%20IDOC%20Splitting%20without%20BPM
    >Whether it can be achieved using Multi-mapping or I need go for UDF
    you dont need udf for this.

  • 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

  • File to Idoc Mapping Problem

    Hi all,
    i'm getting an error from SXMB_MONI in a scenario File to Idoc.
    I have done the mapping from source file and Idoc CREMAS03, when i try to test from Integration Repository it's all ok, but when the scenario is executed i find this error in Idoc Adapter :
    <SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
    The field BEGIN in idoc structure is filled with constant value 1, than i dont understand the error.
    This is the xml source file :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Vendor xmlns:ns0="urn:tbit40:workshop:group01:legacy">
    - <Address>
      <Country>IT</Country>
      <Zip>001</Zip>
      <City>ROMA</City>
      <Street>SATTA</Street>
      </Address>
      <Currency>USD</Currency>
      <SearchTerm>TEST</SearchTerm>
      <LastName>GUIDA</LastName>
      <VendorNumber>44332</VendorNumber>
      </ns0:Vendor>
    Any help is really appreciated.
    Thanks.

    Hi all and thanks for your answer.
    My problem is that for what i can see all Idoc attribute (like the attribute BEGIN) are mapped with constant value.
    In taget source i can see :  BEGIN = Constant([value=1])
    What i dont understand is why when i execute the scenario it ends with this message :
    <SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
    It seem to me that the tag BEGIN is not filled with value, i also tried to copy the source xml file directly from SXMB_MONI  (from payload) and test it in Integration Repository mapping section, but here is all ok and the test end succesfully.

  • Flat file to idoc - mapping

    Gurus,
    I have a flat txt file of following format
    Doc#         Whse        Item          Matnr         date                       code
    3256999     WH20     1001     861927     09/12/200713:24     9596     2
    3256999     WH20     1002     861928     09/12/200713:24     9596     2
    3256999     WH20     1003     861929     09/12/200713:24     9596     2
    3257169     WH20     2000     861964     09/12/200713:24     9596     2
    The first 2 columns are header fields rest all are item fields. How do i map this to an Idoc, so as to move doc# and whse to header segment and rest of columns to add multiple item segments on the same idoc ? So for above file i should get 2 idocs only.

    You can navigate thru these links to get more information:
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    http://help.sap.com/saphelp_nw04/helpdata/en/ef/df564b6aa24fc9ab0d685460747de5/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ee/bf9640dc522f28e10000000a1550b0/frameset.htm
    Do your want the source and target structures to resemble the structures below?
    Source:-
    <source_file>
    <row_1>
    <item_a>
    <item_b>
    <item_c>
    </row_1>
    <row_2>
    <item_p>
    <item_q>
    <item_r>
    </row_2>
    <row_3>
    <item_x>
    <item_y>
    <item_z>
    </row_3>
    </source_file>
    Target:-
    <target_idoc>
    <item_a>
    <item_b>
    <item_c>
    <item_p>
    <item_q>
    <item_r>
    <item_x>
    <item_y>
    <item_z>
    </target_idoc>
    If so, then all you need to do is to use the node function: "remove context" for all the items under your rows. In other words,do the following mapping:-
    *source_file mapped to target_idoc
    *map each of the items under all the three rows in the following way:-
    "source item" mapped to "remove context" (node function) mapped to (corresponding) "target item".
    Also check the occurences for each of your variables in both source and target structures.
    /people/ravikumar.allampallam/blog/2005/03/03/creating-purchase-order-idoc-through-xi
    Regard's
    -Prabhakar.A

  • 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

  • Trasnformation File..fields mapping..

    I am getting some fields from the data field, which I don't need for BPC7NW. For example out of 10 fields 2 field is not required for BPC, but my source system file has these fields.
    How to tell the system to ignore this field and load the remaining. because currently my load is failing with message that few of the legacy fields are not mapped.
    Appreciate the inputs..

    Hi
    well the mapping can be done as follows:
    lets say u have 5 fields in your source file and u need only 3 out of them....
    BPC Fields                          Source Fields
    ID      =                                       *COL(1)
    CO_AREA   =                            *COL(2)
    BUS_AREA    =                         *COL(4)
    so in the above example u have mapped only required fields from source to target BPC dimensions.U need not to specify anything to ignore if you do not the map the field then it is automatically ignored so as per the above mapping source columns 3 and 5 are ignored.
    Regards

  • File Content Conversion Mapping problem

    Hi,
    I tried a file to file simple scenario using FCC on the Sender Side,but I repeatedly get a message mapping error.
    I tried changing the different parameters in filesender file adapter, checked message mapping for errors .
    1.My Mapping is Correct.
    2.The parameters in the FCC are correct.
    Is there any way where we can debug the the Message Error.
    Regards,

    HI,
    but I repeatedly get a message mapping error.
    what error message ur getting.
    what is ur file strucutre
    what FCC u r using.
    give me the details
    chirag
    Hi,
    These are the following details:
    1.error message: There is an exception in mapping
    2. File structure: A comma separated text file
                   e.g : Somya, 24.
    3. I am using sender file FCC.
    My data type is as follows:
                         FileInput
                             Recordset
                                 Row
                                      Name
                                      Age
    The Sender FCC used is:
                              Document Name: FileInput
                              Recordset Name: Recordset
                              Recordset Sturcute: Row,*
               Row.fieldNames:  Name,Age
               Row.fieldSeparator: ,
               Row.endSeparator: 'nl'.          
    Do Help.
    Regards,

  • How to create a target flat file in a mapping?

    Hi,
    I defined a Target location tar_loc (D:\target), a file modul and a file with location tar_loc and file name target_file.
    In a mapping I try to use this file as a target.
    After validating I get the message: VLD-2357: The name of the target file for target_file is missing.
    What to do?
    Thanks
    Andreas

    Hi Andreas
    Set the target data file name when you configure the mapping on the file ooperator, see;
    http://blogs.oracle.com/warehousebuilder/2007/06/some_tips_and_hints_about_xml.html
    Also this one is interesting for dynamic file names;
    http://blogs.oracle.com/warehousebuilder/2007/07/dynamically_generating_target.html
    Cheers
    David

  • Problem Experts OWB 10gR2 - Mapping with OMB - Give a name to the flat file

    I'm trying to create a mapping in OWB by using the Experts (OMB),
    where the data source is a database table and the target is a flat file (to transform a table to a flat file).
    The tasks of my Experts :
    This task create a mapping, and add a existing table on it.
         OMBCC '$thepath'
         catch {OMBDROP MAPPING 'M1'}
         OMBCREATE MAPPING 'M1'
         OMBALTER MAPPING 'M1' \
         ADD $INITIAL_LAUNCH_CONTEXT_TYPE OPERATOR '$thetable' \
         BOUND TO $INITIAL_LAUNCH_CONTEXT_TYPE \ '$INITIAL_LAUNCH_CONTEXT' \
    This task change the context and create a flat file
         OMBCC '/PRJ_LABO_PHARMA/SRC_FILE'
         catch {OMBDROP FLAT_FILE 'NEW_FILE'}
         OMBCREATE FLAT_FILE 'NEW_FILE' \
         SET PROPERTIES (DATA_FILE_NAME) VALUES('fichier_genere.txt')
    This task add the flat file to the mapping, and create a connection between the source (table) and the target (flat file)
         OMBCC '/PRJ_LABO_PHARMA/MOD_SRC_LABO'
         OMBALTER MAPPING 'M1' \
         ADD FLAT_FILE OPERATOR 'NEW_FILE'\
         BOUND TO FLAT_FILE '/PRJ_LABO_PHARMA/SRC_FILE/NEW_FILE' \
         OMBALTER MAPPING 'M1' \
         ADD CONNECTION FROM GROUP 'INOUTGRP1' OF OPERATOR '$thetable' \
         TO GROUP 'NEW_FILE' OF OPERATOR 'NEW_FILE' COPY ALL
    This task update the flat file structure
         OMBRECONCILE MAPPING 'M1' OPERATOR 'NEW_FILE' \
         TO FLAT_FILE '/PRJ_LABO_PHARMA/SRC_FILE/NEW_FILE' \
         USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_ID')
    Then I have a task which execute this mapping.
    Everything is good, but during the execution I have a error VLD-2357 : The target file's name is not indicated for the file NEW_FILE.
    I don't know how to give a name to the flat file in OMB.
    Help me please.
    Best regards
    Samy

    Just like if you built this in the UI where you would have to configure the flat file operator and define a target data file name and possibly the location these properties should be set in scripting.
    Set the property TARGET_DATA_FILE_NAME to the name of the data file.
    Something like....
    OMBALTER MAPPING 'M1' \
    MODIFY FLAT_FILE OPERATOR 'NEW_FILE' SET PROPERTIES (TARGET_DATA_FILE_NAME) VALUES ('my_datafile.csv')
    Cheers
    David

Maybe you are looking for

  • Connecting mac pro to Imac for screen share.

    I have connected my mac pro to my Imac so i can use the Imac sceen. I hooked directly with a dvi cable. The Imac screen is immediately "taken over" by the mac pro when I make the connection. My question is, is there a way to disconnect without having

  • AV adapter issues

    I cant mirror my iphone4 to my tv using an hdmi wire and a Av adapter, I can only ser videos and netflix bu t I thought I coukd display a lot more, am I doibg something wrong?

  • Beginner ATV questions....

    Apologies if this has been done before, I can't find it if it has. I am currently using an S-video cable to watch video etc on my TV.  Works, but includes cables and bringing  my elderly non-intel powerbook out of it's cosy retirement. I believe ATV

  • HT204074 how do i re download previous videos?

    Is there a way to re-download music videos from iTunes?

  • Can anyone tell me the flow of BDC program?

    Hi Can anyone tell me the flow of BDC program and also what is the significance of each step? Thanks Gagan