Adapter Mapping Question

Guys,
ANy idea what does happens internally when mapping a adptr variable I select Mapto as Process DATA?
and also which lookup or table holds the value of the qualifier?
Much appreciated
Thanks
-Mukul

Their is no lookup which contains the values for the qualifier, it directly comes from the Process Form fields. All the form field would be visible here.

Similar Messages

  • Adaptive RFC question

    I have a general question: could you tell me the reason why the RFCs to be called in JAVA Web Dynpro should be designed transferring the table values in the "Tables" parameter tab and not the "Import" and "Export" parameter tabs?

    Re: Adaptive RFC question
    Posted: Apr 3, 2006 7:59 PM    Reply 
    Hi Tania,
    You need to know first what is import parameter, export parameter and table parameter.
    Import enables you to pass single set of values. Export enables you export single set of values. When you have data that is collection of n number of sets of data, use Table (Stucture) for import or export.
    E.G.
    Suppose, you are trying to see result of a student by Importing roll number of the student. You can use Export parameter to display result (a single set).
    But if you want to see reuslts for n number of students by inputing n number of roll numbers, you need to use table structure for inputing the roll numbers and outputing the results.
    An ABAP developer needs to document these parameters so that the WebDynpro developer can understand what are input tables and what are output tables.
    Need to know more ? let me know.
    Ashutosh

  • CRMXIF_REL_SAVE_M01 - Mapping Question

    Hello All,
    I have a mapping question, hope some one can answer my question. Please see the link first and the see my question
    http://www.flickr.com/photos/8764045@N06/4265246260/sizes/o/
    I'm mapping the CRM IDOC to the JDBC Call. I have small problem here. All the target fields are Mandatory 1..1 .
    I will explain with an example:
    I have field from source E102BUS_EI_STRUC_TEL_DATA/COUNTRY mapped to target field.
    I used Map With Default so that even if the values are not there frm the source the target field will be mapped with blank.
    But the problem is the parent node for E102BUS_EI_STRUC_TEL_DATA is E102BUS_EI_BUPA_TELEPHONE is 0.999999 , so sometimes that segment is not coming. In this case Map with Default won't work. Map with Default willl work only if the Parent node is present.
    If you ask me to do Exists node function on E102BUS_EI_BUPA_TELEPHONE and then apply Map with Default, then even this won't work.
    Apologize if I confused you guys. Please let me know if you need more clarification.
    Thanks!
    Raj.

    Hi Raj,
    Try to do a mapping like this
    E102BUS_EI_STRUC_TEL_DATA(context E102S_EI_BUPA_TELEPHONE_CON)--mapwithdefault-->then
    E102BUS_EI_BUPA_TELEPHONE-->exists------------------------------------------------------------------>if---->splitbyValue
    let us say this output (the output of splitbyvalue) as 'VALUE'
    VALUE-----------------------------------------------> then
    VALUE|-->count--->greater----------------------->if----->targetField                            
          Constant(0)---->              Constant(blank)-->else
    Regards
    Suraj

  • A top difficulty mapping question

    Hello
    dose anyone can give solution for this mapping question?
    soruce :
    <header>header</header>
    <item>
         <A>a1</A>
         <B>b1</B>
         <C>c1</C>
    </item>
    <item>
         <A>a2</A>
         <B>b2</B>
         <C>c2</C>
    </item>
    <item>
         <A>a3</A>
         <B>b3</B>
         <C>c3</C>
    </item>
    target:
    <header>header</header>
    <item>
         <A>a1,a2,a3  .....</A>
         <B>b1,b2,b3  .....</B>
         <C>c1,c2,c3  .....</C>
    </item>
    The numbers of item is not fixed,it is unbounded.
    so the target line length is not fixed at design time
    welcome any hits,
    Thanks !!
    BR,
    Jeffrey

    Hi,
    Use cache parameter as Context.
    public void add_element(String[] a,ResultList result,Container container)
      //write your code here
    String c = "";
    int i;
    for(i= 0 ; i < a.length; i++)
             c = c + a<i> ;
             if(i != (a.length-1))
                  c = c + ",";
    result.addValue(c);
    A(src)-->removecontext->UDF--->A(tgt)
    B(src)--->removecontext->UDF--->B(tgt)
    C(src)--->removecontext->UDF--->C(tgt)

  • RFC Adaptive Model Questions

    Hi all,
    I have some questions about RFC Adaptive Model in Web Dynpro:
    1)Can I add a new RFC into a Model without recreating that?
    2)There’s a way to WebDynpro don’t lost de mapped attributes like an input field that’s mapped to an import parameter of a RFC? Because all the times that I change the Model and recreate that, my application lost the link between Controller and View and it’s generate a lot of work to redo this manually.
    Thanks,
    Manoel

    About RFC models, if I have this schema:
    RFCModels
    -- ZRFC_A
    -- ZRFC_B
    -- ZRFC_C
    If I want to add a new RFC to this model (ZRFC_D), I can't do that. In this case I want to create a new Model with the ZRFC_D right?
    When I import a Web Services Model and I have made some changes in Web Services, I don't have a Re-import option enabled like RCC models. What can I do in this case?
    Thanks,
    Manoel

  • EDI - IDOC  mapping question

    Dear Experts,
    For transformations between EDI and basic IDOC types, are there any off-the shelf  (ready to use) options? If yes what are they? If not, what is the easiest way of mapping in between these structures?
    Our setup involves Seeburger's AS2 adapter.
    Thanks

    Hi Aamir,
    Thank you for your response.
    We are working in an environment where we do not have any control over the setup. So I have a few follow up questions, answers to which would help me immensely.
    1. I saw that there are a"few" mappings available for which both the EDI and IDOC versions differ from what we need. So, is there anyway to get an actual listing of all supplied mappings?
    2. In case you have worked for a similar scenario, is it possible for you to share a sample mapping spreadsheet ?
    Thank you,
    N

  • Many-to-many mapping question

    Hi,
    I'm working with two classes Car and Customer. The Car class has a Vector of Customers and the Customer class has a Vector of Car. Both are related by a many to many mapping.
    I have noticed that I have to set one of the vector to read only to avoid the error message "More than one writable many-to-many mapping can not use the same relation table" in the mapping workbench.
    I can understand that but is there a way to work around, I mean to be able to add a car to a customer and add a customer to a car with the both vectors?
    Is there something to do with the cache?
    I use Vector for the collection or Map class, have I to do otherwise?

    Hello Vladislav, I understand your first question in this thread, but I'm not sure I follow the rest, so let me respond to your first post:
    "I have noticed that I have to set one of the vector to read only to avoid the error message "More than one writable many-to-many mapping can not use the same relation table" in the mapping workbench.
    I can understand that but is there a way to work around, I mean to be able to add a car to a customer and add a customer to a car with the both vectors?"
    The issue here is that with a Many to Many mapping the mapping is responsible for writing to the association table. So, you have a "CAR_CUST" association table. Imagine you add a Car "101" to a customer "501" and the requisite customer "501" to that car "101" in your object model. Then the association table should only be updated once, with an entry of "101, 501". But since the M-M is mapped in both directions, you need to tell TopLink which of these to consider as the "master" when updating the database.
    If you didn't make one of the M-M mappings "read only", then TopLink would insert "101, 501" twice in the association table, and then at a later date you would see that the customer 501 had two 101 cars!
    We do have a feature that allows for TopLink to maintain bidirectional relationships such that if you add or remove a target from one relationship, TopLink will automatically add/remove it from the opposite direction. In my opinion this is lazy programming! A good Java developer should insist on keeping his model up to date on his own. This feature was added because it's part of the EJB spec, not necessarily because it's a good idea ;)
    - Don
    Is there something to do with the cache?
    I use Vector for the collection or Map class, have I to do otherwise?

  • Problem in JDBC Adapter Mapping

    Hi all,
    I am working on a scenario wherein i am trying to connect an ORACLE DB to SAP 4.7 system using XI 3.0 . I configured the JDBC Adapter and the JDBC adpter is picking up the message but i have a problem in JDBC adpter Mapping.
    The error message is like this:
    <!--  Request Message Mapping
      -->
    - <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/_ORACLE_MSGMAP_</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/_ORACLE_MSGMAP_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    How to map the "Resultset" from the Adapter to a target message? Can anybody throw some light on how to get the message from the JDBC adpter and map it to some other message format...Any documents regarding this ?
    Waitin for ur replies...
    Bye,
    Romit Shankar Arun.

    Hi,
    Does your other SDN post "Inserting data through JDBC adapter" refer to the same problem?
    I assume you use XMLSPY for creating XSDs.
    I used the XSD posted by you in the other forum thread and tried to generate the XML structure and it does not seem to generate the XML structure in the format required by the JDBC adapter.
    sample file generated from your XSD posted in the other forum thread:
    <?xml version="1.0" encoding="UTF-8"?>
    <resultset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Untitled1.xsd">
         <row action="INSERT">
              <CUSTOMER_NUMBER>String</CUSTOMER_NUMBER>
              <COUNTRY_KEY>String</COUNTRY_KEY>
              <FIRST_NAME>String</FIRST_NAME>
              <LAST_NAME>String</LAST_NAME>
              <AUTHORIZATION_GROUP>String</AUTHORIZATION_GROUP>
              <INDUSTRY_KEY>String</INDUSTRY_KEY>
              <ACCOUNT_GROUP>String</ACCOUNT_GROUP>
              <INTIAL_CONTACT>String</INTIAL_CONTACT>
              <COMPANY_CODE>String</COMPANY_CODE>
              <CITY>String</CITY>
              <CITY_CODE>String</CITY_CODE>
              <COUNTRY_CODE>String</COUNTRY_CODE>
              <DISTRICT>String</DISTRICT>
              <FAX_NUMBER>String</FAX_NUMBER>
              <HOUSE_NUMBER>String</HOUSE_NUMBER>
              <POSTAL_CODE>String</POSTAL_CODE>
              <REGION>String</REGION>
              <TELEPHONE_NUMBER>String</TELEPHONE_NUMBER>
         </row>
    </resultset>
    Compare the above to the template i have mentioned.
    Hope this helps.
    Regards,
    Sridhar

  • Mapping question

    Hello,
    I have a rather simple question regarding a mapping.
    Lets say my input message is as following:
    <mes1>
       <seg1>
          <name1>Peter</name1>
          <street1>HighCrt</street1>
       </seg1>
       <seg2>
          <name2>Vlad</name2>
          <sub2>Trickst</sub2>
       </seg2>
       <seg2>
          <name2>Rinaldo</name2>
          <sub2>fiave</sub2>
       </seg2>
    </mes1>
    My output should be:
    <out>
       <put>
          <name>Peter</name>
          <name>Vlad</name>
          <name>Rinaldo</name>
       </put>
    </out>
    So my output field "name" should created in case I have a "name1" field in the source message and additionally it should be created for every "seg2" element that is present in the source message and it should be filled with the value of "name2".
    How can I in the mapping trigger that the "name" element of the output message will be generated for each of the two described elements of the source message?
    Best Regards,
    Peter

    Hi,
    Could be possible using user defined function.
    Create a user defined Function with  cache = context
    public void createNodeName(String[] a,String[] b,ResultList result,Container container){
    if ( a.length > 0 )
      result.addValue ( a[0] ) ;
    for ( int i = 0; i < b.length; i++ )
         result.addValue ( b<i> );
    in Mapping use
    1. name1 as first argument
    2. name2 with removeContext as second argument

  • File Receiver Adapter : ASMP Question

    Hi all,
    My requirement says i need to name my target file like this: <XYZ><YYYYMMDDHHMMSS>
    Now i knw that i can achive this via the Adapter Specific msg  parameter but don't know how to proceed.
    i have done this so far,
    After referin this thread:[Receiver File Adapter - TimeStamp;
    In the mapping done a UDF:
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String SourceFileName = conf.get(key);
    String newfilename=SourceFileNamea; //Where a is a string that holds YYYYMMDDHHMMSS+
    // change to new file name
    conf.put(key, newfilename);
    return "";
    i have not done anything else apart from this UDF in the design, nothing in the Configuration, Which is why maybe i am not getting the desired result. My recv channel has this in the file name: XYZ
    i get a file in the target directory like this: nullYYYYMMDDHHMMSS Don't knw y i get the null @ the beginning and don't know y it overrides the XYZ in the recv adapter File name tab.

    Hi Hankovak,
       Please do the following check list:
    1. Map to any of the higher level node it can be top most  message type node (eg.MT_Msg1).So that the modified name will be available  on the target side ASMA.
    2Check the syntax again by right clicking on the UDF and selecting QUEUE.
    3.In the communication channels of both sender and receiver  check the ASMA check box.
    4.in the receiver side communication channel give  * asterik in the receiver file name scheme. uncheck the add timestamp as well .your UDF might be using the time stamp from the communication channel reporting Null value in the file name.This will definitely solve your problem
    Please refer the follwing blog on ASMA for more clearifications.
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417700)ID0406368850DB01026224637153001718End?blog=/pub/wlg/2664
    Thanks,
    Ram.

  • Mapping - Questions

    Hi,
       I have few basic questions regarding mappings.
       1)  I think we can do everything by using Graphical Mapping. Then what is the purpose for Java, XSLT and ABAP mapping? Please give me an example for this...
       2) Which mapping will give better performance? Is there any comparison document available in SDN?
      Appreciate your help!
    Thanks,
    Vivek

    hi,
    Mapping Techniques
    XI provides 3 standard ways of interface mapping between source and target.
    Graphical mapping
    Java Mapping
    XSLT Mapping
    Two more additional mapping types can be activated in XI by making changes to the exchange profile. Those two mappings are
    ABAP mapping
    XSLT mapping with ABAP Extensions
    Graphical Mapping
    Graphical mapping is a common approach followed by everyone for generating desired target structure. It involves simple drag-n-drop to correlate respective nodes (fields) from source and target structure. It hardly involves coding. (Exception - User defined functions). But sometimes with graphical mapping it is difficult to produce required output. For example ... text/html output, namespace change, sorting or grouping of records etc.
    ABAP Mapping
    A person comfortable with Object Oriented ABAP can go for ABAP mapping instead.
    Java Mapping
    Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.
    SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.
    XSLT Mapping
    One can also think of Java mapping as another option but it is a bit complex and required knowledge of Java. In such cases, XSLT mapping can be the best approach to meet the requirements.
    check these links too..
    Mapping:
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/b78d406b305537e10000000a1550b0/frameset.htm
    For Java Mapping:
    http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
    For XSLT Mapping:
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm
    Error handling in XSLT Mapping:
    http://help.sap.com/saphelp_nw04/helpdata/en/8a/7672f7d7e444439fd7024f806221a4/frameset.htm
    You can also refer some How to guides:
    XI New Mapping Features article,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi%203.0%20new%20mapping%20features%20article.evn
    Generic XSLT Mapping and Sample Code,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi%20code%20samples/generic%20xslt%20mapping%20and%20sample%20code.pdf
    How to use ABAP-MApping in XI3.0,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/how%20to%20use%20abap-mapping%20in%20xi%203.0.pdf
    Thanks,
    Vijaya.

  • ABAP Mapping Questions

    Hi,
    I am trying to get my head around ABAP mappings and have a few questions.
    In the below code sample which I find in every example and blog it talks about specific steps -
    *initialize iXML, * create iXML factory object, * create streamfactory object, * create input stream object, * initialize the input xml document, * parse the input xml document
    In these steps the code is always exactly the same so my question is are these just standard steps that are implemented every single time an abap mapping is used and hence only standard lines that never have to be changed or will they be different depending on the mapping.
    I am trying to work out where I will begin my coding.
    So would somebody be so kind as to give me a brief explanation of the above mentioned steps.
    Thank you
    METHOD if_mapping~execute.
    * initialize iXML
      TYPE-POOLS: ixml.
      CLASS cl_ixml DEFINITION LOAD.
    * create iXML factory object
      DATA: ixmlfactory TYPE REF TO if_ixml.
      ixmlfactory = cl_ixml=>create( ).
    * create streamfactory object
      DATA: streamfactory TYPE REF TO
      if_ixml_stream_factory.
      streamfactory = ixmlfactory->create_stream_factory( ).
    * create input stream object
      DATA: istream TYPE REF TO if_ixml_istream.
      istream = streamfactory->create_istream_xstring( source ).
    * initialize the input xml document
      DATA: idocument TYPE REF TO if_ixml_document.
      idocument = ixmlfactory->create_document( ).
    * parse the input xml document
      DATA: iparser TYPE REF TO if_ixml_parser.
      iparser = ixmlfactory->create_parser(
      stream_factory = streamfactory
      istream = istream
      document = idocument ).
      iparser->parse( ).

    Hi,
         The above lines you mentioned deal with initialization of the iXML parser for parsing through the XML payload, so they would remain the same for all mapping where you are parsing the input payload.
    The coding for you specific mapping will begin after this, something like :
    * Implements the DOM generating interface to the parser
      iparser->parse( ).
      emp_node_collection = idocument->get_elements_by_tag_name_ns( name = 'Order' ).
      emp_node_length = emp_node_collection->get_length( ).
      emp_node_iterator = emp_node_collection->create_iterator( ).
    where you start reading the xml node values.
    Hope this helps.
    Regards

  • One to one mapping question -- can I just map a lookup field for queries?

    I have a table with a state code. I'd like to have a "virtual lookup" on the java class to a region table. I.e., this java class "studies" has a state code. I can map a one-to-one to the descriptor class that has the ref table, but I'd like to have a property in the java class pre-mapped to the "region" field in this lookup so for querying i can just use:
    ReadAllQuery q = new ReadAllQuery();
    q.setReferenceClass(study.class);
    q.setSelectionCriteria(new ExpressionBuilder().get("Region").equal(Region));
    to get all the studies for a particular region.
    am I going about this wrong? or do I have to get the reference table descriptor fromt he one to one map and do something different?

    well,on the way home last nite, I realized I'd had a complete brain fart. I've done this before. I just set up a 1-1 map between descriptors and then built the query like this:
    q.setSelectionCriteria(new ExpressionBuilder().get("refFPO").get("FPO_NO").equal(FPO));
    You can get the pointer to the "refFPO" which is the the descriptor mapped 1-1, then appended the column you wish to get.
    I still went ahead and amended my class to include a read-only, non-toplink mapped attribute "FPO" which just gets the reference variable pointing to "refFPO.getFPO_NO();
    I answered my own question just in case anyone wondered ....

  • Sender JDBC Adapter : Urgent Question

    Hi,
    I am working on a Oracle - XI - R/3 scenario.  This scenario is working fine currently.  The question that I have is what if I more than 500,000 records existing in the oracle table, then how many records will be picked up by the adapter when it polls the Oracle table .   Will it try to pick up all the records, or does it pick up records in small packages..Can I set up the  package size somewhere ??
    I havent found an option in the adapter as such, and do not have high volumes of data in the Oracle table  yet, so havent been able to run tests myself.
    Thanks a lot
    Any help will be appreciated
    Mayank

    Bhavesh, Tim, Sandro ..
    Thanks for giving me ideas in getting my issue resolved.  I think I have the solution finally.  I controlled the data being selected using the
    SQL Query Statement " select * from zbwxi where  rownum < 5000 and readflag = 'U' "  and in the
    update sql statement I put " update zbwxi set READFLAG = 'P' where rownum < 5000  and readflag = 'U' . 
    ZBWXI was by Oracle table which has a field called readflag.
    I have run a few tests and the results look good to me ..
    Let me know if you need explanation on why this worked ..
    thanks for all your help
    Mayank

  • Mapping question - File to Webservice scenario

    Hi
       I have a text file - that is pulled in by XI - using a ftp adapter - source interface. On the other side - target interface - we have a webservice whose definition is loaded into XI as a external interface defiinition - message type level.
    Now , for every record in the text file - I need to call the webservice method- once . The webservice method definition is such that - the top level node has occurence 1-1 and type is blank - The parameters to be passed to the method appear under it -
    I tried using split-by-value node function to make the mapping call the webservice method once for each record in my input text file - this results in the webservice method being called just once - not as I expected ( once for each record in my text file )
    Where am I going wrong with this ? Is it possible to make the call to the webservice method - with the top level node having the definition described above - once for each record in my source text file ? Since the webservice method has been imported as an external definition ( *wsdl ) , I am unable to put it under any other higher level element .
    Any pointers/suggestions as to where I am going wrong - how to make this scenario work will rewarded with full points.
    Thanks.

    Prakash
               Thanks for the reply. Yes, I have a file content conversion - involved here - I have already specified the value for No.of Recordsets per message as<b> 1</b>.
    However, I have specified the value for Recordset Structure as <b>TrkfileRecordset,*</b> - where TrkfileRecordset is my unbounded structure representing each line /record in my file .
    With this setting, the whole file is being converted to a single xml message - with the records in the file repeating as multiple TrkfileRecorset nodes. Maybe , if I change the * to a 1 in the Recordset Structure definition - the file adapter will read each file record as a single individual message - as per your suggestion of avoiding a BPM.
    Now, the typical volume we expect is 500 lines split across many file during a day - I am thinking - with this volume -whether involving a BPM ( which takes in one message per file and splits it ) or creating one xml message per record in the file ( which would mean 500 xml msgs per day ) would be better -
    Please share your thoughts on the options I have with XI SP13 to handle this scenario.

Maybe you are looking for