Mapping UDF Question.

All,
We have the following structure from the input XML... We want to extract the PSTLZ node value into the target structure where PARVW = "WE" - Im trying to use a UDF but - im getting an error because the PSTLZ is an optional node under E1EDKA1 and not all the E1EDKA1 segments have this field. i was trying to UDF to take 2 parameters - PARVW (context at IDOC level) and PSTLZ (context at IDOC level).
Any help would be appreciated...
<IDOC>
      <E1EDKA1 SEGMENT="1">
         <PARVW>AG</PARVW>
         <PARTN>1</PARTN>
         <TELFX>XXXXX1</TELFX>
         <BNAME>Mike</BNAME>
         <PAORG>100</PAORG>
         <ORGTX>US Purchasing</ORGTX>
         <PAGRU>UG1</PAGRU>
      </E1EDKA1>
      <E1EDKA1 SEGMENT="1">
         <PARVW>RE</PARVW>
         <NAME1>SomeName</NAME1>
         <STRAS>Street 1</STRAS>
         <ORT01>City1</ORT01>
         <PSTLZ> 12345</PSTLZ>
         <REGIO>NY</REGIO>
      </E1EDKA1>
      <E1EDKA1 SEGMENT="1">
         <PARVW>LF</PARVW>
         <PARTN>2</PARTN>
         <SPRAS>E</SPRAS>
         <SPRAS_ISO>EN</SPRAS_ISO>
      </E1EDKA1>
      <E1EDKA1 SEGMENT="1">
         <PARVW>WE</PARVW>
         <LIFNR>XYZ</LIFNR>
         <NAME1>NAME1</NAME1>
         <NAME4>Name4</NAME4>
         <STRAS>some street</STRAS>
         <ORT01>BUFFALO</ORT01>
         <PSTLZ>12345</PSTLZ>
         <LAND1>US</LAND1>
         <ABLAD>YYY</ABLAD>
         <PARNR>YYY</PARNR>
         <SPRAS>E</SPRAS>
         <REGIO>US</REGIO>
      </E1EDKA1>
</IDOC>

rkk,
Try this
Parvw[Change Context to IDOC] --->UDF
PSTLZ[Don't Change Context] --->Map With Default[] -->Remove Context---> UDF
If there are no values from PSTLZ what u want to do? According to the above logic, it will give blank value are u ok with it?
raj.

Similar Messages

  • CGI map file questions, help !!!

    I am trying to use the CGI map file to open web reports. I got two questions at this time.
    1. How to refresh the report to reflect resent edits ? I used the CGI map to open a report. Later, I made some edits to the report and opened it again. However, the browser showed the report before the edit. I had to save the report to different file name and edited the key in the map file to show the edited report. This should not be the right way.
    2. How to open a report on a separated screen which is on top of the original one ?
    Any suggestions? Thanks!
    null

    Hi Kate.
    As far as a find and replace tool is concerned, most of us
    here prefer using some tool such as FAR or BkReplacem as they offer
    more features to help in this kind of scenario. The simple answer
    is however that these tools, as indeed does the inbuilt tool, bases
    it's search on the HTML. Therefore if there are specific instances
    of HTML strings you will have to analyse carefully them before you
    replace anything. It sounds like you are already some down down
    this line. Take a backup of your project and test out your theory.
    As far as your map file question is concerned, you can safely
    reimport your map file PROVIDED that no changes have been made to
    the mapids in the meantime. Personally I wouldn't do this unless
    you are 100% sure of this. If it is a case of having 100s of topics
    that are not mapped and never have been but could be, I'd just
    create a new map file and map away.

  • Container Element in the Mapping UDF

    Is there any way that to access the BPM container Element in the Mapping UDF. Can some one share the UDF code for this

    Hi,
    Refer BPM Container Element and Container in UDF Relation
    BPM Container Element and Container in UDF Relation
    Creating the container Object In Java Mapping
    Thanks
    swarup

  • RuntimeError in mapping.......package com.itc.xi.mapping.udf does not exist

    while testing a maaping, one of the UDFs threw the following runtime error...
    Error: package com.xxx.xi.mapping.udf does not exist...
    moreover, whats the CLASSPATH of the java package com.itc.xi.mapping.*
    Message was edited by:
            sudeep dhar

    Hi,
    You seem to be referring to some extrenal class in your UDF and this class is not available under imported archives.
    Please check what is the class being refefferd and make sure it is in the imported archives,.
    Regards
    Bhavesh

  • Mapping UDF

    Hey folks
    I have a mapping issue:
    It is IDOC to file scenario
    A segment in IDOC repeats multiple times. I want to take a field of the first repeating segment and map it to a target field.
    And i want to take afield of the last repeating segment and map to a target field.
    Eg : E1EDPL1  
                GSB     100
          E1EDPL1
               GSB      200
          E1EDPL1
               GSB     300
    Mapping logic 1 :
    Take the first GSB ( Value: 100) and map to a target field.
    Mapping logic 2 :
    Take the last GSB(Value : 300) and map to a target field.
    Guess we need to have a context java function which takes as an input an array of GSB and extract first and last GSB.
    Need help with the java udf.
    Thnx

    A small correction
    Here a is the GSB values.
    cache parameter - context
    1st udf
    public void add(String[] a,ResultList result,Container container)
       //write your code here
    result.addValue(a[0]);
    GSB ---> add -
    > tgt1
    2nd udf
    public void add1(String[] a,ResultList result,Container container)
    //write your code here
    int len = a.length -1;
    result.addValue(a[len]);
    GSB---> add1 -
    >tgt2

  • Java Mapping/UDF/ABAP mapping to capture payload

    Hi,
    could you please provide me Java mapping code samples (or UDF code) to save payloads of a message based on Message ID
    i have a synchronous scenario where i have payloads in sxmb_moni for request and response with different message IDs. So pelase let me know how to save those request and response payloads to a file.
    it would be great if you provide the stpes to implement and java code samples....if it is possible with ABAP mapping also please let me know te steps.
    Best Regards....SARAN

    Try with this code
    import com.sap.mw.jco.IFunctionTemplate;
    import com.sap.mw.jco.IRepository;
    import com.sap.mw.jco.JCO;
    public class PayloadExtractor {
        // The MySAP.com system we gonna be using
        static final String SID = "SID";
        // The repository we will be using
       IRepository repository;
        JCO.Field msgkeyField;
        public PayloadExtractor() {
            try {
                System.out.println("*** Creating the Pool... ***");
                JCO.addClientPool(SID, 10, "001", "user", "pwd", "EN", "host", "00");
                repository = JCO.createRepository("RecoverRepository", SID);
            } catch (JCO.Exception ex) {
                System.out.println("RecoverXI Caught an exception: \n" + ex);
        // Retrieves and prints information about the remote system
        public void getPayload() {
            // A messageID from your XI/PI
            String key = "48CD01EB3D27021BE1008000C0A8477D";
            final String pipelineID = "CENTRAL";
            byte[] msgkey = key.getBytes();
            try {
                IFunctionTemplate ftemplate = repository.getFunctionTemplate("SXMB_READ_MESSAGE_VERSION_RAW");
                if (ftemplate != null) {
                    System.out.println("*** Creating client and function... ***");
                    JCO.Function function = ftemplate.getFunction();
                    JCO.Client client = JCO.getClient(SID);
                    JCO.Structure struct = function.getImportParameterList().getStructure("MESSAGEKEY");
                    struct.setValue(key, "MSGID");
                    struct.setValue(pipelineID, "PID");
                    // SELECTION must be like this!
                    function.getImportParameterList().getField("SELECTION").setValue("2");
                    // This is the msg version number, where 000 is the first (Inbound); the last can be caught from the function output (see below).
                    // Setting this strongly depends on what you want to get: basically before or after the mapping...
                    function.getImportParameterList().getField("VERSION_REQUEST").setValue("000");
                    System.out.println("*** Calling... ***");
                    client.execute(function);
                    JCO.Table tb = function.getExportParameterList().getTable("MESSAGEPAYLOAD");
                    if (tb.getNumRows() > 0) {
                        // There could be multiple payloads (even if usually it's only one)
                        do {
                            String plstr = new String(tb.getField("PAYLOAD").getByteArray());
                            System.out.println(
                                "*** Payload found *** " + tb.getField("NAME").getString() + " *** BEGIN ***");
                            System.out.println(
                                "Message Last Version: "
                                    + function.getExportParameterList().getField("MAXVERSION").getString());
                            System.out.println(plstr);
                            System.out.println(
                                "*** Payload found *** " + tb.getField("NAME").getString() + " ***  END  ***");
                        } while (tb.nextRow());
                    } else {
                        System.out.println("*** No payload found! ***");
                    // Release the client into the pool
                    JCO.releaseClient(client);
                } else {
                    System.out.println("Function SXMB_READ_MESSAGE_VERSION_RAW not found in backend system.");
            } catch (Exception ex) {
                System.out.println("Caught an exception: \n" + ex);
        protected void cleanUp() {
            System.out.println("*** Cleaning... ***");
            JCO.removeClientPool(SID);
        public static void main(String[] argv) {
            PayloadExtractor e = new PayloadExtractor();
            e.getPayload();
            e.cleanUp();
    -Madhu

  • Need help with mapping( UDF)

    Hi,
      I had a mapping requirement where i need to transfer data with double quotes
          suppose data is
    sap-labs
    i need to send as "sap-labs".
    The main problem is when ever there is '-'(it can be any where in the string) I need to modify as above, otherwise data can be sent directly.
    I know how to do this requirement using Standard Functions.But, I am trying to use UDF so try to help me out with the code.
    and also what i have to import for this UDF. and why i have to import them?
    Thanks in advance,
    Siva.

    Hi Siva Bonthala,
    Note: - quote ("), apostrophe ('), ampersand (&), less than (<), greater than (>) are special characters in XML. They should not be present in data. [Link1|http://www.w3.org/TR/REC-xml/] [Link2|Re: Special Character Handling (&) in the payload content in PI 7.1]
    When you writing Java code to insert these special characters, you should use escape scequence characters.
    Test it for your self, in graphical mapping, use 'concat' function and type Delimiter String as ". Then check output XML, it will contain &quot ;.
    If you have to replace sap-labs with "sap-labs" for many element, I recomand you to use Java Mapping instead of UDF's for every field.
    Regards,
    Raghu_Vamsee

  • Message Mapping UDF for lookuping of a value inside field's list of values

    Hey everyone,
    For a FI mapping I'm working on, I was wondering if somebody has some Java UDF which lookups for a value inside the whole list of values which the mapping gathered for a specific field?
    Thanks,
    Ben

    source code --
    //write your code here
    JCO.Repository myRepository;
    // Change the logon information to your own system/user
    JCO.Client myConnection = JCO.createClient(
    // all the client information namely client ,user id pwd etc
    myConnection.connect();
    // create repository
    myRepository = new JCO.Repository( "SAPLookup", myConnection );
    // Create function
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("xxxxx"); //Name of RFC
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    input.setValue( a , "xxxxx" ); //import parameter of RFC, a is input argument.
    myConnection.execute( function );
    String ret = function.getExportParameterList().getString( "XXXX" ); //export param
    myConnection.disconnect();
    return ret;
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    File Lookup in UDF
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file%2blookup%2bin%2budf
    Lookupu2019s in XI made simpler
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    SAP XI Lookup API: the Killer
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Webservice Calls From a User Defined Function.
    /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function

  • Message Mapping Design Question

    I have to parse from a source field (x) and map to this structure:
    <Line>
      <Number\>
      <Descr\>
      <Code\>
    </Line>
    The source field is a string that contains newline characters (just a blob of text).  Example:
    ABC\nLine 1,widget, 123A\nXYZ\nLine 2,gadget,123B
    I need to get at the line number, description, and code mapping values by parsing at newlines and then parse into the "Line" records.  I want my result to look like this:
    <Line>
      <Number>1</Number>
      <Descr>widget</Descr>
      <Code>123A</Code>
    </Line>
    <Line>
      <Number>2</Number>
      <Descr>gadget</Descr>
      <Code>123B</Code>
    </Line>
    Is there a way to chain message mapping functions and/or UDFs and do something like this?  In addition, I don't see how I can specify multiple target fields in one mapping.  Any suggestions would be appreciated.  Thanks!

    Raj,
    Unfortunately, the source structure is not well structured.  It contains lines of data, of which some begin with "Line", and then a line number and other fields separated by commas.  It also contains unused lines.
    Production example of source data (with breaks at each newline character):
    APPROVED
    Tracking Reference: 20070629063604.1
    Process Date: 06-29-2007 07:38:59
    Listed below are the following items listed for review:
    Contract: ABC Delivery Order Number: HTCH
    Items reviewed:
    Line 1, 10 EA, 000000000099784711, S01-004, 20070629063604.1_1
    Line 2, 10 EA, 000000000088078625, 03356.63.04, 20070629063604.1_2
    ..where "1" maps to <Number>, "S01-004" maps to <Descr> and "20070629063604.1_1" maps to <Code>.

  • Nokia 6220 - GPS,Maps,Navigation Question

    This may be a silly question but I'm a little confused over this
    I am considering buying a 6220 (SIM free), mainly because it's an 'upgraded' version to my existing 6300.
    The idea is instead of having a SAT NAV (for the occasional trips to places I've never been before) & a mobile phone & a MP3 player etc - I get an all-in-one in a small package
    Now to the question - What is the difference between 'Nokia Maps' and 'Navigation' ?.
    Apparently 'Nokia Maps' is free but 'Navigation' isn't
    Am I right in assuming that 'Nokia Maps' only shows you where you are & Where you want to go BUT doesn't give constant updates as you drive/walk between the 2 - a bit like if you have a map & ask a passerby to shows you where you are & where you want to go on the map - but doesn't tell you how to get there (you have to figure it out yourself)
    BUT 'Navigation' is where you can have it in the car & it tells you the directions ('take next left'/'3rd right at next roundabout' etc) each step of the way i.e. Just like a Car 'SAT-NAV' equivalent
    I don't like the idea of paying for a 'satnav/phone/media player' combi-device then paying EXTRA so that you can use it as a SAT-NAV, especially if you only going to use it maybe once or twice in a year.
    Motto: Illegitimis non carborundum

    25-Apr-200712:11 PM
    luckieb wrote:
    I think I have worked out what is going on here...
    I hard reset my N95, installed the maps fresh (which took a very long time, but that is a different subject, so I won't get going on that)
    I then checked if I could do full 7 digit postcode search while at home and still no, with "Network Use" set to "Never"
    However, I have now come into the office, defined the wlan acess point (mine is broken at home) and set "Network Use" to "when needed" and I can do full 7 digit postcode search. If I then change that setting to "never" it reversts back to truncating the postcode.
    I would appreciate if other N95 owners could confirm that this happens on their N95 too, and if so, it looks like maps is pulling additional info from somewhere to enchance the downloaded map.
    You seem to be right. I cleared all the maps, then downloaded the maps for England using maploader and tested it. With network connection you can do full postcode search, but as soon as the internet connection is lost or turned off the system reverts back to truncating the postcode.
    If you use the route planner while you have the network connection you can use the full postcode to set the destination point while having the GPS position as your starting point and the destination point gets stored as your destination.
    Cheers,
    -jh
    hemmo

  • N97 - Maps/Navigation Question (probably a rather ...

    I have managed to update my actual maps. So that's good. My compass seems to work, so that is also good.
    Before the Maps update I managed to save my home address and set it as a Favourite. Since the update of Maps (the app) and the actual maps themselves, I can't seem to save another Favourite location – such as my work address.
    So, this may be a very dumb question, but I'm allowed a few surely? LOL Phones I'm OK with, computers are my livelihood – but GPS is a whole new confusing world to me. OK – I get the basic concept – my device communicates with a silver dish in the sky and decides where I am, I tell it where I want to go, it determines where that is and charts a route for me and guides me on my way (I hope – if the Telstra ad on TV here is any indication, that could be problematic).
    How do I save a darn new address and make it a Favourite – I can't even save an address now, yet clearly I did before, because my home address is still there.
    Also, I gather I have to subscribe to this thing if I actually want driving instructions etc. For $79.99 a year, it seems rather expensive – what am I actually getting for that $79 when the use of the satellite seems to be charged on my phone bill.
    I'm so confused.
    Can someone please give me a kindergarten intro to GPS/Maps/what am I paying for/anything else I need to know?  How to save an address would be a good start!  Or is the answer to that, that my trial period has run out?
    Message Edited by au_n97_user on 26-Jul-2009 06:12 PM
    Solved!
    Go to Solution.

    Dear Advanced Sage.
    There are 4 components to a "SatNav" system.
    1 - A GPS device, which triangulates your position using satellites in space. The same principle that land surveyors use to locate a point by measuring its distance from (at least) 2 other points.Your location is identified as a pair of co-ordinates on the world mapping convention system, latitude and longitude.
    2 - A digitised map (or twelve).
    3 - Some software which  locates the identified co-ordinates on the digitised map, and the co-ordinates of any other "known"location. The map includes data about the various roads between the 2 identified locations, and determines the permutations of ways to get from A to B. According to your chosen priorities (faster route, shorter route, no toll roads, no ferries, etc) the software will inform you of the "best" route. It will normally do this by showing you this route, possibly step by step, on the screen of your SatNav.
    The cost of these 3 elements  is paid for (once and for all) in the purchase of the phone.
    To make the work of the number 1 component easier, that is, the task of the GPS to locate you in the first place, the GPS designers came up with AGPS - "Assisted" GPS. The assistance comes from the phones natural ability know where it is to a crude, but useful, extent by knowing the location of its "cell". This knowledge helps the GPS to calculate its position more quickly, by narrowing down its area of search. For the GPS to acquire this information, it needs to use the phones data connection to send and receive a small chunk of data about the cell, which gives the initial rough position to the GPS.
    If you select this AGPS option in your "Positioning" settings, you have to pay for the data connection, or it will come from your data allowance. It's not a lot, and speeds up the operation of the GPS, but it's not necessary for the operation of the GPS.
    4 - If, in addition to the visual directions from A to B, as shown on your screen, you want the SatNav to give you directions as you travel, this is known as "Navigation". It's like having a Navigator (as in rallying) sitting in the passenger seat, giving you directions as you go.
    Nokia charge a license fee for this "Navigation". From what I've seen recently, the current licenses on offer cover periods up to 1 year. I bought my Navigation license for my old N95, and I was then able to buy a 3 year license, which worked out cheaper per year. I've now tranferred my license from my old N95 to my new N97.
    Actually, I didn't have to do anything to "transfer" the license. You can set the license, on the Nokia server, to be linked to either your sim card, or your phone. If you link it to your phone, it will work with any sim card in the phone. If you link it to the sim card, your license will work. no matter what (nokia SatNav) phone you put your sim card in.
    That's about it really.
    To sum up, the GPS, software, and maps are all included in the price of the phone, including the software and maps updates. If you choose AGPS you will have to pay for the small data charges from your data allowance. (There's no point in buying this phone without an "unlimited" data allowance - personal opinion). For "Navigation", turn-by-turn direction, you will have to pay for a license.
    For what it's worth. I still have my old N95. I felt sorry for it, it's still a great phone, because it was left with no "Navigation" license, although I still had a perfectly working GPS. So I treated it to a copy of Garmin Mobile XT software. This installed perfectly on the N95, and, unlike the Nokia "Navigation" license, you only pay once. There's no term license. Once you've bought it, it's yours. It cost £50 GBP, and is accurate and easier to use than Nokia Maps. It wouldn't work on my N97, though, so I guess it is only for Symbian 3 devices, not Symbian 5. I bought a cheap "Pay and Go" sim card, to enable the Garmin software to use AGPS. The first time I used it thoug, it worked perfectly, and was quick to find my location, even without the AGPS assistance. A lovely bit of software.
    Phew ...
    Message Edited by 2bad on 26-Jul-2009 11:11 AM
    Message Edited by 2bad on 26-Jul-2009 11:13 AM
    Message Edited by 2bad on 26-Jul-2009 11:15 AM
    Message Edited by 2bad on 26-Jul-2009 11:16 AM

  • Game server: Map managing questions

    Hello everyone,
    I'm trying to develop some kind of RPG. I have different issues, where I need advice:
    1) Map(2D) managment on game server
    The map I want to keep in memory on server will contain objects such as: Item, NPC, Character, etc.
    Item, NPC, Character and other objects going to extend MapObject class, because I want to keep all this data in same place.
    Let's suppose that the map will have 50x50 tiles..
    I want to use Hashtable array to store elements there... So I will have something like this:
    Hashtable <String, MapObject>[][] map = new Hashtable[50][50];
    String(aka key) is going to be object_name + "_" + object_id..
    The questions are:
    - What about performance in this situation?
    - Is there any other data structure which can suite better to this situation?
    2) The other question I have is about sending map object(once in fixed period of time) and updates(for example some character walked or picked an item).
    The architecture I thought for sending data to client is:
    TCP Connection for authentication anc chat
    MultiCast Socket for synchronizing map object and sending updates
    - Is this aceptable architecture for server?
    - Is MultiCast socket good for sending updates and map object?(because there will be significant gain in term of computation on server, comparing to TCP, but what about losses of packets? what about traffic? what kind of protections(excluding timeouts) should I implement on client-side? )
    Thank you in advance.

    patriot87 wrote:
    Strange... I have also tried with 200k and same results... :D
    How comes?Well, one reason is that your test is broken. The first set of tests will always take longer, cause it's before hotspot has kicked in, etc. I moved the test to a method, precreated the objects (remember, if gc happens in one and not the other it's a huge difference), and called them repeatedly. Once I did that, there wasn't really a noticeable difference between them:
    import java.util.HashMap;
    import java.util.Hashtable;
    import java.util.Map;
    import java.util.Random;
    public class HashMapTest
       private static MapObject[] objs = new MapObject[200000];
       private static Random gen = new Random();
       public static void main(String [] agrs)
          for ( int i = 0; i < objs.length; i++ ) {
             objs[i] = new MapObject("ID" + i, "NAME"+i);
          hashMap();
          hashTable();
          hashMap();
          hashTable();
          hashMap();
          hashTable();
          hashMap();
          hashTable();
       private static void hashMap() {
          doTest(new HashMap<String, MapObject>());
       private static void hashTable() {
          doTest(new Hashtable<String, MapObject>());
       private static void doTest(Map<String, MapObject> map) {
          long start_time = System.currentTimeMillis();
          for (int i = 0; i < objs.length; i++)
             map.put(objs.id , objs[i]);
    for (int i = 0; i < objs.length; i++)
    int randomInt = gen.nextInt(objs.length);
    map.get("ID" + randomInt);
    System.out.println(map.getClass() + ": " + (System.currentTimeMillis() - start_time));
    class MapObject
    String name;
    String id;
    public MapObject (String id, String name)
    this.id = id;
    this.name = name;
    }Results of one arbitrary test:
    [pre]class java.util.HashMap: 343
    class java.util.Hashtable: 500
    class java.util.HashMap: 313
    class java.util.Hashtable: 328
    class java.util.HashMap: 453
    class java.util.Hashtable: 313
    class java.util.HashMap: 296
    class java.util.Hashtable: 454[/pre]
    Edited by: endasil on 13-Nov-2009 10:34 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Map ID question

    I found a few posts on Map IDs, but none of them exactly answer my question, at least not that I can tell. My apologies if this is a duplicate.
    I'm using RoboHelp 9.
    I am working on a HTMLHelp project with a .chm output.  I want to implement dialog-level help. That is, there will be a help button or icon on the window and the user will click that to get help on the window itself.
    Let's ignore the question of whether the developers reuse a window, changing the output with variables, which is something I read about on a post I found. Let's assume for a second that the developer will be able to "hook up" the help button to a topic as long as I give her a map file.
    As someone noted in a previous topic, auto-map works well the first time you use it, but the question is, how do I automatically get a map ID for a topic I've added?
    For example, today I added 20 placeholder topics. The only way I know to get map IDs for a new topic is this:
    1. Open Topic Properties (I'm right-clicking on the topic in the Topic List pane and selecting Properties).
    2. Click the Advanced tab.
    3. Click the Edit Map IDs button.
    4. Select the Map File at the top.
    5. Make sure that the correct topic is highlighted in the right pane (it's hard to see).
    6. CLick the Auto-map button.
    Isn't there any way to configure RH so that whenever I create a new topic, RH automatically gives it a map number without me doing anything?
    (And am I imagining it, or did RH at one time used to do this? I've used it sporadically since 1995, and I don't remember having to re-open the Properties window. Maybe the window for creating a new topic had a checkbox?)
    Colum, I read your article and comments on manually adding the new map IDs.  As you can probably tell by the fact that I'm creating placeholder topics, this help file isn't complete yet. Should I just delete the map file, wait until I've finished adding topics, and then auto-number as if I was just starting out?

    Hi,
    Currently, there is no way to assign a map number automatically to a topic when they are created but you can manually select multiple topics and auto-map them in one-go by doing the following steps:
    1. Open the Edit Map IDs dialog by doing one of the following:
    (a) Open the Project Set-up pod and navigate to the Context-Sensitive Help > Map files folder and double click on a map file to edit it.
    (b) Open Topic Properties, click on Advanced tab and then click on Edit Map IDs button.
    2. Select the Map File from the Map File drop-down in the Edit Map IDs dialog.
    3. Now select all the required topics by pressing Ctrl button and clicking on the topics.
    4. Click on Auto-map button.
    Thanks,
    Aditi

  • Quick java udf question

    Hi sorry for this completely stupid question but the below piece of code I am trying to dissect and understand.
    I understand the first line I am creating a new global container but the second line I am not so sure what the (integer) would be for. Is this meant to be a variable or a return type? What could that possibly be for I mean a type in parenthesis after the equals sign.
    GlobalContainer gc = container.getContainer();
    Integer counter = (Integer) gc.getParameter("counter");
    Thank you for your help.

    GlobalContainer is a container object stores values and can be retrieved by UDF during runtime. This GlobalContainer stores values and can be accessed by any UDF in the same namespace. This is similar to class variable or static variable of java class.
    In your case, It has a parameter which is set as ("counter", Integer) . Basically it is a key value pair and very similar to Hashtable in java.
    Example
    setParameter(String  str , Object  Integer);
    >What could that possibly be for I mean a type in parenthesis after the equals sign.
    typecast to integer in paranthesis, because we store the value here as Integer object.
    Integer counter = (Integer) gc.getParameter("counter");
    expecting  return type is Integer.
    Also refer this [link |global container;for further refereence

  • Export parameter in Message mapping UDF

    Hi, I use PI7.1.
    I defined an Export parameter in Message mapping "Signature" tab.
    And as http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm,
    I wrote in my UDF as follows:
    public String myudf(int var1) {
    String str="test";
    if(exists("MY_PARA") == true) {
    getOutputParameters.setString("MY_PARA", str);
      return str;
    However when I ran the test, it said there is "syntax error".
    I guess the reason is not found the method exitst() or getOutputParameters. Anybody can help? thanks

    Here is a valid sample for a Java Mapping program working with Parameterized Mappings - taken from help.sap.com::
    import com.sap.aii.mapping.api.AbstractTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.TransformationInput;
    import com.sap.aii.mapping.api.TransformationOutput;
    import com.sap.aii.mapping.lookup.Channel;
    public class Parametrization_Java
       extends AbstractTransformation {
          public void transform(
             TransformationInput in,
             TransformationOutput out)
          throws StreamTransformationException {
             try {
    // Read Import Parameters
                String paramS =
                   in.getInputParameters().getString(u201CPARAM_Su201D);
                int paramI =
                   in.getInputParameters().getInt(u201CPARAM_Iu201D);
                Channel paramC =
                   in.getInputParameters().getChannel(u201CPARAM_Cu201D);
    // Use Parameters during Mapping
    // Set Export Parameters
                   out.getOutputParameters()
                      .setString(u201CPARAM_ESu201D, [String-Wert]);
                   out.getOutputParameters()
                      .setInt(u201CPARAM_EIu201D, [Integer-Wert]);
                   out.getOutputParameters()
                      .setValue(u201CPARAM_ECu201D, [java.lang.Object]);
             } catch (Exception e) {
                // Exception Handling
    Regards,
    Volker

Maybe you are looking for

  • Multiple region printing to PDF (including charts)

    Hi, Has anyone created PDFs using FOP or Cocoon to print multiple report regions from a page. One of the regions I wanted to print to PDF is a chart ! Or is BI Publisher the only option ? Thanks a lot A

  • Using Automator to cut up a video

    Hello, I've been trying to use automator to do some repetitive tasks for me, but I seem to keep running into brick walls since I've not really used it before. What I'm trying to do is cut a video file into single frames, and save each one as a jpeg.

  • Price error message while creating production order- Urgent

    In past i was getting warning message of 'No price could be determined for material/batch and Plant" message no CK 465 at the time of saving the production order after creation but now it has stopped even though there is no price in material amster.

  • Tiger + Vista Possible? Vanguard SoH.

    I want to play the game Vanguard: Saga of Heroes. However, it requires Windows. I have Vista Home Premium installation disc. Is it possible to run Windows Vista and Mac OS X 10.4 Tiger on my Intel iMac with Tiger installed currently? I don't really w

  • Need advice about text to speech

    It doesn't appear that the built in text to speech functionality will do what I need it to. The voice I need for a project is the popular Steven Hawking voice. I need to to be able to speak back a script that I've written and be able to record it in