Design dialog program using the MVC pattern

Hi,
I have to design a dialog program using the MVC pattern , with all the controllers lying inside function modules.
I have searched out on net and could find out that BSP applications are designed using the MVC concept.Please suggest how can the dialog program be designed using MVC pattern.

I'm currently developing a classic Dynpro dialog program.  I have a module pool, with screens.  I've tightly coupled the module pool with a controller class.  Anything that happens in the module pool, is handled by the controller class. All the logic of screen handling is done by the controller class.
What remains in the module pool is the capturing of the okcode. the next screen to go to (if applicable), the setting of field attributes.  But the okcode is sent straight to the controller for processing, and the screen/field information is also held in the controller.
I've also rewritten the auto-generated tab handling code, so the logic is done via a class. 
So, it is possible - just aim to have as LITTLE as possible in the module pool or function group.
The model, of course, is in a separate class.

Similar Messages

  • Error: This dialog requires using the 32-bit version of Internet Explorer 7.0 or newer

    Since upgrading Internet Explorer to version 11 this error occurs when attempting to navigate a business related website: "This dialog requires using the 32-bit version of Internet Explorer 7.0 or newer".  Using an
    XP machine, there is no issue.  Using any Windows 7 machine and Internet Explorer 11 the error consistently occurs.
    Most solutions reference this: .NET Framework problems with Internet Explorer 11 http://msdn.microsoft.com/en-us/library/dn338133.aspx.  The solution is to create the registry key
    EnableIEHosting, and references an issue with .NET 4
    The problem description and solution fit my current issue, but when I create the new registry key (in both locations), the same issue is happening.  Does anyone have any suggestions?

    Most solutions
    suggest you try Compatibility view (for IE7 Quirks mode emulation) or the Developer Tools, Emulation tab for something else.  (F12, Ctrl-8).  
    The problem is that the site is not designed to handle a modern browser and then its default is, when it can't recognize a User-Agent string, to assume the worst:  No capabilities.
    FYI
    Robert Aldwinckle

  • I've designed Calculator Program, used by String function

    Hello Everyone,
                                  I've designed Calculator Program, used by String function. U've any Feedback in this program, cantact me.  
    Thanks & Regards,
    SABARI SARAVANAN M
    Certified LabVIEW Associate Developer
    Attachments:
    calculator.vi ‏71 KB

    Hi Jitendra,
    Does the dump log shows that the cause is memory shortage?
    Thanks and Best Regards,
    Vikas Bittera.
    **Points for useful answers**

  • How do I use the Match Pattern Function to exclude only 0.000?

    Hi,
    I'm trying to use the mattch pattern function to find the first string in a table thats is >0. My table looks like:
    1,0.000000,0.000 %2007/01/13 00:16:19 196281
    1,0.000000,0.000 %2007/01/13 00:16:22 196282
    1,0.831262,0.000 %2007/01/13 00:17:20 196375
    2,0.811154,0.000 %2007/01/13 00:17:20 196375
    If I us the paremeter "1,[~0]" It doesn't find the line 1,0.831262,0.000... which is the one that I want. I also tried :1,[0-9].+[~0] and that didn't work either. the problem is that the first digit after to 1, isn't allways going to go from 0 to 0.0 sometimes it might go from 0 to 2.??.
    Thanks for the help
    Matt

    "Matt361" <[email protected]> wrote in message news:[email protected]..
    Hi,
    &nbsp;
    I'm trying to use the mattch pattern function to find the first string in a table thats is &gt;0. My table looks like:
    1,0.000000,0.000 %2007/01/13 00:16:19 196281
    1,0.000000,0.000 %2007/01/13 00:16:22 196282
    1,0.831262,0.000 %2007/01/13 00:17:20 196375
    2,0.811154,0.000 %2007/01/13 00:17:20 196375
    If I us the paremeter "1,[~0]" It doesn't find the line 1,0.831262,0.000... which is the one that I want. I also tried :1,[0-9].+[~0] and that didn't work either. the problem is that the first digit after to 1, isn't allways going to go from 0 to 0.0 sometimes it might go from 0 to 2.??.
    &nbsp;
    Thanks for the help
    Matt
    &nbsp;
    Hi,
    1,[~0] matches a "1" a "," and then any character that is not "0".
    1,[0-9].+[~0] matches a "1" a "," and then any character that is "0-9", any number of anything!! (1 or more) and then anything that is not "0". Note that you have to escape a . to match a ".". Like this "\.".
    There is no way to check if there is anything other then a "0" in the match, from within the match pattern function. So I think you won't be able to find a pattern that does the trick.
    Why not use a whileloop to find the first item? Or use the Spreadsheet String To Array, and then compare the desired row or column with the string "0.000000"? (Or replace all ,0.000000, by a string like ",NULL,", then match the pattern?)
    In LabVIEW 8 there is a new Match Regular Expression function. Haven't tried it, but it should be much more powerfull then the Match Pattern function. But also much more complex.
    Regards,
    Wiebe.

  • How we can limit the number of concurrent calls to a WCF service without use the Singleton pattern or without do the change in BizTalk Configuration file?

    How can we send only one message to a WCF service at a time? How we can limit the number of concurrent calls to a WCF service without use the Singleton pattern or without do the change in BizTalk Configuration file? Can we do it by Host throttling?

    Hi Pawan,
    You need to use WCF-Custom adapter and add the ServiceThrottlingBehavior service behavior to a WCF-Custom Locations.
    ServiceThrottlingBehavior.MaxConcurrentCalls - Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost. The MaxConcurrentCalls property specifies the maximum number of messages actively
    processing across a ServiceHost object. Each channel can have one pending message that does not count against the value of MaxConcurrentCalls until WCF begins to process it.
    Follow MSDN-
    http://msdn.microsoft.com/en-us/library/ee377035%28BTS.10%29.aspx
    http://msdn.microsoft.com/en-us/library/system.servicemodel.description.servicethrottlingbehavior.maxconcurrentcalls.aspx
    I hope this helps.
    Rachit
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How to create a simple app using the MVC approach?

    Hello gurus i'm trying to learn the SAPUI5 and i'm trying to create a simple app using the MVC i created the app and trying to add a lable to the view but there is nothing appear when i run it the code for the HTML page
    <!DOCTYPE HTML>
    <html>
      <head>
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
      <script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
      id="sap-ui-bootstrap"
      data-sap-ui-libs="sap.m"
      data-sap-ui-theme="sap_bluecrystal">
      </script>
      <!-- only load the mobile lib "sap.m" and the "sap_mvi" theme -->
      <script>
      sap.ui.localResources("mytestapp");
      var view = sap.ui.view({id:"idshell1", viewName:"mytestapp.shell", type:sap.ui.core.mvc.ViewType.JS});
      view.placeAt("content");
      </script>
      </head>
      <body class="sapUiBody" role="application">
      <div id="content"></div>
      </body>
    </html>
    the code for the view
    sap.ui.jsview("mytestapp.shell", {
      /** Specifies the Controller belonging to this View.
      * In the case that it is not implemented, or that "null" is returned, this View does not have a Controller.
      * @memberOf mytestapp.shell
      getControllerName : function() {
      return "mytestapp.shell";
      /** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed.
      * Since the Controller is given to this method, its event handlers can be attached right away.
      * @memberOf mytestapp.shell
      createContent : function(oController) {
      var oLabel = new sap.ui.commons.Label("l1");
      oLabel.setText("Test label");
      oLabel.placeAt("content");
    i dont know what is wrong or if i should use a container to display my controls
    any help will be appreciated
    thanks in advance

    Hi,
    Instead of   oLabel.placeAt("content"); use return oLabel;
    so it will as below,
    createContent : function(oController) {
      var oLabel = new sap.ui.commons.Label("l1");
      oLabel.setText("Test label");
      return oLable;
    Regards,
    Chandra

  • Running abap programs using the macros

    In our DP implementation we have faced several issues in the extraction of the data from the demand planning to one of the legacy system. We have written the ABAP program and would be using the read planning book bapi. I wanted to run the ABAP program using the macro could some one please let me know what is the structure of the macro builder that is used to fire the ABAP program. this is being fired from the macros as some comparison is to be done to run the macro.

    Hi,
    Some more information on macro function
    REPORT_SUBMIT()
    REPORT_SUBMIT( 'program_name' ;  <'job_name'> ; <'job_number'>; <'newmode'>) causes the specified program to be executed. Use the optional arguments, job name and job number, if you wish the program to run in the background. If you set the argument 'newmode', the results are displayed in a new window.
    Hope this will helps you.
    Regards,
    Sunitha.

  • Which programs use the memory card?

    Can anyone help me determine which programs use the memory card? My E90 won't connect in transfer mode because Pc Suite says there is an application using it. As far as I'm concerned, active notes and sms were the ones to blame. They specifically have the option to use the memory card. But I can't find it in other apps. Any suggestions will be appreciated.

    Various installed programs will run from your MMC in the background. I suggest you install and app called Best Taskman from www.symbianware.com.
    Install this to your phone memory!
    Now open it up, press options - view - advanced - processes
    you will see all running processes and an icon next to them. If th icon looks like a memory card, then it is running from that. Press the "C" key on each MMC running process to close them.
    Now you'll be able to connect via mass storage.
    I recommend making a note of which apps these are and re-installing them to your phone memory instead. Also, any app you know will have a feature required to tun in the background, ensure this is installed on the phones memory!
    If I have helped you, please hit the star at the bottom of my posts - it's appreciated!
    Don't forget if your problem is solved to press the "Accept as Solution" button.

  • I am trying to run my registered CS6 Design Standard programs for the first time after install. InDesign runs OK, but Illustrator and Photoshop will only run in trail mode. How do I activate those two?

    I can't get my registered versions of CS6 Photoshop and Illustrator to run in full mode. I installed CS6 Design Standard online end of June (an upgrade from CS5.5), on my old MacBook Pro. I didn't run the programs then as I was waiting on arrival of new MacBook Pro. I migrated the programs from my old MacBook to the new, and today tried to run those programs for the first time. InDesign work OK (after an initial hiccup) but Illustrator and Photoshop will only run in trial mode, and won't let me save files. My CS6 Design Standard shows with it's registration in my Adobe Account. All seems in order, but Illustrator and Photoshop won't run in registered mode. Can you please help?

    Demons1 in the future please only migrate your documents and settings.
    Please use the uninstallers to remove your current installation.  They are located in the Applications/Utilities/Adobe Installers folder.  Once the uninstall is complete you will also want to run the CC Cleaner Tool.  You can find more details at Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6 - http://helpx.adobe.com/creative-suite/kb/cs5-cleaner-tool-installation-problems.html.
    If you need to download a fresh copy of the installation files for Creative Suite 6 you can do so at Download CS6 products.

  • How to extend the execution time of an ABAP Program using the Process chain

    Hello Sapians,
    Our Environment has got 600seconds = 10 mintues as the execution time.
    My ABAP Program is taking more than this 600 seconds, to show the result, I found this when I tried to execute in debug mode, it shows the result.
    If I execute in background also it shows the results succesfully.
    Only issue is when I execute this report in foreground it has been taking ages and goes on Time OUT Error.
    It has been decided that we can extend the execution time only for this report, and it will reset the time back to 10mintues once the report has been executed successfully or failed in between for any other reasons.
    And we can achieve this by using the process chains.
    Can any body help me please in this regard
    Thanks,

    Hi,,,,,,,,,,
    Besides Process Chain There is another way out for this........
    Resetting time counter of dialog process so that time-out does not
    happen. Use this fm within your program at appropriate locations to
    reset time counter.
    "CALL FUNCTION 'TH_REDISPATCH'."
    Thanks
    Saurabh

  • How to suppress Save As dialog when using the Close button on an editable pdf

    Environment: Windows 7, SDK 9, Adobe Acrobat Pro X, Visual Studio 2010 Professional
    Summary: when a document is opened for editing using automation, edited, then closed using the "Close" button, the confirmation dialog appears, "yes" is selected and then the "Save As" dialog appears.  It should save without the "Save As" dialog in the same way it does were the document opened from Adobe Acrobat directly.  My question is, is there any flag to set which governs whether the "Save As" dialog appears as part of the close document process.  It is behaving as if the document is read-only upon close. (it isn't)
    This is how the document is opened from C++:
    if(SUCCEEDED(hr = ::CoCreateInstance(__uuidof(Adobe9::Acrobat::CAcroAVDoc), 0, CLSCTX_ALL, IID_IUnknown, (void**)&pUnk))){
    hr = OleRun(pUnk);
    if (SUCCEEDED(hr)){
    if (SUCCEEDED(hr = pUnk->QueryInterface(&pAVDoc))){
    hr = pAVDoc->Open((BSTR)CComBSTR(strPath), strDocName, &bRet);
    Even when the plugin is removed from the plug_ins\AcrobatSDK directory, the behaviour is the same.
    Another reproduction is running the BasicIacVC sample, commenting out all lines from gAcroPdDoc->Close(); in InitInstance() and returning TRUE.  If an editable document is opened using the sample, edited then closed using the "X" button, the confirmation dialog is followed by a "Save As" dialog as if it were a read-only document which it is not.
    Any suggestions would be appreciated.
    Regards,
    Evan

    Yes, it does.  (as long as the pdf has been opened via a COM interface)

  • How can I get Firefox 3.6 to startup and load at a particular screen position - using cmd-line or other, in a Solaris SPARC/UNIX env? The xterm program uses the -geometry args as a manner of specifying position on the screen.

    I am running Firefox 3.6 - on Solaris 10 SPARC env.
    I am using the X11 - TWM(X-windows Manager). I have tried to alter the .twmrc files for the WM, but I need firefox to declare the position in the client program, else the TWM will force me to place it every time. When I use the xterm with the "-geometry" I can specify the position the xterm is opened and positioned there automatically. I have tried using the Xresource configuration settings(maybe I am doing something wrong here), but the X-server ignores it... so I believe that only firefox app can manage the positioning?
    I am out of ideas, I suppose the next step is to question the source... Any ideas of how I can achieve this auto positioning in TWM. (I have been looking into X-events to manage the placement, but this is messy)

    The version of Apache that comes default with Solaris might not be compiled for that I am not positive though. I downloaded and compiled Apach 2 and compiled mod_ssl and got it working with no problems you might want to try that.

  • Using the BusinessDelegate pattern at lower levels

    I was hoping to elicit some feedback on general J2EE architecture...
    We have an application that we separate into three general tiers: web/client tier, service tier (with 'services' that implement business logic) and a data tier (with 'controllers' which basically implement CRUD (create, read, update, delete) for a single domain object or table). We have this thing called a 'manager' that straddles the service and data tier which also implements CRUD, but at a more coarse grained level. Managers allow us to work with big objects that are actually a composition of small objects.
    Our services and managers are almost always implemented as session beans (stateless) so the client tier uses a "Business Delegate" as per Sun's J2EE patterns to hide the implementation details of those services and managers. So a given call in the system would look like:
    Struts action class -> business delegate -> manager or service -> controller -> entity bean
    Managers and services, when they need to work with persistent data then use controllers to get at that data. Most controllers are currently session beans (stateless), but we are starting to add controllers that implement the DAO pattern.
    I'd like to hide the implementation details of those controllers from the managers and services that use them, though. I hate seeing code in managers/services where we use ServiceLocator to look up a home interface, create the EJB controller and then do method calls.
    My question is whether it's possible and appropriate to use a BusinessDelegate between two session beans such as our 'managers' and 'controllers'. Doing so would make a given call in the system would look like:
    Struts action class -> business delegate -> manager or service -> business delegate -> controller -> entity bean (if used). Would you loose the transaction between manager and controllers (managers always use Required for each method and controllers use Supports - as well, controllers only ever expose a local interface).
    Thanks for any advise/opinions you might have.
    Donald

    In your framework, does each delegate become a single
    InvocationHandler instance
    Yes, exactly.
    with (for instance) a
    constructor that does the EJB lookup and an invoke()
    method?
    EJB lookup is being done by a ServiceLocator.
    Do you have ServiceLocator return the proxy object (I
    know that traditionally ServiceLocators merely return
    EJB home interfaces,
    My does the same. But it's used by EJBDelegateFactory, which creates EJBDelegates.
    EJBDelegates implement InvocationHandler and support InvocationDecorators.
    but I have used them to return
    POJO implementations of interfaces so it becomes a
    kind of implementation factory).
    Nice idea. I have POJOLocator for that.
    Do you have your Proxy object implement the EJB
    interface, rather than creating a new one.
    Yes. The only drawback is that client code needs to catch EJB specific and remote exceptions.
    However it's not a big problem, because there is a decorator which catches all EJB exceptions and throws BusinessDelegateException with a user-friendly error message inside. This means that EJB interfaces need to declare BusinessDelegateException in throws clauses, but it doesnt cause any problems.
    So client code is something like:
    try {
          foo.invokeSomeMethod();
    }  catch (BusinessDelegateException  ex)
         displayErrorMessage(ex.getMsg);
    }   catch  (Exception ex)
          //   can be empty
    I have
    been thinking about creating a new one and then seeing
    if I can change xdoclet's templates to have the EJB
    interface extend this interface.
    I have used this idea, too. I think it's even called a pattern. You can make EJB bean to implement this interface and then you have compile time checking of EJB compliance.
    I remember I had problems with that when some CORBA client stub generator got confused.
    Thanks for any little advise you can provide.
    Maybe I will even put my framework as OS in WEB. If my client will allow me to do it.
    best regards,
    Maris Orbidans

  • Help! with creating a J2ME program using the http connectivity interface

    So this is what I have to do using the http connectivity interface:
    1.Creating two threads – one for communication (receiving and sending) and the other (main) thread will be for interaction with the user.
    2.The main thread will make use of three midlet forms. The first form will ask for web page address (URL) and separately for a delimiter which will separate the words in the URL document, the third form will display the ratio of all symbols on the page and the number of occurrences of the delimiter specified
    3.The second thread should perform http connectivity to the WWW, utilise the web page address supplied and connect to the appropriate web page and read its content, count all symbols on the chosen page, count the number of occurrences of the delimiter given as user input on the same form as the web page address, calculate the ratio between the two and pass this information to the first thread to display.
    I have many questions but my main concerns are:
    *1. How to communicate using HTTP interface within a thread*
    *2. What is a delimiter in the context above and how should it be implemented*
    I've been thrown in at the deep end with little programming experience with this assignment. If anyone can share a similar example or answer my concerns I'd be more than happy.
    Thanks in advance.

    thelane wrote:
    hi thanks for the response.
    As I said I have coded in other languages before, but this is a new for me in java. I needed to get it working quickley. Now I can clean up.
    I will have a look at method and see how I get on.
    ANy similiar examples would be great.
    Thanks.I can certainly give you a similar example.
    Say you have code such as this:
      int a = 10, b = 11;
      int temp = 1;
      for(int i = 2; i < a; ++i) {
       temp *= i;
      System.out.println(a + " factorial is " + temp);
      temp = 1;
      for(int i = 2; i < b; ++i) {
       temp *= i;
      System.out.println(b + " factorial is " + temp);Each section of code takes the factorial of the current variable an outputs it. The factorial code can be placed within a method to be called more easily, as such:
    public void factorial(int num) {
    int temp = 1;
    for(int i = 2; i < num; ++i) {
      temp *= i
    System.out.println(num + " factorial is " + temp);
    }Then, whenever you need to call it, you can just do so:
    int a=10,b=11,c=12;
    factorial(a);
    factorial(b);
    factorial(c);

  • Do I use the Brdige pattern for this problem ?

    Hello
    I'm making a music mixer for mobile phones. For the canvas, i divided it up in tiles, to fill
    up with .png images if you want to place a sample in that specific tile. But if you have a phone with no colors and your screen is not big enough, the image is almost all black. So I want to create a different class, to only show a letter or a simple symbol if you can't handle the .png well.
    I read about the bridge pattern, where you encapsulate the implementation in an abstract class and seperate it from the base class with the abstractions. Should I use this pattern for my problem ? I have some doubt because I have multiple implementations (color vs non-color) but I don't have multiple abstractions (a tile to fill up with a symbol or picture).
    Are there other patterns that are more suited for my problem ?
    What about the implementation? Should I see the implementation as only producing the image or symbol, or should i see it as the whole canvas, with the tile system?
    For example, now the tiling looks good on most of the targeted phones. But what if the next generation of mobile phones has a screen with very different dimensions. Wouldn't it be better to incorporate this also in the implementation ?
    Thanks

    What are you trying to do when you say "When I put the password for my apple ID into icloud- it keeps reverting to another password"?
    Where are you doing when you try to enter your password?

Maybe you are looking for