How to design application to decouble business logic from GUIs on SAP N7.0

Hi guys,
How should I go about designing a program, so that I can decouple the business logic from GUI in ABAP in such a way that I can change the GUI easily or use different GUIs eg. on a scanner etc..

You may use BDT (business data toolset). It's rather complex. Or use web dynpro but also complex. Or you can program it by yourself (much less difficult).

Similar Messages

  • Seperate business logic from application logic

    Hi guys,
    I am looking for a good article explaining the princiaples of seperating between Business Logic & Integartion logic.
    The articale will be used to exlplain the prinicples SAP PI is based on when it comes to integration between 3rd party systems (Non -SAP) missign the application layer and buisness logic.
    If any one has a link to an article as such.
    Will be most appriciated.
    Regards.
    Nimrod Gisis

    It seems that the general rule to making a GUI
    application is to seperate the "Business Logic" from
    the "Presentation Logic". This is absolutely true.
    From this, I'm guessing I'll
    need to package all my GUI stuff together, and all the
    business logic layer stuff together.If you mean the package names and structure then I would had adapted this structure:
    1. I will have a package under which I will put the application common classes and interfaces.
    com.myapp.common.eventhandler.EventHandler (interface)
    com.myapp.common.eventhandler.AbstractEventHandler (default implementation)
    com.myapp.common.form.Form (interface)
    com.myapp.common.form.AbstractForm (default implementation)2. Create for each subject area its own package:
    com.myapp.product.AddNewProductForm
    com.myapp.product.AddNewProdcutEventHandler
    com.myapp.sales.PriceListEeventHandler
    com.myapp.sales.PriceListEeventHandler
    The GUI will then talk to the Biz lay through an
    interface right?As I illustrated through my previous example, you should have common interfaces and you might need to create Abstract classes that encapsulates the common implementation for these interfaces, then for each GUI Form or Web Page you will create its specific implementation class which inherits from the abstract class.
    Finally if you were asking about the deployment packaging:
    1. Create for each EJB its own jar file then bundle these Jar files under one module jar file, which represents the EJB module.
    2.Package the web application (JSP, Servlets, HTML, Images, CSS, and Java script) in one Web module WAR file.
    3. Package your client application module in its own jar file.
    4. Assemble the EJB module Jar, Web module War, and Client module Jar in one J2EE package which will be an EAR file so that your whole package will be assembled in one EAR file at the end.
    Try the "Application Assembly Tool" which comes with WebSphere. It will organize your application and facilitate this kind of integration.
    - Sherif.

  • Separating application logic from GUI

    I don't know if this is the right forum to ask this question. I know that It's a very bad practice to embed application logic in GUI code, they have to be separated and communicate in some way. I've read somewhere that they need a kind of an adapter class or a knowledge of design patterns, which I actually don't have.
    Could someone direct me to a nice tutorial, which explains this issue? Thank you.

    hey KidJava, here is something about separating application logic from GUI ...
    http://www.springframework.org/docs/MVC-step-by-step/Spring-MVC-step-by-step.html

  • How To Set the Resultstate of Business Logic CO for Loop Decision Action

    Hi,
    I'm using a pre-conditional loop block in my GP process and using a Business Logic CO for the loop decision action. My expectation is the business logic CO should be executed at background and based on its resultstate the loop flow will happen. I've 2 resultstates in the loop decision (bus logic CO) - Continue and Break. I'm setting these two resultstates in the following way :
    Continue : BOOL(@currentLevel < @totalLevel)
    Break : !BOOL(@currentLevel < @totalLevel)
    currentLevel and totalLevel are the two input parameters (unsigned int type) of the business logic CO. If I test the CO it works fine and displays the correct resultstate. But at runtime the process gets paused at the loop decision action CO. I see the loop decision action link in my GP workcenter and UWL and on clicking of it nothing happens. If I refresh the screen still it's there as before.
    Anybody who can throw any light on this issue will be highly appreciated. And reward points guranteed for any help to solve the issue
    Thanks in advance,
    Dipankar

    Hi,
    Well I solved this issue myself ! After lot of research I found out that the resultstates should be in all small case <b>continue</b> and <b>break</b> and NOT Continue or Break.
    But now I've a different issue:
    I've an initial action under a sequential block. Then the pre-conditional loop block with a loop decision action and a loop body block(seq block).
    The expectation is initially the decision action should get the output param passed by the initial action and then in the iterations it will get the values passed by the output params of the loop body action. To achieve that I have mapped the output param of the initial action to the input param of the decision action and the input and output param of the loop body action. But it seems that the loop decision action though mapped to both the output of the initial action and the loop body action takes the value only from the initial action over the iterations and the values from the loop body action are not getting passed to the loop decision action. The context parameter value of the loop decision action remains static and it becomes an infinite loop.
    Any help to resolve this issue will be highly appreciated.
    Thanks,
    Dipankar

  • How to Display Multiple Rows in Business Logic Editor

    Hi Friends, I took the standard BAPI:   BAPI_MATERIAL_GETLIST and followed the SAP- xMII documentation. It is not showing any records. Does any one have good example. Please let me know.
    If I run the same BAPI from R3 system, it is showing 7 records.
    Can I display the data in Business Logic editor? Please help.

    Hi Dilip
              I have gone through your post and I think that the info provided by yu is not sufficent to answer yur question exactly but i would suggest yu the following solutions :-
    1. It may be the case that yu are not looping on the Response XML from the BAPI. You need to loop on the repeating node of the Response XML of the BAPI and on each loop yu need to append the record read to a xMII Output XML document using Row structure. Finally Yu can assign the document to the Output variable.
    2. Check for the type of Output Variable. I guess that it's String type. In that case, convert it to xml type.
    Hope it helps.
    Amit

  • How to get Custom Time Correction business logic implement for ESS in R/3?

    Hi Experts,
    I am in trouble of implementing the custom requirement of correcting the time in ESS. I have to implement the time corrections as per business logic.
    Can any body tell me where to do this?
    What I need is suppose employee DWS is from 9:30 AM to 6:00 PM and suppose he forgot to punch the In time and then corects the entry for 9:30 AM in ESS then it get inserted into the R/3 data but now requirement is if support the employee has punched but at 10:00 AM and then corrects to 9:30 AM then it does not change the 10:00 AM and we wanna deleted these 10 AM entry.
    Thanks in advance.

    I have solved by created enhancement spot in PT_COR_REQ
    for method IF_EX_PT_COR_REQ~POST_VIA_BLOP
    Regards,
    Gaurav Patwari

  • Separating business logic from presentation

    Hi,
    I'm not sure if this is even the right forum for my question..but here it goes:
    I have a device that is throwing out data into some kind of a storage device/server. Now, I have an application that reads the data from that storage and charts it. Let's say the frequency is 10 points a second.
    Some of my questions below may seem strange, because i don't really understand the concepts and technologies involved.
    1. What kind of storage device/server could i be looking at. What kind of server...J2EE App Server, web server?
    2. How can my application be automatically notified when the server gets new data? How will that new data be passed on to my client app?
    3. Let's say I have 10 different instances of the same application running on 10 different machines. Since I wouldn't want each instance to request for new data from the server, i would like the server to broadcast any new data to all the client apps that are attached to it. How can this be done?
    4. Let's say I need to process the data in some form before it gets displayed on the charts. How can this processing be done on the server side itself before being presented to the client app? Basically, how can the logic be separated from the presentation?
    5. If the chart is really a Swing component, but needs to be displayed in a Win32 environment (perhaps MFC dialog box or frame), how can that be done? Does this scenario change how I would address the above questions?
    I really don't even know what technologies to look into to answer the above questions. Any pointers will be appreciated. I just want to start learning about how the above can be accomplished.
    Thanks.

    Here goes the answers to your question. (according to my knowledge)
    1. Deciding a server is depends on your design of the application. According to point 3, you are better to use JMS with publish and subscribe model. In this case you have to choose a JMS server that supports your needs
    2. Again it is depends on your Design, one way is to put a shared memory for data and write a thread that reads from the shared memory or use java.net package or use JMS etc.
    3. Create one JMS source and all other will be JMS destinations.
    4. You can use EJBs or Java classes based on your requirements and design to process the data.
    5. Using AWT or Swing as a presentatin layer is good. But you desperately want to display it using Win 32 objects, then why dont to go for Microsoft technologies??

  • Segregating business Logic from JSP files.

    I have an application with around 150 jsp files, out of which almost half of them are containing business logic.
    I am actually in a process of segregating the java code from the jsp files.
    Could you please guide me in finding out the best practices, dos and don'ts while engaging in such a process.
    Thanks in Advance

    I've been through this hellish experience. I’m not sure any “best practices” for this exist.
    gimbal2 idea of starting a new project would be ideal, if costly. The other extreme is “it works”, don’t touch ‘em until you need to change the functionality then work out the cost/befit of a rewrite for that slice.
    If you really want to take this route:
    How bad is the code that does not live in the JSPs? Should it be reused or avoided?
    What level of functional test coverage do you have?
    The approach my team and I took was to cut it down into slices and try to rewrite that slice as cleanly as possible. Where interactions between slices exist try to write a facade which calls the legacy code but looks like how you would want the new code to look.
    This did not work perfectly. The facades were rarely used well and we had to drop major slices of work to complete on time leaving us with large chunks of legacy code that we can’t delete.
    We started with no automated functional tests, but a goal of getting to a decent amount. We failed on this, which caused major issues - mop up lasted a month and a half after release. Drop functional slices to ensure that you end up with a solid set of automated tests. If you can not get your team to buy into this don't bother with the project.

  • How to pass resultset to the internal table from EIM to SAP's FM

    We're testing the data push from EIM to SAP data.
    I build a function module 
    FUNCTION ZLP0105_FUN.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_IMPORTVARIABLE) TYPE  CHAR10 DEFAULT 32
    *"  TABLES
    *"      T_TABLE STRUCTURE  ZLP0105_FUN OPTIONAL
    After the EIM imports the funtion module,  the import variable I_IMPORTVARIABLE shows in the EIM, but the structure of the table T_TABLE does not show in EIM.  the Structure contains 4 fields. 
    How can the structure (4fields) show in the EIM?
    any help will be greatly appreicated.

    How are you passing that one single record to the workflow Conatiner
    I mean are you using any macro's or FM
    See if at all you want to pass a table with multple values then you hvae to use the macro's SWC_SET_TABLE by including the *INCLUDE<CNTN01> in your module pool program and
    for SWC_SET_TABLE you have to pass three parameters
    SWC_SET_TABLE it_cont 'T_DATA' t_info.
    It_cont is of type SWCONT
    T_DATA is a workflow conatainer element and the type should be same as your Table control
    t_info is a internal with the values that are displyed in your table control.

  • How to design applications with security in mind?

    Hi there,
    I�m looking for a book/website anything that can enhance my ability to design security applications in terms of authentication and authorization. I mean, how to set �Groups� of users and to allow/disallow them to use certain functionalities, how to set LEVEL of users, how to log all events, etc�
    Thanks

    I think you need more than an article you need a book. There is alot that makes a secure system secure.
    As just an example a system I am battling with currently has well defined sets of permissions and resources. Resources are accessed through the permissions set to users and/or groups. The owner of the resource is who sets these permissions. This is all good except that the ownership of resources can be pushed and not just pulled.
    This means the rest of the security is rather a waste of time because that's a rather large flaw.
    At any rate. There is a lot to consider and just one article won't cover it. You should be looking for a book and/or resources that deal with this topic ad nauseum.

  • How to create a universe in Business Object from BW

    Dear Memebers
    I need your help, I'm trying to create a report in business object using a cube as datasource, but when execute it does not appears the text, for example costumer 1000, his name is coca-cola.
    Does anyone help me?, maybe i does not set something
    Thanks a lot
    Ariel

    Hi Ariel,
    Not sure what BW is? If this is not related to using a SDK you may want to post your question in the Business Objects enterprise or Crystal Report Designer Forum.
    Thank you
    Don

  • How to design plug-in which extract information from file opened in illustrator

    Hi Everyone,
    I want to design a plug-in in adobe illustrator which could extract information from pdf file which is opened in illustrator.
    Can anyone give me direction from where could I start.??
    Thanks in advance.

    This is very difficult in any API because there are no tables in PDF.
    If the table is at a known exact location you would extract text from each known cell location
    If you have to discover tables you need to decide how to recognise them: perhaps by looking for drawn lines and analysing their relationship to see if they form a grid; then use the positions derived to get the text from the table.

  • How do I change a track in Logic from an external instrument to a software one?

    I have loaded a midi file into logic using the option key load so as to ensure all the global data is loaded. Now I want to use corresponding software insturments so that I can create an audio file. Is there a simple way of doing this or do I have to create a 'software' track for each external insturment?

    I think thats the issue... Am downloading the new version now. UGGhhff!   lol.
    Thank you so much for the reply. Most appreciated.
    best.
    Roger

  • How to design plug-in which extract information from file opened in illustrator in Illustrator

    Hi Everyone,
    I want to design a plug-in in adobe illustrator which could extract information from pdf file which is opened in illustrator.
    Can anyone give me direction from where could I start.??
    Thanks in advance.

    Moving this discussion to illustration community.

  • Business conversion from Legacy to SAP

    Could anyone tell me step-by-step processes applied when any Enterprise wants to apply SAP implementation?

    hi,
    Look fo ASAP implementation Guide on SAP help.
    Follwing is a overview of phases.
    Cheers,
    Mano Sri
    SAP Implementation Phases.
    Project Preparation
    In this phase you plan your project and lay the foundations for successful implementation. It is at this stage that you make the strategic decisions crucial to your project:
    Define your project goals and objectives
    Clarify the scope of your implementation
    Define your project schedule, budget plan, and implementation sequence
    Establish the project organization and relevant committees and assign resources
    Business Blueprint
    In this phase you create a blueprint using the Question & Answer database (Q&Adb), which documents your enterprise’s requirements and establishes how your business processes and organizational structure are to be represented in the SAP System. You also refine the original project goals and objectives and revise the overall project schedule in this phase.
    Realization
    In this phase, you configure the requirements contained in the Business Blueprint. Baseline configuration (major scope) is followed by final configuration (remaining scope), which can consist of up to four cycles. Other key focal areas of this phase are conducting integration tests and drawing up end user documentation.
    Final Preparation
    In this phase you complete your preparations, including testing, end user training, system management, and cutover activities. You also need to resolve all open issues in this phase. At this stage you need to ensure that all the prerequisites for your system to go live have been fulfilled.
    Go Live & Support
    In this phase you move from a pre-production environment to the live system. The most important elements include setting up production support, monitoring system transactions, and optimizing overall system performance.
    The implementation Phases in SAP are-
    Phase 1 Project Preparation
    - review BW Methodology
    - assign Roles based on project member's skills
    - Project Charter
    - Project Plan
    Phase 2 Business Blueprint
    - Information Requirements Analysis
    - Multidimensional Data Modeling
    - Templates Business Blueprint
    - Sizing, Hardware Sizing
    - review BW System Lanscape & Transport
    - Authorizations
    Phase 3 Realization
    - modeling, create infocube, ods, query, aggregate, etc
    - Issue log database
    Phase 4 Final Preparation
    - BW Performance / Tuning
    Phase 5 Going Live
    - user training
    - Operational Support
    Have a look at the below good links too-
    http://help.sap.com/bp_biv335/BI_EN/documentation/BWProjectPlan_EN.mpp
    Role
    http://help.sap.com/bp_biv335/BI_EN/documentation/BW_ROLES_SKILLS.doc
    http://help.sap.com/bp_biv235/BI_EN/documentation/BW_ROLES_SKILLS.doc
    Regards,
    Sankar

Maybe you are looking for

  • OBJECTS_OBJREF_NOT_ASSIGNED_NO - Error in HRTMC_TALENT_GROUP Webdyn pro

    Hi Guys, I try to Execute HRTMC_TALENT_GROUP  - Webdyn pro application and iam getting the Dump OBJECTS_OBJREF_NOT_ASSIGNED_NO . Please let me know how to solve this , thanks Prabhu

  • Variable number of arguments in DML

    In my OLAP DML program, I need to take variable number of arguments. I took the number of inputs as one argument and then tried to take succeeding inputs as arguments in a while-loop, but got an error saying "All ARGUMENT statements must precede the

  • Where can I find this Document on Ora Website???

    hi All, Can someone help me to track this document? As it seems that the Oracle Website has been changed and I cannot find it... Your Help is much appcreciated: http://otn.oracle.com/tech/webservices/htdocs/series/net/content.html This document sampl

  • SAP ESS 600 Web Dynpros Missing After Install

    Hi,      We are running EP 7.0 SP11 on a linux platform. We deployed the following components in the given order- SAP PCUI_GP 600 IS-HER 600 SAP ASR 600 SAP PSS 600 SAP MSS 600 Each of the above components was at Support Package 08. In Content Admini

  • Unexpected slow down in VI

    I have a large VI that is running data aquisition and control on our system.  Recently it has been have some troubles.  After running for a period of time (anywhere from a couple hours to several days) it stops updating once a second, and begins to u