Dev Classes in a Function Group?

Can you have objects with different development classes in one Function Group? If so, any risks involved?
                            Thank-You

Hello Ferry, SE03 or program RSWBO052 I believe will do the trick because I need to change Dev Classes to individual tables and objects as some in the Function Group have the correct Dev Class, others do not.
However, I do not see where I can change the dev Class of a table in SE80. The Go To Object Directrory Entry.Change, it seems, only allows me to change the Last Changed By field, and won't let me put in the new Dev Class name. the Dev Class name appears in the popup but I am not allowed to select it.
                        Thanks for your help.

Similar Messages

  • Are Classes better than Function groups and Modules

    Hi,
    Are classes better than Function groups? For example if you want to execute something is back ground or use parallel processing you can't do it using classes. Even inside classes most of the places we use Function modules.
    Then how classes are beneficial?
    Regards,
    Deepak Bhalla

    Yes they are compared in the sense that the class and function group are the containers, and the methods and function modules are the interfaces in which you interact with the encapsulated data. 
    Again if you are developing an application in which you are not forced to push the processing to differenet work processes,  then using classes/methods is preferrable. The reason I say this, is because anything coming from SAP will most likely be implemented as a class as opposed to a function group.  This is not to say that SAP will not create new function modules, because of course there still is a use for them.
    Regards,
    Rich Heilman

  • Local class and function group

    I want to write a local class in a function group, where is the best place I put the code? thanks!

    The best practice (according to a paper written by Horst Keller and Andreas Blumenthal - "An insider's guide...") is to put the DEFINITION in the TOP include and the IMPLEMENTATION part in a separate include such as LZ...C01.
    Get the paper here: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c2992ca9-0e01-0010-adb1-b7629adb623c
    Regards
    Edited by: Alejandro Bindi on Apr 25, 2009 12:46 AM

  • Define local classes in function groups

    Hi,
    I have seen in few code examples that programmers defined their classes as follows:
    1. Interfaces are defined globally i.e. under package->class library->interfaces.
    2. implementing classes are defined locally under: package->function group (as public local class in the function group).
    My question is What is the advantage/disadvantage of it?
    (beside encapsulation).
    I heard that the class loader is working better in that way, is that right?
    thanks,
    Yaron

    Hi
    excuse me I miserunderstood.
    Perhaps it's true I don't know.
    I think the different is the SE24 is a library, so it's the tool arranged to analyze all class components you can need.
    I don't think it's easier to analyze an include (function group) where the class is defined and implemented.
    You shuold measure the time in order to load the class for both case, but probably the different isn't meaningful.
    You should consider that ABAP wasn't OO language, but it was adapted for OO, and so the most ABAP developer weren't used to use OO.
    I think you should define a class as local class if it's your own class.
    Max
    Message was edited by: max bianchi

  • Dev class for Function Modules

    Hi,
    I am trying to find out any FMs or tables through which the development class(package) can be found out for list of custom Function modules. Currently using TADIR table we can find out dev class for function groups only.
    Thanks
    JLN

    Hi Lakshmi,
    First Go to Table and pass your FM name to Table  ENLFDIR Find Function Group and then go to TADIR Table and pass this FGroup as OBJ_NAME and get the DEVCLASS.
    Use FM
    "RS_ACCESS_PERMISSION
    And Pass Object as FM name Object_CLASS as FUNC and Mode as SHOW you will get all the Details.
    You will get the Details into a Structure header-transpkey(This is a Deep Structure)
    Hope this will give you the Correct Answer.
    Cheerz
    Ram

  • Automatic generation of ABAP-classes from Function Groups?

    Hey there,
    is there a way of having (SE24)-ABAP-Classes generatetd outomaticaly by providing an existing function group?
    I think, the following mapping shold be possible::
    - the function group is the class
    - its function modules are public (static) methods
    - any form-routines are private methods
    -> I don't want to to that boring work myself, some tool should be able to do that just fine, right? So, is there such a tool?
    Thanks, regards
    Joachim

    Sorry, sounds like the only two people who answered are not aware of such a tool...
    There is one additional point, which I hadn't thought about initially. With ABAP OO you also have a much stricter syntax and many more statement variants that are obsolete and thus cannot be used. This is another hindrance for writing such a tool (but of course not impossible, I just kind of doubt that any reasonable programmer would write such a thing).
    Anyhow, I never understood why SAP is pushing OO so much (declaring all non-OO as obsolete), even going as far as implementing stricter syntax checks for OO. In my opinion a much better option would've been to implement some flag that switches on the more strict syntax checks, similarly to the Unicode check they've introduced. Coding in OO or non-OO, both have its use. Rules from SAP to code everything in OO even in cases where OO doesn't work seems straight silly as a general recommendation: E.g. if I have to code an RFC module, why would I want to bloat my code by introducing a class for implementing the functionality so that the RFC is just a wrapper around the class (unless the additional class gives me some real benefit)?
    As much as I appreciate using OO classes supplied by SAP, I often have difficulties seeing objects in the requirements that I have to code (which might of course just be a reflection of my programming skills). A class with just some static methods is often an indication of poor OO design, i.e. there is no reasonable/tangible object and all you have is a utility class with a collection of various methods. To me it's important that the code is well structured, doesn't have any side effects, etc. This can be achieved with non-OO coding as well as OO, but switching from non-OO to OO doesn't guarantee at all that the code is any better.
    In the end, if you just have a single function group, I'd recommend to do the translation manually and try to apply good OO design principles (instead of a straightforward 1-to-1 translation). E.g. for a class with just static methods (which I'd expect an automated translation would result in) one might want to take a peek at [singletons are evil|http://www.c2.com/cgi/wiki?SingletonsAreEvil] versus [singletons are good|http://www.c2.com/cgi/wiki?SingletonsAreGood]. I know it's silly advice if you're a seasoned OO programmer; but if not, I think your time is much better spent by thinking about the design and then applying it instead of using some automated tools where you'd later have to anyhow do some refactoring...

  • Standard Function Group TRUX missing in Client's Dev. Environment

    Hi Team
    we are currently facing the following issue in BI: A standard Function Group TRUX and a Standard Type Pool TRUXS are missing in the clientu2019s Development environment. Because of this, the ALTTS tool (which is a simple ABAP report in SE38) cannot be executed. This FM is available in our local BI environment, but it is missing in the clientu2019s BI installation.
    Any help / inputs in this matter would be very helpful. Thank you in advance for looking into this problem.
    Thanks & Regards
    Puneet

    Hi Expert
    Still i am waiting for your reply ...
    Thanks
    Puneet

  • Problem in adding function group inlcude in new transport request

    Hi friends,
    This is regarding the issue while moving the function group developed for BAPI object to production.Include having the suffix UXX in main program of function group I am not able to change and then save in new transport request,but the same is possible in R/3 4.7 version.
         Can you please help me out to get it done in ECC 6.0.
    Regards,
    Rajesh Akarte

    Did you try to do: Put cursor on transport number-select include icon-say select freely selected objects-I usually say dev class and can highlight and select the object and save. Please reward points if helpful.
    Message was edited by:
            Tom M.

  • Maintenance View Function group transport,

    Dear all,
    I've made some change on the screen related to my Z maintenance view in dev. It did not requested for a transport order. Therefore I am wondering if there would be any way to transport the whole Maintenance view without having to re create it.
    Regards.

    Hi Nikhil,
    I've tried using as u said the Transport Organizer from se80 but how can I add all object related to my maintenance view to the transport order from here. I tried with Include object then freely selected object but I 'm not sure which object to chose to make the list complete (function groups / tables...)
    Regards

  • Could not find Model while pointing to a custom Function Group

    Hello ,
    I am on EP7.0 ERP05 NW04s and trying to modify ESS Address application  to point to a custom function group rather than the standard one . When I tried to do that by changing the mapping for the ReadInfotype I got certain compilation errors ,I fixed those and then got the following error at runtime:
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Couldnt find info for class com.sap.xss.hr.per.us.address.custom_model_custom.Zhrxss_Per_Read_P0006_Us_Input in model com.sap.xss.hr.per.us.address.model.HRXSS_PER_P0006_US@10c7f0a[scope=APPLICATION_SCOPE]
         at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.associatedModelClassInfo(DynamicRFCModelClass.java:220)
         at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.elementIndexForFrontendName(DynamicRFCModelClass.java:1359)
         at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.setAttributeValueAsString(DynamicRFCModelClass.java:664)
         at com.sap.xss.hr.per.us.address.custom_model_custom.Zhrxss_Per_Read_P0006_Us_Input.setInfty(Zhrxss_Per_Read_P0006_Us_Input.java:162)
         at com.sap.xss.hr.per.us.address.fc.wdp.IPublicFcPerAddressUS$IReadInfotypeElement.setInfty(IPublicFcPerAddressUS.java:11824)
         at com.sap.xss.hr.per.us.address.fc.FcPerAddressUS.readRecord(FcPerAddressUS.java:271)
         at com.sap.xss.hr.per.us.address.fc.wdp.InternalFcPerAddressUS.readRecord(InternalFcPerAddressUS.java:692)
         at com.sap.xss.hr.per.us.address.fc.FcPerAddressUSInterface.readRecord(FcPerAddressUSInterface.java:150)
         at com.sap.xss.hr.per.us.address.fc.wdp.InternalFcPerAddressUSInterface.readRecord(InternalFcPerAddressUSInterface.java:230)
         at com.sap.xss.hr.per.us.address.fc.wdp.InternalFcPerAddressUSInterface$External.readRecord(InternalFcPerAddressUSInterface.java:306)
         at com.sap.xss.hr.per.us.address.overview.VcPerAddressUSOverview.onBeforeOutput(VcPerAddressUSOverview.java:267)
         at com.sap.xss.hr.per.us.address.overview.wdp.InternalVcPerAddressUSOverview.onBeforeOutput(InternalVcPerAddressUSOverview.java:275)
         at com.sap.xss.hr.per.us.address.overview.VcPerAddressUSOverviewInterface.onBeforeOutput(VcPerAddressUSOverviewInterface.java:158)
         at com.sap.xss.hr.per.us.address.overview.wdp.InternalVcPerAddressUSOverviewInterface.onBeforeOutput(InternalVcPerAddressUSOverviewInterface.java:140)
         at com.sap.xss.hr.per.us.address.overview.wdp.InternalVcPerAddressUSOverviewInterface$External.onBeforeOutput(InternalVcPerAddressUSOverviewInterface.java:224)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.callOnBeforeOutput(FPMComponent.java:602)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.doProcessEvent(FPMComponent.java:568)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.doEventLoop(FPMComponent.java:437)
         at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:195)
         at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:748)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:283)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    I wonder what's the cause of this ...
    Any help would be highly appreciated.

    Do below things.
    1. Re-import your Model.
    2. Restart your J2ee server
    3. Re-load & Rebuild your project.
    It should work now..
    Raja T
    Message was edited by:
            Armin Reichert

  • IDOC Scenario - User  has no RFC authorization for function group EDIN

    Hi all,
    I'm trying to configure an IDOC scenario from ECC to XI.
    RFC's, ports and destinations already configured. On WE19 I'm creating an IDOC for testing the scenario. The IDOC is sent successfully, and it stops on TRFC Monitor with error "User PIRFCUSER has no RFC authorization for function group EDIN." .
    Some of you knows what authorization is needed? Basis team said the roles are the same at DEV environment, and there this scenario works fine.
    Thanks for your help.
    regards.
    Roberti

    Hi,
    Check with PIRFCUSER user , that is having the right authorization or not ..
    And make sure that this user is present in the system & it should  not locked.
    to check that user is present or not-----goto su01 of the system & check
    Regards
    Seshagiri

  • Transport Function Group

    Hi,
    I created a new function group and assigned a function module to it. I transported the function group and function module (available in 1 request) from Dev to QA with no warnings/errors. In QA, i went to SE37, typed my FM name and tried to goto function group using the goto menu option, it says function group does not exist. It prompts for creating a function group.
    In dev, when i tried to save the function group to a request, this entrry was saved in the request/task.
    Function Group Texts -  LIMU  -  FUGT - ZSLS_FGRP
    I don't have any specific entry for function group in the request. Is there a way to capture function group entry in the request.
    Thanks

    Hi,
    When u create a new function group and assign the function module for the first time, you can see only the function group name in Transport Request but the function module name will not get displayed.
    Check the entries of object in to ensure the function group has been assigned to the request in Transport Request.
    If you are creating other Function modules after first transport you can find the function modules names also in transport request.
    Cheers,
    Rema.

  • How to read include names of modules in a function group

    Dear All,
    I'd like to read programatically the include names of all function modules within one function group, with given function group's name.
    Does anybody know a module or class providing this functionality?
    Best regards
    Wolfgang
    Message was edited by: Ralf Wolfgang Geithner

    You can do a select from TFDIR table.
    DATA PANME LIKE TFDIR-PNAME.
    DATA INCLUDE_NAME LIKE TFDIR-PNAME.
    PNAME(4) = 'SAPL',
    PNAME+4 = <FUGR_NAME>.
    SELECT * FROM TFDIR WHERE PNAME EQ PNAME.
    CONCATENATE 'L' <FUGR_NAME> 'U' TFDIR-INCLUDE
    INTO INCLUDE_NAME.
    ENDSELECT.
    INCLUDE_NAME will conatin the include name of Function Module.
    Cheers

  • What is the difference between function groups and Object Orientation

    Hello all
    I have read about this on the help.sap.com site, I still do not understand it completely, can some one explain me with  a simple example please ? (Not the increment counter example please !).
    Thanks a ton.
    Rgds
    Sameer

    Hello Sameer
    When you call a module of a function group for the first time in your program then the entire function group is loaded. However, this can happen only once within your report and all global variables within the function group will have the same values all the time (except they are manipulated via fm's).
    In contrast, you can create as many instances of the same class as you want and all of them can have different global attributes. And all these instances are independent of each other.
    On the other hand, if fm_A changes global attributes of the function group and fm_B reads these attributes then fm_B read the changed values.
    Or in other words:
    Function Group = can be instantiated only ONCE
    Class = can be instantiated unlimited
    Regards
      Uwe

  • Calling subroutine in another function group

    Hi all,
    I want to include a call to subroutine TKKA1000_FUELLEN in function group kkag in my custom program. Can I do that? I come from a C/JAVA baclground in which I could INCLUDE the class or set of programs with a simple statement. can i do the smae here?
    regards,
    Mat

    HI,
      Check the below code....
    <b>PERFORM form IN PROGRAM prog.</b>
    Additions:
    1. ... USING    p1 p2 p3 ...
    2. ... CHANGING p1 p2 p3 ...
    3. ... TABLES   itab1 itab2 ...
    4. ... IF FOUND
    In an ABAP Objects context, a more severe syntaxcheck is performed that in other ABAP areas. See Passsing SY-REPID not allowedand Receiving SY-SUBRC not allowed.
    Effect
    This variant is similar to variant 2 (externalperform). However, here you can specify the names of both thesubroutine and the program in which it occurs dynamically at runtime.If you do this, you should place the variables form and prog in parentheses. The names in form and prog must beentered in uppercase, otherwise a runtime error occurs. If you do notspecify any additions (such as USING) you do not need to specifythe program after IN PROGRAM. In this case, the system looks forthe subroutine in the current program.
    Example
    DATA: RNAME(30) VALUE 'WRITE_STATISTIC',   "Form and program
                                               "names must
          PNAME(8)  VALUE 'ZYX_STAT'.          "be written in
                                               "upper case
    PERFORM (RNAME)         IN PROGRAM ZYX_STAT.
    PERFORM WRITE_STATISTIC IN PROGRAM (PNAME).
    PERFORM (RNAME)         IN PROGRAM (PNAME).
    All three PERFORM statements have the same effect, that is,they call the subroutine 'WRITE_STATISTIC', which is defined inthe program 'ZYX_STAT'.
    Notes
    Dynamic PERFORM statements require more CPU time, since the system has to locate the subroutine each time.
    Regards,
    Vara

Maybe you are looking for