Need Ways to implement Badis in ECC 6.0 (Enhancement Points)

Hi experts,
I am new to BADIs. I've a requirement to find a BADI for changing Customer number while posting customer invoice in SAP (the data is coming from XI system in IDOC format). I want to know any BADIs or userexits are there for my requirement. At the same time I want to know how to implement a BADI in ECC 6.0 .Any docs releated to this topic will be of great help.
points will be awarded for sure..........

hi Poorna Chandras... ,
These steps should enable you to find any BADI related to any transaction in a matter of minutes.
Procedure 1:
1) Go to the transaction SE37 to find your function module.
2) Locate the function SXV_GET_CLIF_BY_NAME.
3) Put a breakpoint there.
4) Now open a new session.
5) Go to your transaction. 6) At that time, it will stop this function.
7) Double click on the function field EXIT_NAME.
8) That will give you name of the BADI that is provided in your transaction.
Business Add-Ins
Procedure 2:
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
4) Now Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction
SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to differentiate between Add-In implementations using the filter Country or other criteria.
The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
Actually there is no transaction to find when and where the BADI
is called.
1. You can see the BADI description to find why it is called.
2. Once you implemented and activated the BADI, put some break points
in the BADI and see "where else used" option to check in what all
programs this BADI is called. In the ITS debug, when you are doing
the operation what exactly the BADI description tells, it will take
to the break points and you have to do manually debug the whole thing.
I know its bit difficult to do manual debug the whole thing, it
takes lot of time, but you have to be very patience when you are
dealing with BADI's.
Transaction SE18 is the BADI equivalent of transaction SMOD
Transaction SE19 is the BADI equivalent of transaction CMOD .
To find the BADI to be implemented and then implement this via SE19.
Check this blogs 2 find a BADI:
How to find if we have a BADI in Transaction VB02
Re: BADI for screen enhancement in MM01  transaction
Re: BADI and User exits
How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
When to Use a BAdI?)
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
How to implement a BAdI And How to Use a Filter
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
Introducing Business Add-Ins
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
How to implement BAdi in Enhancement Framework
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
Business Add-Ins
http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
BAdI: Customer-Defined Functions in the Formula Builder
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
You can check the links for Step by Step Badi Implemntation
(very helpful self learning docs).
BADI Step by Step Implementation.
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
The specified item was not found.
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
http://www.allsaplinks.com/badi.html
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
New to Badi`s
New to BADI
New to BADI long question
Badi
/message/4866901#4866901 [original link is broken]
Hope this helps
Rewards if useful.........
Cheers
Kripa Rangachari.

Similar Messages

  • Need help on implementing the BADI ME_GUI_PO_CUST

    Hi All,
    As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
    For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
    The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
    Instructions have been given for the Screen design.
    Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
    This BADI method is taking a view as an Input and I am not understanding how to proceed.
    Thanks and Regards,
    Smriti Singh

    Hi,
    my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
    After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
    Usefull links:
    [Re: Implementing badi ME_GUI_PO_CUST;
    [Re: ME21N - PO Enhancement using BADI;
    Kind Regards.
    Andrea

  • Need help on implementing all types of footers in one xmlp report

    Hi,
    I'm working on a XMLP report where i've requirement to print different footers as below.
    Footer1 -- First page only footer
    Footer2 -- Last page only footer
    Footer3 -- Regular footer which should be printed on all pages EXCEPT first and last
    Footer4 -- Different from all above and needs to be printed only when it is single page.
    Example#1 : If the output is of single page
    ---> Page starts
    Header
    body
    Footer4 (footer for single page output)
    Example: If the output is of multi page say 3 pages
    ---> Page 1 (first page)
    Header
    body
    Footer1 (first page only footer)
    ---> Page 2
    Header
    body
    Footer3 (regular footer for all pages EXCEPT first and last pages)
    ---> Page 3 (last page)
    Header
    body
    Footer2 (last page only footer)
    Is it possible to implement all these footers in one XMLP report? if yes, it would be a great help if someone shares the logic.
    Thanks,
    Venky

    Hi,
    my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
    After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
    Usefull links:
    [Re: Implementing badi ME_GUI_PO_CUST;
    [Re: ME21N - PO Enhancement using BADI;
    Kind Regards.
    Andrea

  • Need help on implementing functionalities of solution manager

    Hi solution manager gurus, i have to propose a method to implement SOLMAN functionality
    Landscape consists of around 15 servers
    SAP users 800
    typical 3 system DEV-CONS-PRD landscape on all instances
    Till now only Upgrade service functionality has been used in SOLMAN, they would like to implement the services below
       1.  Engagement and Service Delivery u2013 service delivery and issue management
       2. System Administrations (Solution Monitoring, Root Cause Analysis, System Diagnostic, including non-SAP IT environments)
       3. Implementation/Upgrading SAP Solutions (Scenario Management)
       4. Business Process operations (Incident Management, System Landscape (cross IT landscape)
       5. Change management (for functional enhancements and updates)
       6. Test Management
    Can anyone suggest the right approach in implementing those services
    also can anyone suggest a rough possible time line in implementing this with rough FTE?

    Hi,
    my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
    After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
    Usefull links:
    [Re: Implementing badi ME_GUI_PO_CUST;
    [Re: ME21N - PO Enhancement using BADI;
    Kind Regards.
    Andrea

  • Regading Implementing BADI's in ECC 6.0

    Hi Experts,
    I am new to ECC 6.0 can any one guide me how to Implement or create a BADI in ECC 6.0. What is Enhancement Category?.

    Hi,
    See the doc for enhancement category
    Enhancement Category Selection
    Structures and tables that were defined by SAP in the ABAP Dictionary can be enhanced subsequently by customers using Customizing includes or append structures. The enhancements do not only refer to structures/ tables themselves, but also to dependent structures that adopt the enhancement as an include or referenced structure. Append structures that only take effect at the end of the original structure can also cause shifts - in the case of dependent structures - even within these structures.
    You must select an enhancement category for the following reason: In programs where there is no active Unicode check, enhancements to tables and structures can cause syntax and runtime errors during type checks and particularly in combination with deep structures.
    In programs where there is an active Unicode check, statements, operand checks, and accesses with an offset and length are problematic - for example, if numeric or deep components are inserted into a purely character-type structure and the structure thus loses its character- type nature.
    Depending on the structure definition, the radio buttons allowed in the dialog box are ready for input. Choose one of the possible enhancement categories:
    Cannot be enhanced
    The structure must not be enhanced.
    Can be enhanced or character type
    All structure components and their enhancements must be character-type (C, N, D, or T). The original structure and all enhancements through Customizing includes or through append structures are subject to this limitation.
    Can be enhanced or character-type or numeric
    The structure and its enhancement must not contain any deep data types (tables, references, strings).
    Can be enhanced in any way
    The structure and its enhancement may contain components whose data type can be of any type.
    Not classified
    This category can be chosen, for example, for a transition status; however, it must not be chosen for creating structures.
    The rules for defining the enhancement category result implicitly from the structure setup and the classification of the types used. These rules are as follows:
    If the object contains at least one numeric type or a substructure or component (field has a structure/table/view as its type) that can be enhanced numerically, the object can no longer be enhanced character-type, but is itself, at most, enhanceable character-type or numeric.
    If the object contains a deep component (string, reference, or table type), or it contains a substructure or component that is marked as enhanceable in any way, then the object itself is enhanceable in any way.
    If the object does not contain any substructure or component that is marked as enhanceable, you can select cannot be enhanced. If the structure has not yet been enhanced, you can choose the categorycannot be enhanced in any case.
    If you are creating new tables and structures in the ABAP Dictionary, the system proposes the category can be enhanced in any way as standard value for the classification of the enhancement options. If the developer chooses a more restrictive classification than can be enhanced in any way for a particular structure, then only the classification levels that adhere to the rules above are allowed. It is not possible to choose an enhancement option of a structure that is more restrictive than the classification resulting immplicitly from the structure setup and from the classification of the types used. Therefore, only the allowed categories are proposed for selection in the maintenance user interface.
    If a structure depends on one or several other structures, the smallest category is chosen as implicit classification (in the order cannot be enhanced < can be enhanced and character-type < can be enhanced and character-type or numeric < can be enhanced in any way). This classification is greater than or less than the category in the other structures and also greater than or the same as the category that results from the actual setup in the original structure itself.
    For more information, refer to the online documentation (pushbutton "i").
    Once Table is activated a run time object is created for it , and it is globally available for all the purposes
    reward if it helps..
    regards,
    Omkar.

  • Need Detailed Info On Implementing BADI HRPAD00INFTYUI

    We just upgraded to ECC 6.0 and EP 7.0 with the ESS Business Package.  I would like to implement BADI HRPAD00INFTYUI to use Personalization to display some additional data in the Bank Information WD. I have looked at the "ESS Personal Information UI enhancement without modification " wiki by Markus Klein and it was helpful but I need detailed help on the process to implement the BADI.  Does anyone have an example that they can provide?  I'm new to BADI implementations and ABAP OO.

    Okay... Click Here
    If you have that much of a need for pre-OS X (classic), perhaps you'd be better off with a late model PPC iBook or PowerBook. You can still purchase them (refurbished) from Apple or on eBay (many with Applecare or that can have Applecare purchased for them).
    Greg

  • Finding BADI in ECC 6.0

    Dear All,
    I need to find BADI's in any particular Transactions in ECC 6.0. I am familiar with Classic BADIs regarding
    how to find them and implement them. However in ECC 6.0, badi calls are made through GET BADI and CALL BADI. Now, in order to find them, do we need to use any class or should we look for the strings GET BADI or CALL BADI in the program itself.
    Any help would be appreciated.
    p.s: Please advise on finding BADIs in ECC 6.0 only, i m familiar with finding classic badis through CL_exithandler.

    dear pradeep,
    Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    Go to the Transaction, for which we want to find the BADI,
    Get the Program Name of Corresponding Transaction.
    (Click on System->Status. Double Click on Program Name)
    Once inside the program search for 'CL_EXITHANDLER=>GET_INSTANCE'.
    Make sure the radio button   "In main program" is checked.
    A list of all the programs with call to the BADI's will be listed.
    The export parameter 'EXIT_NAME' for the method GET_INSTANCE of class CL_EXITHANDLER will give you the BADI name for the Transaction.
    Cheers
    fareed

  • HOW TO CREATE  BADI IN ECC 6.0 with Enhanance Spot?

    HI,
          Anyone let me know how to create BADI in ECC 6.0 , which have mandtory to create enhanance spot before to create badi?  I dont understand the concept of Enhanance Spot and what is the purpose to create that . Will u plz let me know step wise procedure to create badi ...
    Thanks,
    saurin.

    Hi,
    Implementing Business Add-Ins (BADI)
    The use of object orientated code within SAP has lead to new method of enhancing standard SAP code called
    Business Add-Ins or BADI's for short. Although the implementation concept is based on classes, methods and
    inheritance you do not really have to understand this fully to implement a BADI. Simply think of methods
    as a function module with the same import and export parameters and follow the simple instructions below.
    Steps:
    1. Execute Business Add-In(BADI) transaction SE18
    2. Enter BADI name i.e. HRPBSGB_HESA_NISR and press the display
    button
    3. Select menu option Implementation->Create
    4. Give implementation a name such as Z_HRPBSGB_HESA_NISR
    5. You can now make any changes you require to the BADI within this
    implementation, for example choose the Interface tab
    6. Double click on the method you want to change, you can now enter
    any code you require.
    7. Please note to find out what import and export parameters a
    method has got return the original BADI definition
    (i.e. HRPBSGB_HESA_NISR) and double click on the method name
    for example within HRPBSGB_HESA_NISR contract is a method
    8. When changes have been made activate the implementation.
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    SEE THE LINKS REGARDING SPOT
    /people/thomas.weiss/blog/2006/01/24/what-the-new-enhancement-framework-is-for-150-its-basic-structure-and-elements-for-beginners
    /people/thomas.weiss/blog/2006/03/15/the-new-enhancement-framework-part-2--what-else-you-need-to-know-before-building-an-enhancement
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    Regards
    Kiran Sure

  • Implementing badi in /sapapo/ccr

    Hi
    The requirement is to implement badi /SAPAPO/CIF_DELTA3 for Filtering of objects not relevant for the comparison (RELEVANT_FOR_COMPARE_APO). When this report runs for purchase requisition, we see error code 182. We do not want to see the error code 182 appearing for those Product locations (PRs) that are deliberately stopped from moving to R3.We are  maintaining a list of these Product location combinations in a custom table in APO. How this BADI will be implemented ?
    Thanks
    Manas

    Hi,
    CCR will try to compare transaction data of APO with ECC. Your developer needs to write the logic in BADI that for these product- location combination (mentioned in Z table) do not compare purchase requisitions.
    At the same time you need to stop these purchased requisitions coming from APO to ECC in the userexit :CIFPUR01
    EXIT_SAPLCPUR_001 (enhancement to change purchasing data (purchase requisitions, purchase orders) in ERP inbound)
    Thanks,
    Pavan Verma

  • The Excel-Mania - Best Ways of Implementing Excel-Like ADF

    Hello people, good afternoon!
    I would like to share with you a doubt i have implementing complex, matrix-like forms in ADF. More often than i'd like to hear, users ask for input forms that closely resemble Microsoft Excel, where the dimensions are layered both vertically and horizontally, and the intersection between them must contain an input or output component, allowing themselves to rapidly input the data they need or to create a web version of Oracle Reports' Matrix Report. Some cases are:
    1) The user wishes to associate the employees (located in table EMPLOYEES) to the projects (located in table PROJECTS) in a screen that lays out the employees as columns and the projects as rows in a table. The intersection between them must contain a checkbox, which will insert a third record when selected, on a table called EMP_PROJ, which associates the employees to the projects.
    2) The user wishes to input a timecard in a time control system. This system must have a screen that shows the days in the week as columns, and the projects the employee is working on as rows. On the intersection, we must provide an input text where he will enter the hours he worked on that specific project on that day.
    3) The user wishes to see a screen that shows the Open Auctions they have in a Purchasing system as rows in a table, crossed with the suppliers that have bidded on these (as the columns). The intersection must contain the price each supplier bidded on each Auction.
    As you can see, i run across this requirement A LOT =). And, as much as i have polished my "Web-Like-Applications-Are-Not-Like-This" and "You-Are-Not-Working-With-Excel" speeches, our beloved users never learn ;)
    Nevertheless, i have been looking for a consistent way to implement this behavior, and i have found some options along the way. I would like to know your impressions on this matter, and if you have any "Best-Practices" that you imagine for this case.
    CASE 1: Creating a Dynamic, On-The-Fly View Object by using ADF BC APIs and using af:table component to do the trick on the page
    PROS: Less work in the View layer, Preservation of the Table CSS Layout (very nice blue header and light brown cells)
    CONS: A LOT of work on the BC layer, creates an awful lot of View Objects, and generates tons of java code on the Application Modules.
    CASE 2: Creating the model as usual and working with repeating layouts on ADF Faces (for example, enclosing an af:cellFormat on an af:forEach to repeat each column)
    PROS: Simplifies the BC layer, making it much cleaner and maintainable.
    CONS: Loses a lot of the declarative wonders of ADF Faces and also the CSS Layouts, since we are using cellFormat, rowLayout and tableLayout instead of table tag we have to manually apply the styles to the columns and rows.
    Of course, both implementations take an awful lot of time. Any other implementation styles are quite welcome (ADF Wizards, step in!)
    Anyone wants to discuss better ways of doing it?
    Best Regards,
    Thiago Souza

    Well, you could do the following:
    1) Create a stored procedure that assembles the data into a rowset with rows and fields like the format you want.
    2) Create stored procedures that handle insert, update, and delete.
    3) Create an entity object definition with all transient attributes. Make the attributes match the elements of one row.
    4) Override doDML() in the entity object class to call your procedures (the doc explains how to do this). You might also need to do a bit of research and figure out if you need to override some other method so you can report rows with transient attribute changes only as needing posting. (getPostState(), maybe?)
    5) Create a view object definition with entity-derived attributes based on your EO attributes.
    6) Override the appropriate methods to call your data assembly procedure rather than execute a query (this is also in the doc).
    Still kind of kludgy, but it keeps your business components pretty clean, especially if you use framework classes to do most of the work for you. (I have a partial example of how to do that here.) Of course, it keeps your business components clean by moving the real work to the DB, but some people find that more maintainable that a kazillion business components.
    Hope this helps,
    Avrom

  • Problem on Implementing badi ME_GUI_PO_CUST

    Hi Expert,
    I have implement BADI ME_GUI_PO_CUST, to add the new tab.
    I have managed to View the tab in Both ME21N, and ME22N with implement SUBSCRIBE and MAP_DYNPRO_FIELDS.
    method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE
      DATA: ls_subscriber LIKE LINE OF re_subscribers.
      CHECK im_application = 'PO'.
      CHECK im_element = 'ITEM'.
      CLEAR re_subscribers[].
      ls_subscriber-name = subscreen1.
      ls_subscriber-dynpro = '0002'.
      ls_subscriber-program = 'ZRPP_ME_GUI_PO_CUST_SCREEN'.
      ls_subscriber-struct_name = 'CI_EKPODB'.
      ls_subscriber-label = text-001.
      ls_subscriber-position = 7.
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
    METHOD : IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS
      FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
      LOOP AT ch_mapping ASSIGNING <mapping>.
        CASE <mapping>-fieldname.
          WHEN 'ZCNUM'.      <mapping>-metafield = mmmfd_cust_01.
        ENDCASE.
      ENDLOOP.
    Method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS
      DATA: lw_fieldselection LIKE LINE OF ch_fieldselection.
      LOOP AT ch_fieldselection INTO lw_fieldselection.
        lw_fieldselection-fieldstatus = '+'.
        MODIFY ch_fieldselection FROM lw_fieldselection.
      ENDLOOP.
    I need to store the value, and some of thread said it required methods:
    TRANSPORT_FROM_MODEL
    TRANSPORT_TO_DYNP
    TRANSPORT_FROM_DYNP
    TRANSPORT_TO_MODEL
    I have click on the subcreen, or enter at the field, but it will not able to trigger the Above Methods.
    How do I do for the to trigger above Methods? Or Should I added some additional code at screen program? I want SAVE the data actually into EKPO.
    Thanks in advance.

    Hi Sim,
    Recently we have the same reqirement.
    You can have a look at the below code..
    First method: SUBSCRIBE  
    DATA: ls_subscriber LIKE LINE OF re_subscribers.* we want to add a customer subscreen on the Header tab
        CHECK im_application = 'PO'.
        CHECK im_element     = 'HEADER'.* each line in re_subscribers generates a subscreen. We add one subscreen in this example
        CLEAR re_subscribers[].
    * the name is a unique identifier for the subscreen and defined in this class definition
        ls_subscriber-name = subscreen1.
    * the dynpro number to use
        ls_subscriber-dynpro = '0001'.
    * the program where the dynpro can be found
        ls_subscriber-program = 'SAPLZKMMM_KAU86037'.
    * each subscreen needs his own DDIC-Structure
        ls_subscriber-struct_name = 'CI_EKKODB'.
    * a label can be defined
        ls_subscriber-label = text-001.
    * the position within the tabstrib can be defined
        ls_subscriber-position = 13.
    * the height of the screen can be defined here. Currently we suport two screen sizes:
    * value <= 7 a sevel line subscreen
    * value > 7  a 16 line subscreen
        ls_subscriber-height = 7.    APPEND ls_subscriber TO re_subscribers.Here, parameter u2018im_elementu2019 is defined as u2018HEADERu2019 as we are adding new tab in header section of PO.  
    Define a function group and take the main program and define it in ls_subscriber-program.
    Also define a sub screen with the required fields and assign it to the parameter ls_subscriber-dynpro.  
    Then method MAP_DYNPRO_FIELDS  
    FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
        LOOP AT ch_mapping ASSIGNING <mapping>.    CASE <mapping>-fieldname.      WHEN 'ZZPAYMENT_AGRE'.      <mapping>-metafield = mmmfd_cust_03.
          WHEN 'ZZPROJECT'.                     <mapping>-metafield = mmmfd_cust_04.
        ENDCASE.  ENDLOOP.  TRANSPORT_FROM_MODEL:
    DATA:     l_header       TYPE REF TO if_purchase_order_mm,
                  ls_mepoheader  TYPE mepoheader,
                  ls_customer    TYPE CI_EKKODB.*--------------------------------------------------------------------*
    * system asks to transport data from the business logic into the view
    *--------------------------------------------------------------------*    CASE im_name.      WHEN subscreen1.* is it an Header? im_model can be header or item.
            mmpur_dynamic_cast l_header im_model.
            CHECK NOT l_header IS INITIAL.* transport standard fields
            ls_mepoheader = l_header->get_data( ).* store info for later use
            MOVE-CORRESPONDING ls_mepoheader TO dynp_data_pbo.
          WHEN OTHERS.
        ENDCASE.    TRANSPORT_TO_DYNP:
    Define a FM 'ZK_KAU86037_PUSH' to push the values.CASE im_name.      WHEN subscreen1.        CALL FUNCTION 'ZK_KAU86037_PUSH'
              EXPORTING
                im_dynp_data = dynp_data_pbo.      WHEN OTHERS.
        ENDCASE.    TRANSPORT_FROM_DYNP:
      Define another FM 'ZK_KAU86037_POP'.CASE im_name.      WHEN subscreen1.        CALL FUNCTION 'ZK_KAU86037_POP'
              IMPORTING
                ex_dynp_data = dynp_data_pai.        IF dynp_data_pai NE dynp_data_pbo.
    * something has changed therefore we have to notify the framework
    * to transport data to the model
              re_changed = mmpur_yes.
            ENDIF.      WHEN OTHERS.
        ENDCASE.  TRANSPORT_TO_MODEL:     
            DATA: l_header             TYPE REF TO if_purchase_order_mm,
              ls_mepoheader        TYPE mepoheader,
              ls_customer          TYPE CI_EKKODB,
              l_po_header_handle   TYPE REF TO cl_po_header_handle_mm.*--------------------------------------------------------------------*
    * data have to be transported to business logic
    *--------------------------------------------------------------------*    CASE im_name.      WHEN subscreen1.* is it an item? im_model can be header or item.
            mmpur_dynamic_cast l_header im_model.
            CHECK NOT l_header IS INITIAL.        ls_mepoheader = l_header->get_data( ).* standard fields changed?
            IF dynp_data_pbo-zzpayment_agre   NE dynp_data_pai-zzpayment_agre
            OR dynp_data_pbo-zzproject        NE dynp_data_pai-zzproject.* update standard fields
              ls_mepoheader-zzpayment_agre   = dynp_data_pai-zzpayment_agre.
              ls_mepoheader-zzproject  = dynp_data_pai-zzproject.
              CALL METHOD l_header->set_data
                EXPORTING
                  im_data = ls_mepoheader.
            ENDIF.
          WHEN OTHERS.    ENDCASE. 
    Then we have to implement one more BADI to display the tab and update the values.
    Implement the BADI ME_PROCESS_PO_CUST. This cannot be used multiple times.  
    In this, we have methods (PROCESS_HEADER,PROCESS_ITEM).if we need to any validations for the fields we can write the logic here in this methods. In my case I need to check for the document type which I implemented in the method (PROCESS_HEADER).  
    Hope it helps you.
    Thanks
    Arbind

  • BADI in ECC 6.0

    Hi Experts,
    I had implemented a BADI in ECC 6.0. It is having some warnings. <b>But i am not able to activate the implementaion.</b>
    This badi is basically to copy the PO reference for Repair, Rework & Refurb to vendors to all documents.
    For this i found the BADi <b>LE_SHP_GOODSMOVEMENT</b>
    In that i have the method <b>CHANGE_INPUT_HEADER_AND_ITEMS</b>
    when i write the below logic here
    method IF_EX_LE_SHP_GOODSMOVEMENT~CHANGE_INPUT_HEADER_AND_ITEMS.
    **->Data declaration
      CONSTANTS:  C_LB TYPE LIKP-LFART VALUE 'LB',
                  C_X  TYPE C VALUE 'X',
                  C_O  TYPE MSEG-SOBKZ VALUE 'O',
                  C_E TYPE SHP_BADI_ERROR_LOG-MSGTY VALUE 'E',
                  C_ZM TYPE SHP_BADI_ERROR_LOG-MSGID VALUE 'ZM',
                  C_999 TYPE SHP_BADI_ERROR_LOG-MSGNO VALUE '999',
                  C_541 TYPE MSEG-BWART VALUE '541',
                  C_542 TYPE MSEG-BWART VALUE '542'.
      DATA: WA_CTLOG TYPE SHP_BADI_ERROR_LOG,
            WA_XIMSEG TYPE IMSEGVB,
            WA_XLIPS  TYPE LIPSVB.
      DATA: L_EBELN  TYPE EKPO-EBELN,
            L_EBELP  TYPE EKPO-EBELP,
            L_LIFEX  TYPE LIKP-LIFEX,
            L_LIFNR  TYPE LIKP-LIFNR,
            L_CHECK   TYPE C,
            L_BDMNG  TYPE RESB-BDMNG,
            L_MENGE1 TYPE MSEG-MENGE.
      TYPES: BEGIN OF TY_RESB,
               BDMNG TYPE BDMNG,
             END   OF TY_RESB,
             BEGIN OF  TY_MSEG,
               BWART TYPE BWART,
               MENGE TYPE MENGE_D,
             END   OF TY_MSEG.
      DATA: IT_RESB TYPE STANDARD TABLE OF TY_RESB INITIAL SIZE 0,
            IT_MSEG TYPE STANDARD TABLE OF TY_MSEG INITIAL SIZE 0.
      DATA: WA_RESB TYPE TY_RESB,
            WA_MSEG TYPE TY_MSEG.
    *-->Check for delivery type LB.
      CHECK IS_LIKP-LFART EQ C_LB.
    *-->Check for Purchase doc Number.
      IF IS_LIKP-LIFEX IS INITIAL.
        WA_CTLOG-MSGV1 = 'PO Number is Blank in Delivery'(001).
        L_CHECK = C_X.
      ENDIF.
      IF L_CHECK NE C_X.
        MOVE IS_LIKP-LIFEX TO L_LIFEX.
        CONDENSE L_LIFEX.
        L_EBELN = L_LIFEX+0(10).
        L_EBELP = L_LIFEX+11(5).
    *-->Get the PO Vendor
        SELECT SINGLE LIFNR INTO L_LIFNR FROM EKKO
                                 WHERE EBELN EQ L_EBELN.
        IF SY-SUBRC EQ 0.
    *-->Compare PO Vendor with the Delivery in Vendor
          IF IS_LIKP-LIFNR NE L_LIFNR.
            WA_CTLOG-MSGV1 =
            'PO Vendor does not match with Delivery Vendor'(002).
            L_CHECK = C_X.
          ELSE.
            READ TABLE IT_XLIPS INTO WA_XLIPS INDEX 1.
            IF SY-SUBRC EQ 0.
              SELECT BWART MENGE
                     INTO TABLE IT_MSEG FROM MSEG
                                     WHERE BWART IN (C_541,C_542) AND
                                           MATNR EQ WA_XLIPS-MATNR AND
                                           WERKS EQ WA_XLIPS-WERKS AND
                                           SOBKZ EQ C_O AND
                                           LIFNR EQ L_LIFNR AND
                                           EBELN EQ L_EBELN.
    **Subrc Check not required.
              SELECT BDMNG INTO TABLE IT_RESB FROM RESB WHERE
                            KZEAR EQ SPACE AND
                            MATNR EQ WA_XLIPS-MATNR AND
                            EBELN EQ L_EBELN
                            AND LIFNR EQ L_LIFNR.
              IF SY-SUBRC EQ 0.
                CLEAR L_BDMNG.
                LOOP AT IT_MSEG INTO WA_MSEG.
                  IF WA_MSEG-BWART EQ C_541.
                    L_MENGE1 = L_MENGE1 + WA_MSEG-MENGE.
                  ELSE.
                    L_MENGE1 = L_MENGE1 - WA_MSEG-MENGE.
                  ENDIF.
                ENDLOOP.
                LOOP AT IT_RESB INTO WA_RESB.
                  L_BDMNG = L_BDMNG + WA_RESB-BDMNG.
                ENDLOOP.
                L_BDMNG = L_BDMNG - L_MENGE1.
                IF NOT WA_XLIPS-LFIMG LE L_BDMNG.
                  MESSAGE I999(ZX) WITH
                  'Delivery Quantity Greater than Components'(004)
                                        'Required for Purchase order'(005).
                ENDIF.
              ELSE.
                MESSAGE I999(ZX) WITH
                'Delivery Quantity Greater than Components'(004)
                                      'Required for Purchase order'(005).
              ENDIF.
              IF L_CHECK NE C_X.
    *-->Populate PO Number in MSEG table
                LOOP AT CT_XIMSEG INTO WA_XIMSEG.
                  WA_XIMSEG-EBELN = L_EBELN.
                  WA_XIMSEG-EBELP = L_EBELP.
                  MODIFY CT_XIMSEG FROM WA_XIMSEG.
                ENDLOOP.
              ENDIF.
            ENDIF.
          ENDIF.
        ELSE.
    *-->Issue an error message if the PO entered in Delivery is Wrong
          WA_CTLOG-MSGV1 = 'Enter a Valid PO Number in the Delivery'(003).
          L_CHECK = C_X.
        ENDIF.
      ENDIF.
    *-->Populate the error table
      IF L_CHECK EQ C_X.
        WA_CTLOG-VBELN = IS_LIKP-VBELN.
        WA_CTLOG-POSNR = WA_XLIPS-POSNR.
        WA_CTLOG-MSGTY = C_E.
        WA_CTLOG-MSGID = C_ZM.
        WA_CTLOG-MSGNO = C_999.
        APPEND WA_CTLOG TO CT_LOG.
        CLEAR WA_CTLOG.
      ENDIF.
    endmethod.
    it is giving an<b> warning</b>
    <b>The feild LIFNR used in the where condition may contain Null values</b>
    <b>and i am not able to activate the implementation.</b>

    Hello Raghavendra
    For some reasons (that I do not fully understand) the field LIFNR of the tables can contain NULL values. However, with the following modifications of your coding it is possible to get rid of the warnings and activate the BAdI implementation.
    [code]  TYPES: BEGIN OF ty_resb,
      bdmng TYPE bdmng,
      lifnr TYPE lifnr,  " $field added
      END OF ty_resb,
      BEGIN OF ty_mseg,
      bwart TYPE bwart,
      menge TYPE menge_d,
      lifnr TYPE lifnr,  " $field added
      END OF ty_mseg.[/code]
    [code]...
    *-->Get the PO Vendor
        SELECT SINGLE lifnr INTO l_lifnr FROM ekko
        WHERE ebeln EQ l_ebeln.
        IF sy-subrc EQ 0.
       IF ( syst-subrc = 0 ) AND ( l_lifnr IS NOT INITIAL ).
    *-->Compare PO Vendor with the Delivery in Vendor
          IF is_likp-lifnr NE l_lifnr.
            wa_ctlog-msgv1 =
            'PO Vendor does not match with Delivery Vendor'(002).
            l_check = c_x.
          ELSE.
            READ TABLE it_xlips INTO wa_xlips INDEX 1.
            IF sy-subrc EQ 0.
              SELECT bwart menge lifnr  " $ field LIFNR added
              INTO TABLE it_mseg FROM mseg
              WHERE bwart IN (c_541,c_542) AND
              matnr EQ wa_xlips-matnr AND
              werks EQ wa_xlips-werks AND
              sobkz EQ c_o AND
              lifnr EQ l_lifnr AND  " Here it works but Why???
              ebeln EQ l_ebeln.
    **Subrc Check not required.
              SELECT bdmng lifnr  " $ field LIFNR added
              INTO TABLE it_resb FROM resb
              WHERE
              kzear EQ space AND
              matnr EQ wa_xlips-matnr AND
             lifnr EQ l_lifnr    AND  " Here it does not work but Why???
              ebeln EQ l_ebeln.
              DELETE it_resb WHERE ( lifnr NE l_lifnr ).
              DESCRIBE TABLE it_resb.  " fills sy-tfill.
             IF sy-subrc EQ 0.
              IF ( syst-tfill > 0 ).
                CLEAR l_bdmng.
    ...[/code]
    Regards
      Uwe

  • Displaying Multiple Values on GUI components - best way to implement

    Hi,
    my program needs to implement a basic function that most commercial programs use very widely: If the program requires that a GUI component (say a JTextField) needs to display multiple values it either goes <blank> or say something more meaningfull like "multiple values". What is the best way of implementing it?
    In particular:
    My data is a class called "Student" that among other things has a field for the student name, like: protected String name; and the usual accessor methods (getName, setName) for it.
    Assuming that the above data (i.e. Student objects) is stored in a ListModel and the user can select multiple "Students", if a JTextField is required to display the user selection (blank for multiple selections, or the student "name" for a single selection), what is the best (OO) way of implementing it? Is there any design pattern (best practice) for this basic piece of functionality? A crude way is to have the JTextField check and compare all the time the user selections one by one, but I'm sure there must be a more OO/better approach.
    Any ideas much appreciated.
    Kyri.

    Ok, I will focus on building a solution on 12c.
    right now I have used a USER_DATASTORE with a procedure to glue all the field together in one document.
    This works fine for the search.
    I have created a dummy table on which the index is created and also has an extra field which contains the key related to all the tables.
    So, I have the following tables:
    dummy_search
    contracts
    contract_ref
    person_data
    nac_data
    and some other tables...
    the current design is:
    the index is on dummy_search.
    When we update contracts table a trigger will update dummy_search.
    same configuration for the other tables.
    Now we see locking issues when having a lot of updates on these tables as the same time.
    What is you advice for this situation?
    Thanks,
    Edward

  • Best way to implement an EULA popup (imprint) in RH 9

    Hello there ,
    I have a question about RoboHelp 9. The fact is my help page is divided into 2 iframes.
    A left sidebar iframe containing a navigation menu, and a right sided iframe, the main one, containing the data. (index, content, ...)
    The fact is I want, when the user load my helpdesk, to pop up a message, asking him if he agree to the legal terms of our society (EULA).
    If he answer Yes, the popup is closed, and he can navigate freely in the menu, but if he answer No, I want him being redirected on our official website.
    Is there a simple way to implement this kind of popup, with the following features :
    focus locked on the popup (the user cannot naviguate until he didn't agreed)
    the redirection have to take over the whole window, including the iframes (because if he is redirected only on the main iframe, he still can load pages from the left sidebar menu)
    I tried :
    to use BSSCPopup(), but it loses focus as I click outside the popup, and it cannot be closed properly.
    I tried to use jQuery, but RoboHelp don't appreciate the library, and reformat the code (impossible to make it works).
    I tried to use simply javascript, was the best results, as I could keep the focus, close the popup, but the redirection was always made on the main iframe, whatever I tried.
    Thus, that leads me to begging for help, 'cause I just don't get why it's that hard to implement this in RH.
    Thank you for any suggestions or help

    Actually, it is a bit more complex than you think. For example, when the user leaves the page and returns an hour later, you don't want to show the popup (overlay, because you can close a popup) again. This means that you need to save the acceptance in a cookie. The content files should also check whether the terms are accepted and whether the navigation frame is not shown. If the navigation is not shown, the content must show the EULA acceptance overlay as well.
    Note that there will be a way to circumvent this with web development tools if you are using JavaScript (just disable the overlay with the tool). Or even the possibility that JavaScript is turned off. The only reliable way would be server side scripting (PHP etc.) and RH doesn't support that. So make sure that your EULA contains some information on this possibility as well, such as a link in your topics stating that using the pages means that you accept the EULA. This may even be easier to implement, but I have no idea of the legal implications.
    You can use jQuery for RoboHelp (I've used it quite a bit.) In my experience, RoboHelp doesn't reformat the code when it is in an external script file. I use a lot of script files and I have never seen this behaviour before (though that doesn't mean it doesn't of course).
    Such a requirement is a lot of work and the best I can do on the forum is point you in the right direction.
    If you require professional support, contact me via my site: http://www.wvanweelden.eu/ and we can talk about your options. Note that this is not associated with my forum contributions nor is it in any way affiliated with Adobe.
    Greet,
    Willam

  • Remote Function Call (RFC) within a BAdI in ECC to CRM

    I've a remote enabled FM in a CRM system which I want to call within a BAdI implementation of a ECC system. As a result, the CRM system is the RFC server and the ECC system is the RFC client.
    The FM in CRM simply gets the relevant rows of a Z table which, of course, only exists in CRM and passes these rows to the calling program as per parameter supplied by the calling program.
    Now the BAdI in ECC is for changing 'Contracts' data in SAP (transactional data) before posting the contracts in the ECC database. The business uses a transaction where a large number of contracts are processed and documents posted in the system - and when this happens the system runs through (calls) the BAdI one contract at a time.
    If I call the RFC enabled FM anywhere within this BAdI, it gets the data for one contract only so it reduces a great deal of performance in regards to memory consumption, network load etc. So I want to avoid this and call the RFC FM once instead, if possible.
    Is it possible to call this RFC FM once only (to load the CRM Z table data for all contracts) and store it in a global table/area within the instantiated BAdI class (visibility public) so that when the BAdI is called the second time onwards it can read the global table/area by READ TABLE WITH KEY statement and avoid the RFC call for each BAdI call?
    I was also thinking about may be using ABAP Shared Memory if this is a possibility in order to avoid the repeated RFC call? But this table on the RFC server changes frequently....so it might not be a good idea? or....??
    I would greatly appreciate your inputs and thoughts regarding this; it would be great to hear if someone had had a similar experience.
    Cheers,
    Sougata.

    As the Z table is only updated via a particular program in CRM - we developed and called a RFC enabled FM in that report when its updating the Z table to update the Z table in ECC to keep it in sync.
    Short term benefit but might be long term pain if the Z table in CRM is updated by another program/process/application in the future! Not to mention any table field changes in CRM has to be also made in ECC everytime which is again a pain.
    This is a workaround and definitely not a full-proof solution - but I guess these days one has to shut up and deliver whatever the customer wants!

Maybe you are looking for

  • Using External HD and Itunes

    I bought an external HD to deal with my increasing music collection. However, I don't t want to completely remove all my music from my computer -- I'd still like to keep some music local. What's the best way to manage the music, assuming I don't want

  • Information needed: Disabling front-facing touch buttons for full Kiosk mode

    I am wanting to create a kiosk using the ideacentre A300 series. I can configure Windows 8 to function like a kiosk, but I can't get the physical buttons on the computer to either turn off, or to disable temporarily (I realize the buttons cannot be c

  • How to use special aggregation in bi  beans

    Dear Gurus: I am using Bi beans in a project, on cube has a banlance measure, I set the last() aggregation in olap option with OEM, But when I query this cube, this measure still use default sum(), So whould you please help me how to use this special

  • Stlarch_icons .xmb icon pack for dzen or other status bars

    I made a .xbm icon pack for dzen or other status bars. They're 8x8 like sm4tik's. Much thanks to him and lokaltog. The icons are based on theirs and various other souces and some are original. I originally got the inspiration from lokaltog's post in

  • Calendar not sync'ing to Outlook -Send Using

    I recently upgraded the Facebook app - I think this was the cause of this issue. When I add a new calendar appointment, the New Appointment screen shows "Send Using: Facebook" -- so when I create the appointment, it apparently is saved to a facebook