Reduction of Released amount

Dear All,
While Reducing release from WBS element by some Amount, I am getting error
as "Item WBS Element bugdet exceeded"   message No: BP604
detail: Butget for fiscal year 2007 was exceeded
Regards
Honyal

Dear Hemanth/Chandra,
my example is like this:
                 Release                        Distrublutable                 Assigned                
overall   45,000,000.00   Rs             45,000,000.00                      0.00
2007     44,754,329.57   Rs             44,754,329.57          44,754,329.57
2008         245,670.43   Rs                  245,670.43          7,245,141.40-
For 2008  assigned is in Negative 7,245,141.40
while going to reduce the released budget of an WBS element
it is giving error as: In doc item WBS element ABC, budget for fiscal year 2007 was exceeded by 6,000,000 Rs
Regards
Honyal

Similar Messages

  • Purchase Requisition Overall release amount

    Hi,
      I am working on PR overall release amount workflow.
      How can i find the overall release amount in the tables of PR while entering into the workflow.
      Depending on this amount we need to further proceed for approval process.
    Regards,
    Gopinath Addepalli.

    Dear Marco Antonio,
    I have never faced your issue, but have an idea of what you can do.
    Activate Enhancement M06B0005   EXIT_SAPLEBND_004
    Then in the program zxm06u31 put the following code line:
    e_ceban = i_ceban.
    and also  a breakpoint so that it stops automatically upon PR verification or saving.
    Activate and then create a PR with the problem you are facing. On saving the program will stop in your breakpoint.
    Look at structure i_ceban there you will find the values that your release strategy is getting from the document and with which it will try to determine the strategy based on your classification.
    I the standar logic is not what you want maybe you can put some logic of your own based on account assignments in structure C_EBKN.
    Well, tell me what happens
    Best Regards,
    Sebastián Ligueros

  • How can I restore my iCloud back-up following reduction of storage amount on 1 Oct 2013?

    As a former Mobileme member, my free storage plan was reduced to 5Gb on 1 Oct 2013. Before that, I had around 5.2Gb of iCloud backup size. Today (less than 1 month after 1 Oct) it shows a new back up of just 100Mb. What happened to my earlier back-up (the one rolling over from iOS 6 etc.)? iCloud's notification email says back-up "will temporarily stop working" and that's all.
    I have now increased my storage buying 10 extra Gb of iCloud Space and my back-up (which was circa 5.2Gb before reduction) has not restored. What happened to it and how can it  be restored?
    Thanks!

    No, you have to erase the device to restore from iCloud backup.
    Restoring form backup is all stuff, yo can't select what to restore
    What you can do is to now transfer iTunes purchases to your computer by:

  • PO Release Resetting after Value Reduction

    Hi,
    Although I searched through the forum but I was not able to find any practical answer to the query. When there is a value reduction of quantity or price in a PO, if after reduction PO doesnu2019t fall into another release strategy, POu2019s current release strategy doesnu2019t reset. Customer has such a demand that whenever a reduction occurs in a PO, it doesnu2019t have to fall into different strategy, all previous approvals should be reset and approval of PO should restart from the beginning. I also found that to complete such a requirement I need to use user exit ZXM06U22 but I couldnu2019t succeed to write the ABAP code.
    Any idea, thought would be appreciated.
    Thank you
    Metin

    Hi,
    When you reduce quantities or values the system only resets the release              
    if ANOTHER release strategy is determined for the lower quantity or the              
    lower value. If no other release strategy is determined by the reduction             
    of the amount or value, the system will keep already existing releases.                                                                               
    For example:                                                               
    Once the approval has been made for 5.000 EUR there is no need to                
    re-approve it again till the total net amount is lower than 5.000 EUR.               
    (e.g. 2.500 EUR or 3.000 EUR)                                                        
    The release indicator will only be reset if the total net value of                   
    the PO is HIGHER than the old one (5.000 EUR).                                                                               
    This is the standrard behaviour.                                                                               
    For more information please refer to notes 662993 and 493900.    
    Regards,
    Edit

  • Amount release triggered at document posting, not parking

    Our objective is to have senior accounting personnel approve/release journal entries that exceed a certain value, say $100,000. We have configured the release function for parked documents, using workflow WS10000051 with business object 'FIPP', event "COMPLETED" and release amount of $100,000. However, this appears to assume that staff have authorization only for parking, because if you have posting authorization, nothing stops you from posting a document over $100,000. It seems illogical that you have to exceed a certain $ value before the release will trigger, but if your document is below the amount, you can't post it because you can only park.  
    In order to avoid making approvers release every single journal entry, what we want is for users to be able to post any document below $100,000.00, but be forced to park ( save as completed) all documents >/= this limit. We tried setting up a validation on the document amount, but the error message forces us to exit completely, i.e. doesn't allow us to park the document.
    Is there perhaps a different workflow that triggers at the point of posting, rather than parking, that will accomplish what we want?
    Thanks,
    Kathryn

    Hi Kathryn,
    Were you able to find a solution for this problem. We have the exact same requirement. Any pointers will be helpful. Thanks.
    Regards,
    Anuj

  • How to get PO Amount Release in the PO/BAP form

    There is a field in the PO/Blanket Purchase Order from, PO_HEADERS.AMT_RELEASED_DSP , which is calculated when the form open. Does anyone knows if there are any API or program logic to get the amount?
    Thanks in Advance
    Regards
    Lawrence

    Hi,
    Pls refer this link, you will get query
    Blanket Releases Amount
    thanks

  • Block PO in ME22N - release strategy

    Hello Abapers,
    I have been trying to block a PO under the following scenario.
    A user creates a PO for 1000 and submits to manager.
    The manager approves the PO.
    The user amends the PO and reduces the amount.
    What the functional guys want to happen is that in this scenario, the PO should be blocked until the PO is reapproved by the manager.
    I have tried user exits and BADIs and have changed the field EKKO-FRGKE to 'B' (blocked) upon saving when the conditions are met.
    When I look at EKKO in SE16, the field FRGKE = B, so it looks like the change was successful.
    However, when I look at the PO, the tab for 'Release Strategy' in the PO header is missing. The functional guys assure me that this tab should be visible.
    So, my question is, is my logic too simplistic (changing EKKO-FRGKE to 'B' )?
    Should I be changing data for the release strategy as well?
    Thanks in advance,
    Kevin

    Thanks Christine.
    I know that functionality is already in place using classification characteristics, that if the PO is over a certain amount, then the PO is blocked.
    However, the functional guys told me that it is not possible to check for reductions in PO amount using classification data.
    I will check out the FM in your post.

  • Overall Purchase requisition Release strategy : Changed after Rejected

    Hi All,
        I have activated overall purchase requisition Release strategy (20000077) . And its working fine when PR is released at each level and saved.
      Problem I have is when PR is rejected .
    When PR is rejected , workitem is created for initiator with ME52 transaction. When initiator changes the contents of PR and saves , the release strategy should resume back from where it stopped. Thats means when Approver A rejects the PR, after initiator make changes , the workflow should trigger back with a workitem for release to approver A.
    But its not happening as expected. When Approver A rejected the PR and initiator changes the PR , Nothing is triggered, as there is no event raised at this point. 
    ME52 changes for PR is not trigerring any event which can trigger the WF.
    Is there any way we can trigger Workflow in this scenerio.
    Please suggest.

    Hi Subhashini,
    This all depend on release strategy. release should reset completely on tha change.
    For the increase of quantities or values you can maintain tolerance limits in the Customizing. When you increase the amount or value via the tolerance limit the system will reset the release.
    When you reduce quantities or values the system only resets the release if another release strategy is determined for the lower quantity or the lower value.
    If no other release strategy is determined by the reduction of the
    amount or value, the system will keep already existing releases.
    changeability in Release indicator also play a major role. You should set it to either 3 or 4. Now if you change any field, which is also used in any charecteristics in release, it will lead to reset of release startegy.
    Sanjeev

  • Sap release strategy

    dear gurus,
                 I have created a release strategy. it is working fine.  if i edit it in such a manner, that  the po value increases, it goes for re-releasing. but the issue is, if i edit it in such a manner that the PO Value decreases it does not go fo re-release.
                  so my requirement is that, if the PO value goes down it should go for re-releasing
    thanks
    ujwal

    Hi,
    please see the note 662993  Resetting an already occurred release.                                                                               
    "When you reduce quantities or values the system only resets the release         
    if another release strategy is determined for the lower quantity or the          
    lower value.                                                                     
    If no other release strategy is determined by the reduction of the               
    amount or value, the system will keep already existing releases.                 
    This is a standard functionality and is desired.                                 
    A change of this functionality is only possible by means of a                    
    customer-specific modification."                                                                               
    In standard there is no customizing setting to change this behaviour.             
    You need to use userexit EXIT_SAPLEBND_002 or modify             
    the standard function module ME_REL_STRATEGIE_EKKO for this. 
    Regards,
    Edit

  • Extended Withholding Tax - Minimum Amount

    Dear SAP Expert,
    In our setup we have extended withholding tax incoming payment for outgoing invoices.
    The scenario is if invoice base amount is less than 300 EGP (local curreny) then withholding tax information should not capture invoice document.
    I setup minimum based amount on withholding tax type and withholding tax codes level but still when user post outgoing invoices WHT information is captured in FI document.
    Because of above issue automatic clearing (F.13) is not happening and we are getting error message like "Items with withholding tax code for customer subject to withholding tax"
    looking for expert assistance.
    B/R
    Prashant Rane

    Dear Mani,
    Thanks for assistance.
    from your example I understand if invoice amount is less than 10,000 then WHT should be applicable.
    In my example min invoice amount is 300 EGP
    where 2 % WHT is applicable
    I wanted to know in which below field I should enter 300 EGP (from your example 10,000)?
    Calculation > Withholding Tax Codes > Define Formula for calculating Withholding Tax:
    Currency u2013 EGP
    W/Tax Type u2013 I2
    W/Tax Code u2013 P2
    Valid from u2013 01.01.2009
    To base amount - 999,999,999,999
    W/Tax Rate u2013 2%
    Reduced Withholding Tax Rate for Exemption u2013 BLANK
    Reduction of Base Amount u2013 BLANK
    Decreased Reduction of Base Amount - BLANK
    Below is complete customizing I did in my setup
    Financial Accounting
    Financial Accounting Global Settings
    Withholding Tax
    Extended Withholding Tax
    Calculation > Withholding Tax Type > Define Withholding Tax Type for payment posting:
    Withhld tax type u2013 I2
    Base Amount u2013 Net Amount
    Accumulation Type u2013 No accumulation
    Control Data u2013 W/Tax base manual, manual W/tax amnt, w/tax for payments, no cert. numbering
    Base amount u2013 W/tax code level
    W/tax amount - W/tax code level
    Minimum check u2013 Min. base amnt check at doc invoice level
    Post W/Tax Amount - YES
    Calculation > Withholding Tax Codes > Define Withholding Tax Code:
    Withhld tax type u2013 I2
    W/tax code -  P2
    Base Amount u2013 Pecentage subject to tax 100%
    Postings Indic- 1
    Calculation u2013 W/tax rate u2013 2%
    Calculation > Withholding Tax Codes > Define Formula for calculating Withholding Tax:
    Currency u2013 EGP
    W/Tax Type u2013 I2
    W/Tax Code u2013 P2
    Valid from u2013 01.01.2009
    To base amount - 999,999,999,999
    W/Tax Rate u2013 2%
    Reduced Withholding Tax Rate for Exemption u2013 BLANK
    Reduction of Base Amount u2013 BLANK
    Decreased Reduction of Base Amount - BLANK
    Calculation > Withholding Tax Codes > Minimum and Maximum Amounts
    Min / Max Amounts for W/Tax Type
    W/Tax Type u2013 I2
    Currency u2013 EGP
    Valid from u2013 01.01.2009
    Min W/Tax Amount u2013 60
    Max W/Tax Amount - 999,999,999,999.00
    Min base amount u2013 300
    Min / Max Amounts for W/Tax Code
    W/Tax Type u2013 I2
    W/Tax Code u2013 P2
    Currency u2013 EGP
    Valid from u2013 01.01.2009
    Min W/Tax Amount u2013 60
    Max W/Tax Amount - 999,999,999,999.00
    Min base amount u2013 300
    W/tax base exem amount u2013 BLANK
    Company Code > Assign WHT Tax Type To Company Code:
    Company Code u2013 0011
    W/Tax Type u2013 I2
    Customer Data u2013 Subject to W/Tax

  • Regarding the budget release and assignemnt of budget.

    Hi,
    I have created investment profile and distibuted the budget.(IM01,IM11,IM22 & IM52)
    Partial release of budget is done through (IMCBR3)
    Project is created and investment position ID is assigned (CJ01)
    WBS element is created under the above project-  CJ02
    Budget is distributed to the respective project -CJ30
    Partial release of budget is done against the project - CJ32.
    problem:
    1. Budget can be distributed above the released amounts for the projects assigned with investment positions
    2. Assinment of budget happens above the released amount i.e., I am able to create PO above the release amount against the WBS element.
    Quiries:
    I want to how the release part controls the budget assignment?
    Is any configuration need?
    How the availability control acts?
    Please explain.
    Best Regards
    M Kishore

    Hi koshor,
    Please check for GL used for Material / Service procurement secondary cost element is created.
    In OBYC entries are maintained in GBB and BSX.
    Budget check will happen for only thos GL for what secondary cost lements is creaed. If for any GL cost lements are not created then budget check will not happen.
    Also check in Budget tolerence limit you maintained the setting for all transaction ++ or for some specific transactions. If you skipped PR PO here then system will not check for the budget.
    If your requirement is budget check for all transaction then maintain ++.
    Please check try and revert back.

  • Problem in Release

    Hi All,
    We are using BCS since last 2 years with auto release process.Now we would like to implement release scenario through FMBBC or FMPPRELE. I have did mentioned customization settings in sand box ,but unfortuntly system is not considering the release flow.
    1. Define release scenario and asiged to FM area
    2. Define budget type and assigned to business process
    Is there any other settings required to do to achive the release procedure ? & Which report gives Budgted and released amount details in bcs ?
    Rgds
    ManiSuma

    Hi Eli ,
    We are not using statastical budget types in our legal entity. We are using two bduget document types one is for budget and second one is release.  In first step i was uploaded $ 100 intial budget with using of FMBBC trasaction code for one commitment item against sinlge fund centre,but i wasn't release the same.As per standard SAP not allowed to create any PR's and revenue expenditures posting unless and until release the budget.
    In my case system is allowing to create PR,PO and expenditure postings up to $100 before release the same amount.I checked the all customization settings also,whcih same are fine. As per my knowledge SAP would check the bduget amounts whether it is released or not.If it is not system not allowed postings. In my case system directly takes the budget values.Kindly help me out.
    Rgds
    ManiSuma

  • Differences between being an Oracle and SQL DBA?

    Sorry to post this here, but I need so insight and don't know any Oracle DBA's. As posted here before, Ive been a MSSQL DBA for about 6 years and want to broaden my skill set. One of my ideas is to learn Oracle. For the record, I do realize that my teaching myself wont open up hundreds or Oracle DBA jobs, but Im hoping to land a "mostly SQL with a little Oracle" gig somewhere. Ive successfully installed Oracle on Linux, and now need to make a decision on if to proceed or not. Any insights from people that have worked with both platforms would be especially helpful, but all thoughts are definately welcomed. So now my questions:
    1. Why are Oracle DBA's paid more than SQL DBA's? It must be something skill specific? What is it?
    2. Will this trend likely continue as newer versions of Oracle are released that are easier to manage?
    3. With that extra cash, is there typically more hours involved? I dont mind working a bit extra if needed, but I do have little ones that I'd like to watch grow up.
    4. Are there typically differences in the job responsibilities between Oracle and SQL DBA's? The changing trend these days is to include DTS/ Analysis Services/ Reporting Services all under the DBA umbrella. Do Oracle DBA's typically have the same type of stuff?
    5. If I do continue down this path, it would probably be far easier for me to learn on Windows than *nix. Is this a valid thing to do, or should I not bother? I've been told that it's still worth while, but have real reservations about needing to tell an interviewer "I've only used it on Windows".
    I realize this is all subject to personal experiences and feelings, but don't know how else to figure this stuff out without asking.
    TIA, ChrisR

    By SQL DBA, I assume you mean SQL Server DBA. SQL is 'Structure Query Language' and is not a specific product, no matter how much the Microsoft community might wish to usurp the term. <g>
    There are mauy reasons for this, including the Oracle vs Microsoft mindset that has been nurtured over the years. For many managers, 'Oracle is solid, reliable and expensive' whereas 'Microsoft SQL Server is cheap, not necessarily as reliable, but good enough'.
    Whether true or not is irrelevant, these are direct quotes from some of my customers.
    My remaining answers are based on my personal experience, and may only be valid in my area. (Yes, things are VERY regional.)
    >
    1. Why are Oracle DBA's paid more than SQL DBA's? It
    must be something skill specific? What is it? Often, an Oracle DBA is a trained DBA. SQL Server DBAs seem to be decent developers who are [or have been stuck] doing DBA work.
    I find that SQL Server DBAs who are truly capable of handling all of {backup, recovery, troubleshooting, security, development, disaster recovery, audit, locking, configuration, RAID and disk, upgrade, migration and porting (to name a few)} competently are generally paid comparable to Oracle DBAs.
    However, I also find there are extremely few true SQL Server DBAs.
    >
    2. Will this trend likely continue as newer versions
    of Oracle are released that are easier to manage?Yes.
    Although Oracle administration is easier, DBAs are now expected to handle more instances, and adminstrator across more servers, and are expected to be competent in more of the feature capabilities.
    There is NO reduction in the amount of work. The 'easier to manage' stuff simply means being more efficient.
    >
    3. With that extra cash, is there typically more
    hours involved? I dont mind working a bit extra if
    needed, but I do have little ones that I'd like to
    watch grow up.
    A blatant observation: Oracle tends to be used in more mission critical environments, and SQL Server in department support environments. Mission critical tends to be watched closer, and require 'fast aqnd competent' response. Pager duty seems to be more prevelant in Oracle positions - department server crashes can be handled by a reboot in the morning.
    4. Are there typically differences in the job
    responsibilities between Oracle and SQL DBA's? The
    changing trend these days is to include DTS/ Analysis
    Services/ Reporting Services all under the DBA
    umbrella. Do Oracle DBA's typically have the same
    type of stuff?Many SQL Server 'DBAs' I know personally are 'super developers' but not really DBAs.
    Observation: DBAs are often very 'repeatable' detail oriented, whereas developers are 'get it done' oriented. Very different mentailties, both very important.
    >
    5. If I do continue down this path, it would probably
    be far easier for me to learn on Windows than *nix.
    Is this a valid thing to do, or should I not bother?
    I've been told that it's still worth while, but have
    real reservations about needing to tell an
    interviewer "I've only used it on Windows". Oracle is quite operating system independant. Pick your poison.
    SQL Server is quite operating system dependant. Some else picks your poison.
    There is no shame in saying to an interviewer that you have a strong competence in Oracle but only experience in Windows. A good potential employer will often provide appropriate additional training to a suitable, honest, candidate.
    >
    I realize this is all subject to personal experiences
    and feelings, but don't know how else to figure this
    stuff out without asking.
    I strongly encourage you to contact locals rather than ask in these forums. Check whether there is an Oracle User Group close to you, and meet and chat with the members. Ditto for SQL Server. (You can find out by contacting respective sales reps.)
    The above is NOT a dismissal of SQL Server capabiltites or SQL Server DBAs. (Some close friends are extremely competent with SQL Server.) It is just a set of personal observations.

  • Express White Paper

    Thanks to all those who responded requesting the Express white paper. I
    received an overwhelming response. I was expecting a dozen or so
    requests - I received over 80. Apparently there is strong demand for
    lessons learned about working with Express.
    The paper is in-progress. Everyone that requested it will get it when
    it is ready, hopefully before end of September. BTW, my paper on
    Express and the Object/Relational Problem will be published by Dr.
    Dobb's Journal about that time also - the publisher tells me that the
    November issue will be on the newsstands by end of September. The DDJ
    article is a review of the basics of Express, what it does, and how
    you develop with it. It also includes our early experiences with it
    (article was written end of April and reflects almost three month's
    experience with Express at that time). The article also goes briefly
    over our concept for a rapid process specific to Express. The white
    paper will have much more to say on the topic.
    Several people thanked me for my generosity in offering a free white
    paper and sharing our experiences with the Forte' community. There is
    nothing generous about the offer: it is unabashed self-promotion in the
    finest tradition of American crass commercialism. We're a consulting
    company. We sell our knowledge and experience. If, after you get the
    white paper, you would like to retain us on a consulting assignment we
    would be very grateful, and you will have a chance to pay us back for
    our generosity. If not, maybe you can reciprocate and share your
    experiences.
    Now to the subject of this posting: why am I posting this now? Well,
    for one thing, I received several responses that said something
    like: " we've tried Express and we were disappointed with ...", or "we've
    been using it and have been frustrated with ...", or "we've evaluated it
    and we had difficulties with ...". I started writing reply notes to each
    of the individuals who expressed those negative experiences, but when I
    reviewed what I wrote, it sounded like a Dear Abby column, with the replies
    sounding like: Dear Disappointed, or Dear Frustrated, or Dear With
    Difficulties. I decided I'll just post one note for all those who've
    had negative experiences, or who are just starting to use/evaluate Express
    and are likely to have similar experiences. Hence this. I also felt that
    I should give people somewhat of an overview of what's coming in the
    white paper while they're waiting to get the finished product.
    Perhaps initial difficulties with Express is a problem of unrealistic
    expectations. I always try to remember Mick Jagger's words. Mick, as
    everyone knows, is one of the great software minds of the 20th century:
    "You can't always get what you want ...". You must determine if you're
    getting what you need.
    Seriously, I have been working on the object/relational "impedance
    mismatch problem" for close to ten years now (since 1987 when I
    developed an Ada/SQL binding for the US Department of Defense). I have seen
    many solutions, and have developed several myself for C,C++,Ada and
    for Oracle, Sybase, Informix, and Ingress. I find Express to be one
    of the most elegant solutions to that thorny problem. If you look at it from
    that point of view alone, it's very hard to fail to be impressed. If you're
    expecting Express (or PowerBuilder 5, or any other solution) to be yet another
    Silver bullet to slay the development monster then you'll be disappointed.
    Software development is hard, will continue to be hard, and will continue
    to get more complex. Anything that can help us eliminate or reduce what
    Frederick Brooks calls "accidental complexity", and design around "essential
    complexity", will help. Forte' and Express definitely do that. Paul
    Butterworth's paper on "Managing the New Complexities of Application
    Development", shows how Forte' has solved many of the development/deployment
    problems. If you haven't read it, I highly recommend it. If you have, I would
    recommend a re-read if you've forgotten why you chose Forte' to begin with, or
    if you yourself did not participate in making that choice, The Express user's
    manual, "Using Forte' Express", shows how Express extends Forte' to reduce
    the complexity of developing RDBMS-based systems.
    To get an appreciation for what Express does for you, try a simple
    experiment : spec out a GUI/RDBMS application, say the order entry application
    that comes with Express as a tutorial. Do it without Express. Then do it with
    Express. Try to make the application as complete as possible - it must
    implement all your business rules and have all the behaviors that you desire.
    Relax a bit about look and feel. Also Remember to keep the experiment fair.
    As part of your application development come up with a framework and an
    architecture that the next application will use. Your non-Express application
    also must be as extensible and modifiable as Express allows an Express
    project. Record the development time of both. If you can beat Express in
    development time, then you're a Forte' development Guru and people should be
    beating a path to your door.
    Lest anyone think I am a cheerleader for Express, I want to mention that
    I have some very strong disagreements with several aspects of the
    Express architecture. One major problem I find with it is conceptual.
    The Express relational encapsulation has added a great deal of accidental
    complexity, i.e complexity that is not inherently there because
    of the nature of the problem. It arises because of design or implementation
    choices. Express represents each database table with three classes (there is
    actually six classes per table, three of which are just derived place holders
    to contain customizations, so we'll ignore them for this discussion). For a
    table EMP, Express produces three base classes: an EMPClass, an EMPQuery
    class, and EMPMgr class. The EMPClass is quite understandable. It
    encapsulates the table's data. The EMPMgr class is somewhat understandable,
    it encapsulates operations that manage the table's data as it crosses the
    interfaces. But why do we need one class per table? A manager should manage
    several things, not one thing. That leads us to EMPQuery, the encapsulation
    that I have most difficulty with: creating a query class for each table. That
    is definitely the wrong abstraction.
    If you consider that, in general, a SQL query is multi-table:
    select t1.col1, t2.col2, t3.col3, ...
    from t1, t2, t3, ..
    where <expressions on t1.col1, t2.col2, ...>
    order by <expressions on t1.col1, t2.col2, ...>
    you'll see that the abstraction here is a query tree across many tables,
    many columns, and a large variety of expressions - single and multi-table. To
    attempt to encapsulate that in objects that are basically single table objects
    will produce a great deal of accidental complexity. The design choice of one
    query class per table makes writing one-table queries simple, but writing
    multi-table queries awkward.
    The Express architecture would be much simpler if there is a QueryTree
    class for all tables. Better yet, leave the representation of queries as
    text strings - ANSI or Forte' SQL on the client side, and DBMS-specific on the
    server side. A great deal of complexity in doing query customizations will
    be reduced. You will lose some type checking that the current design has, but
    hey, you can't always get what you want. When you have several hundred tables
    in your database and Express generates six classes to per table, you'll see
    that the number of classes generated as excessive. When you try to design a
    general query modification scheme you'll realize how awkward multi-table joins
    are to do via the Express BusinessQuery class. Last week I was developing a
    general design for row-level security, the query structure drove me crazy,
    I ended up catching the generated SQLText and inserting the security
    constraints.
    Now back to the Dear Abby column: If you're unhappy because of performance
    issues, try to isolate the reason for the poor performance. This is not easy
    in 3-tier applications. Don't be too quick to blame the bad performance on
    Express. Do you have a non-Express benchmark application that does the
    same thing and outperforms Express? Don't be too quick to blame Forte'
    either. Do you have a non-Forte' benchmark, that does the same things
    and outperforms Forte'? The operative words here are "does the same
    things". A VB application that issues a SQL Select is not a benchmark.
    Forte' allows you to instrument applications to study performance
    bottlenecks. Find out where your hot spots are and try to do some design
    work. If the Express architecture gets in the way, it's time for feedback
    to Express developers.
    Performance issues, particularly in 3-tier client/server systems are
    multi-faceted and complex. There are many interactions of database
    issues, interaction of the database with TOOL language issues, locking,
    caching, timing of asynchronous events, shared objects, distributed objects,
    remote references, memory allocation/deallocation, message traffic,
    copying across partitions, etc. etc. that have to be considered. There
    was an interesting discussion just a few days ago on multi-threading
    on the client side, and blocking in DBMS APIs. Issues like that can
    keep you bogged down for days. I have worked on several performance efforts
    on triage tuning teams and swat re-design teams, where several hundred man
    hours were dedicated to performance and tuning of c/s systems. Big and
    complex topic. What I would advice about performance is what Tom Gilb says:
    "(1) don't worry about it, and (2) don't worry about it yet" - assuming of
    course that you have a rational design, and a sound framework. Many sins of
    design are committed in the name of performance. Anyway, enough
    of the harangue about premature considerations of performance. Bottom
    line is : once you get your functionality, instrument, measure, and tune. If
    your architecture was sound, you won't have to re-design for performance, you
    would've designed it in.
    On our project the system is so large we are subsumed with rapid process
    issues: how can we get this monster finished on time? without having to
    expand the team to several times its size, and without having to spend more
    than we can afford? The upcoming white paper's focus will be on the rapid
    process. Probably at a later date, we'll do another paper on performance
    issues with Express.
    Another reason you may be unhappy with Express is if you perceive that
    it is the wrong tool for your application - but was chosen by
    corporate mandate. If your application does not involve an RDBMS (say
    real-time process control), then Express is obviously not for you. It may
    also appear that Express is not suitable for your application if your usage
    of the RDBMS is marginal, but your application logic is quite complex (in our
    case the application has many AI aspects to it, a rules-based database, and
    many interconnected patterns of rules, and rich behaviors). If you find
    you're spending too much time doing things outside Express, fighting
    Express, or doing way too many customizations, then Express may
    not have been the right choice for your application.
    Don't think, however, that Express is only for those applications that
    maintain relational base tables. You can use a relational database to
    store tables other than base tables (state transition tables, dialog
    support tables, views, and other kinds of virtual tables). To make use
    of Express's powerful application generating capabilities you can use
    tables created for the sole purpose of of supporting an Express
    application model. The table is in essence, a state transition
    diagram. The Express application model creates rows in this
    virtual table while the dialog is in-progress. You can use insert and
    update triggers in your SQL engine to do the real thing to your base
    tables. This trick is among some I'll detail in the white paper.
    Another reason some people may be unhappy with Express may be methodology
    tension between those who use behavior-driven methodologies (Booch, Jacobson,
    Wirfs-Brock), and those who favor data-driven methodologies (OMT, Coad). If
    you're in the first camp, you'll probably feel that the modeling done via
    Express is not adequate. You'd probably say "that's not an object model!
    that's an ERD". You would be half right - the Express business model shows
    only containment and association relationships. It does not document "uses"
    relationships, so it really can't be considered a full object-model. Granted;
    but once you make that realization, your reaction should be one of joy, not
    sadness. This is a brilliant reduction in the amount of modeling that needs
    to be done since most MIS systems are dominated by their data-model, not their
    behavior model (See Arthur Riel's Design Heuristics) . Behavior-based methodologies,
    with their documentation of use-cases and class behavior will tend to be analysis
    overkill for most MIS projects. For some OOA/OOD practitioners, going back to a
    data-centered process may be unpalatable. For those folks my advice would be to try to
    look at the business model/application models as meta-models. Take the
    generated classes and produce a full object model if you wish. Document your
    domain classes in your favorite CASE tool. By all means document
    domain-pertinent behavior and use-cases, they will help you test. But do
    appreciate the productivity gain produced by the reduction of modeling load
    that Express data-centered approach gives you. Your detailed
    behavior-based, use-case model may be a luxury you can't afford.
    If the methodology clash manifests itself politically in your
    organization, where you have the OO purists pooh-pooh a data centered
    approach, then you have my sympathies. My best advice is to cool it on the
    methodology religion front. If you have a product to deliver, you can't
    afford it. Also keep in mind that even if your modeling work is reduced by
    adopting a data-centered Express process, you'll still have ample
    opportunities to fully utilize your OOD expertise when it comes time to add
    functionality or improve performance of the entire application as a whole.
    There will still be processes where Express may not be expressive enough. Those
    processes whose behavior is so rich and intricate that you cannot find a
    data-based trick to model them with, you'd have to do outside Express. These
    should be rare and the exception not the rule in MIS systems, however.
    Does that exhaust the list of reasons of why people may be
    disappointed in Express? Probably not. Undoubtedly Express reduces your
    degrees of freedom, and constrains your choices, but many times "jail
    liberates". More reasons? I've heard some complaints about repository
    corruption problems. I'm not aware that we've had those, or that it is
    something due to Express. I'll check with our Forte' system manager. If we
    have, they must not have been show stoppers, and our system manager must
    have dealt with them quickly enough that the developers did not notice much.
    Until you get the full paper in a few weeks, I'll leave you with some
    thoughts about Express, and OO development in general:
    1. Learn about the concept of "Good enough" in software
    engineering. Here are some sources:
    - Ed Yourdon: Read Ed Yourdon's article in the last issue of Byte,
    titled "When Good Enough is Best". One of Yourdon's tips in the
    article: "It's the Process, Stupid!"
    Don't take "good enough" to mean that development with Express
    requires you to lower your expectations, or lower your
    standards. You must tune the concept of "good enough" to your
    acceptable standards.
    - Arthur Riel: Read Arthur Riel's great book "Object-Oriented Design
    Heuristics". Riel shows that there are many problems with no optimal
    solutions. This is particularly true in those systems that
    are not purely object oriented. Systems that interface with
    non-object oriented "legacy" systems, which is what Express
    is. Also, Riel's discussion of behavior-based vs data-based
    methodologies is very illuminating.
    2. Don't obsess about look and feel. That's where Express is most
    constraining. If you have unique look and feel requirements,
    and look and feel is paramount to you, save yourself some pain and
    choose another tool, or sing along with Mick: you can't always get
    you want ...
    3. Be clear about what rapid development really means. An excellent
    resource is the book by Steve McConnell of Microsoft: "Rapid
    Development - Taming Wild Software Schedules". A thick book, but the
    chapters on best practices, and the tens of case studies are great. The
    book shows clearly the differences between evolutionary
    delivery, and staged delivery. It shows the differences between
    evolutionary prototyping, throwaway prototyping, user-interface
    prototyping, and demonstration prototyping and the appropriate uses
    and risks of each. In our white paper we advocate a life cycle
    approach that is basically evolutionary prototyping, with evolutionary
    delivery, and occasional use of throwaway prototypes. We don't advocate
    using Express for demonstration prototyping.
    4. Realize that Express is maturing along with the product you're
    developing. If you don't have deep philosophicalobjections to the
    Express framework and architecture, then most of
    the concerns with Express would be temporary details that will be
    smoothed as Express, and Forte', mature. How long did we wait for
    Windows to mature? Let's be fair to the Express developers.
    5. The main keys to success in Express are not rocket science (I
    worry now about having hyped up people's expectations myself). The
    major keys to success revolve around management issues, not
    technical issues: expectations management, process management,
    and customizations management.
    The full paper includes the design and implementation of a Customizations
    Management System that allows you to plan customizations needed and to
    inventory customizations completed. It automates the process of
    extracting the customizations completed from the repository and stores
    them in a relational database. A customizations browser then allows
    management to plan and prioritize the implementation of customizations. It
    allows developers to study the completed customizations and to reuse code,
    design, or concepts to implement further customizations. Managing
    customizations is absolutely essential for success in Express. The paper
    will also detail a rapid process that is "Express friendly".
    I'm glad there was such a big response to the white paper offer. Now I have
    to sit down and write it!
    Nabil Hijazi Optimum Solutions, Inc.
    [email protected] 201 Elden Street
    Phone: (703) 435-3530 #501
    Fax: (703) 435-9212 Herndon, Va 22070
    ================================================
    You can't always get what you want.
    But if you try sometime, you might find,
    you get what you need. Mick Jagger.
    ------------------------------------------------

    [email protected] wrote:
    >
    A few comments on Nabil Hijazi's observations...
    Nabil Hijazi writes...
    One major problem I find with it is conceptual.The Express relational
    encapsulation has added a great deal of accidental complexity, i.e complexity
    that is not inherently there because of the nature of the problem. It arises
    because of design or implementation choices.
    Paul Krinsky comments...
    Anyone who has used NeXT's Enterprise Object Framework (EOF) will be at home
    with Express's architecture, it is very similar. NeXT has been around for a
    while and have gone through a lot. They originally started with DBKit to solve
    the persistence problem. Basically it wrappered the database libraries. EOF was
    created when it became clear that the DBKit approach wouldn't work. EOF has
    EO's (Enterprise Objects), EOQuery, EOController, etc. that do pretty much what
    BusinessClass, BusinessQuery and BusinessMgr do. I'm not sure if Forte hired
    people with NeXT experience, but it would be interesting to find out if both
    companies came up with the same architecture independently. What are the
    chances?
    Nabil Hijazi writes...
    The design choice of one query class per table makes writing one-table queries
    simple, but writing multi-table queries awkward.
    Paul Krinsky comments...
    I don't think BusinessQuery is too bad once you get used to it. Multi-table
    queries are pretty easy if you use the foreign attributes Express provides to
    build connected queries. One feature I miss from EOF is the EOFault. An EOFault
    stands in for an object to reduce the overhead of retrieving everything an
    object has a pointer to. For example, a retrieve on customer that contains an
    array of orders would bring in EOFaults to stand in for the orders. When one of
    the orders was referenced, EOF would produce a fault (hence the name) and go
    and get the required record. Of course you could force EOF to bring the real
    data and not use EOfaults if you wanted (if chance were high that you would
    need it). This feature saved a lot of memory and increased the speed of
    retrieval while still providing transparent access from the viewpoint of the
    developer. Another cool feature was uniquing. EOF kept track of the EOs it
    retrieved for a client. So if two windows both retrieved Customer X, EOF would
    realize this and point the 2nd window at the copy already in memory. This
    avoided having multiple copies of the same object in memory and allowed
    provided everyone with the most current changes.
    Nabil Hijazi writes...
    The Express architecture would be much simpler if there is a QueryTree
    class for all tables. Better yet, leave the representation of queries as text
    strings - ANSI or Forte' SQL on the client side, and DBMS-specific on the
    server side. A great deal of complexity in doing query customizations will be
    reduced. You will lose some type checking that the current design has, but hey,
    you can't always get what you want. When you have several hundred tables in
    your database and Express generates six classes to per table, you'll see that
    the number of classes generated as excessive. When you try to design a general
    query modification scheme you'll realize how awkward multi-table joins are to
    do via the Express BusinessQuery class. Last week I was developing a general
    design for row-level security, the query structure drove me crazy, I ended up
    catching the generated SQLText and inserting the security constraints.
    Paul Krinsky comments...
    I like the fact that Express manages the mapping to the database. I can change
    the underlying database schema and all my queries still work. When the DBAs
    inform me that I'm not following their naming standard (remove all vowels
    except for 207 "standard" abbreviations that somehow got blessed then compress
    to 8 characters using a bit compression algorithm that NASA would be proud of -
    am I ranting?) it lets me conform without having to deal with it except in the
    business model. It's nice to have a layer of abstraction.
    I'm not a big fan of having all the generated classes either. I think it's a
    necessary evil because of TOOL. NeXT uses Objective-C which is much more
    dynamic in nature (more in common with Smalltalk than C). Their business model
    can be defined on the fly and changed at runtime. It's pretty powerful but you
    always have the speed vs. size tradeoff. The BusinessQuery is a nice way to
    send only the what you need to the server in a format that isn't too difficult
    to translate to SQL but not so close to SQL that you couldn't rip out the
    backend and use the same interface to communicate with something other than a
    relational database.
    With any tool you have to understand it's strengths and weaknesses. Express is
    a 1.0 product. Given that I think they have done a great job. The biggest
    request I have is that Express moves away from being so focused on UI and
    Database access and focus more on the BusinessClasses. For example, why are the
    Validate and NewObject methods not on the BusinessClass? I understand their
    importance in the Window classes but they should really delegate most of the
    work to the BusinessClass. Otherwise you end up with most of the logic in the
    UI and a 2-tier application. One of the first things we did is extend the
    Window classes to delegate validation, etc. to the classes they display.Paul,
    This a very good point. After reviewing all the customizations we have done on
    our Express project, (BTW, I work with Nabil) I found that we have not done any
    business service customizations except for database row level security. We could
    have easily moved validation to the business classes. Actually, Express gives you examples
    for this. They recommend customizing the insert and update methods to apply validation.
    You could simply add your own validate method on the business class and have the insert,
    update, or the window call it. This is actually much more object oriented than coding
    validation into the window classes (for the oo purest out there!).
    Robert Crisafulli
    AMISYS Managed Care Solutions Inc.
    (301) 838-7540
    >
    I look forward to reading the white paper on Express. I would encourage anyone
    else to post similar documents. If anyone is interested, I can dig up some
    stuff I wrote on EOF's architecture. It's a good source for enhancement
    requests if nothing else! If anyone has used other persistence frameworks I
    think the group would benefit from their experiences.
    Paul Krinsky
    Price Waterhouse LLC
    Management Consulting Group

  • Check point in fund management for budget and creation of po

    I have a Budget for a perticular expenses say Rs 100000/-, so the po should not be created for more than Rs 100000/- as per the budget. but the po is been created for more than the budget amount.
    pls. let me know where the check point has to be maintain.
    Thanks
    Santosh Visave
    Moderator: Please, search SDN

    Hi ,
    First of all as a primary step you can do the following :
    1. is the commitment item getting derived in the PO.
    2. Is the commitment item non statistical ( means you have not put the tick on statistical commitment item ) in FMCIA .
    3. check the budget amount via the report FMRP_RW_BUDCON for the budget amount and released amount .
    Hope this would help .
    Cheers ,
    Dewang

Maybe you are looking for

  • I can't use FaceTime after upgrading to Lion!

    Hi, Yesterday I upgraded my MacBook to Lion, and afther I upgraded FaceTime does not work. I used it prior to my upgrade, and it worked perfect. I have a neew macbook pro 13" 2,3ghz bought on sunday, so its brand new!! When I try to use FaceTime I lo

  • Memory ID concept in Sap Abap

    Hi All, I am working on a user-exit which I picked up in middle of developement and which is using memory id concept. The requirement is like display error message in ME21N transaction and when clicking the Additionl Information in error msg it shoul

  • FCP7 upgrade without a previous version installed?

    So yes I screwed up. let's get that out of the way. When I bought FCPX I left on my machine FCP7 for a while but then I though, eh, I'm not using 7 for the forseeable future, let's get rid of it for the time beilg and if I need it I'll just reinstall

  • IPOD Touch battery life is too short. Can I replace the battery?

    My son's IPOD Touch has a battery life of about 30 minutes.  It is a refurbished model and wondered if there was a way to upgrade the battery?

  • Background color only, no images :(

    Hi and thank you, Yes I'm new to DW be gentle :D Ive searched a bunch of other threads but...Anyway I dont know what info you need. Im on Mac DW CS3 V9.0. I use Firefox and DirectAdmin. Alternate Text is the only thing that displays. This is the page