ABAP Application Development_ Customize Your AB..

abap customization
of 4
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  12/29/13ABAP Application Development: Customize your AB... | Getting StartedNewslettersStore   ProductsServices & SupportAbout SCNDownloadsIndustriesTraining & EducationPartnershipDeveloper Center Lines of BusinessUniversity AlliancesEvents & WebinarsInnovation Login Register  Welcome, Guest Search the Community ActivityCommunicationsActionsBrowse ABAP Application Development   0 Tweet 5  After writing my two blogs Factory-Pattern in ABAP OO and Easy implementation of BEx-Userexit-Variables I was asked, how a efficient customizing table for those classes looks like.  A short history: The factory pattern creates instances of objects which should implement a specific interface. Theseclasses have to be customized, so that the code does not change with new classes or requirements. For this, I use acustomizing table, which I create in the dictionary. The simplest way will be, to create a customer-table ( Z-Table ) and make a maintenenance dialog for this. But somefeatures are still missing:Only those classes are selectable, which implement the desired interface / at least you can point XYZ in thiswithout any checks.There is no documentation hint about the class - you only see the technical nameYou do not have a semantic link to any other objects ( e.g. Company Code, Material or in my last example BEx-Customerexit-Variables ) What to do? Use the existing dictonary features ( and they are also avaiable within a BW ).  In the following I will show, how to build a customizing table for the BEx-Customerexit-Implementation. For your case,you have to change the keyfields of the customizing table and at least the used search-helps and views to run withyour concrete scenario.  Create the concrete customizing Table The delivery and maintenance flags are: Customizing and changes are allowed. Ok, no rocket sience. Look at the entry helps/check-Tabular: I marked the check table for our variable - which goes to a view, which selects the avaiable variables (described later)and the search help for our classes.  First Step : The check table of type ZBIU001_V_BVAR selects only valid entries of the BEx-Variable-Table RSZGLOBV.With this, I can ensure that only variables which are declared as customer-exit can be choosen.  Customize your ABAP Object-Factories Posted by Hendrik Brandes in  ABAP Application Development on Jun 20, 2012 2:48:25 PM Share  0 Like  12/29/13ABAP Application Development: Customize your AB... | The view is very simple: First select the variables from table RSZGLOBV and do a join with the corresponding text-table RSZELTTXT ( just for the user ;-) ). Join:View Fields:Selections:With this selection, you can ensure, that only customer-exit variables are chosen.  Next Step : Create a searchhelp, which delivers the correct class - and even this search-help looks after inheritenceand abstract classes. The function-module will be build in the way, classical search-help modules are developed.  12/29/13ABAP Application Development: Customize your AB... | FUNCTION zbiu001_sh_exit_classname. * ---------------------------------------------------------------------- * * Local Interface: * TABLES * SHLP_TAB TYPE SHLP_DESCT * RECORD_TAB STRUCTURE SEAHLPRES * CHANGING * REFERENCE(SHLP) TYPE SHLP_DESCR * REFERENCE(CALLCONTROL) TYPE DDSHF4CTRL * ---------------------------------------------------------------------- * EXIT immediately, if you do not want to handle this step IF callcontrol-step <> 'SELONE' AND callcontrol-step <> 'SELECT' AND AND SO ON callcontrol-step <> 'DISP'. EXIT. ENDIF. IF callcontrol-step = 'SELONE'. * PERFORM SELONE ......... EXIT. ENDIF. IF callcontrol-step = The most important thing is your selection-event. There you have to traverse the class-tree (build up within the tableSEOMETAREL) and you will have to check wether a class is instantiatable via CL_ABAP_TYPEDESCR.  Create a cool maintenance view  After creating the customizing-table, you will need a view for the maintenance dialog. Why a view? Because themaintenance-views of the DDIC are very powerful and easy to enhance. The maintenance-view will be build up over your customizing table and the table SEOCLASSTX. Why this? Because Iwant to have the texts of the class description during the maintenance, so the user/developer can immediatly see,which class he has selected - and he does not have to enter any descriptions. Join-DefinitionView-Fields. Regard : DESCRIPT has the flag R for read-only.Now: Start you table maintenance generator:Just apply your settings of authorization group and function-group.  12/29/13ABAP Application Development: Customize your AB... | Follow SCNSite IndexContact UsSAP Help Portal PrivacyTerms of UseLegal DisclosureCopyright  Average User Rating(4 ratings) 0 Tweet 5   The final maintenance view Start the transacition SM30 and look at your new maintenance view:Even with great search helps:  Conclusion I hope, I could show, how easy it is, to build own customizing-dialogs for classes if you are using them in a dynamic-environment.With this approach, you have the chance, to build applications, which are maintainable  and  easy to enhance . Byusing this kind of customizing you are even in the situation to ensure, that only those classes are used, whichimplements a concrete interface.  Another point: Do you have counted, how many lines of code are necessary to get this result? At least a small functionmodule, which can easy encapsulated, so that it will work for many others too. 1798 Views Tags: abap, factory, customizing, patterns, abap_oo, bex_variables, oo_design, abap_patterns Share  0 Like 1  Comment Like (0) Avinash Verma Jun 21, 2012 7:17 AM Hi Hendrik, Thanks for this blog, its very useful !! superlike Regards, Avinash
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks