Creation of a BADI

Hi SAP Guru's,
Can someone provide me a detailed step by step procedure to create a BADI in CRM.
You can also mail me at [email protected]
Regards,
Amit

hi amit
Go through the following Steps
Goto Tcode SE18 for BADI Definition Creation.
give definition Name : ZBADI_CUST--> Press F5 button for Creating the Definition.
Give Description for the BADi Definition : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
In the Attributes tab you will find "TYPE" Tab
there you will check the Check Box as "Multiple" because this badi definition is active for multiple BADI Implementations
save & check the Badi Definition.
Click on "Interface" tab
Double Click on the Interface Name that is "ZIF_EX_BADI_CUST"
here the screen is take you to tcode SE24
here you will declare the methods
give method name as "GET_MATERIAL" as INSTANCE Level.
Click on Parameters Button just above your Method"GET_MATERIAL"
and Give Parameters as
P_MATNR IMPORT Type MATNR press enter
X_MARA CHANGING MARA press enter
save check and activate your badi Definition.
Note : you just declare the method in BADI Definition Section you will write the Method Implementation
in BADI IMPLEMENTATION Section.Because BADI's are pure Abstact class.
Goto Tcode SE19:
give Implementation name as : ZBADI_CUST_IMPL and press "F5" for Creation
it asks BADI Definition name as "ZBADI_CUST" just you create .
and press enter
and you give the BADI Implementation Description : XXXXXXXXXXXXXXXXXXXX
save this Implementation
click on the Interface tab and double click on the Implementation Class as "ZCL_IM_BADI_CUST_IMPL".
then you have the GET_MATERIAL Method . double click on the Method it opens the Code window for that method.
as looks like bellow.
method ZIF_EX_BADI_CUST~GET_METERIAL .
Here you will write the coding part.
if not p_matnr is initial.
select single * from mara
into x_mara
where matnr = p_matnr.
endif.
endmethod.
save,check & activate
come back and activate again.
then you need to use this badi in SE38 program.
go through the following Code
REPORT ZCUST_BADI1_IMPL_CALL.
TABLES : MARA.
*creatingthe BADI interface ref to following class
DATA : OBJ TYPE REF TO ZIF_EX_CUST_BADI1.
PARAMETERS : P_MATNR LIKE MARA-MATNR.
START-OF-SELECTION.
*passing the BADI interface ref var to following class method to get obj of BADI business add in class
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
EXPORTING
EXIT_NAME =
NULL_INSTANCE_ACCEPTED = SEEX_FALSE
IMPORTING
ACT_IMP_EXISTING =
CHANGING
INSTANCE = OBJ
EXCEPTIONS
NO_REFERENCE = 1
NO_INTERFACE_REFERENCE = 2
NO_EXIT_INTERFACE = 3
CLASS_NOT_IMPLEMENT_INTERFACE = 4
SINGLE_EXIT_MULTIPLY_ACTIVE = 5
CAST_ERROR = 6
EXIT_NOT_EXISTING = 7
DATA_INCONS_IN_EXIT_MANAGEM = 8
others = 9
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*calling the implementation class method via business add in class object
CALL METHOD OBJ->GET_MATERIAL
EXPORTING
P_MATNR = P_MATNR
CHANGING
X_MARA = MARA.
WRITE :/ MARA-MATNR,MARA-MBRSH,MARA-MTART.
If you find useful mark the points
~~Guduri

Similar Messages

  • Creation of "New Badi" with Multiple Use

    Hi,
    I am trying to create New badi within enhancement spot which is multiple use, problem here is the badi interface method has got some exporting parameters.
    when i try to activate badi definition it is showing the error this type of interface which is having exporting or returning parameters cannot be used, however if i remove export parameters in the interface method, then i am able to activate the BADI definition.
    Please suggest me, is it not possible to have badi interface method with exporting or returning parameters if it is Multiple Use Badi???
    Thanks,
    Kranthi.

    Answered my self.
    it is the restriction. below is SAP documentations that explains the same
    http://help.sap.com/saphelp_nw70/helpdata/en/e4/5c3642eca5033be10000000a1550b0/frameset.htm

  • Process Orders, send idoc (LOIPRO) while creation/modification(COR1+BADI)

    Hi all,
    I'm just trying to send standard LOIPRO idoc when a process order is saved on COR1 / COR2 transactions. First of all I've decided to do it via user-exit but I've seen that the order number (AUFNR) is not determinated yet, so finally I'm doing it with the BADI WORKORDER_UPDATE (method BEFORE_SAVE) where there is all the data ok.
    Until this point all goes fine. To send the standard idoc there is the program RCCLORD but as the order is not saved on the system tables I cannot do a submit, so I'm doing a call to the function where the idoc is send of the program ( CLOI_MASTERIDOC_CREATE_LOIPRO ). All seems to be ok, but finally it goes allways to a short dump because at the end of the function there is a commit instruction ( and it seems it is not possible into a BADI ).
    There is a easy way to do it or am I on the correct way?
    I'm trying a lot of possibilities ( and it doesn't work for distinct causes ) but allways the start point is the avobe process.
    Many thanks in advance.
    Legoles_

    Ok, I believe I have this solved...
    CORn
    --> Create or change a PP order, release and save
    BADI WORKORDER_UPDATE~BEFORE_UPDATE
    --> Do your checks and call a custom function module (ZZ_SEND_IDOC) sending the aufnr, matnr, and werks. Cal this FM starting new task destination 'none'.
    ZZ_SEND_IDOC (RFC-enabled)
    --> wait up to 60 seconds (so update finishes)
    --> add code to see if the record is no longer locked
    --> Fill parameter table rsparams with aufnr, matnr, werks, logical system, and mess type
    --> submit RCCLORD and return
    parallel processing rules say you should not use a submit in the FM but it is working for me.
    With this I can avoid using batch jobs to send these out. Yay.

  • Infotype 0008 reecord creation in a BAdI - Issue

    I am implementing the method 'CALC_SAL_ADJUSTMENT' of the BAdI definition 'HRECM00_ACTIVATION'. As per the requirement, I have to copy the record in the importing parameter IT0008_OLD, make some modifications to the record and then pass it on to the exporting parameter IT0008. Simultaneously, a new infotype 0008 record has also to be created based on the data in the new record IT0008. I tried using the FM 'BAPI_BASICPAY_CREATESUCCESSOR', since this will also delimit the previous record.
    **Create a new Infotype 0008 record, delimiting the previous record
    CALL FUNCTION 'BAPI_BASICPAY_CREATESUCCESSOR'
    EXPORTING
    employeenumber = pernr
    subtype = it0008_old-subty
    validitybegin = effdt
    validityend = c_endda
    payscaletype = it0008_old-trfar
    payscalearea = it0008_old-trfgb
    payscalegroup = it0008_old-trfgr
    payscalelevel = it0008_old-trfst
    nextincrease = it0008_old-stvor
    localallowlevel = it0008_old-orzst
    partnership = it0008_old-partn
    currency = it0008_old-waers
    comparisonpayscltype = it0008_old-vglta
    comparisonpaysclarea = it0008_old-vglgb
    comparisonpaysclgrp = it0008_old-vglgr
    comparisonpayscllvl = it0008_old-vglst
    compnextincrease = it0008_old-vglsv
    capacityutillevel = it0008_old-bsgrd
    hoursworkedperperiod = it0008_old-divgv
    annualsalary = v_annsal
    casegroupcatalog = it0008_old-falgk
    casegroup = it0008_old-falgr
    currencyannualsalary = it0008_old-ancur
    reason = it0008_old-preas
    nocommit = space
    IMPORTING
    return = wa_return
    employeenumber = v_empno
    subtype = v_subty
    objectid = v_objectid
    lockindicator = v_lockind
    validitybegin = v_valbegin
    validityend = v_valend
    recordnumber = v_recordno
    TABLES
    wagetypes = it_bwagetype.
    However, it is raising an exception 'cx_hrpa_violated_precondition', which is not caught and hence a run-time error.
    I tried using the above function module in a report program and it worked fine.
    Can anybody please let me know, whether it is possible to create an infotype 0008 record inside the above BAdI implementation? and if yes, where am I going wrong?
    Thanks in advance.
    Sujit.

    put the BAPI call as a BACKGROUND TASK & try it..
    ~Suresh

  • How to update field LEDAT in VETVG table(, Purchase order creation)

    Hi all,
    I am calculating delivery creation date in BADI:ME_PROCESS_PO_CUST. In ME23 transaction, i am able to see the date field with the correct date. But the table VETVG(LEDAT-delivery date) is not updating. Anybody knows, is there is any enhancement or BADI available for this.
    Thanks
    Rajavardhana Reddy

    hi.thanks for ur reply.
    but it's not a valuable answer for me.
    because i maintained the same in script editor.

  • Identifying follow up creation in CIC

    Hi all.
    In reference to this issue:
    Another question about CRM_ORDERADM_H_BADI
    Is there more definitive way to identify a follow up task - creation (when using BADI CRM_ORDER_H_BADI)? At the moment I'm using the statment:
    IF sy-ucomm = '1OMAIN_FOLLOW_UP'.
    But I don't feel very good about it. I tried looking up for a parameter that could help me in crmt_orderadm_h_wrk - but couldn't find anything helpful.
    Thanks and Regards,
    Jacob.

    Hi Suvankar
    You are correct, we only create an inquiry.  Currently we don't have a backlog item to directly create an order.    Let us know if you see many customers who would want to have the sales rep do the request and it goes directly to the order.  Many companies do not want the sales rep to create the order.  There are other scenarios, like in Cloud for Service, where a mashup is used to directly create the ECC order from Cloud for Service.
    Your BADI is the best solution for this, assuming they always want to directly go to the sales order.
    All the best
    Ginger

  • Default values in Account creation page

    Hello.
    I'm new to CRM and this forum too.
    I need some guidance. I have to set default values in account creation page. For this, I thought to use DO_INIT_CONTEXT method. And, when I searched this forum, I see a lot of threads about BADI CRM_BP_UIU_DEFAULTS.
    Can someone explain if there is any difference if we implement that using DO_INIT_CONTEXT method?
    Thanks to all!

    Hello,
    Actually, some BADI are WebUI specific.
    BADI CRM_BP_UIU_DEFAULTS only gets trigerred in WebUI BP screens.
    DO_INIT_CONTEXT method will be triggered every time you open a window wich contains the view considered. So not only during BP creation.
    Chris Evans, This is the way to go to initialize some fields during BP creation : use of BADI CRM_BP_UIU_DEFAULTS.
    Hope this helps.
    Best regards,
    Sylvain AGUETTAZ

  • Creating new record in infotype during BADI

    Hi all,
    We want to use the BADI HRPAD00INFTY "Update / Infotype maintenance" for trigering an automatic creation of some infotype records using FM HR_INFOTYPE_OPERATION.
    The creation should only happen when a new record of infotype 2001 subtype GT01 is created.
    Every time when we try something we get an error on the first insert we do using the FM.
    The Enqueue goes fine (returns subrc = 0) but when doing the insert with the FM we get the error "EPG                  428A complex application error has occurred" in the return.
    We checked the data that we're passing thru the FM and there everything is fine.
    Is it possible that due to the lock of the original save is generating we can't insert anything else and how can we work around this problem?
    We also have this problem when using the user exit and we tried to do a submit to another report but there we can't even make the lock.
    Regards,
    Olivier

    Forum post in ABAP, General: Infotype reecord creation in a BAdI - Issue
    Infotype 0008 reecord creation in a BAdI - Issue
    Reward Points if useful.

  • Badi for Purchase Requisition Release Strategy

    Can any help me to know about the BADI for Purchase Requisition Release Strategy .Is their any BADI to  control the PO Price for a PR release strategy
    Thanks for your help

    This badi is for schedule agreement ?
    BAdI: Release Creation for Scheduling Agreements with Release Documentation
    Use
    You can use this Business Add-In (BAdI) to influence release creation.
    This BAdI is used in the application component Scheduling Agreements (MM-PUR-OA-SCH).
    This BAdI includes the following methods:
    Change Data Before Release Creation (BEFORE_CREATION)
    Change Data After Release Creation (AFTER_CREATION)
    This BAdI is called during manual and automatic release creation.

  • Hi...New to Badi

    Hi ,
    I am trying to learn about badi.  for this I have just searched the forum and find the link which explained with an example... but while I am doing it.. in implementation after writing the code,  syntax check is ok but while activating it is giving the error as follows.
    Error: Class "ZCL_IM_MM_PURORDER" does not contain an interface  "ZIF_EX_BADI_EKKO".          
    link which i have followed is http://www.allsaplinks.com/badi.html
    Please tell where I am going wrong.
    Regards
    Ram

    Hai Shri ram
    Go through the following Steps for BADI Creation and using
    Goto Tcode SE18 for BADI Definition Creation.
    give definition Name : ZBADI_CUST--> Press F5 button for Creating the Definition.
    Give Description for the BADi Definition : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    In the Attributes tab you will find "TYPE" Tab
    there you will check the Check Box as "Multiple" because this badi definition is active for multiple BADI Implementations
    save & check the Badi Definition.
    Click on "Interface" tab
    Double Click on the Interface Name that is "ZIF_EX_BADI_CUST"
    here the screen is take you to tcode SE24
    here you will declare the methods
    give method name as "GET_MATERIAL" as INSTANCE Level.
    Click on Parameters Button just above your Method"GET_MATERIAL"
    and Give Parameters as
    P_MATNR IMPORT Type  MATNR press enter
    X_MARA CHANGING      MARA  press enter
    save check and activate your badi Definition.
    Note : you just declare the method in BADI Definition Section you will write the Method Implementation
           in BADI IMPLEMENTATION Section.Because BADI's are pure Abstact class.
    Goto Tcode SE19:
          give Implementation name as : ZBADI_CUST_IMPL and press "F5" for Creation
          it asks BADI Definition name as "ZBADI_CUST" just you create .
          and press enter
              and you give the BADI Implementation Description : XXXXXXXXXXXXXXXXXXXX
          save this Implementation
    click on the Interface tab and double click on the Implementation Class as "ZCL_IM_BADI_CUST_IMPL".
         then you have the GET_MATERIAL Method . double click on the Method it opens the Code window for that method.
    as looks like bellow.
    method ZIF_EX_BADI_CUST~GET_METERIAL .
    Here you will write the coding part.
    if not p_matnr is initial.
      select single * from mara
                      into x_mara
                      where matnr = p_matnr.
    endif.
    endmethod.
    save,check & activate
    come back and activate again.
    then you need to use this badi in SE38 program.
    go through the following Code
    REPORT  ZCUST_BADI1_IMPL_CALL.
    TABLES : MARA.
    *creatingthe BADI interface ref to following class
    DATA : OBJ TYPE REF TO ZIF_EX_CUST_BADI1.
    PARAMETERS : P_MATNR LIKE MARA-MATNR.
    START-OF-SELECTION.
    *passing the BADI interface ref var to following class method to get obj of BADI business add in class
    CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
    EXPORTING
       EXIT_NAME                     =
       NULL_INSTANCE_ACCEPTED        = SEEX_FALSE
    IMPORTING
       ACT_IMP_EXISTING              =
      CHANGING
        INSTANCE                      = OBJ
    EXCEPTIONS
       NO_REFERENCE                  = 1
       NO_INTERFACE_REFERENCE        = 2
       NO_EXIT_INTERFACE             = 3
       CLASS_NOT_IMPLEMENT_INTERFACE = 4
       SINGLE_EXIT_MULTIPLY_ACTIVE   = 5
       CAST_ERROR                    = 6
       EXIT_NOT_EXISTING             = 7
       DATA_INCONS_IN_EXIT_MANAGEM   = 8
       others                        = 9
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *calling the implementation class method via business add in class object
    CALL METHOD OBJ->GET_MATERIAL
      EXPORTING
        P_MATNR = P_MATNR
      CHANGING
        X_MARA  = MARA.
    WRITE :/ MARA-MATNR,MARA-MBRSH,MARA-MTART.
    Regards
    Sreeni

  • Steps for  badi ?

    Please let me know the step for the creation of the badi and How to identify the badi which are implemented in the particular transaction.

    Check these links..
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    New to enhancements
    creation of table in ecc6
    for Function module exits
    New to ABAP Enhancements
    For menu Exits and screen exit
    USER EXIT
    Search through www.enips.com.
    You can find lot of material there.
    BADI's
    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
    User Exits
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    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
    TO find all BADI's
    Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
    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).
    Now
    4) 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.
    Regards,
    Balaji Reddy G
    ***Rewards if answers are helpful

  • ME_PROCESS_PO_CUST Plant and Cost Center Validation Isuue

    Hi Friends,
                      I have a requirement to validate ME21N PO creation with Account assignment 'K'. In our Business Process, we have 2 plants lets say 3000 and 5000. Plant 3000 is linked to Business Area say 4000 and Plant 5000 is linked to Business Area 9000. Now we have unique cost center assignment in both Business areas.
    My requirement is when i enter wrong cost center then system has to validate it with plant and has to pop up error message in PO creation. With BADI ME_PROCESS_PO_CUST, i am able to populate the error message when i enter wrong cost center but i can save the PO which is wrong.
    Please help me on this issue.
    I have written in my logic in BADI ME_PROCESS_PO_CUST -> PROCESS_ACCOUNT.
    Thanks,
    -Ziad

    hello ziad
    Some sample code, same code is there in POST also. just refer it, not as per your requirement.
    CHECK
    METHOD if_ex_me_process_po_cust~check.
    Konstanten
      CONSTANTS: lc_e(1)  TYPE c VALUE 'E',
                 lc_x(1)  TYPE c VALUE 'X',
                 bsart    TYPE bsart VALUE 'FO',
                 ekorg    TYPE ekorg VALUE 'REPL'.
      DATA: ls_mepoheader TYPE mepoheader.
      INCLUDE mm_messages_mac.
    Rechungspläne müssen mit der Belegart FO und in der
    EKORG = REPL angelegt sein
    Get header data
      ls_mepoheader = im_header->get_data( ).
      IF ls_mepoheader-bsart EQ bsart AND ls_mepoheader-ekorg NE ekorg.
    Create Message
        mmpur_message_forced
                lc_e
                'ZI_MM'
                '007'
                ls_mepoheader-bsart
                ls_mepoheader-ekorg
        CALL METHOD im_header->invalidate( ).
      ELSEIF ls_mepoheader-bsart NE bsart AND ls_mepoheader-ekorg EQ ekorg.
    Create Message
        mmpur_message_forced
                lc_e
                'ZI_MM'
                '008'
                ls_mepoheader-bsart
                ls_mepoheader-ekorg
        CALL METHOD im_header->invalidate( ).
      ENDIF.

  • Exit for ME51n - ABAP OO coding

    Hi,
    I am writing a BADI for ME51n - ME_REQ_POSTED.
    In that i want to restrict the account assignment category either A or K. but i am not able to write a coding as i am not good enough in OO.
    field name is KNTTP.
    how to do it?
    Thanks.

    I've done the same thing but for PO creation(ME21N) through BADi ME_PURCHDOC_POSTED.
    You may want to do same thing like below:
    DATA:re_ekpo LIKE LINE OF im_ekpo.
      data:tabix type sy-index value '1'.
    *BREAK-POINT.
      READ TABLE im_ekpo INTO re_ekpo INDEX tabix.
      tabix = tabix + 1.
    "Check for account assignment cat only for "A" and "L".
      if re_ekpo-KNTTP = 'L' or re_ekpo-KNTTP = 'A'.
    GET PARAMETER ID 'KNT' FIELD re_ekpo-KNTTP.
    IF sy-subrc ne 0.
    MESSAGE 'You are not aurthorized to use Account Assignment Category (Logit)L!!' TYPE 'E'.
    ENDIF.
    ENDIF.
    Finally assign "KNT" in parameters tab from SU01 for those users who actually want to use Account Assignment Category A and L(In my case)
    Cheers,
    Amit.

  • Setting invoice lock when creating contract object

    Hello,
    For specific contract objects we don't want to create an invoice if a document is posted on there. In the contract object you have a field called invoice locking.
    When i set this manually it is working fine, so now i want this to be set automaticly. The problem here is that i don't know how this can be done.
    I've tried the sample document:
    IMG: Financial Accounting -> Contract Accounts Receivable and Payable -> Basic Functions -> Contract Object -> Number Ranges and Contract Object Types -> Define Sample for Contract Object Types
    Here you cannot set the invoice locking
    And I've tried the badi in student accounting:
    IMG: Student Lifecycle Management -> Master Data in Student Lifecycle Management -> Student Contract Accounts (Student Accounts) -> Technical Settings for Automatic Creation and Update -> BAdI: Student Account Data
    Here i didn't find the invoice locking field
    Next to this it seems te me that you cannot set the invoice type or tax codes in the contract account and / or contract object without using the badi. Is this assumption correct?
    Can someone please help how to set this automaticly?
    Thanks a lot,
    Lukas Molenaar
    Edited by: L. Molenaar on May 6, 2010 1:02 PM

    Hello,
    Thanks a lot for your answer!
    From what I understand is that in the IMG setting you provided you can trigger the badi above for example:
    If the invoice type is dependant on the communication language then you add the FM HRIQ_EVENT_ST_ACCT_UPD_BACKGR for an insert / update / delete for the 1702 on the st.
    Then you can add in the badi if the communication language is EN then invoicetype =  Z1 if <> EN then Z2.
    Please correct me if i'm wrong
    The problem i'm having is not so much with the triggering but more with the setting of the invoice lock. I would suspect that you can add the invoice lock from the badi, but i don't know how to do that.
    I hope you can help me further.
    Kind regards,
    Lukas Molenaar

  • PurchaseOrderERPConfirmation_In not processed within SRM

    Hi,
    we are using SRM 7.01 and ECC 6.06 and have implemented the peer-to-peer services.
    The backend purchase order is created with program BBP_SC_TRANSFER_GROUPED.
    The ECC system generates and sends the XML-Message PurchaseOrderERPConfirmation_Out.
    Within SRM the XML-Message PurchaseOrderERPConfirmation_In is in status error (Transaction code SXMB_MONI).
    Following the error message:
    <?xml version="1.0"
    encoding="UTF-8" standalone="true"?>
    <!-- Fehlermeldung -->
    <SOAP:Envelope xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP:Header/>
    <SOAP:Body>
    <n0:Fault
    xmlns:n0="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>n0:Client</faultcode>
    <faultstring xml:lang="de">Application
    exception occurred!</faultstring><detail>
    <nm:ExchangeFaultData xmlns:prx="urn:sap.com:proxy:SD2:/1SAI/TAS570F727BD12E0D378A86:702" xmlns:nm="http://sap.com/xi/SRM/SE/Global">
    <standard>
    <faultText/>
    </standard>
    </nm:ExchangeFaultData>
    </detail>
    </n0:Fault>
    </SOAP:Body>
    </SOAP:Envelope>
    I've attache the file PurchaseOrderERPConfirmation_In.xml with the xml of SRM SXMB_MONI.
    I tried to set an external break-point but the debugger is not opening.
    What setting have I missed?
    How can I debug the processing of PurchaseOrderERPConfirmation_In?
    Thanks in advance for all your inputs!
    Kind
    Regards
    Stefan

    Hi Wendy,
    thanks a lot!
    With your help I'm able to debug asynchron service.
    That makes live much easier
    The error was my fault - I've changed item number for backend po creation in XML-BADI of SRM.
    In SRM table bbp_pdbei it was still the old one
    Regards
    Stefan

Maybe you are looking for