Customer Enhancement

Hello,
in ABAP there are Business Add-Ins (part of the Enhancement Framework) for customer-specific enhancements.
Which possibilities do I have in JAVA to enable customer-specific enhancements ?
Thank you in advance and kind regards.

Hello,
I will have an application with many input fields to create/edit a data record. Customers should have the possibility to preallocate some input fields.
Before saving the changes I will check the data. Customers should now have the possibility to add their own checks.
Thank you in advance and kind regards,
Dagmar

Similar Messages

  • Custom Enhancement for IT207

    Hello Gurus!
    This is my first post so bear with me.  I am trying to update IT207 for Maryland (MD) counties using a custom enhancement in HRPAD00INFTYDB.  This is called when an employee changes the MD county in their Permanent Address in ESS.  I've done the same thing for IT210 using FM HR_ECM_INSERT_INFOTYPE with success, but when I use the same FM to update IT207 I get an error.
    ST22 Info                                                                               
    Error analysis                                                                               
    An exception occurred that is explained in detail below.                            
         The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not           
          caught in                                                                               
    procedure "ADD_MESSAGES" "(METHOD)", nor was it propagated by a RAISING clause.     
         Since the caller of the procedure could not have anticipated that the               
         exception would occur, the current program is terminated.                           
         The reason for the exception is:                                                    
         You attempted to use a 'NULL' object reference (points to 'nothing')                
         access a component.                                                                 
         An object reference must point to an object (an instance of a class)                
         before it can be used to access components.                                         
         Either the reference was never set or it was set to 'NULL' using the                
         CLEAR statement.                                                                    
    The program reads IT207 using FM HR_ECM_READ_INFOTYPE, loops at lt_p0207, updates the begda and taxar (Residence Tax Area), then runs FM HR_ECM_INSERT_INFOTYPE to create the new record.  This produces a dump (details above). The message that is being added is from message class PG, 204, and is only a warning. 
    If I only update the taxar (not the dates) the IT207 record is updated with the incorrect dates.
    I am running FMs HR_ECM_INITIALIZE_BUFFER and HR_ECM_ENQUEUE_PERNR prior to reading IT207.
    I have done extensive debugging of the enhancement ... I can manually skip the date check and it works fine.  After a number of debugging sessions, the update works fine ... but only until I log out and re log in.
    Any ideas on how to fix so that ADD_MESSAGES is not called?
    Thanks!
    Carl

    My issue has been solved!
    I had previously declared the message handler as:
            DATA:  lo_msg_handler TYPE REF TO if_hrpa_message_handler.
    The enhancement activate ok until a message was passed.  I found by changing the message handler to:
            DATA:  lo_msg_handler TYPE REF TO CL_HRPA_MESSAGE_LIST.
    If I didn't want to output the messages I could have declared it as:
            DATA:  lo_msg_handler TYPE REF TO CL_HRPA_DUMMY_MESSAGE_HANDLER.
    Next I instantiated the message handler:
           CREATE OBJECT lo_msg_handler.
    This was followed by my existing code:
          Initialize buffer
                    CALL FUNCTION 'HR_ECM_INITIALIZE_BUFFER'
                      EXPORTING
                        message_handler = lo_msg_handler.
          Enqueue Pernr (fixes context issue)
                    CALL FUNCTION 'HR_ECM_ENQUEUE_PERNR'
                      EXPORTING
                        pernr           = <new_p0006>-pernr
                        message_handler = lo_msg_handler
                      IMPORTING
                        is_ok           = lv_is_ok.
    I hope this might help others.

  • Error in Variable in Customer Enhancement

    Message  : Error Variable in Customer Enhancement YQVMTD
    I need To Create Customer Exit For Variable based on 0P_FPER (Fiscal Year Period).The user has to enter a value for Fiscal year/Period(0P_FPER).If the user is entering Current month(eg:July 2009) then the report should display Previous Month(eg:June 2009) .If user is entering months other than current month (eg: April 2009)  then the report should display April 2009 Data only.
    Special Case: If the System Date is Jan 2009(That is if Current Month is Jan 2009) then the report should display Dec 2008 Data.
    This is the exit in CMOD for the customer exit variable u2018YQVMTDu2019.  This variable in not ready for input.
    DATA :
                curfiscper TYPE /bi0/oifiscper,
          Curperiod(3) TYPE n,
          Curfiscyear(4) TYPE n,
      When u2018YQVMTDu2019.
       IF i_step = 2.
         READ TABLE i_t_var_range WITH KEY
         vnam = '0P_FPER'
         iobjnm = '0FISCPER'
          INTO l_s_var_range.
        if sy-subrc = 0.
             Concatenate sy-datum0(4) '0' sy-datum4(2) into curfiscper.
             If l_s_var_range-low = curfiscper.
                Curperiod = l_s_var_range-low+4(3).
                If Curperiod = '001'.
                   Curfiscyear = l_s_var_range-low(4).
                   Curfiscyear =  Curfiscyear - 1.
                   Concatenate Curfiscyear '012' into l_s_var_range-low .
                Else.
                   Curperiod = Curperiod - 1.
                   Concatenate l_s_var_range- low(4) curperiod into l_s_var_range-low. 
                EndIf.
              Else.
                 l_s_var_range-low = l_s_var_range-low.
             EndIf.
        l_s_range-sign = 'I'.
        l_s_range-opt = ' EQ '.
        APPEND l_s_range TO e_t_range.
        EndIf.
      EndIf.
    When i execute the query i am getting the following error:
    Error Variable in Customer Enhancement YQVMTD
    Diagnosis
    This internal error is a deliberate termination, since a program status has arisen, that is not allowed to occur.
    The error has arisen for variable YQVMTD in the customer enhancement .
    Procedure
    Please check your customer enhancement.
    Procedure for System Administration
      Notification Number BRAIN 649
    Please have a look into this and suggest me whether i need to change anything in the code in the exit.

    Hi Rathy,
       Yes I made the change at all places.
    When 'YQVMTD'.
    IF i_step = 2.
    LOOP AT I_T_VAR_range INTO l_s_var_range WHERE vnam = '0P_FPER'.
    Concatenate sy-datum0(4) '0' sy-datum4(2) into curfiscper.
    If l_s_var_range-low = curfiscper.
    Curperiod = l_s_var_range-low+4(3).
    If Curperiod = '001'.
    Curfiscyear = l_s_var_range-low(4).
    Curfiscyear = Curfiscyear - 1.
    Concatenate Curfiscyear '012' into l_s_range-low .
    Else.
    Curperiod = Curperiod - 1.
    Concatenate l_s_var_range-low(4) curperiod into l_s_range-low.
    EndIf.
    Else.
    l_s_range-low = l_s_var_range-low.
    EndIf.
    l_s_range-sign = 'I'.
    l_s_range-opt = ' EQ '.
    APPEND l_s_range TO e_t_range.
    Endloop.
    EndIf.

  • IS-RETAIL: How to update custom enhancement field using BAPI?

    Hi gurus,
    Like ECC BAPI: BAPI_MATERIAL_SAVEDATA,
    This BAPI(BAPI_MATERIAL_MAINTAINDATA_RT) is specific for IS-RETAIL to create and update material master data.
    But now If I append one custom field "ZFIELD" to end of table MARA, my question is how to update this custom enhancement field(ZFIELD) using BAPI(BAPI_MATERIAL_MAINTAINDATA_RT)
    Thanks in advance!

    Hi DongHai,
    I suggest you create your own BAPI. Just copy the codes in BAPI_MATERIAL_MAINTAINDATA_RT and add your custom fields. If you want to append the data of the custom field in table MARA, first, you have to create a structure table then goto SE11, type MARA and display. Click the APPEND STRUCTURE then choose the structure that you've created. Hope this will help.
    Rewards if useful
    Regards,
    Mark

  • Want to change customer enhancement tab name in CJ20N

    Hi Friends
    As per our requirement, we have created customer enhancement tab in CJ20N (project definition level).
    It shows the name as cust.enhancement, but as per our requirement we want to change the tab name.
    But we are not able to change that.
    if anybody come accross this type of scenario, kindly let me know.
    Thanks
    Gowrishankar
    Edited by: gowrishankar p on Mar 30, 2010 1:26 PM
    Edited by: gowrishankar p on Mar 31, 2010 9:39 AM

    Hi mithilesh,
    we can do it. but it may need access key. Find out the screen number and program name.
    Go to se51 and input the program name and screen number then select Layout ->display.
    click on that tab, move change mode then give the text what do you want.
    Give Points if useful.
    Regards,
    Jogesh.Mutyala

  • Custom Enhancement

    Hi All,
         I have a custom enhancement implementation.Though the Enhancement is active the code associated with the enhancement is not getting executed.
    Should the the Enhancement implementation necessarily be assigned to a switch for it to get executed.Please clarify.
    Regards,
    Roopa
    Edited by: Roopa R  on Jun 18, 2008 1:36 PM

    Hi Roopa,
    All the standard SAP Enhancements are seen in SMOD. Here we will be viewing all the components for the particular packages.
    After picking up the correct one that suits to our requirement we will go to CMOD, and create a ZXXX  customer project there. After that you will be importing the particular exit and click on the components tab respectively.
    For knowing that whether your enhancement is active or not you will be clicking on the function module exits and insert a break point over there. Inside the function module exits there will be includes. In that includes you will writing your code.
    For Ex: EXIT_SAPMM06E_006  in that include write     break username , by this that particular exit gets triggered for your ID only. Similarly you will be ruuning your transaction by giving some input details, so by this you will be checking for the exits.
    In the same way for BADI's also to find a exact BADI you will be creating an implementation on the interface tab there you will be finding number of methods. Inside the methods you will putting a break point and activate them.
    Then you will run your transaction.
    Cheers,
    Swamy Kunche

  • KEPM planning method "customer enhancement"

    Dear all,
    I want to use the planning method "customer enhancement" in transaction KEPM. The planning level has been defined as well as the corresponding planning package. I also activitated the user exit COPA0006 which is behind this enhancement.
    When executing the planning method no data are selected and as a result the user exit is not performed.  If I use the same planning package but a different method (e.g. copy) data will be selected and the method is executed.
    Does anybody have any experience with the user exit COPA0006?
    Thanks a lot in advance
    Best regards Dorothee

    It worked when I created ran the integration model for a Pur Info record. I guess this works only if we had a source list ( as briefly touched upon in the BADI documentation). If any one has a different take on it, please share with me and I will really appreciate it.
    Thanks.

  • SP13 / Personalization /  Customer enhancement fields

    Hello all,
    In SP13 personalization were extended:
    - It is possible to insert customer enhancement fields in views
    - Order of view elements can be changed
    - Personalization can be send via transport system
    I see it as significant improvement and would like to use it in our system. 
    But there are some questions.
    Normally I define with matrix layout columns and place in each column UI elements (MatrixHeadData).
    Column1          Column2          
    field1.1                 field2.1               
    field1.2                 field2.2
    cust.field          cust.field          
    Then I can insert customer enhancement fields in each column. It works fine.
    1. How can i deactivate custom fields at runtime? Can i bind properties to context? I assume customer fields are created after wddomodify.
    2. It would be also nice if I could switch declarative inserted fields in view between columns (containers).
    I hope that SAP will constantly extend personalization features. Short note from SAP people about intention for further development is welcome.
    Regards
    Paul

    Hi
    <u>I guess... Spelling is wrong here.. Its.. "HEADER" not "HEADR"</u>
    <b>Please look for the following Standard SRM structures for SUS using SE11 Transaction -></b>
    INCL_EEW_PD_HEADER_CSF_SUSASN  Customer Enhancements on SUS ASN Header       
    INCL_EEW_PD_HEADER_CSF_SUSCF   Customer Enhancements on SUS CF Header        
    INCL_EEW_PD_HEADER_CSF_SUSINV  Customer Enhancements on Invoice Header (SUS) 
    INCL_EEW_PD_HEADER_CSF_SUSPCO  Cust.Enhancements in SUSPCO Header            
    INCL_EEW_PD_HEADER_CSF_SUSPO   Cust.Enhancements in SUS PO Header           
    Do let me know.
    Regards
    - Atul

  • How to find out custom enhancements module wise

    Hi ,  
    How to find out custom enhancements module wise (sd, mm,hr,fico).

    Hi
    Enter Tcode SMOD.
    In the next screen click on F4 help for enhancements:
    A Pop-up will come .
    Click on SAP Application.
    You will get list of application .
    Just click on any of the nodes and you can see the enhancements for that module.
    Regards
    Neha

  • Q: How to expose EEWB custom enhancements via Web Service Tool

    How do you expose custom enhancements so that when Selecting Attributes (step 2) of web service tool, you will be able view your custom enhancements?  We are able to see the our enhancements via GENIL_MODEL_BROWSER.  However, the enhancements are not carried forward to the Web Service Tool, any pointer or help would be rewarded with points.

    Hi Michael,
    I have a similar requirement, just wanna know how did you solved this?
    Could you please share your solution?
    Thanks...
    //Abhishek

  • POSDM Customer Enhancements into BW

    Hi Gurus,
    We have some customer enhancement fields in POSDM which are not available in the SAP delivered Datasource 0RT_PA_TRAN_CONTROL. Because this data source is with in the BW and I donot know how to enhance the Data source.
    As per my understanding source for most of the data to this data source is from table  /posdw/TLOGS. but i could n't find those enhanced fields in that table.
    If any one have worked in this area can you please help??
    your suggestion helps me alot
    Thanks
    SR

    David,
    that depends on what you want to do with the same ? if you just want to display the same - extract the same into BI as a nav attr of the customer master

  • Customer enhancement AINT0002 for T095B-KTAUNG

    Hi,
    Do you know if it's possible to use customer enhancement AINT0002 for changing the Offsetting account: Revaluation of ordinary depreciation (T095B-KTAUNG) indicated in AO90?
    I need to specify a different offsetting account for a company group.
    Thanks in advance. Regards

  • How can customer enhance standard services delivered from SAP with add..

    Dear colleagues,
    could somebody tell me, how can a customer enhance the standard enterprise services delivered from SAP with their additional customer fields? I heard there is a XI-enhancement concept which should be use and it is without modification.But I could not find any concrete  document describing this enhancement processing.
    Please advise.
    Thanks in advance,
    Hongbo  Li

    Hi,
    I have similar requirement, did you find some thing on this?
    Regards

  • Guide Delta Download.doc/Guide to Customer Enhancements.doc

    Hi All Experts.
    I want to adjust Enhancement for downloading middle ware object which is relative with BP add fields.
    Where can I Get These documents ?
    1) Guide Delta Download.doc
    2) Guide to Customer Enhancements.doc

    Hello,
    I think the Delta Download Guide is available in the <a href="http://help.sap.com/bp_crmv250/CRM_DE/index.htm">SAP Best Practices for Customer Relationship Management</a>.
    Regards
    Gregor

  • Customer enhancements

    what is the differance between customer enhancements, user exits and customer exits

    User Exits: These are provided only SD module .
    They are Empty subroutines with naming like USEREXIT_.
    We need to have Access key to implement them.
    Customer Exits: These are enhancement techniques.
    There are defined in SMOD and implemented in CMOD.
    Types of Customer exits: Function exit, Screen Exit, Menu exit.
    User Exit and Customer Exit are same ,but SAP Exit and Customer exit are different...
    Customer Exit,
    Enables you to determine values for variables by means of Functional Module exit.The function module used is EXIT_SAPLRRSO_001.
    Create a project in CMOD by selecting the SAP Enhancement RSR00001 and assign this to the enhanced proj and activate it.
    Customer Exit
    SAP creates customer exits for specific programs, screens, and menus within standard applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    They do not affect software updates
    When you add new functionality to your SAP System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System. You find find more information about locating applications with pre-defined exits in Locating Applications that have Exits
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    SAP EXIT:this processing type contained in variables that are delivered with SAP BW business content.
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    User Exits: allow you to add additional functions to the SAP standard.
    Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.
    Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).
    Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.
    Reward points if useful.

  • How to make fields editable in an custom enhancement

    Hi Experts,
    My requirement is to perform some custom validations against a field FKONT(BSEG) at the line item level of FB60 and display appropriate message and make the incorrect field editable.
    I have implemented an implicit enhancement point in include MF05AFGENJ.
    The error messages are coming but I am unable to make the GL account, cost center and profit center fields editable.
    Please let me know how to make the above fields editable after displaying the error message.
    For reference, I have done the coding like this:
    IF sy-tcode = 'FB60' .
    CHECK GL_ITEMS IS NOT INITIAL.
    DATA: L_COUNT TYPE I,
          L_STRING TYPE STRING,
          L_FKONT TYPE FIPLS,
          L_TABIX TYPE SY-TABIX,
          G_FLAG TYPE C.
    DATA: WA_ZZFSTP LIKE ZZFSTP.          "Work area for ZZFSTP table
    CONSTANTS:C_MK TYPE TXJCD VALUE 'MK0000000'.
    *-- Validating the Financial budget item field
    IF GL_ITEMS-FKONT IS NOT INITIAL.
    SELECT SINGLE FKONT
                        INTO L_FKONT
                        FROM ZFSTP
                        WHERE FKONT = GL_ITEMS-FKONT.  "cost center
    IF SY-SUBRC NE 0.
       CLEAR: G_FLAG.
       G_FLAG = 'X'.
       MESSAGE W003(ZZFI) WITH 'Please enter 'Financial' 'Budget Item Field' DISPLAY LIKE 'E'.
       EXIT.
    ENDIF.
    *-- Copying the first line item financial budget item field to all the line items in the internal table
    DESCRIBE TABLE GL_ITEMS LINES L_COUNT.
    IF L_COUNT > 1.
      READ TABLE GL_ITEMS INDEX 1.
      IF SY-SUBRC = 0.
            CLEAR: L_FKONT.
            L_FKONT = GL_ITEMS-FKONT.
    *-- Assign the tax jurisdiction codes in all the line items
             LOOP AT GL_ITEMS.
               CLEAR: L_TABIX.
               L_TABIX = SY-TABIX.
               GL_ITEMS-FKONT = L_FKONT.
               GL_ITEMS-TXJCD = C_MK.
    *-- Copy the first financial budget item number and tax jurisdiction code MK0000000 in all line items
               MODIFY GL_ITEMS INDEX L_TABIX TRANSPORTING FKONT TXJCD.
    *-- Populate tax jurisdiction and FKONT financial budget item number in XBSEG table
               L_TABIX = L_TABIX + 1.  "top record in XBSEG is for header
               READ TABLE XBSEG INDEX L_TABIX.
               IF SY-SUBRC = 0.
                 XBSEG-FKONT = L_FKONT.
                 XBSEG-TXJCD = C_MK.
                 MODIFY XBSEG INDEX L_TABIX.
               ENDIF.
             ENDLOOP.
      ENDIF.
    ENDIF. "describe statement
    CLEAR: WA_ZZSTP.
    *-- Validate the amount and GL account against the FKONT(financial budget item) number
    SELECT SINGLE FKONT
                  ZZWRBTR
                  ZZHKONT
                  ZZKOSTL
                  ZZPRCTR
           INTO CORRESPONDING FIELDS OF WA_ZZFSTP
           FROM ZFSTP
           WHERE FKONT EQ GL_ITEMS-FKONT.
    IF sy-subrc EQ 0.
    IF BSEG-WRBTR > WA_ZZFSTP-ZWRBTR.
           CLEAR: G_FLAG.
           G_FLAG = 'X'.
           MESSAGE W003(ZZFI) WITH 'Amount entered' 'cannot be' 'greater than ' WA_ZFSTP-ZZWRBTR DISPLAY LIKE 'E'.
           EXIT.
    ELSE.
             CLEAR: G_FLAG.
            G_FLAG = 'X'.
            SET CURSOR FIELD 'GL_ITEMS-HKONT'.
            MESSAGE W003(ZZFI) WITH 'Incorrect GL account' 'number entered for' 'given financial' 'budget item number'.
            EXIT.
           ELSE.
    *-- Check for cost center and profit center at line item level
             LOOP AT GL_ITEMS.
    *-- Both cost center and profit center is initial.
                IF GL_ITEMS-KOSTL IS INITIAL AND GL_ITEMS-PRCTR IS INITIAL.
                    CLEAR: G_FLAG.
                    G_FLAG = 'X'.
                    SET CURSOR FIELD 'GL_ITEMS-PRCTR' LINE SY-STEPL.
                    SET CURSOR FIELD 'GL_ITEMS-KOSTL' LINE SY-STEPL.
                    MESSAGE W003(ZZFI) WITH 'Please enter' 'cost center' 'or' 'profit center'.
                    EXIT.
    *-- Either cost center or profit center is initial
                ELSEIF GL_ITEMS-KOSTL IS INITIAL AND GL_ITEMS-PRCTR IS NOT INITIAL.
                    CHECK GL_ITEMS-PRCTR NE WA_ZZFSTP-ZPRCTR.
                      CLEAR: G_FLAG.
                      G_FLAG = 'X'.
                      SET CURSOR FIELD 'GL_ITEMS-PRCTR' LINE SY-STEPL.
                      MESSAGE W003(ZZFI) WITH 'Incorrect profit' 'center entered' 'for given' 'financial budget item' DISPLAY LIKE 'E'.
                      EXIT.
                ELSEIF GL_ITEMS-KOSTL IS NOT INITIAL AND GL_ITEMS-PRCTR IS INITIAL.
                   CHECK GL_ITEMS-KOSTL NE WA_ZFSTP-ZKOSTL.
                      CLEAR: G_FLAG.
                      G_FLAG = 'X'.
                      SET CURSOR FIELD 'GL_ITEMS-KOSTL' LINE SY-STEPL.
                      MESSAGE W003(ZZFI) WITH 'Incorrect cost' 'center entered' 'for given' 'financial budget item' DISPLAY LIKE 'E'.
                      EXIT.
                ENDIF.
             ENDLOOP.
           ENDIF. "GL Account
    ENDIF. "Amount check
    ENDIF. "SY-SUBRC check
    ENDIF.
    EXPORT G_FLAG FROM G_FLAG TO MEMORY ID 'ZER'.
    Please let me know how to make GLaccount,cost center and profit center fields editable.
    Regards,
    Sangeeta.

    Hi.. chaek the below links. may be useful to u.
    Making Table control records Editable / Non-editable
    Table control with both Editable and non Editable fields
    Regards,
    KP.

Maybe you are looking for