BADI IDOC_CREATION_CHECK and BDCP_BEFORE_WRITE available in SAP 4.6C?

I want to use implementations of the BADIs IDOC_CREATION_CHECK and BDCP_BEFORE_WRITE in an SAP 4.6C system but I cannot find the definition for those BADIs there. Is it possible to make the BADIs available? If not, can someone tell me how to perform the same functionality (BDCP_BEFORE_WRITE  - Prevent creation of unwanted change pointers, IDOC_CREATION_CHECK - Suppress the creation of unwanted IDocs) in an SMD (Shared Master Data) scenario?
I would be very thankful for any hints.

Hi,
I am finding following error in your log:
MsSClientHandle: no server provides service ENQ (4), requested from gmsc2_DBM_00 http://msxxserv_mt. 4669
UPD  0  0  2000  0  0 
--------++++--
+
ENQ  0  0  2000  0  0 
--------++++--
+
BTC  0  0  2000  0  0 
--------++++--
+
SPO  0  0  2000  0  0 
--------++++--
+
UP2  0  0  2000  0  0 
Please assign no. of work processes to at least 1 for above mentioned type of work process.

Similar Messages

  • Availability of SAP Automotive and DBM

    Hello,
    We are looking for information regarding the availability of SAP Automotive and SAP DBM in the following countries (Romania, Poland, Slovenia, Slovakia, Hungary, and Russia).
    Could someone help us understand what the release plan for these products in these countries is?
    Thanks
    Ariel

    Hello Ariel,
    pls. check the PAM:
    https://websmp210.sap-ag.de/support -> Release&Upgrade Info -> Product Availability Matrix.
    and search for DBM.
    In case, DBM is not released for a country, pls approach your customer to get in contact w/ the respective SAP account executive.
    Best,
    Ute

  • VAT reports which are available in SAP for Canada and Puerto Rico

    hello all,
    Does anyone know the programs/transactions for VAT reports which are available in SAP for country Canada and Puerto Rico?????
    Thanks in advance.

    As far as I know (and I live here), there is no VAT in Canada. You might look for GST or HST reports.
    Rob

  • BADI'S AND EXITS

    I need  some information and examples related to Badis and User Exits

    Hi
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. 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.
    As with customer exits (SMOD/CMOD [Page 40]), two different views are available:
    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    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 control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows 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. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    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
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    and
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    Badihttp://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
    User exits
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    Regards
    Anji

  • Badi creation and implementation

    HI all ,
    I want inforamtion on BADIs.
    How to search for BADI and also creating and implementing the badi .
    Regards
    SAntosh .

    There are two steps in User Exit creation.
    1} Identify the User Exit suitable for the requirement and that is available in the system:
    Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    2} Implement the User Exit identified through above process.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    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
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. 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.
    As with customer exits (SMOD/CMOD Page 40), two different views are available:
    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    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 control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows 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. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    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
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    REPORT Z_BADI_TEST.
    test call Badi from standard abap. (Only from rel 6.40 and above)
    do the following
    1) define the Badi (SE18). For Abap call test uncheck multiple use
    and filter boxes
    2) Implement the badi (SE19). Add any methods here in the implemntation
    3) activate
    4) define the standard class exithandler to the abap. This class is the "Badi caller
    5) define an exit variable referring to your Badi Implementation interface
    this interface will normally be something like ZIF_EX***************
    You will see this in SE18/SE19.
    6) Instantiate your instance of the badi (method call get_instance)
    7) Now call any method(s) in the Badi.
    class cl_exithandler definition load. "Declaration
    data exit type ref to zif_ex__jimbotest. "Interface reference
    data yes type c.
    data: v_knvv type knvv. "Used in Fmod call in Badi methods
    start-of-selection.
    yes = ' '.
    selection-screen begin of block b1.
    parameters: r1 radiobutton group rad1,
    r2 radiobutton group rad1,
    r3 radiobutton group rad1.
    selection-screen end of block b1.
    parameters: p_kunnr type knvv-kunnr.
    select single * into v_knvv
    from knvv
    where kunnr eq p_kunnr.
    export v_knvv to memory id 'CUST6A'. "Save customer data for the function module
    call method cl_exithandler=>get_instance "Factory method call
    exporting "Method
    exit_name = 'Z_JIMBOTEST' "Name of your BADI
    null_instance_accepted = yes
    changing instance = exit.
    if not exit is initial.
    break-point 1.
    if r1 = 'X'.
    call method exit->dispord . "Add-In call
    changing testparm1 = word.
    endif.
    if r2 = 'X'.
    call method exit->dispfakt.
    endif.
    if r3 = 'X'.
    call method exit->dispmat.
    endif.
    In the badi methods
    1)
    method ZIF_EX__JIMBOTEST~DISPORD.
    CALL FUNCTION 'Z_DISPLAY_CUST'.
    endmethod.
    2)
    method ZIF_EX__JIMBOTEST~DISPFAKT.
    CALL FUNCTION 'Z_DISPLAY_FAKT'.
    endmethod
    3)
    method ZIF_EX__JIMBOTEST~DISPMAT.
    CALL FUNCTION 'Z_DISPLAY_CUST'.
    endmethod.
    Copy via SE 41 the status SALV_STANDARD from standard SAP program SALV_DEMO_METADATA into the main program where you've created the 3 function modules below (SAP______TOP)
    Global Data for the three function modules I'm calling
    FUNCTION-POOL Z_BADI_KNVV. "MESSAGE-ID ..
    include <color>.
    include <icon>.
    include <symbol>.
    tables: zknvv.
    data: v_zzkvgr6 TYPE KNVV-ZZKVGR6.
    data: choice1 type c.
    data: choice2 type c.
    data: choice3 type c.
    data: choice4 Type c.
    data: ok-code(5) type c.
    data: answer type string.
    data: value1 type SPOP-VARVALUE1.
    data: answer1 type string.
    tables: vbak, vbap, vakpa, vbrk, vrkpa.
    data: lr_functions type ref to cl_salv_functions_list.
    constants: gc_true type sap_bool value 'X',
    gc_false type sap_bool value space.
    add for colour displays
    data: ls_color type lvc_s_colo.
    DATA : LV_SALV_COLUMNS_TABLE TYPE REF TO CL_SALV_COLUMNS_TABLE.
    data: lr_columns type ref to cl_salv_columns_table,
    lr_column type ref to cl_salv_column_table.
    Data:
    gr_table TYPE REF TO cl_salv_table.
    data: z_datum type sy-datum.
    data: v_knvv type knvv.
    data : begin of s_vbak,
    vkorg type vakpa-vkorg,
    vkgrp type vakpa-vkgrp,
    vtweg type vakpa-vtweg,
    spart type vakpa-spart,
    auart type vakpa-auart,
    vbeln type vakpa-vbeln,
    bstnk type vakpa-bstnk,
    audat type vakpa-audat,
    netwr type vbak-netwr,
    end of s_vbak.
    data : begin of s_vbrk,
    vbeln type vrkpa-vbeln,
    vkorg type vrkpa-vkorg,
    fkart type vrkpa-fkart,
    fkdat type vrkpa-fkdat,
    netwr type vbrk-netwr,
    end of s_vbrk.
    data: begin of s_vbap,
    matnr type vbap-matnr,
    arktx type vbap-arktx,
    netwr type vbap-netwr,
    kwmeng type vbap-kwmeng,
    end of s_vbap.
    data: t_vbap like table of s_vbap.
    data: t_vbak
    like table of s_vbak.
    data: t_vbrk
    like table of s_vbrk.
    data: s_name type tabname.
    data: gr_selections type ref to cl_salv_selections.
    data: gr_events type ref to cl_salv_events_table.
    Source code of the function modules.
    Function modules
    FUNCTION Z_DISPLAY_CUST.
    ""Lokale interface:
    s_name = 'S_VBAK'.
    orders in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avkorg aaudat avkgrp avtweg aspart aauart abstnk avbeln b~netwr
    into corresponding fields of table t_vbak
    up to 100 rows
    from ( vakpa as a
    inner join vbak as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'AG'
    and a~vkorg eq 'EN01'
    and a~trvog eq '0'
    and a~audat gt z_datum.
    sort t_vbak by audat descending.
    *data: gt_hyperlink type standard table of g_type_s_hyperlink.
    Instead of if_salv_c_bool_sap=>false, you can pass the
    value if_salv_c_bool_sap=>true to this method to
    see your ALV as a list.
    display data in Grid / List
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbak.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    FUNCTION Z_DISPLAY_FAKT.
    ""Lokale interface:
    s_name = 'S_VBRK'.
    invoices in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avbeln afkart avkorg afkdat
    b~netwr
    into corresponding fields of table t_vbrk
    up to 100 rows
    from ( vrkpa as a
    inner join vbrk as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'RG'
    and a~vkorg eq 'EN01'
    and a~vbtyp eq 'M'
    and a~fkdat gt z_datum.
    sort t_vbrk by fkdat descending.
    *data: gt_hyperlink type standard table of g_type_s_hyperlink.
    Instead of if_salv_c_bool_sap=>false, you can pass the
    value if_salv_c_bool_sap=>true to this method to
    see your ALV as a list.
    display data in Grid / List
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbrk.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    FUNCTION Z_DISPLAY_MATERIAL.
    ""Lokale interface:
    s_name = 'S_VBAP'.
    invoicesrs in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avbeln bmatnr barktx bnetwr b~kwmeng
    into corresponding fields of table t_vbap
    up to 100 rows
    from ( vakpa as a
    inner join vbap as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'AG'
    and a~vkorg eq 'EN01'
    and a~trvog eq '0'
    and a~audat gt z_datum.
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbap.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'ARKTX' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    http://www.****************/Tutorials/ExitsBADIs/VL02/page1.htm
    Reward points..

  • SCXI-1321 Bad Chips and Function Calls

    8-4-04
    This message is intended for the PSE of the SCXI-1321 and that person�s manager. Please route it accordingly. I would appreciate a phone response to 8**-2**-2*** so that I might share some specific experiences.
    To the managers of the SCXI product line,
    I have used the SCXI-1121 with the SCXI 1321 for some time now, approximately 6 years. Our company generally uses them for full bridge pressure transducers and similar applications. I have some suggestions that would make them more saleable. I also believe that you will never know how many customers you have already lost on this product line, for the reasons given below.
    1. For many years the shunt resistor on the 1321 has been vastly unusable. What SHOULD be possible is to command the shunt resistor through a Labview command, and then read the virtual channel to see the shunted value. That IS the purpose of the feature. What happens is that once you set the shunt command, then read the virtual channel, the very act of reading the channel UN-shunts the resistor. What you read is some value part way between, because the chip relay from Clare actually ramps open and closed, unlike a mechanical relay. If your timing loop to read the value is consistent, you will consistently read a BAD value. Several VI�s tried to command the shunt, then quickly read the virtual channel, then loop and do it again, and thought they had solved the problem. Further investigation showed that all that was really happening is that the readings appeared to be stable because of the fast loop time, but were actually mid-release of the shunt for all readings.
    2. NI eventually starting saying �don�t use virtual channels with the shunt�. In fact, there is a channel string that starts with the word �shunt� that was recommended. The only problem with this is that the data that comes back is not scaled! Keep in mind that NI has been pushing �virtual channels� on users for many years as the way to do business, and so entire test stands are developed around them and MAX. Because we depend on MAX to do the scaling, how are we supposed to be able to read the data scaled? Does NI expect customers to duplicate the efforts of MAX for every virtual channel and scale it separately? Do I have to keep duplicate tracking of scaling information so that my virtual channels will work in the main code, but again elsewhere so that my calibration routine can read the data? This is messy, and for most customers, untenable.
    3. I was told, literally, year after year and release after release, that the problem would be fixed in future versions of NI-DAQ. Each release proved that the problem was not resolved. I am sure that many customers were not repeat customers as they found the problems associated with using a simple shunt on the board. I myself needed this hardware due to the 1121/1321 parallel operation capability.
    4. After years of trying to fight with the issues above, and what seemed like random problems with the shunting of channels, a second hardware related issue has finally been identified. See SRQ#600753 with Michelle Yagle. The Clare solid state relays installed on the 14 different 1321�s I bought ALL had the same defect. Imagine what this means for troubleshooting! You swap boards to try to troubleshoot, but they are all defective and so you falsely rule out the board, the problem didn�t resolve with a different board. The lot# 0027T12627 of chips covers a wide range of 1321 serial numbers (see my SRQ for details). That means this impacts a lot of potential customers. The part is rated by the manufacturer to 80C, 176F. This particular lot stops functioning as low as 96F! A great deal of testing with heat guns, shop air, and a thermocouple showed that all the chips in this lot fail somewhere between 96 and 110F, well below manufacturers specs or NI�s specs on the board. I also tested lot 98, from a board two years older, as well as new chips from lot 03, which both worked perfectly all the way up to 212F (100C).
    Conclusions:
    I believe that the people that have tried to use your 1321 have generally had a miserable time of it, unless they already do their own scaling (like some of the Alliance members do.) This is because the shunt feature is not compatible with virtual channels, because NI did not offer a reasonable fix for this problem over a four+ year period, and does NOT advertise this limitation when people are making hardware selections. Further, I believe there are many people that have boards with the same bad lot of chips on them that don�t know it. They may have elected to hardwire their own resistors after fighting with random problems (temperature related). They might have elected to hardwire their own resistors to get around the NI-DAQ limitation. They might not even use the shunt resistor. But one thing is certain: NI needs to clean up this board�s operation, make sure that customers of the serial numbers in my SRQ named above are notified of the bad chips, and fully test that the use of the relays is transparent to LV virtual channels in the future. People will not trust NI products with this type of problems, and will not buy the product again if all the features don�t work!
    I have helped NI resolve similar issues with the SCXI-1126 years ago, which had a number of scaling issues in NI-DAQ (the board read great when you used 1k, 2k, 4k, 8k, etc. even ranges, but if you set a virtual channel to 0-2200, the readings were off.) I plotted the problem, documented it with my sales rep, and worked at length with tech support. The boards also had a lot of bad buffer amplifier chips that allowed cross talk between channels, causing a lot of other spurious problems. Those experiences were horribly frustrating, but I now buy the product with confidence. It took a lot of push on my part to convince NI there was a real underlying problem. This 1321 board is similar.
    I want NI products to be the best they can be, as I have dedicated my career around them. Please take this feedback to heart, and contact me at 8**-2**-2*** to talk about these issues. Additionally, I am speaking at NI week this year and will be available for discussion. Contact me at the same number.
    Sincerely,
    Tim Jones
    Test Equipment Design Engineer
    Space Shuttle Program
    Space, Land and Sea Enterprise, Hamilton Sundstrand

    Tim
    Thank you for your feedback for the SCXI-1321 terminal block.
    I wanted to see if it would be possible for you to move your application to NI DAQmx, the new driver for DAQ and SCXI as of NI-DAQ 7.0. I have tested the shunt calibration using a SCXI-1121 and SCXI-1321 and it works as it should. There are two ways to do the shunt calibration with DAQmx.
    The first is to use the Calibration feature in the DAQ Assistant. When creating a DAQmx Task in either MAX or LabVIEW, you can select the �Device� tab and click on the Calibration button. It will then ask you if you either want to do a null or shunt calibration, or both. It will then do the calibrations selected and save the values to the task.
    The other option to measure the shunted value is to use the AI.B
    ridge.ShuntCal.Enable property node in LabVIEW. By setting this property to True, the driver will enable the shunt for the current measurements. If you are taking a strain measurement, the value will be converted to strain.
    We are currently looking into the issues you are seeing with the Clare relays to see if other users could be affected.
    Brian Lewis
    Signal Conditioning PSE
    National Instruments

  • Check the Stock of a particular material is available in SAP R/3 from Java

    Hi all,
    We have both SAPR/3 and Java Based Systems and going to integrate with XI.
    For Java user is it possible to check the Stock of a particular material is available in SAP R/3 system or not.
    For this requirement can we create any scenario and get the stock available info from SAPR3?
    If so then which type of adapters we have to use in this case.
    The Java user don't want to store any data here and there but just view the stock is available or not just from his end only.
    bye
    regards
    konala

    You can use synchronous Java Proxy-XI-RFC.
    Code the RFC to get the stock of R/3 material and route the response back to proxy.

  • Follow-Up and Replacement Articles in SAP Retail

    Hi everybody,
    Iu2019m using SAP Retail and I need to maintain Follow-Up and Replacement Articles.
    Iu2019ve created the Follow-Up Categories in the customizing and Iu2019ve assigned replacement article to the original article in transaction WRFFUART.
    Does anyone know how the subsequent process works? If I create a Purchase Order or a Sales Order to the original article, does the system automatically replace it by the replacement Article? Iu2019ve tested this but there was no substitution.
    Thanks in advance,
    SN

    Hi Barbara,
    I am analysing the functions for Follow-Up and Replacement Articles in SAP Retail ECC 6.0 Ehp. 3. I created Substitution profiles (SPRO: Logistics u2013 General -> Material Master -> Retail-Specific Settings -> Settings for Follow-Up/Replacement Material -> Maintain Follow-Up Categories) and assigned replacement article to the original article in transaction (WRFFUART). I also activated Substitution Processing and Start Replacement logic in Background (SPRO: Logistics u2013 General -> Substitution Processing -> Activate/Process Substitution Processing).
    I tested the process steps you posted (ME21N, VL10B, WSUBST_WORKLIST). There was no automatically substitution after creating the outbound delivery. And the transaction WSUBST_WORKLIST just shows u201CNo data available for selectionu201D.
    I analysed the application and found the table WSUBST_WORKLIST. It handles the entries for substitutions. It was empty. When I fill the table manually with data and run the WSUBST_WORKLIST the outbound delivery and the purchase order have a new position with the follow-up article but the original article is still there, unchanged.
    Why did the substitution not start automatically in background and why is the original article still in the purchase order and outbound delivery?
    It is also interesting, that the material quantity changed. The purchase order includes five units of the original article and the substituted article has a quantity of eight. I guess the reason is a rounding value for procurement.
    The ERP 2005 documentation on help.sap.com ([Assigning Follow-Up and Replacement Articles ERP 2005|http://help.sap.com/erp2005_ehp_02/helpdata/en/a2/7c936660dc4da09a3a1d08ee7eeca2/frameset.htm]) describes a conversation factor for the units of measure of the original article and substitution article for each assignment. In the ECC 6.0 documentation ([Assigning Follow-Up and Replacement Articles ECC 6.0|http://help.sap.com/saphelp_erp60_sp/helpdata/en/a2/7c936660dc4da09a3a1d08ee7eeca2/frameset.htm]) this is missing. In the system I also could not find any type of conversation factor for Follow-Up and Replacement Articles.
    Is this option not available in ECC 6.0 or where can I find it?

  • Badi ME_GUI_PO_CUST and ME_PROCESS_PO_CUST

    Dear All,
    I am implementing a customer subscreen in the PO header. I have created the screen, implemented both Badi's int following way.
    Somehow, the customer data is not getting saved. It is not being passed into the Badi's, am not sur what I have missed because I have implemeted it exactly like the example implementation, only the example is for item and I am using a PO Header subscreen. This is what I have done, please suggest.
    First in ME_GUI_PO_CUST
    Methods :-
    METHOD if_ex_me_gui_po_cust~subscribe .
      ls_subscriber-name = subscreen1.
      ls_subscriber-dynpro = lc_dynpro.
      ls_subscriber-program =  lc_repid.
      ls_subscriber-struct_name = lc_struc.
      ls_subscriber-label = text-001.
      ls_subscriber-position = 10.
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
    ENDMETHOD.
    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 'ZZDEPT'.
            <mapping>-metafield = mmmfd_cust_01.
        ENDCASE.
      ENDLOOP.
    ENDMETHOD.
    METHOD if_ex_me_gui_po_cust~transport_from_model .
      DATA: l_header       TYPE REF TO if_purchase_order_mm,
            ls_mepoheader  TYPE mepoheader,
            ls_customer  TYPE ci_ekkodb.
      CASE im_name.
        WHEN subscreen1.
          mmpur_dynamic_cast l_header im_model.
          CHECK NOT l_header IS INITIAL.
          ls_mepoheader = l_header->get_data( ).
          MOVE ls_mepoheader-zzdept TO dynp_data_pbo-zzdept.
          MOVE gs_data-zzdept TO dynp_data_pbo-zzdept.
        WHEN OTHERS.
      ENDCASE.
    ENDMETHOD.
    METHOD if_ex_me_gui_po_cust~transport_to_dynp .
      CASE im_name.
        WHEN subscreen1.
          CALL FUNCTION 'ZF00MM_POHEADER_PUSH'
            EXPORTING
              im_dynp_data = dynp_data_pbo.
        WHEN OTHERS.
      ENDCASE.
    ENDMETHOD.
    METHOD if_ex_me_gui_po_cust~transport_from_dynp .
      CASE im_name.
        WHEN subscreen1.
          CALL FUNCTION 'ZF00MM_POHEADER_POP'
            IMPORTING
              ex_dynp_data = dynp_data_pai.
          IF dynp_data_pai NE dynp_data_pbo.
            re_changed = mmpur_yes.
          ENDIF.
        WHEN OTHERS.
      ENDCASE.
    ENDMETHOD.
    METHOD if_ex_me_gui_po_cust~transport_to_model .
      DATA: lv_header       TYPE REF TO if_purchase_order_mm,
            lw_ekkodb       TYPE mepoheader.
      CASE im_name.
        WHEN subscreen1.
          mmpur_dynamic_cast lv_header im_model.
          CHECK NOT lv_header IS INITIAL.
          lw_ekkodb = lv_header->get_data( ).
          IF dynp_data_pbo-zzdept NE dynp_data_pai-zzdept.
            MOVE dynp_data_pai-zzdept TO lw_ekkodb-zzdept.
            gs_data-zzdept = lw_ekkodb-zzdept.
          ENDIF.
          lv_header->set_data( lw_ekkodb ).
      ENDCASE.
    ENDMETHOD.
    ME_PROCESS_PO_CUST
    Set the field status in method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER
    METHOD if_ex_me_process_po_cust~open .
      DATA: ls_mepoheader TYPE mepoheader.
      CHECK im_trtyp EQ 'V' OR im_trtyp EQ 'A'.
      ls_mepoheader = im_header->get_data( ).
      SELECT SINGLE zzdept FROM ekko INTO gs_data_old-zzdept
                          WHERE ebeln = ls_mepoheader-zzdept.
      gs_data = gs_data_old.
    ENDMETHOD.
    METHOD if_ex_me_process_po_cust~post .
      DATA: ls_mepoheader  TYPE mepoheader.
      ls_mepoheader = im_header->get_data( ).
      ls_mepoheader-zzdept = gs_data-zzdept.
    ENDMETHOD.
    Can somebody please suggest what is going wrong ? All the methods are being called but the field ZZDEPT is not being transferred into the BADI structures and hence is not saved/changed or displayed.
    Appreciate your help.
    Thanks in advance.
    Edited by: SAP ABAPer on Jan 25, 2010 4:55 PM

    Tried very hard to improve the formatting of the post, but it doesn't seem to work for me !!

  • Help on accessing tables in Java available in SAP system

    Hi All
    A day before I had posted a question regarding the accessing of tables available in SAP R/3 system in my Java code.
    I got the following code as reply. This code is working fine.
    But in the below example, the QUERY_TABLE IS BSAUTHORS.
    In my case, the QUERY_TABLE is VBKD(Sales Document Table).
    When I replace the table name with VBKD in place of BSAUTHORS, I am getting the following error:
    ERROR BEGIN----
    com.sap.mw.jco.JCO$AbapException: (126) DATA_BUFFER_EXCEEDED: Selected fields do not fit into structure DATA
    at com.sap.mw.jco.JCO$Function.getException(JCO.java:17978)
    at com.sap.mw.jco.JCO$Client.execute(JCO.java:3143)
    at com.insync.JCO.UpdateSalesOrder.main(UpdateSalesOrder.java:34)
    ERROR END----
    Can anyone please give me a solution for this?
    Thanks in Advace,
    Vijay.
    **********************Code**********************
    import com.sap.mw.jco.*;
    public class JcoTest {
    private static JCO.Client theConnection;
    private static IRepository theRepository;
    public static void main(String[] args) {
    createConnection();
    retrieveRepository();
    try {
    JCO.Function function = getFunction("RFC_READ_TABLE");
    JCO.ParameterList listParams = function.getImportParameterList();
    listParams.setValue("BSAUTHORS", "QUERY_TABLE");
    //listParams.setValue("VBKD", "QUERY_TABLE"); // ERROR
    theConnection.execute(function);
    JCO.Table tableList = function.getTableParameterList().getTable("DATA");
    if (tableList.getNumRows() > 0) {
    do {
    for (JCO.FieldIterator fI = tableList.fields();
    fI.hasMoreElements();)
    JCO.Field tabField = fI.nextField();
    System.out.println(tabField.getName()
    + ":t" +
    tabField.getString());
    System.out.println("n");
    while (tableList.nextRow() == true);
    catch (Exception ex) {
    ex.printStackTrace();

    Hello,
    VBKD is rearly a large table. I suggest to limit the number by filling the FIELDS Table. Also there can be many entries in VBKD and so you should limit the lines by a Where statement in OPTIONS.
    I think a better way are the BAPIs:
    - BAPI_SALESORDER_GETLIST
    - BAPISDORDER_GETDETAILEDLIST
    to get the details of an Salesorder.
    Regards
    Gregor

  • AR \ AP Credit Memo is available in SAP Business One

    Dear Friends,
    I would like to AR \ AP Credit Memo is available in SAP Business One. Or else any other work around solution is there in SAP Business one.
    I am waiting for your………………………………
    Regards,
    Senthil Maruthappan.

    Hi,
    Yes, We have A/P and A/R credit memos.
    For A/P Credit Memo :
    In Purchase A/P --> A/P Credit Memo will be available.
    When we want to return the Goods we purchased to vendor after Preparing A/P Invoice means we will use A/P Credit Memo.
    For A/R Credit Memo :
    In Sales A/R --> A/R Credit memo will be available.
    When we receive the sold goods after preparing A/R Invoice then we use A/R Credit Memo while receiving the Returned Goods.
    I hope this could help you.
    Regards
    Raja.S

  • Reports Available in SAP

    Hi All,
    I have below two requirement , is there any report available in sap which fullfills my below requirement
    1) Report for outstanding commitments
    Is there any repoert available which shows outstanding commitments related to the purchase orders
    2) Is there any report available which shows all the Goods reciept documents against which no invoice posted or partial invoice made
    Thx,
    jai

    Hi All,
    After some investigation i found below two transaction codes by which we can get outstanding commitments purchase orders
    Internal Oders
    S_ALR_87013018
    S_ALR_87012999
    S_ALR_87013000
    Cost centres
    S_ALR_87013620
    this is an alternative solution
    Let me know is there any direct report available
    Still I am looking in to list of GR documents not have any invoices and made partial invoices
    Thx
    Jai
    Edited by: M Jairaj on Oct 16, 2009 8:11 PM
    Edited by: M Jairaj on Oct 16, 2009 8:38 PM
    Edited by: M Jairaj on Oct 22, 2009 3:10 PM

  • How to import seeburger adapter and mdm adapter in sap pi 7.3

    Hi all,
    how to import seeburger adapter and mdm adapter in sap pi 7.3

    Hello
    To import the Seeburger adapters, follow the instructions in the Master Installation guide and the individual guides for each of the adapters. These are available with the Seeburger software downloads.
    Regarding the MDM adapter, this is the wrong forum for that question. Try the MDM forum (but first, try searching the forum as this is a very basic question).
    Regards
    Mark

  • Is there any table or report that available in SAP for any PR/STR

    HI All,
    Is there any table or report that available in SAP for any PR/STR that are remain opened after S/O canceled.
    Please advice at the earliest.
    Thanks
    Chandru

    Chandru,
    Of course.  The standard MD06 transaction will display ALL MRP generated exception messages, and will take you to the individual material to allow you to determine how you wish to respond to it.
    So, MD06>enter the plant.  Optionally, enter the controller if you wish to limit the results by planner.
    If you are interested in Sales order cancellations, then these exceptions would be categorized by SAP as belonging to the  "exceptions during Scheduling" or "exceptions during availability" groups.  On the Exceptions group tab, select these two items (6&7), deselect the rest. Enter.
    You are now presented with a list of all materials that contain one or more of these exceptions.  From the menu bar at the top, select Edit>Find.  If you get a 'statistics' popup, click through.  Select the 'Find Exceptions' tab.
    Message 26 "excess stock in individual segment" means that in a MTO environment, you have more supply than demand against given order/items (as you would have if a cust. cancelled his MTO order).  Select this message.
    Message 20 "Cancel Process" means that you have a supply element that has NO requirements (as you would have if a cust. cancelled his MTS order).  Select this messaege.
    Message 15 " Postpone process" means that you have supply elements that are scheduled to be received earlier that necessary (as you might have if a Cust cancelled his MTS order). Optionally select this message.
    Clik the green check.  You will now notice that certain rows on the listing are highlighted.  These are the ones that contain your problem children.  Hit the "glasses selected MRP list" button.
    This takes you to the first MD05 of the highlighted items.  Review the problem.  Decide what to do:  Cancel a supply element?  Push out a supply element? Leave it alone?  Call customer service to discuss which order was cancelled and why?  etc etc etc...
    Once you are done with the first material, clik on the 'next material' icon or hit Ctrl-F2.  Repeat.  Continue till all materials have been evaluated and resolved.
    This works for any other MRP message as well.
    Regards,
    DB49

  • What causes ad-hoc to run with bad plan and its resolution

    One of our Company Application funcnalities uses the ad-hoc query that returns top first row from the result sets .There has been several times since this ad-hoc query ran with a bad
    execution in last 8 months .There is no specifice time and date or day when this query run with bad execution plan ,however whenever this query ran with a bad execution plan on SQL ,that happed always early in the morning , before 6am .The setting of database
    parameterization is set to forced .There is SQL maintenance reindexing job that runs each night at 2am that changes the recovedry model of our production database from Full to simple and changing back from simple to full after the reindexing operation .That
    causes the SQL plans to flush each night .The next day morning , when the application ad-hoc query runs on SQL first time , SQL generates a new plan for that query . Some strange reason , SQL genarates a good plan for that ad-hoc query most of the times ,but
    sometime this query picks up a bad plan .Whenever it happen,the application function becomes exetremly slow and it seems that the rest of the fuctionalities work fine meantime .
    Our application vender is aware of this issue and this issue will be fixed in the application next release .Developer is converting the ad-hoc query into stored procedure to fix this
    issue .Application new relase will not available for next 2-3 months ,meantime we still have to deal with the ad-hoc query bad execution plan issue . Usually ,when the ad-hoc query run with the bad execution plan , I retrieve the query bad plan and just remove
    the plan for that particular query from cache .Once the bad plan is removed from cache , the perfomance gets back to normal .
    As my understanding, this issue is related to parameter sniffing .but anyone thinks there are other factors responsible for this issue such as the network problem , the resource intensive
    report ran or something else .
    Has anyone have step by step troubleshooting steps that could help me with my investigation and what areas
     do I need to look into in order to investigate what could caused the ad-hoc query to pick up bad plan ?
    Any help will be apprecited .
    Daizy

    When we upgraded our Production Database to SQL server 2008R2 enterprise Edition. We ran into the transaction log file to grow too large during the reindexing job activities at night .To prevent the transaction log file to grow big , we had decided to change
    the recovery model of database from FULL to Simple before the reindexing job starts and the recovery model of Database is changed from Simple to Full after the reindexing job finishes . We also have the differential backup job setup right after the recovery
    model change back to full so the transaction log backup chain does not break.
    The transaction log chain breaks when you set the recovery to simple.
    Yes, if you take a diff backup, you can apply transaction logs from that point
    if the diff backup is good. If the diff backup is bad, you will lose all updates after you set recovery to simple. And, yes, when you hardware starts to deteoriate, you should not be surprise that the last backup is not good.
    Again, please stop setting recovery to simple, unless you have a very relaxed RPO in your SLA. Use bulk-logged recovery instead.
    By the way, you do take a t-log backup before you change the recovery mode, don't you?
     Changing the database recovery model does flush the SQL plans for specific Database. Please review this linkhttp://sqlblogcasts.com/blogs/steveh/archive/2010/09/02/changing-recovery-model-removes-plans-from-procedure-cache-for-a-database.aspx
    Hmmm. I don't have the time to verify this right now. Anyway, reindexing is good enough to flush the cache of most plans.
    I have pretty much all required info regarding this query , but what other areas or investigation do I need to do for the query parameter sniffing issue ?
    Have you researched what values the initial plan is sniffed for?
    As Erland said  adding space in query ,I don?t know adding space means just add additional space in the query so it hashes a different values .Please advice .
    Obviously, you need access to the application code. The other alternative is to set up an early morning job that runs after this first execution and which forces a recompilation; either by evicting this specific plan or more brutally runs sp_recompile on
    one of the tables in the query.
    Erland Sommarskog, SQL Server MVP, [email protected]

Maybe you are looking for