Proper init coding technique

Basic object oriented coding question using init.
The following code works, but is really not proper (or is it).
Can someone point out the best way to code initWithType:buttonType properly?
The instantiation of a button using a custom subclass buttnView:
          UIView* buttonView;
          buttonView = [[ButtonView alloc] initWithType:buttonReset];
          [self.view addSubview:buttonView];
ButtonView.h - really basic:
@interface ButtonView : UIView {
          int myType;
@property (nonatomic) int myType;
- (id)initWithType:(int)buttonType;
@end
ButtonView.m
- (id)initWithFrame: (CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        // Initialization code
    return self;
- (id)initWithType: (int)buttonType {
       if ( buttonType == buttonReset ) {
            [self initWithFrame:CGRectMake(buttonResetX,buttonResetY, buttonSize,buttonSize)];
            myType = buttonReset;
       else  {
            ... a bunch of different button-types ...
       else
            return nil;
       self.userInteractionEnabled = NO;
       self.opaque = NO;
       return self;
As I said, this "works", but Analyze complains:
Instance variable used while 'self' is not set to the result of '[(super or self) init...]'
And while I recognize, yep, I'm not doing this quite right, I don't seem to be able to think of the right pattern.
The code puts custom buttons at pre-defined locations type'X, type'Y each at size buttonSize.
Thanks.

No, it's happy with initWithFrame.  It just complains about every line which calls it in initWithType, e.g.
[self initWithFrame:
         CGRectMake(buttonResetX,buttonResetY,buttonSize,buttonSize)];

Similar Messages

  • Requesting peer review of coding technique.

    Hello, I'm curious if anyone here can review my flash to see
    if my coding techniques are proper.
    To start, here's the site:
    Example Site
    If you click on the top row of buttons corresponding to each
    section, you'll notice a slight transition before the section is
    loaded. Each section is a separate .swf file, which is loaded via
    actionscript to a MovieClipLoader. (See livedocs for the
    MovieClipLoader API reference)
    The transition animation is responsible for passing calls to
    the MovieClipLoader for loading/unloading movies, and does so
    during keyframes in the animation's timeline. For example, when a
    button is clicked, and "the curtain is down" the MovieClipLoader is
    unloaded, and then loaded with a different .swf.
    I don't have access to a screen reader to test how accessible
    the flash is. However, I have been told that accessibility
    standards suggest animations be hidden from a screen reader via the
    "wmode" property. Assuming the animation is disabled in the screen
    reader, will the transition animation still fire events it incurs
    on the timeline?
    Should I not control loading/unloading of movie clips on the
    timeline? I believe my technique is robust enough to work in a
    non-accessible environment. It locks input while the animation is
    playing, and ensures a small memory footprint by unloading unused
    .swf files. However, is it the right approach with accessibility in
    mind?
    Thanks for any input,
    -Jonathan

    it would look better if instead of a white dropdown covering
    the previous content and then a black dropup revealing the next
    content, you used a dropdown that changed the previous content to
    an alpha of 10% until the bottom is reached when the next content
    is loaded with an alpha of 10% and the dropup revealed the next
    content with 100%.

  • Proper Progress Bar Technique

    Hi,
    I have been having a few strange issues lately and have done alot of research, but I am confused about the proper way to implement a progress bar that updates as a specific task is being performed. Here is some example code before I explain where my confusion lies...
    public class Test extends JFrame {
    public JFrame DisplayFrame;
    public StatusBar statusBar;
    public JButton button;
    public static void main( String args[] ) {
         Test t = new Test();
    public Test(){
         init();
    public void init(){
         DisplayFrame = new JFrame( "Test Window" );
         DisplayFrame.setSize( 600, 600 );
         statusBar = new StatusBar();
         statusBar.setPreferredSize( new Dimension( 300, 100 ) );
         statusBar.setVisible(true);
         button = new JButton("go");
         button.addActionListener( new ActionListener() {
              public void actionPerformed( ActionEvent e ) {
              testProgressBar();     
         final Container cont = getContentPane();
         cont.removeAll();
         cont.add( button, BorderLayout.CENTER );
         cont.add( statusBar, BorderLayout.SOUTH );
         DisplayFrame.setContentPane( cont );          
         DisplayFrame.setVisible( true );
    public void testProgressBar(){
         statusBar.progressBar.setMaximum(200);
         statusBar.progressBar.setValue(0);
         for ( int i = 0; i < 200; i++ ){
         for( int j=0; j<1000000; j++ ) {
         statusBar.progressBar.setValue(i);
         statusBar.progressBar.update(statusBar.progressBar.getGraphics());
    class StatusBar extends JPanel {
    public JProgressBar progressBar;
    public StatusBar() {
         progressBar = new JProgressBar();
         progressBar.setVisible(true);
         progressBar.setStringPainted(true);
         add( progressBar );     
    Now, when I run this code it seems to work fine, and as you would expect it to. The ProgressBar is updated at the appropriate intervals...However, I have read that updating a part of a swing GUI such as this, should not update at regular intervals but instead should hang until the Event Dispatch Thread has finished and releases its control.
    I am confused as to why this actually works. I have a much more elaborate system with many progress bars where I have been updating them similar to the above example code. I have never had any problems whatsoever, but I am convinced, that I am just getting lucky, and this is a poor way to solve this problem. Anyone have any suggestions to help alleviate my confusion? I would really like to know why this works when it looks as if it should not update unless the progress bar was capable of interupting the EDT in order to facilitate its changes....

    Your code works fine because all of it - excluding main() of course - is running on the EDT.
    But what happens
    - if you overlay your frame with another application?
    - if you try to change the size of your frame?
    The EDT will not be able to process events and your GUI will not be painted and/or layout until your loop finishes.
    Only your progressBar will be painted because you're doing it explicitly.
    If you want to do it right, take a look at SwingWorker or http://spin.sourceforge.net .
    Sven

  • Forms standard coding technique

    Hi:
    Thinking in terms of efficiency I need to check for the existence of a value in a database table E.g. in a W-V-I trig
    CURSOR c1
    IS
    SELECT 'X'
    FROM TAB_A
    WHERE COL_A = :blockA.itema;
    IF ( c1%NOTFOUND THEN )
    show_alert('Does not exist...blah blah blah....');
    CLOSE c1;
    RAISE Form_Trig.....;
    END IF;
    Now in a Post_query trigger I would usually place a function in a Package to return a description for say Cust_Id.
    But is it worth creating a BOOLEAN (packaged) function just to check for the existence of a row like in the example above ?
    I am of the opinion that no client side explicit cursors should exist in forms modules no matter how simple they are. Does anyone agree ?
    Let us know your comments.
    Pradeep.

    By the way are you a forms developer for Oracle Corp?Nope. Just a government (university) employee.
    I like to use a Form Level W-V-I .. depending on trig
    block then fire a seperate unit for validating items
    in that block e.g.Yes, I sometimes put all of a block's WVI triggers into one at the block level. Don't know, though... it gets ugly sometimes. I usually create separate procedures within the enclosing Declare-Begin, and name them Edit_Name, Edit_Street, Edit_Phone, etc, and then call them from a main processing block in the trigger.
    Declare
    v_it VARCHAR2(50) := :SYSTEM.TRIGGER_ITEM;Sometimes, I add this:
    Val varchar2(100) := Name_in(:System.Trigger_Item);
    Then I can check
    If VAl is null then...
    ---- Second message:
    Just to go ‘deeper’.
    What about when an implicit cursor checks for
    TOO_MANY_ROWS ?
    So firstly the implicit cursor checks for row
    existence and then checks again for
    uniqueness(TOO_MANY_ROWS). Where as an Explicit
    cursor will only check for existence once. Is an
    Explicit cursor still inferior considering this ?I saw a discussion a year or two back that Oracle had tightened that up a bit, so that they can do it all in one round trip -- or something to that effect. Anyway, if you create yourself a benchmark test both ways, I believe you would find that the implicit cursor will process faster than Open-fetch-close.

  • Quick survey on coding techniques

    G'day:
    I'm just running a quick survey on my blog, and if you had a coupla min to write some code and post it for me, that'd be a big help.
    This is the blog article, and this is a summary of the question:
    Consider this string:
    nz = "Aotearoa";
    What I want is to see how you'd approach turning that into an array of characters, ie: so if you dumped it you'd get this:
    array
    1
    A
    2
    o
    3
    t
    4
    e
    5
    a
    6
    r
    7
    o
    8
    a
    That's it.
    Thanks for helping (if you do, that is ;-)
    Adam

    Yup, once I get enough results. It'll go on my blog though, rather than here, but I'll post the URL when it's done. Probably won't be until next week though.
    Adam

  • Specifications for designing and coding

    Maybe a stupid question but is there any documentation out there that helps an engineer learn and use the best object oriented design techniques. Also, is there one available in the area of coding techniques.
    thanks

    Maybe a stupid question but is there any documentation
    out there that helps an engineer learn and use the
    best object oriented design techniques. Also, is there
    one available in the area of coding techniques.I don't think that there are any accepted "best practice". One of the important reasons, I think, is that design is a highly creative activity which cannot necessarily be categorized, schematized, or any think like that. There are, however, good design solutions to standard problems (in the software developer community they are known as "patterns"). I think that they are a good starting point when learning OOP because they are exemplary. A good book on the subject of patterns is:
    Gamma et al. Design Patterns. Addison-Wesley. 1995.
    But if you don't want to invest in a book, there is plenty of patterns material on the web. Try searching for "software pattern" or "design pattern".
    Regards,
    S&oslash;ren Bak

  • Design and coding specifications

    Maybe a stupid question but is there any documentation out there that helps an engineer learn and use the best object oriented design techniques. Also, is there one available in the area of coding techniques.
    thanks

    OOD:
    http://www.amazon.com/exec/obidos/tg/detail/-/0201633612/qid=1047332381/sr=8-2/ref=sr_8_2/103-2687342-5754236?v=glance&s=books&n=507846
    Techniques/Style:
    http://www.amazon.com/exec/obidos/tg/detail/-/0521777682/qid=1047332795/sr=1-15/ref=sr_1_15/103-2687342-5754236?v=glance&s=books
    silentOpen

  • Firefox 3: QuickTime Poster Movie does not load QT media file when clicked

    I have a video podcast website (thomasbrin.com) that uses the the Apple-provided JavaScript utility and the QTWriteOBJECTXHTML function call on each of my podcast episode webpages to automatically generate the proper object and embed tags. The page loads with a poster movie which, when a user clicks on, should connect to the podcast media file and begin playback.
    This coding technique works fine in Safari and IE but fails in Firefox. Instead, when a user clicks on the poster movie, nothing happens. No errors are generated, the webpage just remains unchanged.
    This issue came to my attention from a viewer of my video podcast. I loaded Firefox 3 and am having the same issue my viewer reported.
    You can visit this page to see the issue directly: http://www.thomasbrin.com/GOT3mov.html Load the page in Firefox 3 and click on the poster movie.
    I've verified that on my system the QuickTime plugin is properly installed and Javascirpt is enabled in Firefox.
    I have searched the Firefox and Apple support forums but have come up empty. Any ideas?

    Okay, problem solved. And, of course, it was a very simple solution.
    Baby Boomer, if you read this post would you please retest this page (http://www.thomasbrin.com/GOT3mov.html) in Camino and let me know if it works for you now.
    The issue with the Camino browser got me thinking about the differences between the Gecko rendering engine (used by Firefox, Camino, SeaMonkey, and more) and the WebKit rendering engine used by Safari. I realized that Safari may be better at inferring MIME types than Firefox et al. In other words, since the target file in my Javascript script is clearly a QuickTime file (it has a .mov extension after all), Safari implicitly assumes the correct MIME type. On the other hand, Gecko-based browsers may be more strict and require an explicit reference to a MIME type for certain media files (like QuickTime) to load properly.
    So, all I did was add an attribute pair to my script that declares the proper media MIME type and it works.
    Here's my old script (without the script tags):
    QTWriteOBJECTXHTML('BrinPoster2.jpg','640','376','',
    'HREF','http://www.thomasbrin.com/QTEncodings/GOT3NS.mov',
    'TARGET','myself',
    'CONTROLLER','False');
    Here's my new script (without the script tags):
    QTWriteOBJECTXHTML('BrinPoster2.jpg','640','376','',
    'HREF','http://www.thomasbrin.com/QTEncodings/GOT3NS.mov',
    'TARGET','myself',
    'TYPE','video/quicktime',
    'CONTROLLER','False');
    The explicit MIME type made the difference.

  • PLEASE HELP ASAP! Button in Flash CS3 not working

    I need help desperately. As soon as possible. I only know the
    VERY basic's of flash, so I need it to be simple!! I am using Flash
    CS3, but the only coding I know is from Flash 8.
    1.I simply want to just be able to type out text that will be
    my button. (I clearly know how to do this)
    2.Convert that text to a button. (I know how to do this as
    well)
    3. Apply an action to the button. (I keep getting the error
    "actions cannot be applied to the current selection")
    4. Have that button go to a specific place in the timeline
    that I have named (It has the red flag next so I know where to send
    the button to)
    5. This is the ONLY code I know is even close to what I need
    to have it be at:
    on (release) {
    //Movieclip GotoAndStop Behavior
    this.gotoAndStop("graphic");
    //End Behavior
    Is there a way to upload the flash files? If so I will
    upload, because I know this sounds simple enough, but it wont work.
    Thanks
    Ashlee

    You are trying to use AS1 in your movie, and the movie's
    Publish settings are set to use AS3. You can use your current code
    by opening the Publish Settings, going to the Flash tab and then
    selecting AS1-AS2 in the Actionscript option.
    A better, long term solution, would be to read through the
    tutorials that come with Flash CS3 to learn the proper coding
    techniques to use with AS3.

  • Looking to create a scroll bar within a section of a webpage

    I think the best example of this is in the iTunes store i.e. you have a section of say, music, and you scroll left to right to see more.
    I'd appreciate any help with this, whether it be the proper coding techniques or pointing me in the right direction.
    Thanks!

    Muse does not currently provide this functionality, so it will require a bit of hand coding.
    You may want to take a look at this thread:
    http://forums.adobe.com/message/4819276#4819276
    Best of luck,
    Julia

  • Surviving a new team and opinions on their framework

    I have recently moved to a new development team tasked with using and improving their existing application framework. I've isolated a dozen areas that misuse Struts and demonstrate a lack of proper object-oriented techniques. Unfortunately tempers flair and members of the team vehemently defend their system when I point these out and I have had little encouragement from above. Are there ways to handle this situation?
    For my own reassurance, I ask those of you whose experience surpasses my own to point out the flaws in the following samples of what I've found. The architecture consists of a webapp to respond to user requests as well as numerous (sometimes 6 or more) other webapps serving a middleware role. Communication between webapps consists of capturing the responses of chained http get or post requests:
    1) Requests of the back-end webapps all hit the same actionmapping and use the same actionform. That uber form bean either contains every attribute to handle all possible requests or it contains generic parameter names that can be used as needed. When a request comes in, a factory uses one of these parameters (serviceid) to determine which so-called "component" (worker-class) to instantiate to do the processing (if serviceid=foo, component=bar).
    2) On the front-end webapp, requests are mapped to different actions which provide an accessor method to obtain an instance of another class that does the work (again, a "component" class). That class contains a method called "getStyleSheet" to return the hard-coded name of the one page the user should be shown for this request. All actionforwards for all actionmappings point to a single transform servlet that uses this method to send the user to the one view that is available for their request. The stylesheet then watches for an error element in the xml doc and displays alternate html.
    3) Front-end requests come into an action object that pushes the processing off to a "component" class. The superclass "component" reserves a connection from the database. The implementation "component" class then interrogates the parameters to determine if the necessary parameters were provided before adding error codes to the document, releasing the db connection and sending the user to the style sheet. * The actionform does not encapsulate its own validation capability (or make use of actionerrors) and * database connections are reserved before we're sure it will be used.
    4) The webapps demand that every actionmapping be associated with an actionform, even when no form exists. The superclass of all actionforms in this system drops the configuration settings into itself and later the user's form implementation is serialized as xml as part of the document to be transformed. Image and action paths are examples of parameters obtained this way.
    That's enough of my pain for now. Any opinions on the above methodologies or suggestions for handling this situation are appreciated.
    - Dave

    Dave, from your description, this sounds like a complicated system. At least insofar as my experience is concerned, most of the so-called o-o systems that have come my way (usually because they have problems) are actually "object-disoriented". However, telling someone that their implementation is not quite up to par usually causes the other person (or persons) to get defensive. Somewhat of a lioness and her cub syndrome, if you will. Almost everyone I've ever worked with believes that their design and/or code is the best in the world and that it is impossible to improve it. There are precious few who are truly open to suggestions and improvements.
    IMVHO, your best bet is to get to know the people on the project, so that they start trusting to you to some extent, esp. if you're a consultant and they're not. It would be wise to understand why someone designed and/or implemented a particular component the way they did.
    Another point to understand is the exact, precise reason why you were brought into the project. Does the management think that the existing team lacks experience? Or that the performance of the team/app needs to improve? These are the situations in which I've found myself more than I care to remember. My approach has been to let the team members know that I'm there to help them out with things I've learnt through my own as well as others' mistakes. When I do find things that, frankly, stink, I usually point out some example (from another situation) and get them to think differently. When they do move in the right direction, I encourage that train of thought. Above all, as a consultant, I make sure that the team members get the kudos.
    Here's are a couple of books that may help you and the other folks on your team.
    Object-oriented Application Frameworks
    - Ted Lewis, John Vlissides, Wolfgang Pree, Erich Gamma & Larry Rosenstein.
    Design Patterns: Elements of Reusable Object-oriented Software
    - Erich Gamma, Richard Helm, John Vlissides & Ralph Johnson.
    In addition, copies of periodicals such as Java Pro, Java Developer's Journal, etc. circulated in the team may help them understand how they can improve.
    All the above presupposes on thing - that the team members, at least to some extent, are open-minded. As the saying goes, a parachute and the human mind are alike in one respect; both work well only if they are open.
    Good luck to you!
    Cheers!

  • Custom Connector Tool - How can I tie into LV IDE?

    In my spare time I have written a little tool to help me wire the connector pane, similar in spirit to the icon editor.  The eyestrain and wrist pain from going back and forth across the FP was one thing, but all of my mice seem to be junky making it very hard to hit some of the small connectors.  Enter LV scripting again.  My question is, how can I tie this into the LV IDE.  Right now I put an LLB into my project folder and I can call the editor from the 'Tools' menu.  This is not bad, but my dream would be to hook into the right-click menu used to launch the icon editor.  Is this possible?  I thought of editing the icon editor to give me a choice, but that seems clunky.
    If you want to play with my editor, I have attached a copy.  Put this LLB into your project folder (LV8.6 up) and after you relaunch LV, you should have an 'Edit Connector Pane...' entry in the tools menu.  Select this item to edit that VIs connector pane.  Still a work-in-progress, but I am never going back to the old-fashioned way.  Before I take it to the next level, I'd like to know how to tie it in.
    I may add rotation, but the next connector pane I rotate will be my first.  This version is password protected since I don't want anybody who may take the CLD exam seeing how I stuff a QSM into the Timeout event case to save an extra loop.
    The basics:  On the left you have an image of the FP, you can select the target control by clicking in the image (if you like doing it the hard way).  In the connector pane on the right, clicking drops the target into a connection, and auto-increments the target.  You can use up and down arrows to select the target control.  If you click an existing connection, the target is dropped and the old connection becomes the new target.  Shift-clicking will grab an existing connection.  Left and right arrows change the wire rule.   Commit makes the changes to the VI.  If the button says 'Close' all changes are commited and the VI will exit when you press it,  if it says 'Cancel' pressing it will discard the last set of changes.  Notice that you can also add descriptions to the controls.
    Attachments:
    Edit Connector.llb ‏162 KB

    In case your interested in pursuing your own solution for right click integration, here is a snippet that gets the mouse button, coordinates and modifier using .Net. Sometimes I like to solve my own problems to expand my own knowledge, never know where it might come in handy. 
    I guess the JKI right click framework is great, but having to install that package delivery system really gets under my skin personally.  But then again, it probably has its perks too. To each their own I guess.
    Bear in mind this snippet is a proof of concept only, the MSDN API, I stumbled across looking to solve another problem.  So no error handling or even proper coding technique.  The next step would be to actually get the mouse button to fire a call back event, so you do not need to continuously monitor, but then again, I am filing this in the sandbox to play with another day.
    Paul <--Always Learning!!!
    sense and simplicity.
    Browse my sample VIs?

  • How do I get a header image to span the width of the screen without getting distorted?

    I've just finished two online classes for Dreamweaver through Ed2go and have a reasonable idea of HTML and CSS. What I'm trying to do is a re-make of my personal web site (www.astral-imaging.com) that I display my astronomy images using all CSS layout and proper HTML coding. The existing site was done long ago using FrontPage and is loaded with tables and nested tables for layout. I need to make several templates for repeated pages but I'm lost on how to create my header banner. I've used Photoshop CS5 to create what I want to use and saved it as a .JPG file. The original canvas size is 1000x200 pixels but I also want the site to use a liquid template so that if the viewer is using a monitor at 1024 width or higher the page will fill the screen.
    My target audience is mostly people in astronomy groups that I participate with and their screen resolutions will most like be 1280 and up. The images posted are usually 1000, 2000, and 3000 pixels wide. The reason for this is that there is very faint and small detail in these images and the larger sizes allows the viewer to scroll around in the full sized images to see this detail. There are links so the viewer has a choice of how large an image they want to view. So this explains my rational behind the sizing and I'm left with how to make the header expand without distorting to various sized displays. Below is what I had designed. Am I asking for too much or just a bit too green to know what to do? Any suggestions would be extremely welcomed. The PSD file has the separate 4 layers. What I have though about is the header being multiple images:
    the actual background gradient image
    the DRO info floated left
    Glimpses of Our Universe centered
    image floated right
    Only issue is I'm not sure if this will work and if so what is the proper coding? I think there needs to be a div container and although I know how to create the div, inserting multiple items into it and using CSS to style them is confusing me. Is there a link to information on DIVs that would help explain this. From what I've seen from my Google searches I haven't seen anything that addresses this. Maybe I need better search terms.
    Thanks,
    Steve

    Nancy,
    I appreciate the feed back but this doesn't extend the banner across the page. I understand the header background color filling in the area to the right of the banner image as well as the background color of the body tag. I guess what I'm wondering is if it's possible to have multiple images in the header div tag? I may not even be explaining this correctly. If I were using a table to lay this out it would have 1 row and 3 columns with the gradient image as the background in all 3. I could keep the cell width set to a fixed number for the right and left cell while center cell would be able to span the remainder of the screen width to fill across the top of the page. The hight would adjust to maintain the aspect ratio. Does this make any sense?
    Basically the code below is what I'm after but using CSS to lay it out and not a table:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Untitled Document</title>
    <style type="text/css">
    table {
    background-image: url(images/banner_background.png);
    text-align: left;
    body {
    background-color: #000;
    .center {
    text-align: center;
    background-image: url(images/banner_background.png);
    .right {
    background-image: url(images/banner_background.png);
    margin: 1px;
    padding: 0px;
    </style>
    </head>
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th width="22%" scope="col"><img src="images/DRO_trans.png" width="325" height="200"></th>
        <th width="59%" class="center" scope="col"><img src="images/glimpses-astral.png" width="450" height="120"></th>
        <th width="19%" scope="col"><img src="images/Thor-3rd-300.jpg" width="300" height="198" alt="Thor's Helmet"></th>
      </tr>
      <tr>
        <td colspan="3"> </td>
      </tr>
    </table>
    </body>
    </html>
    If it's any help or you are curious, the png files can be downloaded here: http://www.astral-imaging.com/test_images.zip
    Thanks,
    Steve

  • Preparing for upgrade and Unicode conversion while on 4.6c

    We're currently on 4.6c and preparing to upgrade to ERP 2005 and do a Unicode conversion.  I'm trying to compile a list of coding techniques that can used in 4.6c that will minimize changes needed for Unicode.  Does anyone have such a list?
    Some things I've discovered reading about Unicode include:
    1) Use GUI_UPLOAD and GUI_DOWNLOAD rather than WS_UPLOAD and WS_DOWNLOAD.
    2) Structures or table headers that contain non-character data need to be identical when moving, comparing, selecting into, updating from, etc.  This includes not moving structures/tables with non-character data to a character field or vice-versa.
    3) Offsets can't cross non-character data.
    4) Assign statement with offset must specify a length.
    5) Open dataset must specify "FOR INPUT", "FOR OUTPUT", "FOR APPENDING", or "FOR  UPDATE".  It no longer defaults to FOR INPUT when omitted.
    6) Many implicit conversions from char to numeric are no longer allowed.  Use explicit conversion instead; such as the move statement.
    I know there are others.  Any help would be appreciated.
    Regards,
    Mark Perrey

    Hai Mark
    Check the following F.M Replacents
    Upgrade Error Details     Suggestions
    Function Module "DOCUMENT_REGISTRY_PROGRAM"not found in the target system     Suggest to replace this FM with the function module CV120_GET_APPL_FROM_REGISTRY.
    Function Module "RP_HIRE+FIRE"not found in the target system     Suggest to replace this FM with the function module RP_HIRE_FIRE .
    Function Module "ME_READ_HEADER_SINGLE" not found in the target system     Suggest to replace this FM with the function module ME_EKKO_SINGLE_READ.
    Function Module "ME_READ_ITEM_SINGLE" not found in the target system     Suggest to replace this FM with the function module ME_EKPO_SINGLE_READ.
    Function Module "RZL_ALERT_CONTROL" not found in the target system     Function Module "RZL_ALERT_CONTROL" is not available in the Enterprise Version. Suggest to use the function module "TH_SEND_ADM_MESS" to acheive the same functionality of "RZL_ALERT_CONTROL".
    Function Module "MM_SELECT_ADDRESS" not found in the target system     Suggest to replace this FM with the function module MM_SELECT_PARTNER.
    Function Module "MM_READ_ADDRESS" not found in the target system     Suggest to replace this FM with the function module MM_PARTNERS_FOR_MESSAGING
    Function Module "ME_VALUES_T161" not found in the target system     Suggest to replace this FM with the function module HELP_VALUES_BSART.
    Function Module "ME_VALUES_T024W" not found in the target system     . Suggest to replace this FM with the function module HELP_VALUES_WERKS.
    Function Module "SD_PACKING_REFRESH" not found in the target system     Suggest to replace this FM with the function module HU_PACKING_REFRESH.
    Function Module "SD_PACKING_RENAME" not found in the target system      Suggest to replace this FM with the function module V51P_PACKING_RENAME.
    Function Module "RV_EXPORT_CONTROL_UPDATE" not found in the target system     Suggest to replace this FM with the function module RV_EXPORT_CONTROL_UPD_PREPARE.
    Function Module "RV_INVOICE_COPY" not found in the target system     Suggest to replace this FM with the function module RV_SALES_DOCUMENT_COPY.
    Function Module "SD_SCHEDULE_AGREEMENT_PACKING" not found in the target system     Suggest to replace this FM with the function module HU_PACKING_SALES_PROPOSAL.
    Function Module "SERIAL_RENUM_WV" not found in the target system     Suggest to replace this FM with the function module IWOL_WV_SWITCH_NUMBER.
    Function Module "CUD0_DISPLAY_CONFIGURATION" not found in the target system     Suggest to replace this FM with the function module VC_I_DISPLAY_CONFIGURATION.
    Function Module "SD_PACKING_CREATE" not found in the target system     Suggest to replace this FM with the function module V51F_PACKING_CREATE.
    Function Module "FI_ARCHIVE_CHECK_DOC" not found in the target system     Function Module FI_ARCHIVE_CHECK_DOC is not available in the Enterprise Version. Suggest to replace this FM with the function module FI_DOCUMENT_ARCH_CHECK_DOCS.
    Function Module "OPEN_FI_CHECK" not found in the target system     Function Module OPEN_FI_CHECK is not available in the Enterprise Version. Suggest to replace this FM with the function module OPEN_FI_PERFORM_******_E.
    Function Module "SD_PACKING_UPDATE"not found in the target system     Function Module SD_PACKING_UPDATE is not available in the Enterprise Version. Suggest to replace this FM with the function module HU_PACKING_UPDATE.
    Function Module "F4_MACO" is being used in the program     Function Module "F4_MACO" is not available in the Enterprise Version. Since the Matchcode objects are not used in the Enterprise Version, Suggest to replace this FM with Search help's Value Request function module F4_SEARCH_HELP.
    Function Module "SWZ_AI_RELEASE_S" is used in the program     Suggest to use the function module "SWZ_AI_RELEASE" instead of "SWZ_AI_RELEASE_S".
    Function Module "SWW_WI_ORGTASK_READ" is  used in the program      Suggest to replace this FM with the function module RH_WI_ORGTASK_READ.
    Function Module "RH_READ_EXCEL_PATH" is being used in the program     Suggest to replace this FM with "RH_CHECK_EXCEL_SUPPORT".
    Function Module "RZL_ALERT_CONTROL" is used in the program     Function Module "RZL_ALERT_CONTROL" is not available in the Enterprise Version. Suggest to use the function module "TH_SEND_ADM_MESS" to acheive the same functionality of "RZL_ALERT_CONTROL".
    Function Module "CONVERT_TO_OTHER_CURRENCY" is used in the program     Suggest to ruse the function module "CONVERT_TO_LOCAL_CURRENCY" for currency conversion.
    Function Module "LOAN_TABLECONTROL_SCROLLING" is not available in the Enterprise Version.      Suggest to replace this FM with the function module SCROLLING_IN_TABLE.
    CALL FUNCTION 'DOWNLOAD' used in program is obsolete in target system.     "DOWNLOAD function module is obsolete and result in errors on Unicode systems or on systems that may potentially be Unicode enabled.
    Suggest to use the unicode enabled methods
    FILE_SAVE_DIALOG and GUI_DOWNLOAD
    from class CL_GUI_FRONTEND_SERVICES.
    Note:
    However, to support existing applications, a compatibility mode was added to the function module(enhanced with Support Package) that will forward calls to DOWNLOAD to the new GUI_DOWNLOAD functions."
    CALL FUNCTION 'HELP_VALUES_GET_NO_DD_NAME' used in program is obsolete in target system.     "HELP_VALUES_GET_NO_DD_NAME function module is obsolete and result in errors on Unicode systems or on systems that may potentially be Unicode enabled.
    Suggest to use the function module F4IF_INT_TABLE_VALUE_REQUEST in the target system."
    CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA' used in program is obsolete in target system.     "POPUP_TO_CONFIRM_LOSS_OF_DATA is obsolete in the target system.
    Suggest to use function module POPUP_TO_CONFIRM."
    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP' used in program is obsolete in target system.     "POPUP_TO_CONFIRM_STEP is obsolete in the target system.
    Suggest to use function module POPUP_TO_CONFIRM."
    CALL FUNCTION 'WS_DOWNLOAD' used in program is obsolete in target system.     "WS_DOWNLOAD function module is obsolete and result in errors on Unicode systems or on systems that may potentially be Unicode enabled.
    Suggest to use the unicode enabled GUI_DOWNLOAD function module.
    Note:
    However, to support existing applications, a compatibility mode was added to the function module(enhanced with Support Package) that will forward calls to WS_DOWNLOAD to the new GUI_DOWNLOAD function."
    CALL FUNCTION 'WS_FILENAME_GET' used in program is obsolete in target system.     "WS_FILENAME_GET function module is obsolete, and results in errors on Unicode systems.
    Suggest to use FILE_OPEN_DIALOG und FILE_SAVE_DIALOG Unicode-enabled methods of the cl_gui_frontend_services class.
    Note:
    New applications should restart on these methods instead of the function module. The function module is extended by a Support Package so that it diverts calls to the methods without the application having to be changed."
    CALL FUNCTION 'WS_UPLOAD' used in program is obsolete in target system.     "WS_UPLOAD function module is obsolete and result in errors on Unicode systems or on systems that may potentially be Unicode enabled.
    Suggest to use the unicode enabled GUI_UPLOAD function module.
    Note:
    However, to support existing applications, a compatibility mode was added to the function module(enhanced with Support Package) that will forward calls to WS_UPLOAD to the new GUI_UPLOAD function."
    Function parameters EBENE, GRUPP, DATE_LOW, DATE_HIGH, BANKK. BUKRS, S_BUKRS, S_DISPW in function module CASH_FORECAST_TR_SELECT_ITEM is missing in the target system.     "Function Module CASH_FORECAST_TR_SELECT_ITEM is no longer used, instead it has been split based on the functionalities.
    Suggest to use function module
    1) CASH_FORECAST_PR_SELECT_ITEM for Payment Arrangements.
    2) For TR, WP, DA use function module CASH_FORECAST_TR_ITEM_2.
    The IMPORT and TABLES parameters of the above 2 function modules are almost same as CASH_FORECAST_TR_SELECT_ITEM.
    The IMPORT parameter BUKRS is not available in the above 2 function modules. Hence suggest to change the coding accordingly."
    Import parameter BUKRS in function CASH_FORECAST_LO_SELECT_ITEM is missing in the target system.     "Import parameter BUKRS in function CASH_FORECAST_LO_SELECT_ITEM is not available in the target system.
    Also the coding in Function Module based on the parameter BUKRS has been removed, instead the TABLES parameter S_BUKRS and S_GSBER has been used.
    Suggest to check the coding in the program accordingly.
    Import parameter BUKRS in function CASH_FORECAST_RE_SELECT_ITEM is missing in the target system.     "Import parameter BUKRS in function CASH_FORECAST_RE_SELECT_ITEM is not available in the target system.
    Also the coding in Function Module based on the parameter BUKRS has been removed, instead the TABLES parameter S_BUKRS and S_GSBER(new parameter) has been used.
    Suggest to check the coding in the program accordingly.
    Function Module HELP_VALUES_GET_WITH_MACO is obsolete in target system     Suggest to use F4IF_FIELD_VALUE_REQUEST
    Function Module G_OBJECT_GET is obsolete in target system.     Suggest to Use G_INTERVAL_GET_NEXT
    Function Module READ_COSTCENTER is obsolete in target system     Suggest to Use K_COSTCENTER_SELECT_SINGLE
    Function Module K_BUSINESS_PROCESS_READ_MULTI is obsolete or not available in target system     Suggest to Use K_PROCESSES_SELECT_TAB
    G_SET_AVAILABLE     Suggest to Use G_SET_GET_INFO
    Function Module G_SET_DOUBLE_CHECK is obsolete or not available in target system     "DO NOT CALL THIS FUNCTION MODULE
    FROM 4.0A VERSION ,THIS PROBLEM WILL NOT OCCUR"
    Function Module HELP_VALUES_GET is obsolete or not available in target system     Suggest to Use F4IF_FIELD_VALUE_REQUEST
    G_SELECT_SET     Suggest to Use G_SET_SELECT
    Function Module G_SET_AVAILABLE is obsolete or not available in target system     Suggest to Use G_SET_GET_INFO
    Function Module NAMETAB_GET is obsolete or not available in target system     Suggest to Use DDIF_FIELDINFO_GET
    Function Module DD_GET_DD03P is obsolete or not available in target system     Suggest to Use DDIF_FIELDINFO_GET / DDIF_TABL_GET
    CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE' used in program is obsolete in target system.     Suggest to use function module POPUP_TO_CONFIRM.
    CALL FUNCTION 'POPUP_TO_DECIDE' used in program is obsolete in target system.     Suggest to use function module POPUP_TO_CONFIRM.
    Function Module HELP_VALUES_GET_WITH_TABLE is obsolete or not available in target system     Suggest to Use F4TOOL_F4FUNCTION_BRIDGE
    Function Module CLPB_EXPORT is obsolete or not available in target system     "Suggest to Use Suggest to use the unicode enabled methods
    CLIPBOARD_EXPORT from class CL_GUI_FRONTEND_SERVICES."
    Function Module SAP_TO_ISO_MEASURE_UNIT_CODE is obsolete or not available in target system     Suggest to Use UNIT_OF_MEASURE_SAP_TO_ISO
    Regards
    Sreeni

  • SGA/PGA best practice

    With an XE limitation of 1GB for the PGA and SGA, how would one best preserve this limitation?
    In other words, how would one minimise the PGA and SGA usage via ones interface with Oracle?
    For instance, in a SQL query I was building I could either (The query has multiple aggregates on multiple tables in a 'one to many' join relationship):
    1) Use WITH clauses
    2) Use inline views
    3) Use standard views
    4) Use temporary tables
    5) Maybe more possibilities
    Without much of an insite into how Oracle 'works' it's difficult to gauge which of these is less 'resource hungry'.
    Possibly there is a reference on how to use the PGA & SGA efficiently?
    Or possibly a more definitive explanation on what's actually stored in these memory areas (rather than just 'prorgam' and 'system' data).
    Regards all,

    SGA is used in 2 main areas: parsing the SQL and avoiding disk reads by having stuff in memory. There is one SGA for all of XE instance.
    PGA is used heavily for sorting, hash joining and 'working stuff'. The PGA is created for each Dedicated Server process. Much of the PGA is inside the SGA for Shared Server processes
    SGA: (There are exceptions to each of these 'Rules Of Thumb' or 'ROT' statements)
    Good coding technique will allow reuse of SQL and avoid as much as possible reparsing;
    Use bind variables;
    Do not create SQL on the fly;
    Avoid dynamic SQL (concat strings to create SQL on the fly);
    Forget about tweakiing the buffer cache as it is mainly a performance thing that you can't do much about in XE;
    WITH clause is nice as it may reduce the count of subqueries;
    Leave it with 'automatic memory management' (again a perf hit, but it will attempt to optimize mem availability);
    Don't reinvent - Use the features that are loaded as they will likely get statements out faster, releasing memory faster;
    Stored Views may (often do) grab unneeded table data. When joining to stored views, see whether they can be replaced by cleaner code;
    Do not create SQL on the fly.
    PGA:
    Use shared server when feasible (at risk of performance hit);
    Global Temp Tables go into PGA, watch the use;
    Maximize reuabale SQL, minimze all other languages (remote or in DB) including PL/SQL;
    Watch for PGA wasters such as UNION vs the better UNION ALL, and unneeded sorts;
    PGA is 'swapped out' to Temporary tablespace. Make sure temp tablespace big enough ... it's not counted in the 4GB disk;
    Avoid using COMMIT except at end of transaction. Avoid COMMIT in loops. Make sure undo tablespace is big enough ... it's not counted in the 4GB disk ;
    Did I mention it's not a good idea to create SQL on the fly?

Maybe you are looking for

  • SQLPLUS commands in SQL Developer

    We are using 11g with Sql Developer. We have some script such as healthcheck etc provided by oracle support, which has SQLPLUS commands in it. We are not able to run those in SQL Developer. We are getting errors. Are there any way, we could invoke SQ

  • Cannot syncronize pictures in folders with greek characters

    Hi, I have an ipod 5th generation with the latest update of the firmware as well as I am using the latest version of iTunes. I cannot syncronise pictures that are in folders which name are in greek characters. I cannot do it neither by adding the fol

  • Preloaded registration utility missing after recovery

    Hi! I have a ThinkPad T42p laptop computer with Machine Type: 2373-HSG and Serial Number: 99K8TAZ. When the computer was delivered to me brand new from the factory, there was a "Registration" icon on the desktop which opened a special electronic regi

  • A New task

    Hi, I am given a task like this. The input I am going to get is text file from the M/F everyday. I have to load this to a table say T1 (base table), the first day. The file I receive the second day should be loaded to T2. I have to find the differenc

  • Out of Memory Exception while I am not using the all memory

    Dear, On the Java sun Emulator, I use the memory graphic to see how i could optimize my application. And I have got what that's for me a suprise, a Out of Memroy Excpetion while the graphic show that I use a bit less thant the half of the memroy avai