Parameterized Message Mapping

Hi Experts,
Can any one can help me to understand parameterized message mapping in PI 7.1.1.
Or can anyone could refer some blogs on it.
Thanks in Advance.

Hi,
Refer follwoing demo.
http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/20ab7ccf-e78a-2a10-71b4-80fc764bafb0&overridelayout=true
Regrds,
Deepak

Similar Messages

  • Export Parameters in Parameterized Message Mapping does not work.

    Hello, XI-Gurus!
    I have a question: how to use an EXPORT parameter in Parameterized Message Mapping? seems it does not work...
    (I use XI / PI 7.1)
    For example, I have a follow scenario: a large message comes to XI from one BS (message contains a lot of rows), then this large message splits to some small messages (something about 1000 rows in one small message), and send small messaeg one by one from XI to second BS. So, after receive step I use a transformation step with Parameterized Message Mapping to get a total amount of rows in large message (it needs for making condition for loop in IP, for example). I want to use an EXPORT parameter to pass this number from Parameterized Message Mapping to Integration Process. How can I do it?
    Of course, I know the way to how to make this scenario without any parameterizing, but I want to use exactly "Parameterized Message Mapping" like it writes in this help:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm
    This topic contains something about procedure how to use an EXPORT parameter, but this procedure does not work. I don't understand how to write this UserDefined Function, which I can set any export parameters.
    I read this blog:
    /people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
    this blog has NO solutions about EXPORT parameters. about IMPORT parameters - everything OK.
    Some topics about how to use export parameters in MM in this forum marked as "answered", but this is not true.
    How to export parameters from Message Mapping
    Export parameter REALLY work in message mapping???????
    Export parameter in Message mapping UDF
    WBR,
    Vsevolod

    Hi Rudolf,
    It still does not works.
    Great thanks for all your answers! If your advice works on your PI-server, it means that my problem not in UDF.
    Step by step:
    1) I create in "Signature" tab two parameters: FILE_NAME, FILE_TYPE (of course, they both Export and xsd:string type)
    2) Then, I goes to "Functions" tab and create new function "testUDF" with one argument var1.
    3) In body of this UDF insert 2 strings:
       getOutputParameters.setString("FILE_NAME" , "Order");
       getOutputParameters.setString("FILE_TYPE" , "PDF");
    4) in "Definition" tab I bind function "Local.testUDF" with one field in my input message and goes to "Test" tab for testing.
    5) And then I have a message window "Problems While Testing":
    Source text of object Message Mapping: mm_ParamMap | urn:****.*.:****:TEST has syntax errors:
    Function testUDF, Line 1:
    cannot find symbol
    symbol  : variable getOutputParameters
    location: class com.sap.xi.tf._mm_ParamMap_
    getOutputParameters.setString("FILE_NAME" , "Order");
    ^
    Function testUDF, Line 2:
    cannot find symbol
    symbol  : variable getOutputParameters
    location: class com.sap.xi.tf._mm_ParamMap_
    getOutputParameters.setString("FILE_TYPE" , "PDF");
    ^
    Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details. Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    2 errors
    Look at this notes, first writes that I use a deprecated API, second - about unchecked or unsafe operations.
    And I have no idea what's wrong... Can you help me?
    Thanks!
    WBR,
    Vsevolod

  • Parameterized Message Mapping (RFCLookup) test in ESB message behaviour

    Hi Gurus,
    I am using parameterized message mapping using RFCLookup function
    In the TEST tab of the mapping, I've provided my test xml instance message and inputted the Message Mapping Parameter (MMP) value with the RFC Receiver Communication Channel I am using,
    looking at the Trace level in the editor, the source field value was put to the RFC as the import parameter, but the mapping fails with error that the RFC returned my defined exception (no POnumber available for MaterialNumber) --> which is not the expected result because in the ERP backend there is an existing PO for the material.    I tested the RFC in the backend ERP itself and it is performing ok, with a PO number returned for the material (testing in SE37)
    I checked on the Comm Channel and my message is being passed to the RFC adapter, but up to this point only:
    RfcAdapter received a synchronous message. Trying to send sRFC for Z_RFC_NAME.
    RfcAdapter received a synchronous message. Trying to send sRFC for PIREPUSER.
    I have created the Binding for the Operation Mapping.
    Would any of you have an idea on what is missing or what is wrong?
    P.S.   my RFC has a defined exception in it, but currently I am not using it in the RFCLookup  mapping (unchecked "Use Exception" checkbox)

    Hi All,
    Solved the issue by passing the complete length of input parameter as defined in my RFC, e.g. input param in RFC is TYPE to a 12 char field, and the input parameter value being passed by the IDoc is only 6 chars.
    In this case i used formatNumber function to put leading zeroes to complete the input parameter length
    sourceField -->formatNumber --> RFCLookup --> targetField
    Weird behaviour though is that even if my message is successfully received in the receiving system, the RFC CommChannel that my RFCLookup is using is still only showing this:
    2010-12-01 23:14:32 Information RfcAdapter received a synchronous message. Trying to send sRFC for Z_FM_NAME.
    2010-12-01 23:14:32 Information RfcAdapter received a synchronous message. Trying to send sRFC for J2EE_GUEST.
    Why isn't the whole request response of the RFC captured by the RFC adapter?  (e.g. MDT has status DLVG, DLV...)

  • Parameterized Message Mapping in PI 7.1

    Hi,
    My requirement is:
    If the import parameter of type "string" equals constant "Test",
    pass the constant value "Mail1" to the target field,
    else pass the constant value "Mail2" to the target field.
    Also I have mentioned the import parameter value in Interface Determination as "Test".
    So, "Mail1" should be the output, but in a strange way i'm always getting "Mail2" as the output.
    In message mapping test tab, i'm getting the expected output as "Mail1" but when i test it end-to-end, i'm getting "Mail2" as the output.
    Does it mean that we cannot use the import parameters for checking any conditon? Or am I doing any silly mistake?
    Any help will be appreciated.
    Edited by: Geetha Jeyaprakash on Dec 24, 2008 2:25 PM

    I'm giving the condition in Message mapping editor using standard functions.
    Actual requirement is to pass a particular mail id to the target field in Development environment and some other mail id in Production environment. As we don't have any particular source field to check the condition, we tried using parameterized mapping for the same.

  • How to export parameters from Message Mapping

    You can make use of this export parameter only in transformation step of Integration Process. You may use the following "Parameterized Mapping Programs"
    http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm
    Regards,
    Prateek

    If you have defined the signature of your UDF then the return value of the UDF must be assigned to the Export paramter of message mapping.
    Basically import parametrs represents the inputs to be passed for that function(message mapping here)
    and export represents the output of that function.
    so in your case if you want toassign the value to Export parameter (ERROR_TEXT) in UDF catch block
    assign the error returned to the ERROR_TEXT field
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm
    Check this link
    Hope this is clear
    Rajesh
    Edited by: Rajesh on Mar 13, 2009 5:31 PM

  • Problem while using Parameters in Message Mapping in Multi Mapping Scenario

    Hi,
    I am working on a scenario in PI 7.1, in which I need to pass output of Message Mapping as an input to ABAP Mapping.
    In Message Mapping, I have used standard RFC Lookup function to call a Function Module from ERP system. For using RFC Lookup function, I have created a Import Parameter of Category "Adapter", and Type "RFC" in the Signature Tab of Message Mapping.
    In Operation Mapping, I have specified both the mappings (that is., Message Mapping and ABAP Mapping).
    In Interface Determination, I have also assigned a value to the Importing Parameter.
    But whenever I trigger a message, it fails and gives message "The input-parameter Rec_RFC_ERP does not exist." (Rec_RFC_ERP is my Input Parameter name).
    When I am using only Message Mapping in Operation Mapping; it's working absolutely fine that means something needs to be done with ABAP Mapping.
    Any help will be highly appreciated.
    Regards,
    Varun

    Rec_RFC_ERP is this the name of your RFC lookup adapter?? Did you test your mapping in Design time using the RFCAdapter dropdown???
    Mapping Enhancement - RFC lookups in 7.1
    /people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
    Regards,
    Siva Maranani

  • 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

  • Error in Message-Mapping transformation

    I'm getting an error while processing the data from JDBC to SAP through IDOC's.
    During the application mapping com/sap/xi/tf/_MM_HRMD_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~
    while testing the mapping in IR (message mapping) it got succesfull.
    while testing the mapping in ID (Test configaration) with inbound payload we are getting the below error.
    interface Mapping
    ... (173 lines)
    Please provide the solution for this...

    Hello,
    Check out the trace thorougly in MONI as at which node/field the error is occuring.
    W.r.t ID testing,kindly check your interface determination(sender,receiver parameters and also the inbound interface etc)
    Regards
    Madhu

  • Send Alerts(e-mail) for errors in SXMB_MONI(message mapping exceptions)

    Good afternoon !
            I´m configuring SAP Netweaver PI 7.0(SP13) to use Alert Framework to send Alerts when errors occurs in the interfaces processing.
            I just achieved configure to send alerts when errors ocurrs in the Adapter Framework but, I can´t configure correctly to send alerts when errors ocurred only in SXMB_MONI(for example, message mapping exception in asyncronous interface).
            I just followed the instructions at Michal Krawczyk
    weblog(/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step) and, initially, this was not sufficient to start to send alert when errors occurs only on SXMB_MONI, so, I researched and found some configurations to do in CCMS(started from here: http://help.sap.com/saphelp_nw70/helpdata/en/e3/bf3b7a8ccb8040b638ff732c551aeb/content.htm), jobs to start events collectors, etc, and after this, I could see a mail for an message mapping exception. BUT, this message, sent from CCMS to ALM, doesn´t carry out all the message parameters, like message Id, sender(service, interface), receiver(service, interface), that is very important to help to find the message with errors to be solved.
            There is somebody here that already done the Alert configuration to send messages for errors found only in SXMB_MONI(Monitor for processed XML Messages) ?
            There is a better way to achieve this ?
            Thank you for your attention,
            Wilson Rodrigo dos Santos
            SAP Netweaver XI/PI Consultant

    Hi
    Go through these links and follow it.
    ALERTS CONFIG AND STUFF
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    XI: Alerts - Step by step
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    http://help.sap.com/saphelp_nw04s/helpdata/en/d0/d4b54020c6792ae10000000a155106/frameset.htm
    Triggering by Calling a Function Module Directly.
    /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    Alerts with variables from the messages payload (XI) u2013 UPDATED
    /people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
    Simple Steps to Get Descriptive Alerts from BPM in XI
    /people/community.user/blog/2006/10/16/simple-steps-to-get-descriptive-alerts-from-bpm-in-xi
    Triggering XI Alerts from a User Defined Function
    /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    Throwing Smart Exceptions in XI Graphical Mapping
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    /people/sukumar.natarajan/blog/2007/01/07/how-to-raise-alerts-from-abap-proxy
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    /people/sravya.talanki2/blog/2006/11/22/error-handling-framework-xiout-of-the-box-episode-1
    /people/ginger.gatling/blog/2005/06/16/integrating-alerts-into-uwl--its-no-problem
    /people/aravindh.prasanna/blog/2006/02/20/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-3
    /people/aravindh.prasanna/blog/2005/12/24/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-2
    /people/aravindh.prasanna/blog/2005/12/23/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part--1
    http://help.sap.com/saphelp_nw2004s/helpdata/en/56/d5b54020c6792ae10000000a155106/content.ht
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/abb2e7ff6311d194c000a0c93033f7/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    check this links.
    https://www.sdn.sap.com/irj/sdn/forums
    Trouble shooting Alert configuration:
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    /people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions
    Alert Inbox
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    Alert Notification Step-by-Step
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Defining Alert Classifications
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Triggering Alerts
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Setting up alerts
    Setting up alerts in RZ20
    Alert Management
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e04141e8-0f11-2a10-adaa-9d97b062c2df
    Alert Notification
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90f449a8-a6db-2910-a386-d2b5999f5751
    /people/matt.kangas/blog/2006/06/27/personalized-alert-delivery
    Thanks
    Saiyog

  • Accessing container variables from ccBPM in Message Mapping?

    Hello Friends,
    I have created a ccBPM and require to send response messages to the sending system at different points as the message proceeds from one state to another. I do not want to create multiple message mapping stating different status in every message mapping. The message mapping remains the same only the status is changing. So I am thinking if I can access container elements in ccBPM at message mapping then I should be able to use only one message mapping.  Is it possible at all?
    Let me know if you have other solutions. Let me know if I am not clear?
    Thanks & Regards,
    Anand Patil

    Hi Abhishek,
    Your suggestion to use Parameterized Mapping did solve my issue. I was looking something like this. Thanks.
    Now I have only one Message Mapping and it is used in multiple places. Thanks a lot
    Best regards,
    Anand Patil

  • Dynamically change Receiver Business system in message mapping

    Dear all,
    I would like to change the receiver business system in the message mapping that is used in the interface determination. I do understand there is an enhanced receiver determination where I can use a mapping but that is not what I am looking for.
    I think this should be possible if we can change the appropriate value in the SOAP(message) header.
    Possible candidates I can think of by looking at the SOAP header in SXMB_MONI are
    1. SOAP:Header- SAP:Main- SAP:Receiver- SAP:Service
    2. SOAP:Header- SAP:OutboundBinding - SAP:OutboundBindingEntry - SAP:ToServiceName
    Q1. Which one of the above is relevant while identifying the receiver agreement ?
    Q2. What is the best way to access them from the mapping(preferably from a UDF) ?
    Thanks in advance.
    Cheers
    danus
    PS: I have tried to set "http://sap.com/xi/XI/System","ReceiverService" in Dynamic config & ReceiverService, BusinessSystemReceiver and ReceiverSystem in the Container’s Transformation Parameters, but didn't get the expected result.

    Chidambaram,
    You use an enhanced receiver determination to have a mapping program determine the receivers of the message dynamically at runtime. Instead of creating the receivers in the receiver determination manually, you assign a mapping to the receiver determination and this returns a list of receivers at runtime.
    A typical usage case is if you do not yet know the names of the receivers at configuration time. In this case, you can define a mapping program, for example, which reads a list of receivers from a table or from the payload of the message at runtime.
    Go through the following link:
    [Receiver Determination enhancement|http://www.****************/Tutorials/XI/RecvDetermination/Enhancement.htm]
    Hope your problem gets resolved.
    Regards,
    Kiran Bobbala
    Edited by: kiran Bobbala on May 7, 2008 5:47 PM

  • Message mapping changes

    Hi All.
    I created a message mapping from a custom message type towards MATMAS_BAPI01.
    I disabled the EDI_DC40 field and in the idoc communication channel I disabled "Apply control record values from payload".
    When I check the final idoc message created, I noticed that some EDI_DC40 parameters were wrong.
    <SAP:TABNAM>EDI_DC40</SAP:TABNAM>
      <SAP:MANDT>200</SAP:MANDT>
      <SAP:DOCREL>640</SAP:DOCREL>
      <SAP:DOCNUM>0000000000037246</SAP:DOCNUM>
      <SAP:DIRECT>2</SAP:DIRECT>
      <SAP:IDOCTYP>MATMAS_BAPI01</SAP:IDOCTYP>
      <SAP:CIMTYP />
      <SAP:MESTYP>MATMAS_BAPI</SAP:MESTYP>
      <SAP:MESCOD />
      <SAP:MESFCT />
      <SAP:SNDPOR>SAPCX1</SAP:SNDPOR>
      <SAP:SNDPRN>host01</SAP:SNDPRN>
      <SAP:SNDPRT>LS</SAP:SNDPRT>
      <SAP:SNDPFC />
      <SAP:RCVPOR>CFDCLNT200</SAP:RCVPOR>
      <SAP:RCVPRN>CFDCLNT200</SAP:RCVPRN>
      <SAP:RCVPRT>LS</SAP:RCVPRT>
      <SAP:RCVPFC />
      <SAP:TEST />
      <SAP:SERIAL />
      <SAP:EXPRSS />
      <SAP:STD />
      <SAP:STDVRS />
      <SAP:STATUS>03</SAP:STATUS>
      <SAP:OUTMOD />
      <SAP:SNDSAD />
      <SAP:SNDLAD />
      <SAP:RCVSAD />
      <SAP:RCVLAD />
      <SAP:STDMES />
      <SAP:REFINT />
      <SAP:REFGRP />
      <SAP:REFMES />
      <SAP:CREDAT>2005-09-12</SAP:CREDAT>
      <SAP:CRETIM>23:21:31</SAP:CRETIM>
       <SAP:ARCKEY>2FE85D8023D311DA9BDB000D56B9D8A6</SAP:ARCKEY>   </SAP:IDocOutbound>
    In concrete
    <SAP:SNDPRN>host01</SAP:SNDPRN> had to be changed into <SAP:SNDPRN>hostXX</SAP:SNDPRN>. I thought the value host01 came from the sld (logical system name of the technical system attached to the business system), so I changed that towards hostXX.
    <SAP:RCVPOR>CFDCLNT200</SAP:RCVPOR> had to be changed into <SAP:RCVPOR>SAPCDD</SAP:RCVPOR>. I thought this value came from the rfc destination in the xi sytem, so I created a new one called SAPCDD and configured it into the idoc adapter.
    However, this change in the sld/XI system  did not affect the generated idoc (no, I did not forget to activate ).
    I decided to do some more drastic changes:
      - enable EDI_DC40 field in the message mapping
      - enable "Apply control record values from payload" in the idoc communication channel
    I now hardcode the wanted values.
    After activating the changes, still the same idoc is send towards the R/3 system.
    Can anyone tell me what I am doing wrong.
    Is it a caching problem or am I doing something wrong.
    Kind regards

    hi Geert,
    take a look at my weblog:
    /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
    it may answer some of your questions:)
    Regards,
    michal

  • ABAP Mapping  and Message Mapping

    Hello
    I want to do the followig mapping
    File - > IDOC
    field1  ->field_idoc1
    field2  ->field_idoc2
    field3  ->field_idoc3
    field4  -> (based on an dictionary table in the R/3)
    For the first 3 fields I will use message-mapping.
    For field4 I heard about ABAP Mapping. Select with the value of field4 in an ABAP Table and response the new value to the mapping back.
    Would both mappings in one Interface-Mapping work?
    Regards
    Christoph

    Christoph, There was an article previously available in articles section, now i dont find the link.
    I have given a sample code below. You can find lot of sample JCO code provided along with the JCO library that can be downloaded from service.sap.com.
    JCO.Repository mRepository;
    JCO.Client mConnection = JCO.createClient(
                   sapClient,
                   userName,
                   password,
                   language,
                   hostName,
                   systemNumber );
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "sample", mConnection );
    // Create function
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("Z_TEST");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    input.setValue( param1_value , "P_PARM1");
    input.setValue( param2_value , "P_PARM2");
    JCO.ParameterList tabInput = function.getTableParameterList();
    JCO.Table inputTable = tabInput.getTable("T_PARM3");
    inputTable.appendRow();
    inputTable.setValue("test" , "IDOC");
    mConnection.execute( function );
    String ret = function.getExportParameterList().getString( "P_GEN_NUM" );
    mConnection.disconnect();
    return ret ;
    Regds
    Saravana

  • Regarding Message Mapping in JDBC Scenario

    Hello Experts,
            I got struct up in message mapping. In message mapping we can able to see different types of Functions. So I need some clarifications on it. Functions are available like...
    Conversions
    Boolean
    Node Functions
    Constants
    Date
    Text
    Static
    Arithmetic
    So please explain in simple for each functions.
    Points will be rewarded.
    Thank you

    Hi
    *Boolean*:-
    And -- checks for 2condition, return a true value if both condition are satisfied
    Or --checks for 2condition, return a true value if one condition is true.
    Not - checks if the condition is not equal to.
    Equals - Check whether 2 Boolean values are equal
    NotEquals
    If u2013 Returns second value if the first argument is true. otherwise returns third argument
    If WithoutElse u2013 Returns value of second argument, if first argument is true.
    Node Functions:-
    createIf - Produces empty value if argument is true; Resultlist.SUPPRESS otherwise
    removeContexts u2013 Produces plain stream of values with No context changes
    replaceValue u2013 replaces value of source field to value specified in Function Properties.
    Exists u2013 Returns true, if Node exists otherwise false
    SplitByValue u2013 inserts context changes after event specified
    collapseContexts u2013 Produces one empty string value out of each arguments context. All arguments are in one context
    useOneAsMany u2013 Use First Argument as IS on same level as third argument. second argument defines when next value of first argument is used
    sort u2013 sorts values in each context
    sortByKey u2013 Sorts values in second queue by keys from first queue
    mapwithDefault u2013 Inserts default values specified in the function properties into empty contexts
    formatByExample u2013 Takes values from the first queue and inserts them in the structure of second queue.
    Constants:-
    Constant u2013 Generates constant value
    CopyValue u2013 Takes specified value in argument stream and copies it an infinite number of times
    Sender u2013 Sender System
    Receiver u2013 Receiver System
    Date:-
    CurrentDate u2013 Return current date in specified format
    DateTrans u2013 Transforms date from input format to output format
    Dateafter u2013 Returns True if first date is after second otherwise false
    DAteBefore - Returns True if first date is before second otherwise false
    CompareDates u2013 Compares two dates
    Text:-
    Substring u2013 Returns substring depending upon the given parameters
    Concat u2013 concatenates 2 strings inserting delimiter string parameter between them
    Equals u2013 Check whether Strings are equal
    indexOf2 u2013 returns the index where the second string is found for the first time in the first string
    indexOf3 u2013 As with indexOf with 2 parameters, But starting search at the specified position
    lastindexOf2 u2013 Returns the index where the second string is found for the last time in the first string
    lastIndexOf3 u2013 As with lastIndexOf with 2 parameters starting search at the specified position
    compare u2013 compares 2 strings lexicographically
    replaceString u2013 Replaces each occurrence of pattern(2nd argument ) of source string(1st arg). By third string
    length u2013 returns length of string
    endsWith u2013 Tests whether string ends with specified suffix
    startsWith2 u2013 Tests whether string starts with specified prefix
    startsWith3 u2013 Tests whether string starts with specified prefix beginning at specified location
    toUpperCase u2013 Converts all characters in string to upper case
    trim u2013 Removes white space from both ends of string
    toLowerCase u2013 Converts all characters in String to Lower case
    Statistic:-
    sum u2013 calculates sum of all numbers in each context
    average u2013 calculates the average of all numbers in each context
    count u2013 Counts number of values in each context
    Index u2013 For each incoming value, this Function returns the index number of the incoming value in the context, String from the initial index and increasing by the increment defined in the parameters.
    Arithmetic:-
    Add u2013 add two values
    Subtract u2013 subtracts second value from the first value
    equalsA u2013 Returns true; If float numbers represented by argument strings are equal otherwise returns false
    abs u2013 returns Absolute value of argument
    sqrt u2013 Returns square root of the number
    sqr u2013 Returns square of the number
    sign u2013 Returns -1 if number is negative, +1 if positive, 0 if 0
    neg u2013 Multiplies number to -1
    1/x u2013 calculates 1/x
    Power u2013 Returns value of the first argument to the power of the second argument
    Less u2013 Returns true if the first number is less than the second number otherwise false
    Greater - Returns true if the first number is greater than the second number otherwise false
    Multiply u2013 Multiplies 2 values
    Divide u2013 Divides first value by the second value
    Max u2013 Returns maximum of 2 numbers
    Min u2013 Returns Minimum of the 2 numbers
    Ceil u2013 Returns the smallest (closest to the negative infinity) initial value that is not less than the argument and it is equal to the mathematical integer.
    Floor - Returns the largest (closest to the negative infinity) initial value that is not Greater than the argument and it is equal to the mathematical integer.
    Round u2013 Returns closest initial value to the argument
    Counter u2013 Counts number of invocations. Initial value and increment defined by Parameters.
    FormatNum u2013 Formats Number with given pattern.
    Conversions:-
    FixValues u2013 Creates a Local Table to perform a value Mapping
    ValueMapping u2013 Define jump to Value Mapping table of Integration Directory.
    Message Mapping(Node Function) Part-1
    Message Mapping Simplified - Part I
    Sravaya Talanki- Message Mapping(Node Function) Part-2
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Standard Functions
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/frameset.htm
    Advanced mapping function(mapwithdefault,formatbyexample,sort,sortbykey)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    Hope this is useful
    Saiyog
    Edited by: Saiyog Gonsalves on Jul 11, 2008 1:14 PM

  • A little help needed in message mapping

    a little help needed in message mapping
    I have to map one of the idoc header segments as many times as it occurs to each Idoc when using the split message funcionality
    let us say we have the segment seg1 and there is a QUALF in it
    <seg1>
    <qualf>001</qualf>
    </seg1>
    <seg1>
    <qualf>002</qualf>
    </seg1>
    then we use the vbeln to split the idoc into 2.
    so if we have
    <vbeln> 1 </vbeln>
    and
    <vbeln>2 </vbeln>
    then 2 Idocs should be created like this
    <Idoc>
    <vbeln> 1 </vbeln>
    <seg1>
    <qualf>001</qualf>
    </seg1>
    <seg1>
    <qualf>002</qualf>
    </seg1>
    </Idoc>
    <Idoc>
    <vbeln> 2 </vbeln>
    <seg1>
    <qualf>001</qualf>
    </seg1>
    <seg1>
    <qualf>002</qualf>
    </seg1>
    </Idoc>
    it is easy to create the segment by using createif with the QUALF field but my problem how to map the qualf twice for each idoc
    Thanks.

    UseOneAsMany is the function you need to use.
    It takes three parameters:
    1 --- The node you want to duplicated
    2 --- How many times you want to duplicated
    3 --- The context you want to place for it.
    Regards
    Liang

Maybe you are looking for