Looking for a FM giving MD04 result

Hi!
I am looking for a way to get the table "MDEZ" that is displayed in MD04 (I need to make calculations on the results).
Is there any function module or bapi that can give me that?
Thanks!
Yann

Try one of these.
MD_MRP_LIST_API             
MD_MRP_LIST_OVERVIEW        
READ_MRP_LIST               
Regards,
Rich Heilman

Similar Messages

  • Looking for a FM giving KKBC_ORD result

    Hello,
    I'm trying to get the table displayed in transaction KKBC_ORD (Analize order) for a list of orders.
    Any idea ?
    Thanks !

    Try looking at fm K_KKB_KKBCS_ORDER_REPORT
    Maybe you could copy this fm, then make a copy of K_KKB_CO_OBJECT_DISPLAY the last FM used in K_KKB_KKBCS_ORDER_REPORT to display the alv and comment  CALL FUNCTION 'K_KKB_ALV_KKBC_CALL'.  so you don't display the alv and take the out_tab from field-symbol <gt_table>
    Edited by: Ramiro Escamilla on Feb 11, 2008 6:29 PM
    Suggestions

  • Looking for some help on emailing results using the drop down Label instead of the value

    DWMX / SQL / ASP
    I have a very simple form... 4 fields
    1 - Textbox to enter name
    2 - Drop downs to select location and type of issue
    1 - Comment box to describe in more detail the issue....
    I have notification setup to email the results to the
    appropriate person
    upon submission.. the issue im having is the following.. the
    email will go
    to the department that needs to get it based on the Issue
    drop down... the
    drop down is populate from a table containing 2 fields (
    Issue Name and
    Email )
    My question is how can i capture the label name instead of
    the value which
    in this case is the email address?
    I want the email to be sent to the email address, but i want
    the email to
    display the label name....

    Try this,
    <%=(rsCombo.Fields.Item("issue").Value)%>
    <%
    if recordset("fieldname") then
    response.write "Your Lable Name"
    end if
    %>
    Dave
    "Daniel" <[email protected]> wrote in message
    news:elporq$pd1$[email protected]..
    > forgot to add this bit
    >
    > this is what im using to get the data for that
    > <%=(rsCombo.Fields.Item("issue").Value)%>
    >
    >
    >
    > "Daniel" <[email protected]> wrote in message
    > news:elpns1$o80$[email protected]..
    > > DWMX / SQL / ASP
    > >
    > > I have a very simple form... 4 fields
    > > 1 - Textbox to enter name
    > > 2 - Drop downs to select location and type of issue
    > > 1 - Comment box to describe in more detail the
    issue....
    > >
    > > I have notification setup to email the results to
    the appropriate person
    > > upon submission.. the issue im having is the
    following.. the email will
    go
    > > to the department that needs to get it based on the
    Issue drop down...
    the
    > > drop down is populate from a table containing 2
    fields ( Issue Name and
    > > Email )
    > >
    > > My question is how can i capture the label name
    instead of the value
    which
    > > in this case is the email address?
    > >
    > > I want the email to be sent to the email address,
    but i want the email
    to
    > > display the label name....
    > >
    >
    >

  • Any NEW Templates in Updates? Looking for Christmas/Thanks Giving Templates

    For a newsletter.
    Haven't done any updates for a while. Last update was iphoto to see what new templates they had. Seemed fine, you can still print but know I guess you can have them made for $1.99, but that is a different topic.
    Thanks!

    By Universal Template I mean one which includes the formatting we want, but is not tied to the graphics so much. One which has the paragraph styles easily named, set or renamed (so the pages can be shared with other publications) and the Character Styles the same. Captured pages would include all varieties needed for a newsletter/resume/document of any kind, all in one Universal Template.
    While unpopulated for graphics (yet makes it easier to place your own due to formatting) one can easily change the look and feel of an entire set of documents by accessing and altering one document. To be honest the only changes one should need to make when beginning or saving a template is what order the pages are in. When saving a resume template one can start with a collection of the various styles of resume letters. When saving a Newsletter template one can concentrate on those pages which pertain to newsletters.
    Currently some newsletters have six pages, some have eight or nine and one even has ten. (Redwood is the most complete). The Extreme template is perhaps the most adventurous in that it uses a variation of shapes for columns, pages and photos. It includes a Magazine Cover so you can see how easy it is to include different starting popints for your use of the document.
    When I created the Rounded Corner Photoframes there were thirteen in each of two templates (portrait and landscape), and most were identical with variations of the photos being used. That's some being used for right and left sides of the sheet. I have made an experimental one which included 27, trying to account for all variations of columns and uses. (I have several dozen unfinished products and experiments I cannot release yet because I don't know the direction Pages is going to take in the next version.)
    If you look at the Apple templates they are almost all identical within their formats (newsletter, brochure, letter) with the only variations changing being the graphics used, the fonts, and the layout of margins all determined by the topic of the example document. In short, they are examples of newsletters and such that you can create and by being such readily avilable examlpes they have become pretty much copied and reused by those in a hurry.
    That's not necessarily a bad thing, but it has become limiting in how many are being shared. It's a complicated process to create a template for sharing They begin to look the same when they all start from the same starting point. I have decided to concentrate on the graphic resources that one can populate a blank document with. To do that I must have a Universal Temlplate that people can start with. One that I can include with the resource packs so you can have a decent idea of how those resources can be used.
    I started that with the PagesPlus magazine concept released two months after Pages first came out. That's when I realised there was going to be no real market for templates within the Pages user community. It would never be as vibrant as the community for Keynote themes.
    I think an important part of that is that people do not create a template and then build a document. They build a document. I doubt if people are actually creating templates (build pages, separate them, capture them, save template) as much as they are buildign documents they are using. Once you work on a newsletter for a specific month or topic, the chances of you reusing it may be quite slim. The chances of you sharing it as an 'empty' (meaning populated with generic text and generic photos) template that people can reorganize and populate with their own stuff is even slimmer.
    I'm not saying that there aren't a pantheon of useful templates for Pages. I am saying that there is a severe lack of creative templates for pages. It comes from all the steps involved in making it usable by others without showcasing only your own talents and content. The goal behind the Universal Template is to give people a more anonymous starting point to begin those creative templates.
    Pardon my ignorance, but I'm curious what you mean by a "truly universal style of template". Do you mean a template localised for various languages?
    Localization for languages is something most people cannot take the time to do. This is necessary for identifying the various elements used (mostly the paragraph styles, and examples used in the basic template design. Words such as 'Family' or 'Photo'.) but it is unnecessary for the basic 'feel' of the template, and the intuitive understanding that this is how it you should use it. After creating a template based on two simple types of layouts, but created for two different paper sizes (all of a sudden blossoming to four different templates) I realized that Apple deserves a rgeat deal of respect for the amount of work that obviously goes into creating a product for several dozen languages, each containing 66 different templates.
    Kudos to your team, Apple. (Now make it so we can set up the pages we can use, lock them in place, and let our text flow through as we complete our masterpieces.)
    Message was edited by: Gerry Straathof
    Message was edited (again) by: Gerry Straathof who wishes he could smell better. Uh... spell...

  • SELECT with and without for all entries giving different results

    Hi All,
    For some reason unknown to me ,
    There is a difference in result between the below mentioned query however the logic is same.
    1 .  lw_ebeln-EBELN = '0000366416'.
         APPEND lw_ebeln to lt_ebeln. 
          SELECT    ebeln
         FROM     ekbe
         INTO TABLE lt_ekbe
         FOR ALL ENTRIES IN lt_ebeln
         WHERE ebeln = lt_ebeln-ebeln
    2. SELECT ebeln from ekbe into table lt_ekbe where
    ebeln = '0000366416'..
    I have tried a lot to find the reason but unable to.
    Thanks,
    Faiz

    Hi faizur,
    Hope it help ful.
    If you add the EBELP in Internal table,  you will be getting same number of entries in both query.
    For all entries Removes the Duplicate key.
    Regards,
    Venkat.

  • I have two iPads and giving one to my grandson. Using my Apple id for both, can we use different passwords to access our "own" apps. Also I don't want the downloaded App to go to both iPads. Been looking for hours for an explanation! Thanks for any help.

    I have two iPads and giving 1st gen. to my grandson. Using my Apple idI for both... can we use different passwords to access our "own" apps. Also I don't want the downloaded App to go to both iPads. Been looking for hours for an explanation! Thanks for any help.

    Look at this link.
    Giving your former iPad to a spouse or family member: the quick guide
    http://www.tuaw.com/2012/03/17/giving-your-former-ipad-to-a-spouse-or-family-mem ber-the-quick/
    How to Share a Family iPad
    http://www.macworld.com/article/1163347/how_to_share_a_family_ipad.html
    Using iPhone, iPad, or iPod with multiple computers
    http://support.apple.com/kb/ht1202
    iOS & iCloud Tips: Sharing an Apple ID With Your Family
    http://www.macstories.net/stories/ios-5-icloud-tips-sharing-an-apple-id-with-you r-family/
    How To Best Use and Share Apple IDs across iPhones, iPads and iPods
    http://www.nerdsonsite.com/blog/2012/06/07/help-im-appleid-confused/
     Cheers, Tom

  • I look for integrated in the legend bloc of diaporama, a widget such as "Accordion" for, with a click, or passing with mouse, open a new legend for each photo. I tried with "Accordion" of Muse, it does not work. I tried copy/paste, mais no result. The wid

    Question.
    I look for integrated in the legend bloc of diaporama, a widget such as "Accordion" for, with a click, or passing with mouse, open a new legend for each photo. I tried with "Accordion" of Muse, it does not work. I tried copy/paste, mais no result. The widget disappear in bloc legend. disparaître. Have you one solution?
    Thank you,
    Loïc

    Accordion or Tabbed panel should to it, with click and open container.
    Please provide site url where this does not work, also if you can provide an example where we can see the exact action then it would help us.
    Thanks,
    Sanjit

  • Looking for an SQL query to retreive callvariables + ECC from a RUN SCRIPT RESULT (Translation to VRU)

    Hi Team,
    I am looking for an SQL query to check the data (ECC + CallVariable) received following a RUN SCRIPT RESULT when requesting an external VRU with a Translation Route to VRU with a "Run External Script".
    I believe the data are parsed between the Termination Call Detail + Termination Call Variable .
    If you already have such an SQL query I would very much appreciate to have it.
    Thank you and Regards
    Nick

    Omar,
    with all due respect, shortening a one day's interval might not be an option for a historical report ;-)
    I would recommend to take a look the following SQL query:
    DECLARE @dateFrom DATETIME, @dateTo DATETIME
    SET @dateFrom = '2014-01-24 00:00:00'
    SET @dateTo   = '2014-01-25 00:00:00'
    SELECT
    tcv.DateTime,
    tcd.RecoveryKey,
    tcd.RouterCallKeyDay,
    tcd.RouterCallKey,
    ecv.EnterpriseName AS [ECVEnterpriseName],
    tcv.ArrayIndex,
    tcv.ECCValue
    FROM Termination_Call_Variable tcv
    JOIN
    (SELECT RouterCallKeyDay,RouterCallKey,RecoveryKey FROM Termination_Call_Detail WHERE DateTime > @dateFrom AND DateTime < @dateTo) tcd
    ON tcv.TCDRecoveryKey = tcd.RecoveryKey
    LEFT OUTER JOIN Expanded_Call_Variable ecv ON tcv.ExpandedCallVariableID = ecv.ExpandedCallVariableID
    WHERE tcv.DateTime > @dateFrom AND tcv.DateTime < @dateTo
    With variables, you can parametrize your code (for instance, you could write SET @dateFrom = ? and let the calling application fill in the datetime value in for you).
    Plus joining two large tables with all rows like you did (TCD-TCV) is never a good option.
    Another aspect to consider: all ECC's are actually arrays (always), so it's not good to leave out the index value (tcv.ArrayIndex).
    G.

  • My ipad stays in searching mode when looking for software update and doesn't give results

    When I try to look for updates it is just searching and I even left it fir hole day and remained in search mode.

    Had the same problem. Called Apple support. They claimed it could be a network problem since I did the download over wifi. They told me to try again using Itunes. When that didn't work, they said it was a corrupted itunes and I reinstalled it. During the reinstall, I tried it on another computer and it still did not work. After reinstalling itunes, I still got the corrupt message. Apple told me to go to my local Apple store and try their network. I was told that would do the trick. Guess what? It did not restore on the Apple network and the "Genius" tech person said that this error was similar to the windows "blue screen of death" and they could not repair it. Since the Ipad 2 was out of warranty, they offered me a replacement for $249 (no thanks) and said it was just one of those things. If anybody finds a fix, please let me know. I guess the lesson learned is NEVER download a new update the first day.

  • With Adobe Flash, the image is looking for a "zoom" setting and does not find it. The result is that the imbedded image is too large for the space allowed. Is there a zoom setting for Firefox?

    When running FB game apps, the image loaded is too large for the FB space. The program looks for a "zoom" setting and does not find it. This was from the error screen. I have not been able to locate where the image zoom is located (found the font adjustment). I am new to FireFox and would like to sort this out please.
    Your installed plug in assume Shockwave Flash 10.3, but I thought it was Adobe Flash 10.3. Are they one and the same?
    Below is the warning message from the Error Console

    I'm not sure the CSS warning is relevant to Flash. Maybe adjust your overall zoom level on Facebook manually from the View menu?
    View > Zoom
    If you have the orange Firefox button, tap the Alt key to display the classic menu bar.

  • The best CC's for all the different categories. Giving and looking for recommendations.

    Hopefully this will help others just as much as it'll help me. I'm looking to add one or two more CC's (maybe more, you know how it is =P) to my wallet soon to end up with a total of 4-5 maybe 6 CC's.  I currently have a Sears store card $6k, QS1 $9k, and DCU Platinum $15k.  I'm trying to cover all my bases to round out my wallet for best savings, utilization, and earnings... 1) Low APR: I already have my low APR CC in case i need to carry a balance - DCU Platinum Visa with a 8.5% APR.  It was super easy to qualify for.  The instantly approved me when i applied for my auto loan.  They offered a $5k limit, i told them i needed a $20k limit, the countered with a $15k limit.2) Everyday Cash Rewards: I already have an everyday cash rewards CC for more of my spending - QuicksilverOne which is of course 1.5% cash back on everything (I plan to PC to Quicksilver with no AF or maybe get a JCB Marukai [3% cash back but really low credit limit] or Citi Double Cash [2% cash back})3) Gas Rewards: I need a gas rewards card since i work in the auto industry and i spend a lot on gas. Considering a Sallie May MasterCard for the 5% cash back on the first $250 of gas.  Only thing about that is i spend much more than $250 on gas a month.  What else would you folks recommend?4) Super High Limit: I'm also looking for an easily attainable super high limit CC.  There's been talk about Lowes offering credit lines in the $30k+ range.5) Rotating Rewards: Looking for a rotating rewards card.  I'll probably apply for a Discover IT card since i have good history with them, paid on time and in full and closed account years ago.  Some people advise to get two rotating rewards cards, so maybe Chase Freedom?6) "Baller Status": Maybe looking for the "baller status" card eventually but this is less of a priority for me.  Maybe Chase Sapphire Preferred or Amex Gold or Platinum?  CSP is made of metal and looks nice.  Amex seems to cater to the upper percentile. Any suggestions to consider?  Other categories i may have missed?

    Monoglot wrote:
    jfriend33 wrote:
    kdm31091 wrote:
    Discover IT is much nicer than Freedom IMO, on a cash back basis (without a CSP). Broader categories. You don't really need both unless you want both, because they are very similar throughout the year albeit at different times. General spend, well QS and DC are really not terribly different. If you have the QS, no reason to really rush and upgrade to a DC unless your uncategorized spend is very large as the difference is not going to be great. As far as gas yes the Sallie is an option for 5% up to 250, then you could have a second card like BCP or Cash Rewards, etc for 3% on the remaining gas spend. BCP does have an AF though. "Amex catering to the upper pecentile" is just a mere stereotype. They aren't any more high end than any other issuer. Point is, if you aren't really interested in their products, getting an Amex just to have an Amex is not necessary. As for CSP, run the numbers. Takes a good deal of spend to justify the fee. This +1 Couldn't agree more!  Unless you are a churner, which if you are, you better get that CSP/Freedom ASAP.... I will say as much as I hate chase bank, you could wait for the freedom to have the $200 sign up bonus, and double app for the CSP. This would net you 60k UR points which are slightly more versatile than Amex MR points. Then you can earn 5% rotating, dont take cash, send points to CSP, then xfer those to your company of choice...and only use CSP for dining/travel expenses. The 95 dollar fee is kinda high. If you only spend 500 a month on dining/travel, thats 6 grand in a year, or 12k UR points. If they were redeemed at their 2cents a point average, thats only $240... less the fee is 145. Not to mention their min spend would be 3500 for csp/freedom in 90 days.  Bank Of America may be your ticket. And I am not just saying that because I have one in my signature. However, they do offer generous limits, I have seen as high as $40k. Their rewards are good but not great though.  Your best bet is a trio of cards like you said.  Discover for double cash back (great for black friday shopping).  How much do you spend a month on everything?  Its going to boil down to which categories you need besides gas. How much gas a month do you spend? What are your scores? The marukai is nice but you have to spend a certain amount first to even begin earning the 3%....scroll down to spending table: http://www.doctorofcredit.com/credit-cards/cash-back/marukai-premium-jcb-card-review/  I recently discovered this and saw you have to spend a min of 20 grand a year just to get the 3%. I am sure I could run everything on a card, but 3% cash back...not great compared to other rewards and signup bonuses.... Would I say NO if chase offered me the CSP and freedom? Maybe...probably not. But still, the 2 grand in 90 days you would spend for Amex ED and PRG, that could net you up to 1500 or more in rewards..... You spend 4 grand with the CSP you will barely get 800.  Is that table accurate?... I wanted to get that card, but if that table is accurate, I see no point of getting the JCB for a college student like myself.On small spends, the difference between a tiered 3% and a 2% card is going to be very small.   I didn't know about this though: For every $100 you spend you’ll receive 1-3 JCB cash back points, depending on which tier you’re currently in (see above). This is calculated on a per month basis (e.g if you make $99 in purchases for a month you’ll receive no cash back points). That reduces the earnings, as on average you could lost the points on $50 each month, and up to $99.99.    But if you can put  nearly all except your 5% spend on it, I guess that doesn't matter that much.

  • Looking for a way to preserve better result when resize to a small version

    Hi,
    Currently I ask the designer to design a boxshot at http://www.datanumen.com/temp/psd/aar-2048x2048-new-revised.zip . The characters in the large version looks fine. However, when I resize it to a small version, then some characters in the header, such as “Advanced” and “Repair”, not only losing their details, but also seems to be distorted, like this http://www.datanumen.com/temp/psd/distort.jpg
    So, I am looking for a way to prevent this, at least these characters should not be distorted, like this:
    http://www.datanumen.com/temp/psd/aarboxst.jpg
    Maybe by changing the font, or changing the resize method.
    Thanks

    You have a number of layers linked, which might well be causing the distortion.  I had to use some font substitution so I hope I have it close. The V2.1 (which is one of the linked layers) is a touch misaligned with the box. Otherwise, try using a finer font for ACCESS

  • New(?) pattern looking for a good home

    Hi everyone, this is my second post to sun forums about this, I initially asked people for help with the decorator and strategy pattern on the general Java Programming forum not being aware that there was a specific section for design pattern related questions. Since then I refined my solution somewhat and was wondering if anyone here would take a look. Sorry about the length of my post, I know it's best to keep it brief but in this case it just seemed that a fully functional example was more important than keeping it short.
    So what I'd like to ask is whether any of you have seen this pattern before and if so, then what is it called. I'm also looking for some fresh eyes on this, this example I wrote seems to work but there are a lot of subtleties to the problem so any help figuring out if I went wrong anywhere is greatly appreciated. Please do tell me if you think this is an insane approach to the problem -- in short, might this pattern have a chance at finding a good home or should it be put down?
    The intent of the pattern I am giving below is to modify behavior of an object at runtime through composition. In effect, it is like strategy pattern, except that the effect is achieved by wrapping, and wrapping can be done multiple times so the effect is cumulative. Wrapper class is a subclass of the class whose instance is being wrapped, and the change of behavior is accomplished by overriding methods in the wrapper class. After wrapping, the object "mutates" and starts to behave as if it was an instance of the wrapper class.
    Here's the example:
    public class Test {
         public static void main(String[] args) {
              double[] data = { 1, 1, 1, 1 };
              ModifiableChannel ch1 = new ModifiableChannel();
              ch1.fill(data);
              // ch2 shifts ch1 down by 1
              ModifiableChannel ch2 = new DownShiftedChannel(ch1, 1);
              // ch3A shifts ch2 down by 1
              ModifiableChannel ch3A = new DownShiftedChannel(ch2, 1);
              // ch3B shifts ch2 up by 1, tests independence from ch3A
              ModifiableChannel ch3B = new UpShiftedChannel(ch2, 1);
              // ch4 shifts ch3A up by 1, data now looks same as ch2
              ModifiableChannel ch4 = new UpShiftedChannel(ch3A, 1);
              // print channels:
              System.out.println("ch1:");
              printChannel(ch1);
              System.out.println("ch2:");
              printChannel(ch2);
              System.out.println("ch3A:");
              printChannel(ch3A);
              System.out.println("ch3B:");
              printChannel(ch3B);
              System.out.println("ch4:");
              printChannel(ch4);
         public static void printChannel(Channel channel) {
              for(int i = 0; i < channel.size(); i++) {
                   System.out.println(channel.get(i) + "");
              // Note how channel's getAverage() method "sees"
              // the changes that each wrapper imposes on top
              // of the original object.
              System.out.println("avg=" + channel.getAverage());
    * A Channel is a simple container for data that can
    * find its average. Think audio channel or any other
    * kind of sampled data.
    public interface Channel {
         public void fill(double[] data);
         public double get(int i);
         public double getAverage();
         public int size();
    public class DefaultChannel implements Channel {
         private double[] data;
         public void fill(double[] data) {
              this.data = new double[data.length];
              for(int i = 0; i < data.length; i++)
                   this.data[i] = data;
         public double get(int i) {
              if(i < 0 || i >= data.length)
                   throw new IndexOutOfBoundsException("Incorrect index.");
              return data[i];
         public double getAverage() {
              if(data.length == 0) return 0;
              double average = this.get(0);
              for(int i = 1; i < data.length; i++) {
                   average = average * i / (i + 1) + this.get(i) / (i + 1);
              return average;
         public int size() {
              return data.length;
    public class ModifiableChannel extends DefaultChannel {
         protected ChannelModifier modifier;
         public void fill(double[] data) {
              if (modifier != null) {
                   modifier.fill(data);
              } else {
                   super.fill(data);
         public void _fill(double[] data) {
              super.fill(data);
         public double get(int i) {
              if(modifier != null)
                   return modifier.get(i);
              else
                   return super.get(i);
         public double _get(int i) {
              return super.get(i);
         public double getAverage() {
              if (modifier != null) {
                   return modifier.getAverage();
              } else {
                   return super.getAverage();
         public double _getAverage() {
              return super.getAverage();
    public class ChannelModifier extends ModifiableChannel {
         protected ModifiableChannel delegate;
         protected ModifiableChannel root;
         protected ChannelModifier tmpModifier;
         protected boolean doSwap = true;
         private void pre() {
              if(doSwap) { // we only want to swap out modifiers once when the
                   // top call in the chain is made, after that we want to
                   // proceed without it and finally restore doSwap to original
                   // state once ChannelModifier is reached.
                   tmpModifier = root.modifier;
                   root.modifier = this;
                   if(delegate instanceof ChannelModifier)
                        ((ChannelModifier)delegate).doSwap = false;
         private void post() {
              if (doSwap) {
                   root.modifier = tmpModifier;
              } else {
                   if(delegate instanceof ChannelModifier)
                             ((ChannelModifier)delegate).doSwap = true;
         public ChannelModifier(ModifiableChannel delegate) {
              if(delegate instanceof ChannelModifier)
                   this.root = ((ChannelModifier)delegate).root;
              else
                   this.root = delegate;
              this.delegate = delegate;
         public void fill(double[] data) {
              pre();
              if(delegate instanceof ChannelModifier)
                   delegate.fill(data);
              else
                   delegate._fill(data);
              post();
         public double get(int i) {
              pre();
              double result;
              if(delegate instanceof ChannelModifier)
                   result = delegate.get(i);
              else
                   result = delegate._get(i);
              post();
              return result;
         public double getAverage() {
              pre();
              double result;
              if(delegate instanceof ChannelModifier)
                   result = delegate.getAverage();
              else
                   result = delegate._getAverage();
              post();
              return result;
         public int size() {
              //for simplicity no support for modifying size()
              return delegate.size();
    public class DownShiftedChannel extends ChannelModifier {
         private double shift;
         public DownShiftedChannel(ModifiableChannel channel, final double shift) {
              super(channel);
              this.shift = shift;
         @Override
         public double get(int i) {
              return super.get(i) - shift;
    public class UpShiftedChannel extends ChannelModifier {
         private double shift;
         public UpShiftedChannel(ModifiableChannel channel, final double shift) {
              super(channel);
              this.shift = shift;
         @Override
         public double get(int i) {
              return super.get(i) + shift;
    Output:ch1:
    1.0
    1.0
    1.0
    1.0
    avg=1.0
    ch2:
    0.0
    0.0
    0.0
    0.0
    avg=0.0
    ch3A:
    -1.0
    -1.0
    -1.0
    -1.0
    avg=-1.0
    ch3B:
    1.0
    1.0
    1.0
    1.0
    avg=1.0
    ch4:
    0.0
    0.0
    0.0
    0.0
    avg=0.0

    jduprez wrote:
    Hello,
    unless you sell your design better, I deem it is an inferior derivation of the Adapter pattern.
    In the Adapter pattern, the adaptee doesn't have to be designed to support adaptation, and the instance doesn't even know at runtime whether it is adapted.
    Your design makes the "modifiable" class aware of the modification, and it needs to be explicitly designed to be modifiable (in particular this constrains the implementation hierarchy). Overall DesignPattern are meant to provide flexibility, your version offers less flexibility than Adapter, as it poses more constraint on the modifiable class.
    Another sign of this inflexibility is your instanceof checks.
    On an unrelated note, I intensely dislike your naming choice of fill() vs _fill()+, I prefer more explicit names (I cannot provide you one as I didn't understand the purpose of this dual method, which a good name would have avoided, by the way).
    That being said, I haven't followed your original problem, so I am not aware of the constraints that led you to this design.
    Best regards,
    J.
    Edited by: jduprez on Mar 22, 2010 10:56 PMThank you for your input, I will try to explain my design better. First of all, as I understand it the Adapter pattern is meant to translate one interface into another. This is not at all what I am trying to do here, I am trying to keep the same interface but modify behavior of objects through composition. I started thinking about how to do this when I was trying to apply the Decorator pattern to filter some data. The way I would do that in my example here is to write an AbstractChannelDecorator that delegates all methods to the Channel it wraps:
    public abstract class AbstractChannelDecorator implements Channel {
            protected Channel delegate;
    ...// code ommitted
         public double getAverage() {
              return delegate.getAverage();
    ...// code ommitted
    }and then to filter the data I would extend it with concrete classes and override the appropriate methods like so:
    public class DownShiftedChannel extends AbstractChannelDecorator {
         ...// code ommitted
         public double get(int i) {
              return super.get(i) - shift;
           ...// code ommitted
    }(I am just shifting the data here to simplify the examples but a more realistic example would be something like a moving average filter to smooth the data).
    Unfortunately this doesn't get me what I want, because getAverage() method doesn't use the filtered data unless I override it in the concrete decorator, but that means I will have to re-implement the whole algorithm. So that's pretty much my motivation for this, how do I use what on the surface looks like a Decorator pattern, but in reality works more like inheritance?
    Now as to the other points of critique you mentioned:
    I understand your dislike for such method names, I'm sorry about that, I had to come up with some way for the ChannelModifier to call ModifiableChannel's super's method equivalents. I needed some way to have the innermost wrapped object to initiate a call to the topmost ChannelModifier, but only do it once -- that was one way to do it. I suppose I could have done it with a flag and another if/else statement in each of the methods, or if you prefer, the naming convention could have been fill() and super_fill(), get() and super_get(), I didn't really think that it was that important. Anyway, those methods are not meant to be used by any other class except ChannelModifier so I probably should have made them protected.
    The instanceof checks are necessary because at some point ChannelModifier instance runs into a delegate that isn't a ChannelModifier and I have to somehow detect that, because otherwise instead of calling get() I'd call get() which in ModifiableChannel would take me back up to the topmost wrapper and start the whole call chain again, so we'd be in infinite recursion. But calling get() allows me to prevent that and go straight to the original method of the innermost wrapped object.
    I completely agree with you that the example I presented has limited flexibility in supporting multiple implementations. If I had two different Channel implementations I would need two ModifiableChannel classes, two ChannelModifiers, and two sets of concrete implementations -- obviously that's not good. Not to worry though, I found a way around that. Here's what I came up with, it's a modification of my original example with DefaultChannel replaced by ChannelImplementation1,2:
    public class ChannelImplementation1 implements Channel { ... }
    public class ChannelImplementation2 implements Channel { ... }
    // this interface allows implementations to be interchangeable in ChannelModifier
    public interface ModifiableChannel {
         public double super_get(int i);
         public double super_getAverage();
         public void setModifier(ChannelModifier modifier);
         public ChannelModifier getModifier();
    public class ModifiableChannelImplementation1
              extends ChannelImplementation1
              implements ModifiableChannel {
         ... // see DefaultChannel in my original example
    public class ModifiableChannelImplementation2
              extends ChannelImplementation1
              implements ModifiableChannel { ...}
    // ChannelModifier is a Channel, but more importantly, it takes a Channel,
    // not any specific implementation of it, so in effect the user has complete
    // flexibility as to what implementation to use.
    public class ChannelModifier implements Channel {
         protected Channel delegate;
         protected Channel root;
         protected ChannelModifier tmpModifier;
         protected boolean doSwap = true;
         public ChannelModifier(Channel delegate) {
              if(delegate instanceof ChannelModifier)
                   this.root = ((ChannelModifier)delegate).root;
              else
                   this.root = delegate;
              this.delegate = delegate;
         private void pre() {
              if(doSwap) {
                   if(root instanceof ModifiableChannel) {
                        ModifiableChannel root = (ModifiableChannel)this.root;
                        tmpModifier = root.getModifier();
                        root.setModifier(this);
                   if(delegate instanceof ChannelModifier)
                        ((ChannelModifier)delegate).doSwap = false;
         private void post() {
              if (doSwap) {
                   if(root instanceof ModifiableChannel) {
                        ModifiableChannel root = (ModifiableChannel)this.root;
                        root.setModifier(tmpModifier);
              } else {
                   if(delegate instanceof ChannelModifier)
                             ((ChannelModifier)delegate).doSwap = true;
         public void fill(double[] data) {
              delegate.fill(data);
         public double get(int i) {
              pre();
              double result;
              if(delegate instanceof ModifiableChannel)
    // I've changed the naming convention from _get() to super_get(), I think that may help show the intent of the call
                   result = ((ModifiableChannel)delegate).super_get(i);
              else
                   result = delegate.get(i);               
              post();
              return result;
         public double getAverage() {
              pre();
              double result;
              if(delegate instanceof ModifiableChannel)
                   result = ((ModifiableChannel)delegate).super_getAverage();
              else
                   result = delegate.getAverage();
              post();
              return result;
         public int size() {
              return delegate.size();
    public class UpShiftedChannel extends ChannelModifier { ...}
    public class DownShiftedChannel extends ChannelModifier { ... }

  • Mac Newbie looking for short answers to multiple questions...

    My computer experience started with the Commodore 64 in the 1980's and progressed to building my own Core Duo PC with 4 GIG RAM running 64 bit Vista Ultimate and several flavors of Linux. My only Mac experiences happened when I visited my elderly parents, who insisted on only using Mac's, generally ancient Mac's that they bought on eBay.
    I was not interested at all in Macs and found the GUI very confusing to use. All that changed when my dad showed me the Mac Mini he bought. Instead of the hulking, slow, underpowered behemoths he usually used, this little machine was amazing. I had to have one, and yesterday bought a Mac Mini with superdrive and 512 MB of RAM, along with Bluetooth wireless keyboard and mouse. This was amazingly easy to set up, just starting with all of the PC stuff I have lying around.
    Now, I need some one-line opinions from people who use Mac's, nothing complicated, just opinions. I don't need help configuring this machine, I just want to know what I can do with it. I find most people enjoy giving opinions!
    --Is it worth it to upgrade the RAM to 2 GB? I wanted to do that at the store yesterday, but the salesman said that the procedure was too complicated in a Mac Mini to do myself, and I wanted to take the computer home right way.
    --I use Photoshop Elements 5. Is it worth it to get Photoshop Elements 4 for Mac, or does my machine come with imaging editing software that does the same thing, just as well?
    --I use Quicken 2007. I read a couple of reviews of Quicken for Mac from unhappy customers. Any comments?
    --Can I use my existing external USB 2 or Firewire drives with my Mac Mini, even though they are partitioned as FAT32 and have many backup files from PC's on them? Do Mac Mini's write to FAT32 like Linux does, or do I have to reformat the drives?
    --I use Acronis True Image to backup & image my hard drives so I can restore them if disaster occurs (as it seems to, rather often). How do you image a hard drive with a Mac, and is it worth doing?
    --Is it worth it to use antivirus software on a Mac?
    --Does anyone have any experience using open source software like Open Office or GIMP on a Mac?
    --Are there any decent flight simulators that work on a Mac?
    Please don't flame me or tell me to read the manual. I am looking for opinions, not instructions. I am also not interested in running Windows software on my Mac - I have had mixed results trying to do this under Linux, and I also have plenty of Windows machines to operate Windows software. Remember, the more people like me who are interested in switching over to Mac's, the better and cheaper the platform should become. Thanks in advance!

    Welcome to Apple Discussions!
    Glad you found your way to the Mac in the present incarnation of MacOS. Earlier flavors of it were perhaps somewhat less elegant, though I have always had a liking for the relative simplicity and the integration of features which tend to make some work more easily accomplished than on the PCs I have also used.
    --Is it worth it to upgrade the RAM to 2 GB? I wanted to do that at the store yesterday, but the salesman said that the procedure was too complicated in a Mac Mini to do myself, and I wanted to take the computer home right way.
    Yes, the memory upgrade is very worthwhile. A stock mac mini runs perfectly well, but when taking into account the RAM used by the on board video, and the possibility of using Rosetta if you're using any non-native software, 512Mb is really not enough for smooth operation. Indeed, you'll tend to get pauses which can become annoying, particularly if you want to run multiple applications.
    The salesman really should have pointed out that while the procedure to upgrade RAM isn't really all that difficult, the mini is not intended to be opened by the user at all because there are no user serviceable parts inside. However, RAM is readily available from third party suppliers and with a little on-line research, is a fairly simple job to undertake. Two things to watch for: 1) that the memory comes from a supplier who will swap it without question, because Macs are rather more fussy about RAM than PCs tend to be, and 2), when completing the memory upgrade, ensure you reconnect the tiny fan control cable - failing to do so will leave the fan running at full blast all the time. It's an easy omission, and even the experts forget it sometimes!
    --I use Photoshop Elements 5. Is it worth it to get Photoshop Elements 4 for Mac, or does my machine come with imaging editing software that does the same thing, just as well?
    Depends on what kind of editing and image adjustment you generally do. The mini comes with iLife, which includes iPhoto, which has all the usual array of adjustment tools for brightness, contrast, color balance etc, plus a useful one for tilting images to straighten them if taken at an angle, but it doesn't include the filters and effects of a true image editing application. Photoshop Elements on the other hand is feature rich and easy to use, though at a cost. Personally, I don't like iPhoto much and use Photoshop Elements, though there is also a truly excellent shareware application called GraphicConverter, which started life as a tool to convert images from one format to another (hence the name) but is now a very feature-rich image processor in it's own right. Worth a look and can be tried out for free. Have a look at http://www.lemkesoft.com/xd/public/content/index.cGlkPTE5Mw.html
    --I use Quicken 2007. I read a couple of reviews of Quicken for Mac from unhappy customers. Any comments?
    No experience of this personally, but I'd check those reviews and any others you can find to see what it is the writers liked or didn't like about using the software, and see if that helps you. There are always unhappy customers though, so reviews in magazines may be more objective.
    --Can I use my existing external USB 2 or Firewire drives with my Mac Mini, even though they are partitioned as FAT32 and have many backup files from PC's on them? Do Mac Mini's write to FAT32 like Linux does, or do I have to reformat the drives?
    You can use your FAT32 formatted drives with the Mac though you are limited to files of 4Gb maximum.
    --I use Acronis True Image to backup & image my hard drives so I can restore them if disaster occurs (as it seems to, rather often). How do you image a hard drive with a Mac, and is it worth doing?
    It IS worth doing, yes. I use SuperDuper! which is first rate and free for making complete duplicates of a drive, or $29 for the paid/registered version to allow incremental backups. Works like a charm. If you use a drive partitioned in the GUID scheme (as the mini's internal is) you can even then set that drive, and the cloned copy of your system to boot the mini.
    --Is it worth it to use antivirus software on a Mac?
    Personally I'd say yes. ClamXav is open source (thus free) and reliable, has a marginal hit on CPU load and helps ensure you don't inadvertently pass on infections (it can also spot types of malware such as phishing scames). As yet, however, there are no known viruses/worms/trojans that affect MacOS, so it isn't critical at this time. However at some point it is likely there will be - in my view it's better to be prepared than to be left to react at the time.
    --Does anyone have any experience using open source software like Open Office or GIMP on a Mac?
    Yes. Like all open source projects, there are some good and some bad, but by and large the open source community for MacOS based systems is active and effective. Both Open Office and Gimp work well for example.
    --Are there any decent flight simulators that work on a Mac?
    X-Plane springs to mind.
    There really are very few people you'll find in Apple Discussions who would flame you for asking such questions. Indeed, answering such things is one of the prime reasons we're here, and while there's always value in reading the manuals, it must also be said that in many ways getting useful information out of them means you have to know enough already to be able to work out what information you need from all the stuff available. Questions are easier to ask and pertinent information easier to give as a result!

  • OMBRETRIEVE is giving incorrect results

    Hi my fellow OMBPLUS developers.
    I have written an tcl script to retrieve the TARGET_LOAD_ORDERING property (a checkbox) from a number of mappings in my OWB repository. The commands which returns True or False is:
    OMBRETRIEVE MAPPING '$Mapping Name' GET PROPERTIES (TARGET_LOAD_ORDERING)
    The results are fine for around 90% of the mappings but I am finding cases where the following error is returned for some mappings:
    OMB02918: Property TARGET_LOAD_ORDERING of <Mapping Name> does not exist: MMM1034: Property TARGET_LOAD_ORDERING does not exist.
    When looking at the mappings that are throwing this error I can see via OWB that the mappings do have the Target Load Order checked. Simply unchecking/checking this and commiting the change to the repository then fixes the issue and the OMBRETIEVE commands retuns the correct result. Does anybody know why this issue is happening?
    Any help would be most appreciated.
    Regards
    Mitesh

    Re: OMBRETRIEVE is giving incorrect results
    Posted: 23.02.2012 00:30 in response to: mi**** in response to: mi****           
    Click to edit this message...      Edit      Click to report abuse...           Click to reply to this thread      Reply
    Hi,
    Enable the “Use Target Load Ordering” configuration option in the mapping configuration.
    http://www.oracle.com/technetwork/developer-tools/warehouse/owb-feature-management-licensing-344706.pdf
    BR,
    IM

Maybe you are looking for

  • Wireless printer sharing with windows 7 and vista operating systems.

    hello can anyone help me? i have a new HP pc with windows 7 OS, and have an epson PX710W 3in1 printer. i want to connect a laptop with vista OS to share the printer (wireless set up). the pc will print documents ok via wireless link, but when i power

  • When i open a new tab it opens to a web page, how do i change it so it opens to the most visited websites?

    its the babylon search page, accidentally set it when trying to download music and cant figure out how to change it back

  • Viewing file names in vlc in ipad

    Hi .. I'm not sure if the topic made sense.. Here is what Im trying to do .. Say if I'm copying bunch of episodes from a series or movies and copy to vlc via itunes, when i try to open vlc and pick any episode, it only shows me first few letters of t

  • Cut-out shape from jpeg in Illustrator CS2

    Hi, I would like to "cut out" a dollar sign ($) shape from a jpeg image so that I can "see through" the dollar sign to what is behind it. I have attempted to do this several times using the Compound path tool, Divide objects below, and everything els

  • Select Multiple Images

    For some reason, I can't get LR to make changes to multiple images. For example: I select multiple images and apply the same rating and it only does one image. Same thing for deleting. Also, I select multiple images to use a external noise reduction