Limitations of Class Enhancement

Hi Experts,
In Enhancement Framework, if we do class enhancement and add a method to our class. What will be the restrictions or limitations of the added method and the class?
Regards,
Sangeeta.

Hi sangeetha,
The class doesn't create any notification by which can be detected if .
see this link
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/481f4b29-0701-0010-24a2-b537f1a40add
http://www.codeproject.com/KB/system/akregistryex.aspx
thanks
nagendra

Similar Messages

  • Speed of class-enhancer

    Hello,
    on enhancing classes (using the appropriate ant-task) I found out that
    it is somewhat slow. Since the model I enhance has almost 300 classes
    things will take a while.
    My question: Is there a possibility to speed-up class-enhancement (other
    than using a faster machine ;-)
    Regards,
    Andreas

    Abe White wrote:
    >
    on enhancing classes (using the appropriate ant-task) I found out that
    it is somewhat slow. Since the model I enhance has almost 300 classes
    things will take a while.
    My question: Is there a possibility to speed-up class-enhancement (other
    than using a faster machine ;-)Unfortunately enhancement just has a lot of work to do, what with parsing
    the XML metadata and parsing the class bytecode and such. One thing:
    running the enhancer on a list of class names will be faster than running
    it on a list of .jdo files, which in turn will be faster than running it on
    a list of .class files. Other than that, though... sorry.
    Don't mind, I thought about something like that. But I didn't want to
    miss some hidden switch and haven't asked for it :-)
    But concerning the names: Currently I apply the ant-task on jdo-files
    using an embedded fileset. How to provide a list of file-names within
    the task? Or does this work only for the enhancer class directly?
    Regards,
    Andreas

  • Tolerance Limits for Class Character in Variant Configuration

    HI all,
    We are Using Variant Configuration, for this we have linked MIC's to Class character, When The Inspection Lot is created the Lower & Upper Limit in the specification comes as the character Value.it does not takes in to consedration the tolerance key assigned to it. For E.g. Charater Dia has value 20, & in the Tolerance key for 20 +/- 0.10 is maintained, when the Inspection lot is created the Upper & lower Limit comes as 20-20 instead 19.9 - 20.1
    I have gone through SAP Note 210658, the sample code provided in note is for "Material Specification" I have tried the same with minor code correction the specifications in the lot comes as desired i.e. specifications in the lot consider the tolerance key.
    Our Requirment is of task list, in the same not EXIT for task list is also mentioned but no souce code is provided, when we are using the above program (Used for Material Specification) after doing the desired changes, & when we run in de-bugging mode it shows all the calculations are being done, but finally in the lot specification appear as the charater value ( 20-20) & in the inspection lot One first MIC comes it delete's all other MIC's assigned in the Plan.
    Has any body worked on this requirment, please let me know how to do the same, & if any body has used EXIT_SAPLQPAP_001 (Enhancement QPAP0001.)Plese provide me with the soution if any one has worked on it.
    Thanks & Regards
    Gaurav Behl

    Hi ravi,
    I did't work on class hierarachies but i do have a document regarding classification.
    Regards,
    Kanth

  • Class Enhancement without a .jdo file

    Is it possible to do a byte code enhancement using the KODO APIs passing in
    a data structure containing the .jdo metadata file information without
    having to explicitly create a .jdo file?
    I'm looking at using the enhance() method of JDOEnhancer class and it looks
    like I have to have a .jdo file on disk. Is there any way to avoid it?
    In my enviornment I read information from a master metadata file, use that
    to generate Java code, invoke the compiler on it and now I'd like to invoke
    the enhancer on the class files - i'd like to do all this one shot. Since I
    have all the information needed in memory, I don't want to create a .jdo
    file and have the enhancer read that file.
    Thanks
    Vijay

    Vijay-
    You do always need the .jdo metadata file for your classes; the JDO
    specification requires it. Note, though, that you could just have a
    single top-level package.jdo file that holds the metadata for all your
    classes, so that you would only need to create a single file.
    Technically, I suppose you could use a custom ClassLoader that overrides
    getResourceAsStream() (since this is the way we locate .jdo metadata
    files for classes), and return a textual stream of the contents of the
    ..jdo metadata. It might work, but we advise against it, since using
    custom ClassLoaders can introduce very tricky problems that are
    difficult to debug.
    In article <bju9ua$ops$[email protected]>, Vijay Ganesan wrote:
    >
    Is it possible to do a byte code enhancement using the KODO APIs passing in
    a data structure containing the .jdo metadata file information without
    having to explicitly create a .jdo file?
    I'm looking at using the enhance() method of JDOEnhancer class and it looks
    like I have to have a .jdo file on disk. Is there any way to avoid it?
    In my enviornment I read information from a master metadata file, use that
    to generate Java code, invoke the compiler on it and now I'd like to invoke
    the enhancer on the class files - i'd like to do all this one shot. Since I
    have all the information needed in memory, I don't want to create a .jdo
    file and have the enhancer read that file.
    Thanks
    Vijay--
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • BSP Controller Class Enhancement - calling problem while execution

    Hi all,
    We are having a requirement in the EREC-Publication.
    We have to insert 2 Droop-down fields on screen providing the F4 help for them.
    BSP is modified to add the required fields.
    Also, the Controller class methods are enhanced so that the given F4 list table is populated.
    Here the issue is, when we call the BSP application a fresh and go to the required page, F4 help gets populated and the list is displayed. This means that the Enhancement is also being called. - Confirmed after inserting a break-point.
    Then if i navigate to "Previous page" or "Initial page" using the link that is generated by the SAP Standard. Then when i come back to the same page again. the Enhancement for filling the F4 help list is not called and as a result the F4 help remains empty...
    Is there any solution for the same i am not able to figure out what is exactly going wrong?
    Thanks and Regards,
    Kunjal Patel

    Hi Sharmila,
    The BSP Application in concern is a SAP Standard and hence, we need to enhance the same.
    What you say is correct that we need to do it in the DoInit method. However, as far as possible Modification of SAP Standard code should be avoided. For the same, we have used the Implicit Enhancement point to enhance the required Method of the class.
    This Enhancement is not called every time the class method is called. Hence, the worry.
    Any suggestions?
    Thanks and Regards,
    Kunjal Patel

  • HP providing Limited Warranty Service Enhancement for some HP P66xx, HPE-4xx, s56xx Desktop PCs

    For folks experiencing lockups, freezes, constant reboots on a P66xx, HPE-4xx, or S56xx - you should read this HP support document:
    http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&docname=c03199423
    You might be eligible for a free repair.
    ... an HP employee expressing his own opinion.
    Please post rather than send me a Message. It's good for the community and I might not be able to get back quickly. - Thank you.

    well they make it really hard to contact them if you dont have an active warranty

  • How to enter Enhancement Mode of ABAP OO Classes: Add Methods, Pre-Methods.

    Hello,
    do you know how to enter the enhancement mode of the class builder?
    I want to enhance a standard global ABAP OO class by implicit enhancements for inserting methods, attributes or pre- and post-methods - as described in  <a href="http://help.sap.com/saphelp_nw70/helpdata/en/58/4fb541d3d52d31e10000000a155106/content.htm">Online help</a>.
    I start the SE24 on my NW 7.0, but there is no menu <i>Edit-> Enhancement Operations-> Enhance Class/Interface </i> as written in <a href="http://help.sap.com/saphelp_nw70/helpdata/en/86/b83142680d5c33e10000000a155106/content.htm">Online Help</a>.
    When I press the <i>Display</i> button, there is no enhancement button (the spiral), and the sub entries of menu <i>Edit-> Enhancement Operations</i>, like <i>Insert Pre-Method</i> are inactive (gray).
    In SE80 I don't find them too. The only implicit enhancements I found are on the beginning and end of methods implementation code.
    Do you have experience enhancing classes?
    Best regards
    Michael Umlauff

    Hallo Michael,
    You first have to go in se80 or se24
    Then menu Class-> Enhance
    Then you will be able to use Edit-> Enhancement Operations-> Insert Pre-Post Methodes
    Regards,
    Walter

  • Can't enhance classes with Apache Commons Logging?

    For some reason enhancer blows on class with
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    private static final Log LOG = LogFactory.getLog(GaoParticipant.class);
    With following exception:
    java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:219)
    at serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:219)
    at
    com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:213
    at
    com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188
    at kodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
    at
    kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
    at
    com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
    at
    com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:3
    54)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
    Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
    wn Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
    her.dispatch(Unknown Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
    Source)
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
    at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
    at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
    at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
    at
    kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
    yImpl.java:175)
    at
    kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
    va:129)
    at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
    at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2175)
    at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2116)
    at kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:2088)
    at peacetech.gao.ccs.tools.Enhance.main(Enhance.java:14)
    Caused by: org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException: Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
    va:532)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
    va:272)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
    va:246)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
    at peacetech.gao.ccs.jdo.GaoParticipant.<clinit>(GaoParticipant.java:14)
    ... 35 more
    Caused by: org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException: Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
    mpl.java:416)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
    va:525)
    ... 39 more
    Caused by: org.apache.commons.logging.LogConfigurationException: Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
    mpl.java:412)
    ... 40 more
    Exception in thread "main" Process terminated with exit code 1

    Have not tried Ant but running main() runs when LOG is not initialized at
    all and blows in both cases below
    1.
    private static Log LOG ;
    static {
    LOG = LogFactory.getLog(Contact.class);
    2
    private static Log LOG = getLog();
    private static Log getLog() {
    return LogFactory.getLog(Contact.class);
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]...
    Alex-
    Do you see the problem if you just enhance the class from the
    command-line "jdoc" tool?
    Also, if you just don't initialize the log, do you still see the
    problem (e.g., making it a lazy initialization via some static
    getLog() method)?
    In article <[email protected]>, Alex Roytman wrote:
    It is not even ant just a class which I run from under Intellij IDEA
    package peacetech.gao.ccs.tools;
    import kodo.enhance.JDOEnhancer;
    public class Enhance {
    String arr[];
    public static void main(String[] args) throws Exception {
    String root = "D:/projects/gao/ccs/main/java/jdo/classes/";
    System.getProperties().put("kodo.properties", "ccs-jdo.properties");
    JDOEnhancer.main(new String[]{"-te", "true", root +
    "/peacetech/gao/ccs/jdo/package.jdo"});
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]...
    Alex-
    This seems to be a problem that happens under some classloader
    circumstances.
    Do you have a special <classloader> element for your <enhance> target?
    If so, does it still occur if you remove it (conversely, does it still
    happen if you add in a <classloader> element?
    In article <[email protected]>, Alex Roytman wrote:
    For some reason enhancer blows on class with
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    private static final Log LOG =
    LogFactory.getLog(GaoParticipant.class);
    >>>>
    With following exception:
    java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:219)
    at serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:219)
    at
    com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:213
    at
    com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188
    atkodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
    at
    kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
    at
    com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
    at
    com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:3
    54)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(UnknownSource)
    atorg.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
    Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(UnknownSource)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
    wn Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
    her.dispatch(Unknown Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
    Source)
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
    atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
    atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
    atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
    at
    kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
    yImpl.java:175)
    at
    kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
    va:129)
    at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
    at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2175)
    at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2116)
    at kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:2088)
    at peacetech.gao.ccs.tools.Enhance.main(Enhance.java:14)
    Caused by: org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException: Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
    va:532)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
    va:272)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
    va:246)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
    atpeacetech.gao.ccs.jdo.GaoParticipant.<clinit>(GaoParticipant.java:14)
    ... 35 more
    Caused by: org.apache.commons.logging.LogConfigurationException:
    org.apache.commons.logging.LogConfigurationException: Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
    mpl.java:416)
    at
    org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
    va:525)
    ... 39 more
    Caused by: org.apache.commons.logging.LogConfigurationException:Class
    org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at
    org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
    mpl.java:412)
    ... 40 more
    Exception in thread "main" Process terminated with exit code 1
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • How to enhance exception class based on CX_ROOT

    I have created an exception class based on CX_ROOT (or CX_STATIC_CHECK, CX_DYNAMIC_CHECK). Now, I need to enhance its "constructor" method with my own parameters. How can I do this? Currently system does not allow this. But, I have seen many other exception classes enhanced the way I want? Any idea?
    Any pointers will be helpful.
    Regards, Neetu

    Hello Neetu
    Two steps are required to get additional IMPORTING parameters in the CONSTRUCTOR method of your exception class:
    (1) Create exception IDs (tabstrip Texts )
    Example:  ID=ZCX_SDN_CLASS, text=Invalid data type for field &FIELD& on screen &SCREEN& &REPORT&
    (2) Add corresponding instance attributes (read-only) to your exception class
    Examples: attributes FIELD, SCREEN, REPORT
    Now the CONSTRUCTOR has the additional IMPORTING parameters FIELD, SCREEN and REPORT.
    If you raise your exception class using id=ZCX_SDN_CLASS then the wildcards (e.g. &FIELD& in the text) will be replaced by IMPORTING parameter FIELD.
    Regards
      Uwe

  • Syntax error when creating Overwrite method - implicit enhancement

    Hi,
    I am working at a customer site, and need to implicitly enhance certain methods. I would like to create an Overwrite Method for the following class/method:
    CL_CRM_MKTDEF_DEFAULTS_PERSIST -> HEADER_WITH_KEY_EXITS_IN_DBASE( )
    I proceeded in the following way:
    Open class CL_CRM_MKTDEF_DEFAULTS_PERSIST in class builder (SE24)
    Select menu path Class -> Enhance
    Create, or select, enhancement implementation ZCRM_MKTDEF_PRD
    Select method HEADER_WITH_KEY_EXITS_IN_DBASE, select menu path Edit -> Enhancement Operation -> Add Overwrite Method
    Click on u201CNavigation to Overwrite Exitu201D
    After navigating to the Overwrite Exit, I click on "Check" to perform a syntax check (notice, I have not yet implemented any code. Everything so far has been done by the wizard).
    Now, I get the following error:
    Enhancement Implementation ZCRM_MKTDEF_PRD
    Unable to interpret "IS_DEFAULTS_ATTR". Possible causes: Incorrect
    spelling or grammar.
    When I create Overwrite methods for any other method in the same class, the same error does NOT occur. As far as I can tell, there is nothing special about this method that should cause this error.
    I would greately appreciate any help that any of you could give me on this one.
    thank you and best regards,
    - Marius
    PS: Here is my code (which was generated after I followed the outlined steps above) for your reference:
    CLASS LCL_ZCRM_MKTDEF_PRD DEFINITION.
    PUBLIC SECTION.
    CLASS-DATA OBJ TYPE REF TO LCL_ZCRM_MKTDEF_PRD.
    DATA CORE_OBJECT TYPE REF TO CL_CRM_MKTDEF_DEFAULTS_PERSIST .
    INTERFACES  IOW_ZCRM_MKTDEF_PRD.
      METHODS:
       CONSTRUCTOR IMPORTING CORE_OBJECT
         TYPE REF TO CL_CRM_MKTDEF_DEFAULTS_PERSIST OPTIONAL.
    ENDCLASS.
    CLASS LCL_ZCRM_MKTDEF_PRD IMPLEMENTATION.
    METHOD CONSTRUCTOR.
      ME->CORE_OBJECT = CORE_OBJECT.
    ENDMETHOD.
    METHOD IOW_ZCRM_MKTDEF_PRD~HEADER_WITH_KEY_EXITS_IN_DBASE.
    *" Declaration of Overwrite-method, do not insert any comments here please!
    *"methods HEADER_WITH_KEY_EXITS_IN_DBASE
    *"  importing
    *"    !IS_DEFAULTS_ATTR type CRMS_MKTDEF_DEFAULTS_DATA
    *"  returning
    *"    value(EV_EXISTS) type CRMT_BOOLEAN
    *"  exceptions
    *"    FAILURE .
    ENDMETHOD.
    ENDCLASS.

    Note 1256889

  • How to use Enhancement Framework in ECC 5.0 and 6.0

    hi
    is there any good tutorials on enhancement framework? i have gone through the help but its not very clear. if anyone has stepby step guide will be useful.
    ~Suresh

    This is an old question... but i think it is very useful for the developers if anyone search it and find my answer relevant like it with immediate effect.....
    What is Enhancement Framework?????????
    Enhancement Framework is the new paradigm to bring all enhancement techniques under one roof. It can also be switched using Switch Framework. The following are different enhancement technologies available under this framework.
    • Source Code Enhancement
    • Function Group Enhancement
    • Class Enhancement
    • Kernel-BADI Enhancement
    Semantically related enhancement options are grouped under a ‘Simple Enhancement Spot’. ‘Composite Enhancement Spot’ contains one or more of Simple and other Composite Enhancement Spots. On the other hand (implementation side), various related implementation elements are grouped under a ‘Simple Enhancement Implementation’. A ‘Composite Enhancement Implementation’ can contain one or more of Simple and other Complex Enhancement Implementations.
    1.Source Code enhancement
    Whenever enhancement needs to be incorporated directly into the ABAP source code, this technology shall be provided. Implementing this technology is also called as Source Code Plug-In. There are two types of Source Code enhancements possible.
    • Implicit enhancement option
    • Explicit enhancement option
    >>>Implicit enhancement option
    Throughout the ABAP system, enhancement options are automatically available at certain pre-defined places. Some of the implicit options are:
    • At the end of all the programs (Includes, Reports, Function pool, Module pool, etc.), after the last statement
    • At the beginning and end of all FORM subroutines
    • At the end of all Function Modules
    • At the end of all visibility areas (public, protected and private) of local class
    ******Note that, in order to implement any of these Source code enhancements, you need to be in the ‘Change Enhancement mode’ (the spiral icon available in the editor). Technically the source code plug-in implementations are stored in a separate include program and not as part of the original source program.***********
    >>>>Explicit enhancement option
    The Implicit enhancement options are provided at specific source code places explicitly by SAP (Note that these enhancement definitions can also be created by partners and customers in their code).
    There are two types of Explicit Enhancement options available. One which can be provided at a specific place - called Enhancement Point, and another which can be used to replace a set of statements – called Enhancement Section. For this, we now have two new ABAP statements, viz.
    • ENHANCEMENT-POINT
    • ENHANCEMENT-SECTION
    When the Enhancement-Section is implemented, only the implementation gets executed and the original code doesn’t get executed. This is a new technique, which didn’t exist previously in any of the old ways of enhancing, to exclude any standard SAP code from execution. Because of this, there can be only one active implementation of an Enhancement-Section. On the other hand, there can be multiple active implementations of an Enhancement-Point, in which case all the implementations will be executed with no guarantee in the order of execution.
    we mainly use above framework .......if nybody need further and more information let me knw...

  • Delete old assets and related classes

    Dear Experts,
    We have a new support client. They want to revise their Asset Classes as at the time of implementation too many asset classes (around 70) had been created. Now they want to have limited asset classes as per the Schedule VI.
    On the other threads the solution suggested by experts is to create the desired asset classes and create new assets (per old asset) and transfer the balances from old assets to new assets through T.Code ABUMN.
    My doubt is:
    1. How feasible is above solution when already 1 year's data exists in assets?
    2. If this solution is to be worked out, can we delete the old assets and asset classes, AFTER transferring the balances to new assets.
    Regards
    Amar
    Edited by: Z_Amarendra on Jun 10, 2009 8:30 AM

    Thanks Paul,
    - How feasible would it be to go with this option?
    - Can the new asset classes and and the assets be immediately used after transferring the balances through ABUMN? Or need to wait till new fiscal year...?
    Reply awaited
    Regards
    Amar

  • Introducing Enhanced Google Mail plug-in for BlackBerry smartphones

    Enhanced Google Mail™ plug-in for BlackBerry® smartphones
    Product Overview
    The Enhanced Google Mail™ plug-in for BlackBerry® smartphones introduces an advanced level of email service integration for BlackBerry smartphones. It supports additional Google Mail™ features that provide BlackBerry® Internet Service subscribers with broader access to their Google Mail accounts while on the go.  The Enhanced Google Mail plug-in is optional. Existing and new Google Mail integrations will continue to function without it.
    Note: The Enhanced Google Mail plug-in requires BlackBerry® Device Software 4.5 or later and Google Mail integration within the BlackBerry Internet Service. The Google Mail integration must use IMAP, not POP, to function correctly. Google Mail accounts integrated after March 2009 use IMAP. Deleting an existing account and re-integrating it will ensure that the account is using IMAP.
    BlackBerry smartphone users with existing integrated Google Mail accounts must re-associate their email accounts to receive the link to download the Enhanced Google Mail plug-in.
    Features
    Add and remove labels and stars on email messages
    Report spam email messages
    Perform local and remote searches
    Archive email messages
    View related email messages as a single conversation (threaded view)
    Note: Synchronization happens in one direction, from the BlackBerry smartphone to the Google Mail account. This means that some changes that take place in the webmail UI are not reflected on the BlackBerry smartphone. These include:
    Applying labels and stars to email messages in Google Mail after they are retrieved by the BlackBerry Internet Service.
    Labels that are renamed in Google Mail are not applied to the corresponding labels on the BlackBerry smartphone. The new label is synchronized to the BlackBerry smartphone, but does not replace the existing label.
    Email messages that are marked as read, archived, or spam in Google Mail are not marked as spam on the BlackBerry smartphone.
    Labels cannot be created, renamed, or deleted using the BlackBerry smartphone.
    Top Knowledge Base Articles
    System requirements and installation of the Enhanced Google Mail plug-in
    Features of the Enhanced Google Mail plug-in
    Limitations of the Enhanced Google Mail plug-in
    How to associate email accounts with the BlackBerry Internet Service
    How to remove an integrated email address from the BlackBerry Internet Service
    Want to learn how to use your BlackBerry® smartphone? Visit youtube.com/blackberry to help you get the most out of your BlackBerry smartphone!
    Do you have questions about your BlackBerry smartphone?
    Go to mobile.blackberry.com on your BlackBerry smartphone to enter your question and get instant answers! 

    I'm having similar show-stopper issues.  I should point out that I'm not actually using an @gmail.com address; I'm using a Google Apps account for my own domain name.   Perhaps that accounts for some of my issues.  I'm using an AT&T Bold with OS 4.6.0.167 (Platform 4.0.0.217), and I have a BES plan to get mail from my employer (the phone and the AT&T account are mine).  I did not upgrade from an old Gmail plugin; I installed the Gmail plugin for the first time.
    1)  Having messages appear in both the main Messages inbox and the Gmail inbox is not a convenience. It would be nice to be able to segregate these, as with the option to keep SMS/MMS messages out of the main inbox with Messages Options > General Options > SMS and Email Inboxes > Separate.
    2)  I have a lot of Gmail filter rules that apply labels to incoming messages and "skip the inbox."  When I receive one of these messages on my Blackberry, I get a new message notification (asterisk) on both my main Messages inbox and my Gmail inbox.  The "skip the inbox" messages are visible in the main Messages inbox, but not in the Gmail inbox (unless I Filter on "All Mail" in the Gmail inbox).  To get rid of the new message asterisks, I need to open both inboxes.  
    The whole reason I choose the "skip the inbox" option is that I don't want to see these messages unless I explicitly filter on that label.  It's bad enough that I get them in my Messages inbox, but to have Messages behave one way and Gmail another is nutty.
    3)  I'm not seeing all of my new Google Apps mail on my Blackberry, even when I choose Filter > All Mail from the Gmail inbox.  In the standard Gmail client I see everything; but only selected messages appear on the Blackberry.  I haven't been able to pin down what the pattern is.  At first it seemed that incoming mail had to have a label applied to it by a filter to appear on the Blackberry, because all the messages I have been able to receive on the Blackberry have had a label.  I haven't yet seen any unlabeled message.  What what makes it tough to pin down is that I have never received a test message I have sent to myself, and I have tried using my work e-mail, Yahoo Mail, Hotmail and AOL Webmail.  0% success rate sending myself a test message (even when a filter applies a label to these messages); 0% success rate receiving mail that Gmail filters don't apply a label to.
    I guess the issue could be with Google's IMAP implementation.  I haven't yet looked at my inbox with another IMAP client to see how that looks.  I'll try that next.
    4)  On the topic of IMAP:  If that's the interface to Gmail, it seems strange that I can't view my whole inbox.  I can only view new mail since the date/time I first set up the Blackberry Gmail plugin.  That would make sense for POPmail, but not for IMAP should be able to show me my whole inbox.
    Google's Blackberry Gmail app (from m.google.com/mail) has none of these issues, but it has other limitations (no push mail; no HMTL in messages), so I'd use Blackberry's plugin if it worked better.  For now I expect to abadon after another couple of days of noodling.

  • SDHC Micro card Class 10...?

    While I am waiting for my Incredible I've been shopping for accessories.
    Has anybody used the Kingston class 10 16GB yet? Kingston says it is version SD 3.0 protocol but is backwards compatible with SD 2.0. The Droid manual spec the card slot at SD 2.0.
    If the Incredible can't rise to SD 3.0 I am thinking Kingston's Class 10 card is no benefit over the current fastest SD 2.0 which would be a Class 6...
    I am trying to look forward to Froyo with the ability to run apps from the card.

    Here's Kingston's reply on SD 3.0/2.0 compatibility
    "SD 3.0 is not related to speed. It is related to capacity. It means that this card is compatible with the upcoming SDXC standard. SDXC will allow for even larger capacity SD cards. SDHC cards are limited to 32GB. As for the speed, you should contact the phone maker to see if it is capable of the class 10 speed."
    Apparently SD 3.0 is an interim standard to bridge the gap until SD 4.0 comes with higher than 32GB capacities, the 3.0 cards will be compatible with SDHC and SDX devices, if I am correct...
    The fact that HTC was a bit ambiguous in regards to the DI's read speed leads me to think they are not really certain. The tech did indicate it is a hardware related issue and although the earlier HTC phones were limited at class 2 read speeds she thought perhaps the DI may be faster due to the snapdragon processor.
    FWIW I went ahead and picked an A-Data 16GB Class 6 which should be more than sufficient. I saved 40 bucks over the Kingston and if it turns out the DI can indeed read at higher speeds and there is a need I can always pick one up later, they'll probably be cheaper by then anyways.
    Now I just need a phone to put it in....

  • OverWrite Exits for Classes

    Hi,
    I am trying to create Overwrite exit for the class, while doing this SAP is creating local class in some include and giving me chance to put my code in the same method for which i am trying to create over write exit.
    Problem is from  this local class i am not able to access the global class methods in which i am doing all this stuff.
    How can i use the methods of global class, though instation of this global class requires some mandatory parameters which i cannot provide...
    is there any restrictions in using exits for class enhancements..
    need your inputs....
    Thanks..

    Just wondering if anybody has answer for this??
    when i create over-write exit for a method in class by using new enhancement framework, it creates local class i mentioned earlier in this thread.
    using this local class i need to call private method of the global class is it possible or forbidden by SAP??
    please let me know in general,
    whether local classes in Global classes can access private methods of global classes??
    whether global classes which itself has local classes def and implementations in it can access local classes methods????*
    Please Suggest!!!!
    Edited by: kranthi kumar on Sep 20, 2010 4:57 PM

Maybe you are looking for

  • MacBook Pro mid 2014 excruciatingly slow

    My MacBook Pro mid 2014 is excruciatingly slow.  After the latest upgrade, I downgraded again to 10.10.2, and reinstalled Office Mac 2011.  Can anyone help from the EtreCheck report below? Problem description: MacBook Pro is excruciatingly slow, part

  • How to populate structure through container in workflow?

    Hi experts,     i am new to workflow. i have requirement for getting multiple records in structure. so i am using bapi 'SAP_WAPI_WRITE_CONTAINER'. i have created container which contains multiline records, but i am not able pass the value to structur

  • Pavilion g6 ID46 will not boot

    Product: Pavillion g6 ID46 Serial # [edited by Moderator] Product # A6Z74UA#ABA OP sys: Windows 7 Home Prem OA My husband's Pavillion G6 will not boot. What happened: returned to the computer after being away for a while, shook the mouse to wake it u

  • Finder hangs on mounting old system disk as a external USB

    Ok, I have an old system disk which was in a mac book pro that died, it ran snow leopard. I kept the disk as a storage device in an external enclosure. Up until updating to Mountain Lion I had no problems using the disk, I have removed most of the or

  • User exit or BADI while saving purchase order

    Hello, I want to use an user exit or BADI while saving of purchase order. The objective is to check the material group of the line item while saving. We don´t want to allow to save purchase orders for one material group. Can you please guide me. Than