Adding a variable menu for message mapping

I know that variable menus serve the purpose of a sub-routine in terms of ABAP but I'd like to know if including them will affect the output in ABAP Proxy? I am currently planning optimizing my mapping by defining a variable that has a commong function for my duplicate records. Thanks!

Hello Richard,
After a quick review I think you missed the creation of a reversed DNS record (PTR record) for the new IP address. For SMTP traffic it's really important to have a good PTR record.
Besides that I would invite you to read carefully the topics about "virtual gateways" in you online documentation. Those are a specially created solution for your problem and if I remember right you can even use a secondary IP address on you existing interface for it.
Good luck!
PS: kudos for your marketing department, most of the times those guys start their e-mail cannons without even thinking about any possible side effect on the main production mail flow. :-)
Steven

Similar Messages

  • User defined function in java for message mapping

    I wrote the following user defined function in java for message mapping and mapped vendor with this. The aim of this function is to write a error file at defined path when i send empty Vendor value from File to RFC-Function module BAPI_PO_CREATE. The "err.txt" error file is not written when i execute in TEST but the value "ERROR" is returned to destination Vendor Field.
    public String  validation(String a, Container container) {
    //write your code here
    if (a.equals("")) {
    try {
    String source = "Vendor cannot be empty";
    char buffer[] = new char[source.length()];
    source.getChars(0, source.length(), buffer, 0);
    for (int i = 0; i < buffer.length; i +=2)
       f0.write(buffer<i>);
    f0.close();
    FileWriter f1 =  new FileWriter("/10.10.0.55/sapmnt/trans/edixiin/err.txt");
    f1.write(buffer);
    f1.close();
    catch (IOException e) {}
    return "ERROR";

    Hi Senthil,
    Check these things :
    1) Whether you have permission to create a file in that directory.
    2) try giving this 
    10.10.0.55
    sapmnt
    trans
    edixiin
    err.txt
    3) Also check for permissions.
    Hope this will help you.
    Regards
    Suraj

  • Different options for message mapping in BPM

    Hey guys
    i m in the learning phase of BPM and am kinda confused with the different ways we can do message mapping in a BPM scenario.
    first of all we can do message mapping before BPM,we can also do after BPM and lastly we can do inside BPM(ofcurse this is not recommended as its too resource consuming)
    i have bene through starters blog on BPM by Krishna moorthy and Arpit seth,and now am wondering how to use the mapping in diff. ways
    suppose i m doing a simple File to File with BPM(just for practise purpose)
    now here is what i have designed in IR
    DT_sender_File                                       DT_receiver_File
    MT_sender_File                                       MT_receiver_File
    MI_Outbound_sender(async,outbound),     MI_Inbound_receiver(async,inbound)
    AI_sender(abstract,async)                        AI_receiver(abstract,async)
    MM_File_File(using MT_sender_File and MT_receiver_File)
    now i want to clear some doubts about interface mapping.my understanding is
    if i do interface mapping between MI_Outbound_sender and AI_receiver,this will be interface mapping before BPM.
    if i do interface mapping between AI_sender and MI_Inbound_receiver,this will be interafce mapping after BPM
    and if i do interface mapping between AI_sender and AI_receiver then it will be mapping inside BPM.
    is my understanding correct?if yes,then does that means we can we any of the above mapping in our scenario.(if we dont consider the performance issue as of now)
    thanx
    saif

    Hi Saif,
    <i>
    is my understanding correct?</i>
    Yes, thts correct
    <i>if yes,then does that means we can we any of the above mapping in our scenario</i>
    Of course, u can use any of them (overlooking the performance issue)
    Regards,
    Prateek

  • Adding a variable in a Message Popup

    Hi guys, how to get a local variable in a message Popup? I try "string text"+ Runstate.Caller.Locals.foo ... Coz runstate is while program is running, Caller is the calling step and then local variable.
    But this give an error. Where to access my local variables while running?

    First of all, it depends on the data type of the variable. String can be added "similar" to the way you described. Numeric and boolean has to be cast.
    Second, you seem to misunderstand the concept of the RunState-property. If you want to insert a local variable of the sequence you are currently running, the expression should be:
    "My Dialog Text " + Locals.<localname>
    Don't forget type casts if not working with string variables!
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • We had a Ipad 1st generation IOS5.  Added second email address for Messaging.  Tested and message came from 1st email address.  How do you get the second address to be the sender?

    Have a 1st generation Ipad IOS5 and added a second email address for messaging.  Tested sending a message to my Iphone and it was received as being sent by the first email address.  How do you select the second email address as the sender of a message?

    Hello slapshot13scotty,
    The information below details where to adjust both where messages are sent from and received.
    Receive iMessages using another email address:
    Go to Settings > Messages > Receive At > Add Another Email.
    Specify the phone number or Apple ID email address that appears in the “from” field when you start a new conversation:
    Go to Settings > Messages > Receive At > Caller ID.
    Existing conversations aren’t affected when you change this setting.
    iPhone User Guide
    http://manuals.info.apple.com/MANUALS/1000/MA1622/en_US/iphone_ios5_user_guide.p df
    Cheers,
    Allen

  • Help for message mapping

    Hi, I have an IDOC -> PI -> File simple scenario but I donu2019t know how to solve the following problem. I have to built my file header line with data from IDOC segments. That data comes from the same segment but different u201Cinstancesu201D and there is a field to identify the instances, something like that:
    Source IDOC
         Segment1 with parameter = 001
         Segment1 with parameter = 002
    Target FILE header line:
    [segment1.001-field1];[segment1.002-field1]
    The mapping checks the parameter value but generates an error because the 2nd field of the file is obligatory and when the mapping founds the 1st segment then it canu2019t continue searching the segment with parameter = 002 and complete the file line.
    Sorry for my bad explanation, I hope you understand the problem.
    Edited by: Marshal on May 20, 2009 12:04 PM

    to make the if condition work for all the instances of <E1ADRM1>....the only thing that you need to do is in the mapping logic suggested by ravi just increase the context of the <PARTNER_Q> node on the source side and make it to point to <E1EDL20>...this will apply the logic for all the instances of E1ADRM1 in E1EDL20.....no need of any UDF
    Hi abhishek,
    I've done this but know the IF without els doesn't work. All the fields from the first E1ADRM1 instance are mapped to the file 2 times, and the 2nd E1ADRM1 data is not mapped right.
    Here I post an example of target XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:OL_MT_Entrega xmlns:ns0="urn:general-optica-es:ol:entrega">
       <Entrega>
          <header>
             <tipreg>01</tipreg>
             <nument>vbeln</nument>
             <codol>OSP_Partner</codol>
             <nomol>OSP_NAME1</nomol>
             <domol>OSP_STREET1</domol>
             <pobol>OSP_CITY1</pobol>
             <cpol>OSP_COD1</cpol>
             <coddes>WE_Partner</coddes>
             <nomdes>WE_NAME1</nomdes>
             <domdes>WE_STREET1</domdes>
             <pobdes>WE_CITY1</pobdes>
             <cpdes>WE_COD1</cpdes>
          </header>
       </Entrega>
    </ns0:OL_MT_Entrega>
    PD: There is another positions part on target XML but 1st I have to solve the header mapping

  • Accessing container variable of BPM in Message Mapping function

    Hi,
    I have a scenario in BPM where i have a container variable that is used as a loop counter.I want to access that counter defined , every time when i go around the loop and perform certain actions based on that counter. so how can i access that variable in my message Mapping function.

    Hi Sudharshan,
    check these links, hope they give you the required information (i think there is some problem with SDN site, check these links after a while)
    Re: How to use Container Variable across Maps
    Container object in Message Mapping
    Copy value of container (abstract interface) to an other container
    Regards
    Vishnu

  • Message Mapping error in UDF

    I am receiving errors when trying to activate my MM.  I believe the issues are in one of two UDF's.  These UDF's do work in another MM without error.  Below are the error's and UDF's.
    ERRORS:
    Activation of the change list canceled Check result for Message Mapping MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE | http://wawa.com/xi/erp/pos:  Starting compilation  Source code has syntax error:  /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3291: cannot resolve symbol symbol : variable container location: class com.sap.xi.tf._MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_ map = container.getTransformationParameters(); ^ /usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map5420e070cabe11dcab4b00306ef38da9/source/com/sap/xi/tf/_MM_WPDBBY_WPDBBY01_TO_POS_WAWAFILE_.java:3293: cannot return a value from method whose result type is void return constant; ^ 2 errors
    UDF's:
    public String getSender(Container container){
    String constant;
    java.util.Map map;
    // get constant map
    map = container.getTransformationParameters();
    constant = (String) map.get (StreamTransformationConstants.SENDER_SERVICE);
    return constant;
    IMPORTS:  com.sap.xi.mapping.parse.dom.;javax.xml.parsers.;java.io.;com.sap.aii.mapping.lookup.;org.w3c.dom.*;
    public String getSeqNum(String fileType,String objNum,String Sender,Container container){
    String request = "<ns0:ZRFC_NUMBER_GET_NEXT xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><NR_RANGE_NR>" + fileType + "</NR_RANGE_NR><OBJECT>" + objNum + "</OBJECT><QUANTITY/></ns0:ZRFC_NUMBER_GET_NEXT>";
    InputStream isRequest = new ByteArrayInputStream(request.getBytes());
    SystemAccessor accessor = null;
    String num  = null;
    try{
         // 1. Determine a channel.
         Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
         // 2. Get a system accessor for the channel.
         accessor = LookupService.getSystemAccessor(channel);
         // 3. Create a payload according to the data type which the adapter expects.
         //    Use service.getBinaryPayload() for binary payload,
         //    and service.getTextPayload() for text payloads.
         Payload payload = LookupService.getXmlPayload(isRequest);
         // 4. Execute lookup.
         Payload response = accessor.call(payload);
         //Parse response
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         DocumentBuilder builder = factory.newDocumentBuilder();
         InputStream resStream = response.getContent();
         Document doc = builder.parse(resStream);
         Element sequence = doc.getDocumentElement();
         NodeList number = sequence.getElementsByTagName("NUMBER");
         //Extract Number
         num = DOMUtil.getSimpleElementText((Element) number.item(0));
    } catch (Exception e) {
         return e.getMessage();
    } finally {
         try {
              if (accessor != null) accessor.close();
         } catch (Exception e) {
              return e.getMessage();
    GlobalContainer gc = container.getGlobalContainer();
    gc.setParameter("Num", num);
    return num;
    Any help is appreciated.
    Regards,
    Darrell

    Fauver,
    Just to narrow down the problem first remove the first udf and only use the 2nd user defined function. Also in the 2nd udf you have to change this line:
    try{
    // 1. Determine a channel.
    Channel channel = LookupService.getChannel(Sender, "R_RFC_ERP");
    In the above line instead of Sender you use the business service or business system where R_RFC_ERP RFC communication channel is created in Integration Directory. So you are hardcoding it first.
    Once you have done this changes do save and test it once again. If this works then you can change back to original and your first udf needs to be checked.
    Regards,
    ---Satish

  • Activation error in message mapping

    Hi,
    while activating Message mapping i am getting the error like this.
    how to get rid of this error?
    error:
    Activation of the change list canceled Check result for Message Mapping MM_XXXXXX | http://www.xyerxd.com/mm
      Imported source message has invalid reference IDoc
    DEBMAS.DEBMAS06 | urn:sap-com:document:sap:idoc:messages  
    Imported target message has invalid reference Message Type MT_Receiver  | http://www.xyerxd.com/mm

    hi
    Hope you are using the inactive versions of message/Idoc types for mapping.
    First activate the message/Idoc types used in the message mapping.
    Then open the message mapping, from the menu choose refresh.
    Complete the mapping and test.
    Now do the activation.
    rgds,
    Arun

  • Error in message Mapping(file to file scenario)

    Hi friends,
    In file to file scenario i am getting error like this while activating standard change list in IR.
    Activation of the change list canceled Check result for Message Mapping MM_file2filejuly27 | URN:file2fileJuly27.com: 
    Starting compilation 
    Compilation complete
    Check result for Software Component Version praba.com | PRABA.COM | 2007 | 0: 
    The standard error type ExchangeLogData is not defined for the namespace URN:file2fileJuly27.com  
    Save the software component version definition again. The object is then saved automatically
    could you help me out how to correct this error?

    Prabha,
    You should  not delete any existing standard  Data types provided by SAP.  ExchangeLogData and  ExchangeDaultData are standard data types get created when you create new namespace.
    If you have already deleted then copy them from other Namespace to your namespace. Activate your default data type first and then your objects.
    Hope this will solve your problem.
    Nilesh

  • Context Menu for XML

    When creating an extension, a context menu item can be added to a menu for a java file by using "instanceof oracle.jdeveloper.model.JavaSourceNode". Similarly, for jsp source you would use "oracle.jdeveloper.model.JspSourceNode". What do I use if I want to enable/add a context menu item to appear when an xml file is right-clicked under Miscellaneous Files?

    FYI, there is a demo in the Extension SDK, which is called ClassSpy. If you right-click on a node and choose the appropriate menu item, it will display the name of the node in the log window, like oracle.bali.xml.addin.XMLSourceNode.

  • Unable to activate Message Mapping (Until i restart PI )

    Dear all,
    I am using PI 7.1.
    I am trying to activate the message mapping objects in ESR. but it is not getting activated.
    I see the following error message in the process log:
    Activation of the change list canceled
    Check result for Message Mapping: MMtest | urn:test
                    Starting compilation
         Source text of object Message Mapping: MMtest | urn:test has syntax errors:
         Source code has syntax error  
    The message mapping objects are simple one, and does not contain any UDFs.
    Infact these message mapping object was successfully activated before.
    when this occured for the first time yesterday, I restarted the PI server. then it worked.
    But today, this problem is occuring again. I again restarted, it got activated.
    I worked for sometime, and tried editing and activating, but again i see the same error message.
    I am sure, it will work if i restart PI, but i cannot afford to restart these many times.
    Has anyone faced this error message.
    any inputs/help appreciated.
    thanks
    Ganesh

    we have not changed the jdk version,
    it seems that.. while compiling the message mapping into java classes, some conflicts are going on.
    now to relplicate the problem, i need not try activating the message mapping object.
    I can see the same error message when a do "Check" (F7) of the message mapping object.
    Immediately after restarting the PI server, the MessageMapping compliation process seems to pick up the right classes/jars, so is successful.
    but as the time goes on after we PI started and as we use PI, some of the mapping classes/jars values might be getting changed .. to disallow further compilation of message mapping
    hmm.. thats the thought.. may need to investigate in 7.1
    Ganesh

  • Message mapping hint 1:N in group of 2?

    Hi All,
    I am looking for message mapping hint to do following:
    Source XML.
    <itab>
      <itab_body>
        <a>1</a>
        <b>1</b>
      </itab_body>
      <itab_body>
        <a>2</a>
        <b>2</b>
      </itab_body>
      <itab_body>
        <a>n</a>
        <b>n</b>
      </itab_body>
    </itab>
    Target XML:
    <itab>
      <itab_body>
        <a>1</a>
        <b>1</b>
      </itab_body>
      <itab_body>
        <a>2</a>
        <b>2</b>
      </itab_body>
    </itab>
    <itab>
      <itab_body>
        <a>n-1</a>
        <b>n-1</b>
      </itab_body>
      <itab_body>
        <a>n</a>
        <b>n</b>
      </itab_body>
    </itab>
    Thanks

    There are many ways to achieve this. I would use java mapping to get the desired result. You have to loop the source and in the target pick every two nodes as separate.   Please follow this link for java mapping. This might provide some idea.
    Refer this [link|http://techplay.plozzle.com/?p=21]

  • ALERT not getting triggered for messages in error in adapter engine

    Hi All,
    I am doing the same scenario where I have created two Alert category Alert_cat1 and Alert_cat2, both are similar but one i have created for error in integration engine(Alert_cat1 ) and other for adapter engine(Alert_cat2).
    Now for Alert_cat1 i have created a rule and in the setting "where did the error occur" I have given no restriction.
    Now for Alert_cat2,as discussed in the above blog I have created many rule each for various adapter.
    I have tested it, above mentioned configuration is working for message mapping error (sxmb_moni)
    but not for any error in adapter engine for messages in waiting or system erroe status.
    Kindly suggest where I am going wrong.
    Regards
    Shefali S

    HI,
    please refer this below blog:
    Does Alerts work for Integrated configurations scenario??
    thanks,

  • PI 7.1 Operation mapping - Multiple message mapping - one to many issue

    Dear Experts,
    I am facing this issue in PI 7.1 and I beleive i did similar one in PI 7.0 successfully.
    I have an operation mapping with two message mappings.
    The occurence of source message of operation mapping is 1
    The occurence of target message of operation mapping is 0..unbounded
    Corresponding i configured two message mappings
    For message mapping-1
    Source message occurence = 1  and Target message occurence = 1
    For message mapping-2
    Source message occurence = 1  and Target message occurence = 0...unbounded
    When i test message mappings individually they are working good. But when i test it in operation mapping, the operation mapping is not working..as it is not able to convert single occurence output of message mapping -1 to the second message mapping-2.
    Any suggestions?
    Thanks.

    The message that i get when testing in operation mapping:
    Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_MessageMapping_1_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:MT_MessageMapping_1_TargetMessageType/RECORDSET. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
    My question is, has somebody mapped similar scenario in your environment? If yes, can you please provide details.
    Operation mapping :  1 to 0..unbounded
    Message Mapping1: 1 to 1
    Message Mapping2: 1 to 0...unbounded

Maybe you are looking for

  • Images pasted into mail from photoshop are drastically reduced in size.

    At work, I am constantly sending previews of artwork through email. I CmdShiftC in Photoshop to copy merged (this essentially takes a screen shot of your current selection in a Photoshop document, then I Cmd+V to paste it into mail. I have been doing

  • How can i prevent my user in one site about financial report in other sites

    Hi we implement our project in 4 sites via Citrix and all of users works on head office database, we used Document Series to divide evey site financial/inventory/procurement transaction . for example one site's JE number  start 1 to 1000000 and other

  • Visited link color is not changing when there is no page redirection

    Visited link color is not changing when i just open a popup on clicking the hyperlink.. whereas visited link color gets changed when i redirect to a new page on clicking the hyperlink I want to have my visited link color to change even if i show a po

  • Smartform-Want to change addtext to password protected form

    Hi Experts, There is one customized smartform.Want to change/add new text to page but its showing message 'The document is password protected. Special restriction in effect.You may only insert comment to this region.' and not allowing me to change te

  • Timeline and display

    Hi all, I am wondering if someone can help. In Flash 8 and earlier, I would load data from a server-side script and then as the user made actions, either use goToAndPlay()/goToAndStop() actions to move along as necessary or else make a movie clip vis