Translation Best Practice???????

Hello Gurus of HFM I am really stock with the translation. I have been reading all the post that I could find, but I am not sure of how to do things
Please help me out I am stock.
I want to make a fully automate translation. I do not want that the client have to input the translate equity.
One thing that I thought I could do it is to use the transperiodic function for the YTD equity. But know body have post of using this. I suppose that it is for performance issues. Anybody know if that it is right?
So for what I have been reading I have to use the Opening-Movement-Closing analysis.
My balance is upload every month YTD to costum 4 [none]
I will build an structure
Custom4
[None]
Closing
     - OpeningBalance ( hs.exp"A#all =A#all. c4#closing.P#last.Y#Prior")
     -Movement ( hs.exp"A#all = A#all. c4#[none].P#last.Y#Prior - A#all.c4#closing.P#last.Y#Prior")
The translation it could be as follow
I have to set the following exchange rate acount
Share_issues exchange rate will be - shareVCLO / shareVOPE
Retained Earnings           - RetainVLO / RetainVOPE     
Results in the period          - ResultVLO / ResultVOPE
vCLO = HS.GetRate("A#ClosingRate")
vOPE = HS.GetRate("A#OpeningRate")
VAverage = HS.GetRate("A#AverageRate")
shareVCLO = HS.GetRate("A# shareVCLO")
shareVOPE = HS.GetRate("A# shareVOPE ")
RetainVCLO = HS.GetRate("A# RetainVCLO ")
RetainVOPE = HS.GetRate("A# RetainVOPE ")
ResultVCLO = HS.GetRate("A# ResultVCLO ")
ResultVOPE = HS.GetRate("A#ResultVOPE ")
Asset and Liabilities at close rate vCLo
Income and expenses at average transperiodic VAverage.
Equity will be at historical rate. Each line of the statement will have a different exchange rate , store in a different account. and we will have an opening and a closing rate for each line, that we should to calculate at the last month of the year. And copy as in the opening exchange rate.
The movement will be translate depending of the type of account, I will set the type in the uda2, and made a memberlist , BalanceAccount, Equity, IncomeExpense
     AccList= Hs.Account.List("","BalanceAccount ")
     For each Acc in AccList
          HS.Trans "A#"& Acc&".C3#Movement","A#"& Acc&".C3#Movement", vCLO, ""
     Next
     AccList= Hs.Account.List("",", IncomeExpense")
     For each Acc in AccList
          HS.TransPeriodic "A#"& Acc&".C4# Movement ","A# "& Acc&".C4#Movement ",tmpAverageRate, ""
     Next
For the equity I will have to translate the movements as follow
AccList= Hs.Account.List("","CuentasPatrimonio")
     For each Acc in AccList
          HS.TransPeriodic "A#"& Acc&".C4#Movement ","A#"& Acc&".C4#Movement ",tmpClosingRate, ""
     Next
And the opening with last year closing rate.
To calculate the closing rate for each line of the equity I will do as follow
If Hs.Period.Number = 12 then
hs.exp " A#shareVCLO = A#Share_issues .v#USS /A#Share_issues .v#<Entity Currency>
end if
And then I will copy last year closing rate to the month of the point of view, so every month it will convert the opening balance at that rate
Has.exp "A#shareVOPE= A#shareVCLO.P#last.Y#prior"
I think this is very complicate. If any body could help me out tell me if there is an easier way or if they already have try this way and did not work out.
Please I need opinions
sofia
Edited by: Sofia on 12/10/2011 06:09 PM

I would setup a catch-all scenario with a translation to a CTIRP that would forward to VM and hit the Call handler you desire.  For example if you had the DIDs 212-555-1000 thru 212-555-1299 i would first setup a non-DID CTI RP that matches your call handler dtmf (e.g. 7999 if you use 4 digit extensions).  the CTI RP for 7999 would forward to VM and then the Call Handler with DTMF of 7999 would play your message that number is not in use.
Then setup a translation for 212-555-1[012]xx that translates to 7999.
This wildcard match would not route the call if there was a more specific match present within the Calling Search Space for the Gateway.  So if extension 1050 was present it would route to that phone, but if extension 1051 was a terminated or unused number it would not be present and therefore the call would hit the translation and be routed to the "number not in use" call handler.
I think this is what you are after, a way to minimize the translations and not have to keep track of individual numbers.  Of course modify the length of the translations if you are not routing based on 10 digits.

Similar Messages

  • What is the best practice for creating master pages and styles with translated text?

    I format translated text all the time for my company. I want to create a set of master pages and styles for each language and then import those styles into future translated documents. That way, the formatting can be done quickly and easily.
    What are the best practices for doing this? As a company this has been tried in the past, but without success. I'd like to know what other people are doing in this regard.
    Thank you!

    I create a master template that is usually void of content, with the exception I define as many of the paragraph styles I believe can/will be used with examples of their use in the body of the document--a style guide for that client. When beginning a new document for that client, I import those styles from the paragraph styles panel.
    Exception to this is when in a rush I begin documentation first, then begin new work. Then in the new work, I still pull in those defined paragraph and or object styles via their panels into the new work.
    There are times I need new styles. If they have broader applicability than a one-off instance or publication, then I open the style template for that client and import that style(s) from the publication containing the new style(s) and create example paragraphs and usage instructions.
    Take care, Mike

  • Best practices for translating FrameMaker content?

    I'm interested in learning from Adobe or experienced users about best practices to follow (or references worth reading) about translating FrameMaker publications.

    Haven't done this for a while, but I believe the first recommendation used to be "work with a reputable translation agency who will accept, translate and return .mif files." fwiw, I still remember a run-in with one agency that claimed they did but didn't … they passed our .mif files on to translators who used Word =8-} The result in our case was that all the autonumbering in a long, complex regulatory document failed, because Word had slipped a fine-space character in before every colon in the French translation.
    A separate issue is whether it's worth moving to structured Frame, which is said to make translation management easier as your document evolves.
    There'll be lots of people who can give you more complete, more up-to-date answers, though.

  • Translation patterns - best practice

    We have 300 DIDs from our telco.    Currently, only 150 are in use.   If a call comes thru for a non-asigned number, I would like to set-up a call handler that states the number is a non-working number that belongs to the company and then give options for contacting the correct person.      Also, when a person leaves the company I am currenly forawarding the number to the operator but I would also like to make these numbers part of the call handler.
    My question is this - what is the best way to set this up?    I currently am removing the number from the directory numbers and setting up a translation pattern to point the number to an end point such as the operator.    Is this the best thing to do?    I would like to know what is considered to be "best practice" in keeping the phone system as clean as possible.
    I appreciate any input.
    Pat

    I would setup a catch-all scenario with a translation to a CTIRP that would forward to VM and hit the Call handler you desire.  For example if you had the DIDs 212-555-1000 thru 212-555-1299 i would first setup a non-DID CTI RP that matches your call handler dtmf (e.g. 7999 if you use 4 digit extensions).  the CTI RP for 7999 would forward to VM and then the Call Handler with DTMF of 7999 would play your message that number is not in use.
    Then setup a translation for 212-555-1[012]xx that translates to 7999.
    This wildcard match would not route the call if there was a more specific match present within the Calling Search Space for the Gateway.  So if extension 1050 was present it would route to that phone, but if extension 1051 was a terminated or unused number it would not be present and therefore the call would hit the translation and be routed to the "number not in use" call handler.
    I think this is what you are after, a way to minimize the translations and not have to keep track of individual numbers.  Of course modify the length of the translations if you are not routing based on 10 digits.

  • Tips and best practices for translating C into LabVIEW? SERIOUS newbie...

    I need to translate a C function into LabVIEW.  This will be my *first* LabVIEW project.  I've been reading some tutorials, and I'm still struggling to get my brain out of "C/C++ mode" and learn the LabVIEW paradigms.
    Structurally, the function that I need to translate gets called from a while-loop and performs a bunch of mathematical calculations. 
    The basic layout is something like this (this obviously isn't the actual code, it just illustrates the general flow control and techniques that it uses).
    struct Params
    // About 20 int and float parameters
    int CalculateMetrics(Params *pParams,
    float input1, float input2 [etc])
    int errorCode = 0;
    float metric1;
    float metric2;
    float metric3;
    // Do some math like:
    metric1 = input1 * (pParams->someParam - 5);
    metric2 = metric1 + (input2 / pParams->someOtherParam);
    // Tons more simple math
    // A couple for-loops
    if (metric1 < metric2)
    // manipulate metric1 somehow
    else
    // set some kind of error code
    errorCode = ...;
    if (!errorCode)
    metric3 = metric1 + pow(metric2, 3);
    // More math...
    // etc...
      // update some external global metrics variables  
    return errorCode;
    I'm still too green to understand whether or not a function like this can translate cleanly from C to LabVIEW, or whether the LabVIEW version will have significant structural differences. 
    Are there any general tips or "best practices" for this kind of task?
    Here are some more specific questions:
    Most of the LabVIEW examples that I've seen (at least at the beginner level) seem to heavily rely on using the front panel controls  to provide inputs to functions.  How do I build a VI where the input arguments(input1, input2, etc) come as numbers, and aren't tied to dials or buttons on the front panel?
    The structure of the C function seems to rely heavily on the use of stack variables like metric1 and metric2 in order to perform calculations.  It seems like creating temporary "stack" variables in LabVIEW is possible, but frowned upon.  Is it possible to keep this general structure in the LabVIEW VI without making the code a mess?
    Thanks guys!

    There's already a couple of good answers, but to add to #1:
    You're clearly looking for a typical C-function. Any VI that doesn't require front panel opening (user interaction) can be such a function.
    If the front panel is never opened the controls are merely used to send data to the VI, much like (identical to) the declaration of a C-function. The indicators can/will be return values.
    Which controls and indicators are used to sending data in and out of a VI is almost too easy; Click the icon of the front panel (top right) and show connector, click which control/indicator goes where. Done. That's your functions declaration.
    Basically one function is one VI, although you might want to split it even further, dont create 3k*3k pixel diagrams.
    Depending on the amount of calculations done in your If-Thens they might be sub vi's of their own.
    /Y
    LabVIEW 8.2 - 2014
    "Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
    G# - Free award winning reference based OOP for LV

  • Best Practice for Image placement and Anchored Frames for use in Robohelp 9

    Hi,
    I'm looking for the best practices in how to layout my images in Framemaker 10 so that they translate correctly to Robohelp 9.  I currently have images inside of Anchored frames that "Run into" the right side of my text. I've adjusted the size of the anchored frame so that my text flows correctly around the image. Everything looks good in Framemaker! Yeah! The problem is that when I link my Framemaker document to Robohelp, the text does not flow around my image in the same manner. On a couple of Robohelp screens the image is running into the footer. I'm wondering if I should be using tables in Framemaker in order to get the page layout that I'm looking for. Also, I went back and forth...is this a Framemaker question or is this a Robohelp question. Any assistance would be greatly appreciated.

    I think Jeff is meaning this section of the RoboHelp forums:
    http://forums.adobe.com/community/robohelp/robohelp_framemaker

  • Best practice for multi-language content in common areas

    I've got a site with some text in header/footer/nav that needs to be translated between an English and Spanish site, which use the same design. My intention was to set up all the text as content to facilitate. However, if I use a standard dialog with the component's path set to a child of the current page node, I would need to re-enter the text on every page. If I use a design dialog, or a standard dialog with the component's path set absolutely, the Engilsh and Spanish sites will share the same text. If I use a standard dialog with the component's path set relatively (eg path="../../jcr:content/myPath"), the pages using the component would all need to be at the same level of the hierarchy.
    It appears that the Geometrixx demo doesn't address this situation, and leaves copy in English. Is there a best practice for this scenario?

    I'm finding that something to the effect of <cq:include path="<%= strCommonContentPath + "codeEntry" %>" resourceType ...
    works fine for most components, but not for parsys, or a component containing a parsys. When I attempt that, I get a JS error that says "design.path is null or not an object". Is there a way around this?

  • Error while Connecting report Best Practices v1.31 with SAP

    Hello experts,
    I'm facing an issue while trying to connect some of my reports from Best Practices for BI with SAP.
    It only happens when it's about info sets, the other ones that are with SAP tables go smoothly without a problem.
    The most interesting is I have already one of the reports connected to SAP info sets.
    I have already verified the document of steps of creation of additional database that comes with BP pack. They seem ok.
    Here goes what Crystal Reports throws to me after changing the data source to SAP:
    For report "GL Statement" one of the Financial Analysis one which uses InfoSet: /KYK/IS_FIGL_I3:
    - Failed to retrieve data from the database; - click ok then...
    - Database connector error: It wasn't indicated any variant for exercise (something like this after translating) - click ok then
    - Database connector error: RFC_INVALID_HANDLE
    For report "Cost Analysis: Planned vs. Actual Order Costs" one of the Financial Analysis one which uses InfoSet: ZBPBI131_INFO_ODVR and ZBPBI131_INFO_COAS; and also the Query CO_OM_OP_20_Q1:
    - Failed to retrieve data from the database; - click ok then...
    - Database connector error: check class for selections raised errors - click ok then
    - Database connector error: RFC_INVALID_HANDLE
    Obs.: Those "Z" infosets are already created in SAP environment.
    The one that works fine is one of the Purchasing Analysis reports:
    - Purchasing Group Analysis -> InfoSet: /KYK/IS_MCE1
    I'm kind of lost to solve this, because I'm not sure if it can be in the SAP JCO or some parameter that was done wrongly in SAP and I have already check possible solutions for both.
    Thanks in advance,
    Carlos Henrique Matos da Silva - SAP BusinessObjects BI - Brazil.

    I re-checked step 3.2.3 - Uploading Crystal User Roles (transaction PFCG) - of the manual where it talks about CRYSTAL_ENTITLEMENT and CRYSTAL_DESIGNER roles, I noticed in the Authorizations tab that the status was saying it hadn't been generated and I had a yellow sign, so then that was what I did (I generated) as it says in the manual.
    Both statuses are now saying "Authorization profile is generated" and the sign is now green on the tab.
    I had another issue in the User tab (it was yellow as Authorizations one before generating)....all I needed to do to change to green was comparing user (User Comparison button).
    After all that, I tried once more to refresh the Crystal report and I still have the error messages being thrown.
    There's one more issue in one of the tabs of PFCG transaction, it is on the Menu one where it is with a red sign, but there's nothing talking about it in the manual. I just have a folder called "Role menu" without anything in it.
    Can it be the reason why I'm facing errors when connecting the report to SAP infoSets? (remember one of my reports which is connected to an infoSet works good)
    Thanks in advance,
    Carlos Henrique Matos da Silva - SAP BusinessObjects BI - Brazil.

  • TechNet Wiki - Best Practice Blog Posts

    Lately, we've had some great blog posts about best practices on TechNet Wiki. So we're going to share them with you here...
    Wiki
    Life: Commenting on Comments... Care to Comment?- 10/16/14 by Ed Price
    How
    to write a great post on the Wiki - For Dummies - 10/12/14 by Gokan Ozcifci
    Wednesday
    - Wiki Life: The Importance of Longer, High-Quality Articles - 10/8/14 by Ed Price
    Wednesday
    - Wiki Life: 10 ways to become the most hated Wiki ninja on the planet - 10/1/14 by Peter Geelen
    Wiki Life:
    PowerShell PowerPack! - 9/17/14 by Matthew Yarlett
    The
    most unseen and unspoken TechNet Wiki roles: The mentor Role - 6/22/14 by Sandro Periera
    Wiki Life: Smart Tags -
    6/18/14 by Matthew Yarlett
    Wiki Life:
    Ownership and Credibility - 6/11/14 by Matthew Yarlett
    Wiki
    Life: Best Practices for building TechNet Wiki Portals - 6/4/14 by Horizon Net
    Wiki
    life: Technet Wiki tagging, the ugly truth. - 5/29/14 by Peter Geelen
    Wiki Life:
    Getting too Personal!  - 5/14/14 by Matthew Yarlett
    Wiki Life:
    YOU edited MY article??!  - 4/30/14 by Matthew Yarlett
    Wiki
    Life: Are you right in making it a rite to write? - 4/16/14 by Matthew Yarlett
    Wiki Life - Alerts -
    4/9/14 by Alan Carlos
    Wiki
    Life: Speling an gamma, it is umpotant? - 4/2/14 - by Matthew Yarlett
    Wiki
    Life: How to Translate TechNet Wiki Articles - 4/2/14 by Horizon Net 
    Wiki Life:
    Attention to Detail - 3/19/14 by Matthew Yarlett
    Wednesday - Wiki Life - Mobility - 3/12/14 by Alan Carlos
    Wiki
    Life: A Picture is Worth a 1000 Words - 3/5/14 by Matthew Yarlett
    Wiki Life: Cut'N'Paste -
    2/19/14 by Matthew Yarlett
    Wiki Life: How to Join Leadership - 2/19/14 by Horizon Net
    Wiki Life: Featured Articles in the TechNet Wiki - 2/12/14 by Durval Ramos
    Wiki Life: Code.Format() -
    2/5/14 by Matthew Yarlett
    Wiki Life: The CodePlex Corner - 2/5/14 by Horizon Net
    Did you know that we have a layout article? - 1/29/14 by Durval Ramos
    Wiki
    Life: Get to the point, keep it short! - 1/22/14 by Matthew Yarlett
    Wiki Life:
    Planning a Great Article - 1/8/14 by Matthew Yarlett
    Wiki Life: Best Practices for converting an MSDN / TechNet Forum thread into a Wiki Article!!!
    - 12/25/13 by Ed Price
    Wiki Life: Best Practices for Giving Credit - 12/18/13 by Horizon Net
    Wiki Life: How To Fix a Wiki Article TOC  - 12/4/13 by Benoit Jester
    Wiki Life: How To Detect Missing Tags Without any Effort  - 11/20/13 by Benoit Jester
    Wiki Life: How To Import an Microsoft Excel Spreadsheet Into a Wiki Article - 10/30/13 by
    Markus Vilcinskas
    Wiki Life: Cross Linking  - 10/9/13 by Horizon Net
    Wiki Life: User Groups Portal - 10/2/13 by Horizon Net
    Ed Price, Azure & Power BI Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

    Respected sensei Wiki Ninja,
    what else do you need to start a Wiki article?
    Put you signature in practice!
    So I kindly invite you all to continue your braindump over here:
    http://social.technet.microsoft.com/wiki/contents/articles/27905.technet-wiki-best-practices-blog-posts-articles.aspx
    Peter Geelen (Microsoft Belgium) - Premier Field Engineer Security & Identity
    [If a post helps to resolve your issue, please click the
    "Mark as Answer" of that post or click "Vote as helpful" button
    of that post.
    By marking a post as Answered or Helpful, you help others find the answer faster.

  • Best practice to Change Dial plan?

    Hi,
    Customer has made plenty of misdialed 911 calls so they want to change the dial plan. They have CUCM, CUC and UCCX .. I will try to suggest putting a delay for 3 sec or so and blocking 911! or 911!# translation pattern .. but in case if they do want to change their dial out number.. what's the best practice for this? I tried looking for a suggestion or document but couldn't find it... at this point I can only think of copying existing RP's and change the dial out number to 8 and if required if they will have an H.323 gateway then might require configuration on dial peers... Any suggestion on this is appreciated? Thanks

    Hi Vishal,
    If 911 is being dialed accidentally, you can try configuring a 9.911 or 911# route pattern. 9.911 will  require you to change the destination pattern and forward digit settings on dial-peer or you can actually strip it on cucm itself and will not require a change on dial-peers. Other than that you need to check your dial-plan and see if there are any router patterns that are overlapping with 911 you can try editing them as well by changing the first digit for those route patterns to something other than 9.
    HTH
    Manish

  • Best Practice for Organizing Enterprise Models

    We need to migrate our Oracle Designer models (almost 10 years in the works) into OSDM to stay with current design tools. We do not have the option of staying with Designer.
    I need to know of any best practices or other documents that describe a way to organize an enterprise model in OSDM. I am coming from years of working with Designer and want to translate the multiple Application Folders in Designer into a similar organization in OSDM. We have 3 COTS packages with 1000's of tables each and many custom applications that use tables from multiple schemes and databases. Our developers like to see all the tables for a single custom application in its own diagram no matter where they come from and the DBA's don't want to wade through several thousand tables to find the handful we need nor have to duplicate table definitions in multiple models. In Designer we have been doing that with Application Folders.
    Another area of interest is in the deployment of database objects to multiple databases where the privileges vary from development to production. In the old Designer world this is done via implementations in the DB Admin tab. Can this be done in OSDM?

    Hi Marcus,
    Our developers like to see all the tables for a single custom application in its own diagram no matter where they come from and the DBA's don't want to wade through several thousand tables to find the handful we need nor have to duplicate table definitions in multiple models. In >Designer we have been doing that with Application Folders.There are no application folders in data Modeler. You can use subviews to define your subject areas. Subview is crated for each application (folder) during import form Designer repository.
    Philip

  • Static NAT refresh and best practice with inside and DMZ

    I've been out of the firewall game for a while and now have been re-tasked with some configuration, both updating ASA's to 8.4 and making some new services avaiable. So I've dug into refreshing my knowledge of NAT operation and have a question based on best practice and would like a sanity check.
    This is a very basic, I apologize in advance. I just need the cobwebs dusted off.
    The scenario is this: If I have an SQL server on an inside network that a DMZ host needs access to, is it best to present the inside (SQL server in this example) IP via static to the DMZ or the DMZ (SQL client in this example) with static to the inside?
    I think its to present the higher security resource into the lower security network. For example, when a service from the DMZ is made available to the outside/public, the real IP from the higher security interface is mapped to the lower.
    So I would think the same would apply to the inside/DMZ, making 'static (inside,dmz)' the 'proper' method for the pre 8.3 and this for 8.3 and up:
    object network insideSQLIP
    host xx.xx.xx.xx
    nat (inside,dmz) static yy.yy.yy.yy
    Am I on the right track?

    Hello Rgnelson,
    It is not related to the security level of the zone, instead, it is how should the behavior be, what I mean is, for
    nat (inside,dmz) static yy.yy.yy.yy
    - Any traffic hitting translated address yy.yy.yy.yy on the dmz zone should be re-directed to the host xx.xx.xx.xx on the inside interface.
    - Traffic initiated from the real host xx.xx.xx.xx should be translated to yy.yy.yy.yy if the hosts accesses any resources on the DMZ Interface.
    If you reverse it to (dmz,inside) the behavior will be reversed as well, so If you need to translate the address from the DMZ interface going to the inside interface you should use the (dmz,inside).
    For your case I would say what is common, since the server is in the INSIDE zone, you should configure
    object network insideSQLIP
    host xx.xx.xx.xx
    nat (inside,dmz) static yy.yy.yy.yy
    At this time, users from the DMZ zone will be able to access the server using the yy.yy.yy.yy IP Address.
    HTH
    AMatahen

  • "Best practice" for components calling components on different panels.

    I'm very new to Swing. I have been learning from tutorials, but these are always relatively simple interfaces , in which every component and container is initialised and added in the constructor of a main JFrame (extension) object.
    I would assume that more complex, real-world examples would have JPanels initialise themselves. For example, I am working on a project in which the JFrame holds multiple JPanels. One of these Panels holds a group of JToggleButtons (grouped in a ButtonGroup). The action event for each button involves calling the repaint method of one of the other Panels.
    Obviously, if you initialise everything in the JFrame, you can simply have the ActionListener refer to the other JPanel directly, by making the ActionListener a nested class within the JFrame class. However, I would like the JPanels to initialise their own components, including setting the button actions, by using an extension of class JPanel which includes the ActionListeners as nested classes. Therefore the ActionListener has no direct access to JPanel it needs to repaint.
    What, then, is considered "best practice" for allowing these components to interact (not simply in this situation, but more generally)? Should I pass a reference to the JPanel that needs to be repainted to the JPanel that contains the ActionListeners? Should I notify the main JFrame that the Action event has fired, and then have that call "repaint"? Or is there a more common or more correct way of doing this?
    Similarly, one of the JPanels needs to use a field belonging to the JFrame that holds it. Should I pass a reference to this object to the JPanel, or should I have the JPanel use "getParent()", or some other method?
    I realise there are no concrete answers to this query, but I am wondering whether there are accepted practices for achieving this. My instinct is to simply pass a JPanel reference to the JPanel that needs to call repaint, but I am unsure how extensible this would be, how tightly coupled these classes would become.
    Any advice anybody could give me would be much appreciated. Sorry the question is so long-winded. :)

    Hello,
    nice to get feedback.
    I've been looking at a few resources on this issue from my last post. In my application I have been using the Observer and Observable classes to implement the MVC pattern suggested by T.PD.(...)
    Two issues (not fatal, but annoying) with this are:
    -Observable is a class, not an interface; since most of my Observers already extend JPanel (or some such), I have had to create inner classes.
    -If an Observer is observing multiple Observables, it will have to determine which Observer called its update() method (by using reference equality or class comparison or whatever). Again, a very minor issue, but something to keep in mind.I don't deem those issues are minor. The second one in particular, is rather annoying in terms of maintenance ("Err, remind me, which widget is calling this "update()" method?").
    In addition to that, the Observable/Observer are legacy non-generified classes, that incurr a loosely-typed approach (the subject and context arguments to the update(Observable subject, Object context) methods give hardly any info in themselves, and they generally have to be cast to provide app-specific information.
    Note that the "notification model" from AWT and Swing widgets is not Observer-Observable, but merely EventListener . Although we can only guess what reasons made them develop a specific notification model, I deem this essentially stems from those reasons.
    The contrasting appraoches are discussed in this article from Bill Venners: The Event Generator Idiom (http://www.artima.com/designtechniques/eventgenP.html).
    N.B.: this article is from a previous-millenary series of "Design Techniques" articles that I found very useful when I learned OO design (GUI or not).
    One last nail against the Observer/Observable model: these are general classes that can be used regardless of the context (GUI/non-GUI code), so this makes it easier to forget about Swing threading rules when using them (essentially: is the update method called in the EDT or not).
    If anybody has any information on the performance or efficiency of using Observable/ObserverI would be very surprised if this had any performance impact. If it had, that would mean that you have either:
    - a lot of widgets that are listening to one another (and then the Mediator pattern is almost a must to structure such entangled dependencies). And even then I don't think there could be any impact below a few thousands widgets.
    - expensive or long-running computation in the update methods. That's unrelated to the notification model itself.
    - a lot of non-GUI components that use the Observer/Observable to communicate among themselves - all the more risk then, to have a GUI update() called outside the EDT, see remark above.
    (or whether there are inbuilt equivalents for Swing components)See discussion above.
    As far as your remark 2 goes (if one observer observes more than one subjects, the update() method contains branching logic) : this also occurs with the Event Delegation model indeed: for example, it is quite common that people complain that their actionPerformed() method becomes unwieldy when the same class listens for several JButtons.
    The usual advice for this is, use anonymous listeners, each of which handles the event from only one source (and generally very close in code to the definition of that source), and that simply translates the "generic" event notification method into a specific method call of a Controller or Mediator .
    Best regards.
    J.
    Edited by: jduprez on May 9, 2011 10:10 AM

  • Multi-Language support in Discoverer? Best-Practice?

    Dear experts,
    wondering if there is a best practice to provide workbooks/EULs in different languages? Actually we use Business Objects (BO 5.xx) but want to switch to Discoverer. As BO also does not support multiple languages we use as a workaround the VB-interface to translate the text and labels in our reports and universes (EUL) regarding to particular label numbers. Is there some kind of similar interface for browsing/changing Discoverer EULs?
    Do you think the following could work:
    In the "genuine" EUL you specify a unique number to any attibute of an element and after each you start a kind of translation procedure generating two new EULs (e.g. EUL_EN (english) and EUL_DE (german)) with translated labels (Name and Headline attibute of an element).
    As far as I understood the structure of Discoverer's EULs, all attibutes are stored in the database, so it should be possible to find out, which holds the "Name" and which the "Headline" attribute...
    Got what I want?
    At least I need to understand the data model of the EULs...
    Regards,
    Ralf

    Hi Ralf,
    There are 2 types of translations you might want to do: the names and descriptions of your Business Areas,Folders and Items etc in the EUL and the labels and titles in the workbooks.
    To translate the Descriptions in the EUL the easiest approach will be to export the EUL into an .eex file or each component into a .eex file using a script. These .eex files are in fact XML files and the names and descriptions are attributes of the XML BA, folder and item elements. You can then translate these and then import the eex file(s) into a new EUL for the new language.
    Another approach to consider (especially if you are using Discoverer with Oracle Applications and your translations are already held in the database) is to create a language specific EUL. You will need to use the command line to do this and specify the EUL language when you create the EUL. Then import your EUL into the new language specific EUL and use the folder refresh to pick up the translated text from the database. You will probably need to write a EUL_TRIGGER$REFRESH_NEW_COLUMN to do this. If you are using the Business Intelligence views some translations may be done for you when you refresh. I think taking this approach will be a challenge.
    I am afraid there is no easy way to translate the labels and titles in the workbooks. You will have to manually open each workbook in the new EUL, translate the text and save it.
    Hope that helps,
    Rod West

  • DNS Configured-Best Practice on Snow Leopard Server?

    How many of you configure and run DNS on your Snow Leopard server as a best practice, even if that server is not the primary DNS server on the network, and you are not using Open Directory? Is configuring DNS a best practice if your server has a FQDN name? Does it run better?
    I had an Apple engineer once tell me (this is back in the Tiger Server days) that the servers just run better when DNS is configured correctly, even if all you are doing is file sharing. Is there some truth to that?
    I'd like to hear from you either way, whether you're an advocate for configuring DNS in such an environment, or if you're not.
    Thanks.

    Ok, local DNS services (unicast DNS) are typically straightforward to set up, very useful to have, and can be necessary for various modern network services, so I'm unsure why this is even particularly an open question.  Which leads me to wonder what other factors might be under consideration here; of what I'm missing.
    The Bonjour mDNS stuff is certainly very nice, too.  But not everything around supports Bonjour, unfortunately.
    As for being authoritative, the self-hosted out-of-the-box DNS server is authoritative for its own zone.  That's how DNS works for this stuff.
    And as for querying other DNS servers from that local DNS server (or, if you decide to reconfigure it and deploy and start using DNS services on your LAN), then that's how DNS servers work.
    And yes, the caching of DNS responses both within the DNS clients and within the local DNS server is typical.  This also means that there is need no references to ISP or other DNS servers on your LAN for frequent translations; no other caching servers and no other forwarding servers are required.

Maybe you are looking for

  • This will make you Smile

    I came across this whilst browsing today and it did make me laugh. So I thought I`d put it here and maybe it will put a smile on all those (me included) who have had bad days with BT. Sorry - the link has been blocked so here it is in it`s entirety E

  • Designing a message queuing architecture

    Hi, I am an engineering student working on a project that needs a message queuing system to be implemented to ensure a communication between different entities of the whole system. - Suppose we have three entities: A,B and C. - Each entity is configu

  • COMPUTE_FLOAT_ZERODIVIDE when display sales delivery

    Hi All, Before describing the issue will give you complete overview about the below requirement Material X  ( base UoM - PC) after certain duration becomes unusable & needs to be sold as scrap in alt UoM MT (metric ton). So we decided to create a dum

  • TS3694 hello . i keep trying to restore my iphone 3G but a error keeps poping up . its called "unknown error 1015" can anyone help??

    i keep trying to restore my iphone 3G but a error keeps poping up . its called "unknown error 1015" can anyone help?? i just got the iphone.

  • Can't boot Portege M200 from SD-card

    Hi there, I recently purchased a used Portege M200 and I'm having trouble installing an operating system. The situation: I got the notebook with a basic trial version of win XP home which I couldn't use. It wouldn't boot from the external usb dvd dri