Jump Indirect Values

Can someone point me to a resource that breaks down what the numbers are for each of the objects in DVD SP? (Or is there a 'info window' in DVDSP that I can click on an object and find out its number?)
I'd like to be able to use the "Jump Indirect" command - but unless I can get a list of what values are assigned... I am not sure how I can use this.
From looking through various forums I've gathered:
Menus count by 32 starting at 32
Tracks count by 128 starting at 49280
Chapters count by 1 starting at the "Track #"
Buttons? (Menu # +1 maybe?)
Slide Shows?
Angles?
Audio Streams?

I've figured out slideshows:
Slides count by 128 starting at 49664
I can't figure out how to jump into the middle of a slideshow - the "Jump Indirect #" doesn't work like chapters and tracks...
Message was edited by: Christopher Osborn1

Similar Messages

  • Beaten Man on Jump Indirect

    I'm trying to return from stories and tracks to the last button selected on the calling menu using Jump Indirect. I swannee I read somewhere this scheme worked (and it does in Simulator). This works fine in the Simulator, but not always in DVD Player or a real player:
    Menu pre-script:
    mov Last Menu, Current Item // gets menu ID, e.g. 480 for the 15th menu
    Exit Pre-Script
    Track and story pre-script:
    mov Last Button, SPRM 8 // gets the ID of the button you just hit
    div Last Button, 1024 // gets button number
    Exit Pre-Script
    Track and story end jump:
    mov Calc, Last Menu // use new GPRM to preserve menu ID value
    add Calc, Last Button // so 480 + 5 = ID of button 5 on menu 15
    sub Calc, 1 // read somewhere this needs to be done, works, dunno why
    Jump Indirect Calc
    Jump Main // escape in case of error
    Works PERFECTLY in the Simulator, all the values are correct in the log and the Info Drawer, e.g. menu IDs are 32, 64, 96, etc. In DVD Player, some end jumps work, others do not - they return to other menus or even tracks.
    Tried building on another computer, no different. Using DVDSP 4.0.3 on a Dual 500, Mac OS 10.4.8.
    Question: Can you indeed jump to elements on an element using the above? The manual has almost nothing to say on that and I lent out my DVD Demystified book.
    I know I can write a brazilian scripts that set the menu number to 1, 2, 3, etc., then use an end jump script with a brazilian IF statements along with jump to GPRM-based buttons (which annoyingly preclude using menu pre-scripts), but the above does it all with three universal, non-specific scripts. On the current project, I'd have to make 40+ scripts just to remember the menu number and 40+ IF statements. I know in the time I've spent on this I could have done that dozens of times, but being an old programmer, I like elegant, plus I could use this in the future to save time.
    Just found another problem with massive IF statements approach: If you have a button that jumps to a button on a different menu, that bypasses the script that remembers the last menu, so that scheme no longer works. Example: Every artist in a compilation has a main menu and a bio (and other) menu(s). The Back button on the bio menu is linked to the Bio button on his main menu, bypassing the menu script. Same for Return on the remote, can't go to a button, must go to the script. Beaten both ways if I always want to rehighlight the last button.
    Thanx,
    Russ
    FCP 5/DVDSP 4 Certified Trainer. 2 GB G4 DP500, 1 GB 15 AlBook   Mac OS X (10.4.8)   ADVC-100

    Question: Can you indeed jump to elements on an element using the above? The manual has almost nothing to say on that and I lent out my DVD Demystified book.
    Yes sort of. Have not worked through the script in it entirety (did a mock up of small section) and it does work - did not burn it though. And not sure if quite a replica of your project. Did not step through all the code, but the following is more an FYI (and may be the cause of your issues)
    The problem maybe Apple's Absraction Layer which somtimes produces strange results. In other words when the script and codes are translated into "spec" DVD SP adds extra things from time to time that are not needed or may not work properly on some players.
    One such item from awhile ago was Jump to Loop Points based on GPRM Values It was about 9 months ago and I found a reference to the thread (could not find the original thread) and there are some things which may be of interest to you, for instance how sometimes things change in numbering of menus.
    http://discussions.apple.com/thread.jspa?messageID=2783218&#2783218
    Anyway I think the issue was the DVD SP was writing over its own variables
    but being an old programmer, I like elegant, plus I could use this in the future to save time. :)
    At some point you may want to take a look at DVDAfterEdit (you can download a demo at http://dvdafteredit.com/?q=node/825) to work on what DVD SP makes as code - will appeal to your programmers side and make for better DVDs by cleaning up DVD SP code

  • Function Modules for indirect values

    What are the  function modules for indirect values?

    Hi,
    The SAP function module for indirect valuation of wages is RP_FILL_WAGE_TYPE_TABLE_EXT.
    Also, if indirect valuation is being used, the annual salary field ANSAL also may not be populated. Again, there are some SAP function modules to help us out:
    RP_ANSAL_FROM_PERNR - Use this one if all you have is PERNR
    RP_ANSAL_FROM_INFOTYPE - Good if you have already data for infotypes 0001 & 0008
    RP_ANSAL_FROM_WAGETYPES - It requires a list of wage types used in 8 .
    by
    Prasad gvk.

  • Always get 65535

    I am using the DAQCARD-AI-16XE-50 and NI example code working on CE .net system with hardware PC104. After I set up the system, and run the sample code from NI(aiex1), it always return 65535 in the loop to check the stack. What is wrong? anybody knows why?
    Thank you in advance for your help.

    I did not see the issue in DVD SP 4 but it is does not work in DVD SP 3
    I have not traced the whole script but the problem is that using some of the commands may be changing the values depending on which version of DVD SP is being used, though I agree it does not make sense that adding 1 should be a problem. ( There was an example awhile back that people had trouble with because of trying to port Last Played/Jump Indirect values between versions of DVD SP, Hal do remember the thread or project?)
    A quick read (have not full looked it through) is If you look at the Chapter Forward script there can be an issue there also - it can jam out the players because the last jump for Chapter 4 in the track is the Chapter Forward script and it can hang.
    Anyway if you use this as the Chapter Forward script it should work in DVD SP 3
    // set GPRM elsewhere to 1 if Play All otherwise it is not play all and exits
    Jump Menu:: if (GPRM 0 1)
    // in the button command choosing Play All make sure to set GPRM 3 to 0 for loop
    add GPRM 3, 1
    mov GPRM 4, GPRM 3
    //49280 happens to be the number for this track but is may not be portable
    add GPRM 4, 49280
    Jump Indirect GPRM if (GPRM 3 <4)
    Jump Menu
    Also make sure to set GPRM 3 to 0 before going to the track for a play all
    Usually I prefer to use stories as oppossed to scripting these things when possible.

  • Retaining a Value in a variable

    Hi,
    I have a sender query (query 1)and a receiver query(query2). The sender query has a user entry variable C on an info object A(of length 18). The receiver query has a customer exit variable D  on an info object B(of length 4).
    The customer exit variable D has to derive the last 4 digits of the user input variable C in query 1.
    I have linked A and B in the assignment details of the RRI using the variable option.
    The problem that i'm facing is that when a jump is performed the variable D has to derive its value from the variable C but when query 2 is triggered by the jump that value in variable C is lost and hence D cannot be populated. Is it possible to retain the value of variable C even after i run the second query so that i can derive D from C.
    Help would be highly appreciated

    Hi,
    why not trying th efollowing:
    Assign B as NAV-Attribute to A, containing the last 4 digits of the 18 digits string.
    assign B to BOTH queries and use it in the assignment details "generic".
    ANother way: assign A to Query2 with variable E, type replacementpath, filled by values out of query 1.
    Derive Value for D in step 2 of the var E.
    Actually, the first way seems to be easier ... to me ...
    hth
    cheers
    sven

  • Problem of running the jump query from the result line

    Dear expert,
    I have a problem when running a jump query from the result line. Apparently, the values of the caracteristics haven't been sent to the jump target.  However, the configuration in RSBBS seems to be good as the jump works well from the other lines.
    Does anyone have some ideas on that?
    Thanks in advance!

    Hi,
    If you are supposed to bring across characteristic values to your target, then you will not be able to jump from the result line. The configuration expects that the values of the characteristic marked as being used in the jump are filled with unique values. When you use the result line as a source for your jump, the values in the result line will most likely be based on the sum of multiple characteristic values.
    Hth,
    -Jacob

  • Complicated Scripting Question

    Here is a little background before my question-
    I have been making DVDs that basically consist of a main menu and a chapter menu. I have only one track in my project for the video. When the viewer selects "play video" from the main menu the entire video track plays then returns to the main menu. When they select a chapter from the chapter menu the same video track plays from whichever chapter marker they selected.
    I wrote a short script so if a viewer watches the video from the main menu and presses the menu button they will be brought to the main menu, and if they are watching the video via selecting a chapter they will be returned to the chapter menu when the menu button is pressed.
    I did this by having a prescript for each menu (mov GPRM 0, Current Item)
    and assigning a script to the menu button (Jump Indirect GPRM 0).
    But..now I have to make a DVD which is just like this except it must have double the menus (one set in english, one set in portuguese). They will both share the single (bilingual) video track.
    So I need to make a first menu which lets the viewer select their language, once they select that they need to be brought to their language's main menu.
    My first question is can I write a script so that once they are brought to a main menu based on what language they chose, whenever they press the title button they will be returned to this main menu and not the language selection menu or the wrong language's main menu.
    My second question is how would I write a script so when a viewer presses menu while watching the video they will be returned to the last menu the came from (main menu or chapter menu) keeping in mind that there are 2 sets of each menu.
    I'm still new to scripting and I'm having a hard time wrapping my head around all the different menus. If any one has the time to throw out any suggestions I would greatly appreciate it.
    Powermac G4 Dual 1.42   Mac OS X (10.4.4)  
    Powermac G4 Dual 450   Mac OS X (10.3.9)  

    You know, there's times when stories are just dandy for sorting the problem, and there's times for scripts... this seems like a time for scripting to me! Drew - your solution will work, but it seems so long...
    What I would do is this.
    From the very first menu make each button to select the language go to a script - and then on to the correct 'main' menu:
    mov GPRM0, SPRM8
    div GPRM0, 1024
    Jump EnglishMenu If (GPRM0 = 1)
    Jump FrenchMenu If (GPRM0 = 2)
    Jump SpanishMenu If(GPRM0 = 3)
    (I am assuming three buttons, and these three languages... you could have 36 different buttons and languages, of course.)
    The next question is do you need to set up a particular audio stream? if so, I'd add it to the script above as a line before each jump statement.
    Now that you have a value in a GPRM to identify the user choice, you can use it over and over. When you press the 'title' button, point it to a script which does this:
    Jump EnglishMainMenu If (GPRM0 = 1)
    Jump FrenchMainMenu If (GPRM0 = 2)
    Jump SpanishMainMenu IF (GPRM0 = 3)
    Of course the name of your menus will be different, just select the correct one when writing the script.
    Now for the menu call - this is assuming that you have a series of sub menus within each language choice. All I would do is set another GPRM each time I go to a different menu. So, assuming we are on the main menu for English and want to go to a chapter selection menu in English, I would go via another script:
    mov GPRM1, 1
    Jump EnglishSubMenu
    For each other menu I would go via a similar script but set a different value each time. That way we know the language (value in GPRM0) and the correct menu (in GPRM1)
    The menu call goes to this script:
    goto 4 If(GPRM0 = 1)
    goto 7 If(GPRM0 = 2)
    goto 10 If(GPRM0 = 3)
    Jump EnglishSubmenu If(GPRM1 = 1)
    Jump SecondEnglishmenu If(GPRM1 = 2)
    Jump AnotherEnglishMenu If(GPRM1 = 3)
    Jump FrenchSubMenu If(GPRM1 = 4)
    Jump SecondFrenchMenu IF(GPRM1 = 5)
    Jump ThirdFrenchMenu If(GPRM1 = 6)
    Jump SpanishSubMenu If(GPRM1 = 7)
    Jump SecondSpanishMenu If(GPRM1 = 8)
    Jump ThirdSpanishMenu If(GPRM1 = 9)
    The goto commands are looking to see which language you are in and the jump commands take you to the correct menu as long as you set these values up when you moved between the menus. This entire script could be simplified further, but as it is it serves to illustrate the process you need to go through.
    There we have it, two main scripts and a bunch of stand-alone scripts to set values... you will be able to easily stay within a branching menu system for a single language with this.

  • GPRM freezes

    So I'm working on a disc where there are certain videos that can be accessed from multiple menus. Obviously, we want it to jump back to the menu it came from.
    To do this, when you click on the button I'd have a script that would put its own menu into a GPRM and then jump to the target, like this:
    *mov GPRM 0, source menu*
    *Jump destination track*
    And then when the video was done, it would execute this script:
    *Jump Indirect GPRM 0*
    This worked just great in the simulator and I built it and played it in the DVD Player fine. But when burned to a disk, the client says it would just cause the disc to stop and force the user to eject it, and they tried it on multiple computers and DVD players.
    I won't have access to the discs and source files until Monday, but I thought I'd see if anyone out there had a theory as to what was going wrong so I could figure out where to start debugging.

    You've got the logic right, but I'm curious as to how you defined 'source menu'.
    There are several ways to do this - you could, for example, use a series of similar scripts, one for each menu and in the end jump script put a bunch of 'jump/if' statements...
    +mov GPRM0, 1 //change the value for each different menu +
    +Jump Track name+
    then...
    +Jump menu 1 if (GPRM0 = 1)+
    +Jump menu 2 if (GPRM0 = 2)+
    +Jump menu 3 if (GPRM0 = 3)+
    Or, you could use the menu values themselves - menu 1 is '32', menu 2 is '64' and so on, incrementing in jumps of 32 each time. Your scripts then become something like this:
    +mov GPRM1, 1+
    +Jump track name+
    then...
    +mul GPRM0, 32+
    +Jump indirect GPRM0+
    Finally, you can use the 'Special' entry for 'Last Item' (not current item):
    +mov GPRM0, Last Item+
    +Jump Track Name+
    then...
    +Jump Indirect, GPRM0+
    If you simulate the last one you'll see GPRM0 gets filled with the value that is a multiple of 32, representing the value of the menu that you came from.

  • Fine in Simulator, but encoded "Play All" Scripting Goes Screwy

    So I followed this Tutorial for scripting a dynamic Play All button: http://creativemac.digitalmedianet.com/articles/viewarticle.jsp?id=30628
    The Script checks the GPRM values at the end of each video. It also has a pre script to reset the value to 0. It works perfectly in the simulator, but once encoded the Play Button plays totally different tracks on the DVD. Perhaps there is an issue with the GPRM values?
    The menus are video files, not Photoshop files with layers so I don't think this workaround applies: http://forums.digitalmedianet.com/cgi-bin/displaywwugpost.fcgi?forum=astarte_dvd &post=080314211038.htm
    A solution that might somehow be related???-->"I used the DVDAfterEdit Demo (http://www.dvdafteredit.com) to check my GPRM values outside of using DVDSP's Simulator (which worked fine for me, just like many of you). I found that when the Menu Prescript is run, it is assigning, not 32 for the first menu and 64 for the second and so on, but another number in the 60,000-something range, which of course throws off the math for the end jump script. An associate of mine explained to me that he thought each layer that is activated in the layered menu actually was a different menu altogether, which is possibly why the Current Item value is being set to a number we weren't expecting.
    So, my workaround is this: I made a separate prescript for every layered menu I needed the dynamic end jumps for. The single I command I used was "mov GPRM 0, 32" for the first menu rather than "mov GPRM 0, Current Item" (you have to switch from Special to Immediate to manually type in the number, FYI). The second menu had it's own prescript with the command "mov GPRM 0, 64". And so on for the subseqent menus."
    Anyone who has a fix, please let me know. I'm comfortable with DVD studio, but new to scripting.
    Message was edited by: Benny11

    your problem comes from a bug in the simulator.
    When you use jump indirect it is looking for a menu or track based on its position on the disc, for example menu 1 is 32, menu 2 is 64, menu 3 is 96, etc, etc.
    Well simulator gets object positions based on DVD Studio Pro's Outline View. The problem is there are two different outline views, one is by type, and one is by VTS. Simulator uses "by type" when calculating object values, but in real life (as in all DVD players) the value is based on its position in the "VTS" view.
    I would check your VTS view and make sure the tracks are in the order your want them to play in.
    Additionally, i have always found "prescripts" very unreliable. I find it I get better results by jumping to a script directly and then at the end of the script jumping to my target as opposed to creating a script and assigning it as a pre-script to an object.

  • Button leads to random clip

    I wanted to make a Scene It type game with DVD Studio and was wondering if there was anyway you can make a button choose a track randomly? Thanks

    Heh... I'd long forgotten that one Silal! Super simple random playback for sure!
    That tutorial really only applies to very small numbers of clips. If you want to do this with lots of clips, or tracks then you'll need some scripts. A lot depends on whether you want to ensure there are no repeats, since to keep track of what has played will take memory slots up. Fortunately, it isn't hard to do this, but there are a limited number of slots. How many tracks do you have?
    If you don't want to track playback, then point the menu button to the following script (I will assume you have got twenty tracks, check the value in line 2)
    ran GPRM0, 65535
    mod GPRM0, 20
    mul GPRM0, 128
    add GPRM0, 49280
    Jump indirect GPRM0
    What this is doing is generating a random number in line 1 and storing it in GPRM0. In line 2 it is doing a modulus operation - that is, dividing by 20 and working out the remainder. You do this because it helps make the random more random... the remainder will be a value from 0 through to 19. In line 3 we multiply that value by 128 - and finally we add on 49280.
    The values 128 and 49280 are important. In your project the first track in the list of tracks showing in your outline view will have a numeric value of 49280. The second track has a value 128 more than that, and each subsequent track increments by 128 every time. This means that if your random number ends up as '0' then the multiplication by 128 will leave it as '0', and the adding of 49280 will give you the value of track 1. Similarly, if your random number is 15, the multiplication will give you 15 x 128, or 1920. You then add on 49280 to get 51200. That will equate to the 16th track in your list.
    The final line is a jump statement - jumping indirect means to jump to an item that has a value, and in this case we'll get the value from doing some math. We are not jumping to a named track, but jumping to a track by using a track value, hence jumping indirectly.
    If you want to continue the playback without going to a menu in between tracks, you add an end jump on to every track that goes to the script. It will then run again and another track will play.
    This can get more and more complex - you could have one menu button that picks a clip at random and plays it then goes back to the menu, and another that picks at random and continues playback indefinitely. You can track what has played and make sure there are no repeats - it's possible to track 112 tracks pretty easily and ensure no repeats, but playback gets slower and slower the more tracks you play as the DVD seeks a track that has not yet been played. You can do combinations of tracks, as per the super simple random tutorial, you can do sets of tracks at a time... the possibilities are pretty immense!

  • Script Command limit exceeded! - incorrect

    I have a project which I have a lot of scripts in,
    every time I try and build it it says Command limit exceeded! and gives me the name of the script.
    however I am way under the limit and even if i delete all the lines of code in that script and then try and built it still shows the same error. I haven't done any GPRM partitioning so I can't see what i am doing wrong. Even if i delete that script entirely another one will be flagged up in the same way, even if it only has 3 lines in it.
    I have tryed it on 3 machines with DSP 4.2.1 and 4.2.2
    any help greatly appreciated
    al

    I would think the project file is somehow corrupted. You certainly won't be up against any limits if all your scripts are this short, AFAIK.
    Have you tried saving this out with a different project name and re-opening that? Deleting the PAR files and so on... all the usual remedies?
    There is also a way to script the same thing but use less scripts (but more complex math). You can go to any menu you want if you know the value of the menu (menu 1 has a value of 32, menu 2 is 64 and so on). Using some fairly simple calculations you can get to just about any location you want with a few lines of code. You'll be under the command limit, but the scripting is a little more obscure than your current way.
    So, filling a GPRM with a value of 32, and then using a 'Jump Indirect' will take you to the first menu:
    Mov GPRM0, 32
    Jump Indirect GPRM0
    You can do this for tracks and stories too, but the values are different. Track 1 has a value of 49280. They increment in jumps of 128, and include stories too - so track 2, story 1 would be the equivalent of 3x128+49280.
    The thing is, it doesn't matter which track you have got - this all relates to the layout in the outline view. Track 1 is always the one at the top of the list - and has the value 49280. You can move content around in the list and still know that 49280 will get you to track 1. The same is true for your menus - whichever is at the top of the list is menu 1, and a jump indirect of 32 will get you to it.
    What this will do is reduce the total number of scripts you are using and reduce the number of commands in use. It will also give you much more flexibility as you never have to use menu names and track names in your scripts which is useful if you are re-using projects and altering the number of items in each. However, it won't be as simple to follow through as the extended scripting you are using now... so much depends on where you are with your understanding of scripts, I guess!
    Have a look here for some more general info:
    http://www.dvdstudiopro.co.uk/tutorials/play-all-3/
    Remember, the files in that tutorial are demo files... you'll need to set your disc up more thoroughly that I've done there if you want to use the sample as a real production.

  • Beginners question - making sense of form, item, pane & variable (with relation to where data is stored in the SQL database)

    Hi Everyone,
    I am new to writing reports (SQL code) for SAP, however I am aware that inside SAP Business One it is necessary to enable System Information (from the View menu) in order to see which tables (and related table attributes / column names) are related to various aspects of the various SAP 'modules' (e.g.: A/R Invoice).
    Using an A/R Invoice as an example I can see at the row (or line) level that an item with the description of 'Opening Balance Transfer' is contained in the table INV1, within the attribute (or column) called Dscription.
    However not every 'on screen object' shows a table / attribute. For example in the same A/R Invoice if I hover my mouse over the Balance Due field all I see is Form related information.
    My question is 'How do I make sense of the Form, Item, Pane, Variable information?', with relation to where data is stored within the SQL database?
    Links to online tutorials explaining how this feature of SAP Business One will be much appreciated, along with any personal advice regarding working with this information.
    Any (and all) help will be greatly appreciated.
    Kind Regards,
    David

    Hi David,
    1.Here I am explaining use of each field except pane
    a. Form ---> Used in additional authorization creator
    b. Item, column--->Useful in creating Formatted search queries (FMS)
    c. Variable --> Some of the field values based on another values. ie. indirect values.
    d. INV1---Table name
    2. How to get variable?
    As per your second attachment, to get balance due ,you need doc total field from OINV table. For example,
    SELECT T0.[DocNum], T0.[DocTotal] FROM OINV T0 WHERE T0.[DocNum] = 612004797
    Thanks & Regards,
    Nagarajan

  • Toplink Cache "back reference" best practice question.

    I have too many objects being stored in the Identity map. I'm using the default Soft/Weak map. The problem is every objects connects to every other objects. Since every objects can somehow be traced to each other all objects nothing is removed.
    Let's look at an example. I have two objects Projects and Tasks. A project has a collection of tasks and the task's have a "back reference" to the project. If just one task is in the "soft" section of the Identity map then all the other tasks, which are in the weak section, aren't eligible for garbage collection. The task has a simple OneToOne mapping to the project. I'm using a valueholder to hold the project. This particular instance doesn't use indirection, but there are many other objects that have a similar setup that do.
    These mappings are really convenient for reporting. For example through any task I can easily print the project's name. No query, joining, etc is necessary. This is critical to the app because we have a dynamic report builder where end users and print off anything they want. This flexibility though all of our mappings enables us to build a powerful report builder. Besides the report builder there are other modules that work in a similar fashion. Needless to say the application will build with the assumption that these "back references" exist. That said, I need to remove objects from the identity map.
    Is there a way to manually remove / invalidate the back references and have it repopulated on access? Similar to how indirection works?
    Is it possible to re-init an indirection value holder?
    Does anyone have any suggestions?
    I've looked at using an invalidation policy but that doesn't seem to remove anything. It still keeps the objects in memory. It just refreshes the object on access.

    Soft references should still garbage collect when memory is low, so you should still be ok memory wise, even with your cycles. If you want memory to be freed more aggressively, then use a Weak cache instead of Soft, or decrease your Soft cache size.
    There is no refresh() or revert() API on a ValueHolder, but if you refresh the source object, it will revert all of its relationships. Having a refresh() or revert() API of ValueHolder would be useful, so feel free to log an enhancement request on EclipseLink for that. You also may be able to cook something up using the mapping and readFromRowIntoObject(). Another option would be to just set the relationship to null and invalidate the object so it is refreshed when next accessed.
    James : http://www.eclipselink.org

  • Character Spacing in Photoshop CC does not work properly

    When I (as I have in Photoshop CS2,3,4,5,5.5 and 6) click in the letting menu and change the letting, it allows me to change it and then when I click enter, it jumps down to a completely different number.  I set it to 200 and hit enter and it drop to 19. I change it to 200 again, it becomes 47. 
    I am runnning the updated version of CC on windows 7 64-bit. 

    If you go to the photoshop forum you'll find a topic with the same issue that might help you. I'm not sure if I'm allowed to post the link here.
    Search for a topic called "text leading jumps the value super high"
    Wish I could help more.

  • 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

Maybe you are looking for