Implementation of BADI BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI

Hi All,
Facing a problem in BADI can u please help me out...
I am implementing sourcing dashboard.
I am facing problem while implementing the badi BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI in R3.
i have written following code in BBP_ECS_PO_OUT_BADI in SRM
method IF_EX_BBP_ECS_PO_OUT_BADI~BBP_B46B_PO_OUTBOUND.
data : ls_item type BBP_PDS_PO_ITEM_D.
data : w_customer_fields type BBPS_IF_CUSTOMER_FIELDS_PI.
move 'POITEM' to w_customer_fields-refobject.
move 'CATALOGID' to w_customer_fields-fieldname.
move ls_item-catalogid to w_customer_fields-container.
append w_customer_fields to ct_bapi_customer_fields.
endmethod.
i have created field zsrmcatalogid field in R3 in EKPO table.and i am now implementing the Badi in R3 for BBP_PO_INBOUND_BADI .....in extended classic scenario.
i have written following code in R3 BADI
method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI.
data : wa_customer_fields type bbps_if_customer_fields,
wa_bapi_te_mepoitem type bapi_te_mepoitem,
wa_bapi_te_mepoitemx type bapi_te_mepoitemx,
wa_extensionin type bapiparex.
data : txt_960(960) type c.
read table bbp_customer_fields into wa_customer_fields with key
refobject = 'POITEM' fieldname = 'CATALOGID'.
if sy-subrc eq 0.
move wa_customer_fields-container TO
wa_bapi_te_mepoitem-zsrmcatalogid.
wa_bapi_te_mepoitemx-zsrmcatalogid = 'X'.
endif.
clear txt_960.
clear wa_extensionin.
write wa_bapi_te_mepoitem to txt_960 left-justified.
wa_extensionin-structure = 'BAPI_TE_MEPOITEM'.
wa_extensionin-valuepart1 = txt_960(240).
wa_extensionin-valuepart2 = txt_960+240(240).
wa_extensionin-valuepart3 = txt_960+480(240).
wa_extensionin-valuepart4 = txt_960+720(240).
append wa_extensionin to bapi_extensionin.
clear txt_960.
clear wa_extensionin.
write wa_bapi_te_mepoitemx to txt_960 left-justified.
wa_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
wa_extensionin-valuepart1 = txt_960(240).
wa_extensionin-valuepart2 = txt_960+240(240).
wa_extensionin-valuepart3 = txt_960+480(240).
wa_extensionin-valuepart4 = txt_960+720(240).
append wa_extensionin to bapi_extensionin.
endmethod.
But its not working...
The PO details are not passed from SRM to R3.......
Can anybody help me regarding how to debug the BADI in R3.
Thanks in Advance...

Hi Ravi,
I never tried those BADIs to pass CUF fields.
But here an attempt to understand it.
First, have you maintained the mandatory R/3 CUF mapping table BBP_CUFMAP ?
Your SRM BADI is not correct, because you don't populate enough data.
There is a particular logic for ct_bapi_customer_fields (look at R/3 mapping in LBBP_BAPI_POF04, called before the R/3 BADI).
Following fields must be populated:
- REFOBJECT: ok with POITEM
- FIELDNAME: dummy name (CATALOGID) or real R/3 field (zsrmcatalogid)? --> used in mapping table BBP_CUFMAP to get the R/3 field
- REFFIELD1: missing: put PO_ITEM ?
- REFVAL1  : missing: put the PO item number (numc 5)
- CONTAINER: ok with final value we want to pass
I think that if SRM BADI and the R/3 mapping table are populated correctly, the fields are transfered to R/3 PO item without additionnal coding on R/3 BADI side.
The R/3 BADI goal is not to create BAPI_EXTENSIONIN. This is done by the Form MAPPING_CUSTOMER_FIELDS of include LBBP_BAPI_POF04.
Later on, the custom fields of BAPI_EXTENSIONIN are transfered automatically to EKPO fields via a move-corresponding.
In the way you coded R/3 BADI, you by-pass the Form MAPPING_CUSTOMER_FIELDS, to populate the BAPI_EXTENSIONIN by yourself.
This could work like this, but you missed one info: the PO item number (missing in SRM BADI) !!!
For debugging, what additional details do yo need ?
Rgds
Christophe

Similar Messages

  • Tax calculation in SRM and passing onto R/3 PO

    Hi,
    We are on SRM_SERVER 550, SP07 and R/3 4.7 backend.
    1. We have a requirement wherein we want the tax determination to happen in SRM. Basically there is no logic for determining the tax codes, but the user himself selects it per line item when creating the cart.
    2. We want this to be transferred to the backend PO line item. The tax codes in SRM and R/3 are identical.
    Can this be achieved by standard configuration?
    I checked that there are 4 choices for tax calculation in SRM
    No tax calculation
    Tax calculation occurs in backend
    Customer specific implementation'
    Tax calc occurs via external system
    tax calc occurs via TTE
    I am not sure which one we should be selecting (currently its no tax calc). I am also not sure if the tax code which is selected in SRM will be passed onto R/3 Or should this be mapped in the BBP_CREATE_BE_PO_NEW Badi?
    The option thro development is to provide a custom field where users can enter the tax code/choose from a list and then map it to the tax code(TAX_CODE - MWSKZ) field in badi BBP_CREATE_BE_PO_NEW. But we would prefer to stick to the standard options if they are feasible.
    Any pointers to this would be very helpful.
    Regards,
    Srivatsan

    Hi,
    If you have a classic scenario where the PO is created in the backend only the standard configurations will work for this.
    1) Determine System for Tax Calculation--- R/3 Tax calculation occurs in backend.
    Tax calculation occurs in the Backend System
    Tax calculation occurs via RFC in the backend system in Financial Accounting. If an external system is connected to the backend system (Vertex or Taxware, for example), this is automatically called from the backend system.
    2) Enter tax code :
    As you mentioned use the same key and also the description here. Make the zero tax as No tax and make it as default also ( which is safer for all users).
    With these two config steps you will get an F4 help in the for all the tax codes defined whereas the system will suggest the zero tax as the default.
    The other config steps are optional where you can have tax codes for you product category. Please do configurations in these steps only if required.
    This SC tax code will be there in the PO created from SRM provided if you have entry for this in FTXP in the R3 system.
    As far as we have configured you dont need BADI for this standard Tax calculations.
    If the invoice is made in R3 with reference to this PO then this tax code can be changed.
    Best regards,
    Sridhar.

  • BADI Implementaion in SRM

    Hi Experts,
    I am new to SRM, I have to implement BBP_CUF_BADI for adding custom fields in the Contract and Purchase order.
    Could you please tell me the tcode to see the Contract/Purchase order screen where I have to add Custome fields??
    this badi is going to implement in SRM only, am I right ?
    any body can tell me how to start the things and see the effect of the implementation of BADI in my case???
    looking forward for your response..
    Reg,
    Rajesh

    Hi Rajesh,
    Go to transaction SICF.
    Enter the value for Service Name:
    BBP_CTR_MAIN for Contracts.
    Press F8.
    Drill down to see the service bbp_ctr_main and then right click on it and choose test service. A web page will open where the contract screen will appear. Here you can check the custom fields that you added.
    Hope this helps.
    Thanks,
    Pradeep

  • SRM and the Info record

    Hi,
    If I use a Classic Scenario the info record is a source of supply. So, we need to delete it when we implement the SRM.
    How do I do with the costs calcutation?
    The variants use the info record as a base to do the calculation.
    Thanks for the help
    Evelyn

    Hi Evelyn
    As i understand, you want to use the info record for the costs calculation SAP ERP.
    But you don´t want the info records to appear as source of supply in SAP SRM.
    To solve this i suggest to implement the BBP_DOC_CHANGE_BADI in SRM and delete the info record information from the positions:
    Importing Structure is "it_item" field "BE_INFO_REC".
    Alternativ you can implement the Sourcing Badi´s: BBP_SOS_BADI
    Best regards,
    David

  • SRM and SAP DMS Content server integration.

    Hi Sap Gurus,
    We are having a requirement to maintain the External documents (relating to Shopping Cart and POs) of SRM in the DMS content server,
    is this possible? if so what is the methord that should be used to connect SRM and DMS Content server.
    please eloborate.
    also we would love to make use of DMS funtionality for maintaining documents in SRM, which i tought is not at all possible as we could not run any of the DMS Transaction in SRM like CV01N /2 /3/ 4, is there any way to integrate DMS and SRM.
    Points Awaiting for usefull answers.
    Thanks and Kind Regards
    Priya S

    Hi Priya,
    If i understand your question correctly you want to transfer documents which are attached at the shopping cart level in SRM to flow in to ECC at PR or PO level? If that the case following steps require to have documents flow into ECC.
    SRM Side:
    Implement BADI BBP_CREATE_BE_RQ_NEW (If you are on classic scenario i.e. Shopping cart to PR creation) or BBP_CREATE_BE_PO_NEW (For extended classic) with following code:
    cs_ctrl_att-BE_DOC_TYPE = 'SRM'.
    cs_ctrl_att-BE_storage_cat = 'DMS_C1_ST'.
    cs_ctrl_att-TRANSFER_ACTIVE = 'X'.
    ECC Side:
    -Create new document type for SRM with T.code DC10. Following parameters need to be set for that
    a.     Check Use KPro
    b.     Check Version Assignment
    c.     Check Change Docs
    d.     Assign Internal number range as u201C02u201D and external number range as u201C01u201D
    e.     Select Number Exit u201CMCDOKZNRu201D
    f.     Version number increment u201C1u201D
    g.     File Size u201C10000000u201D
    -     Assign following Object links to the new created document type u201CSRMu201D.
    a.     Type as u201CSRMu201D
    b.     Object as u201CEBANu201D and u201CEKPOu201D respectively
    c.     Object description as u201CPurchase req. itemu201D and u201CPurchase order itemu201D respectively
    d.     Screen number u201C247u201D for EBAN and u201C248u201D for EKPO.
    - Request basis to verify DC30 transaction code that all the necessary document type are allowed to x'fer (i.e. .doc, .xls , .jpg etc)
    With this setting we were able to successfully transfer document from SRM side to ECC side.
    Thanks
    Ritesh

  • Use of BADI BBP_WFL_SECUR_BADI in SRM 7 PCW

    Hi all,
    We are on SRM 7.0
    We had implemented the BADI BBP_WFL_SECUR_BADI to overwrite the authorization levels(basically BBP_WFL_SECURITY parameter) in SRM 5.0 so that when new approvers are added in SC workflow/SC approval process,they are able to change as well as approve the SC.
    Can someone please tell me how can I achieve the same now in SRM 7 with PCW?\
    Thanks.

    Thanks Saravanan.
    But in SRM 5,we had to do it selectively only for some users at runtime based on table entries in a custom table and also when the approver is the shopping cart creator.
    Considering,how do we do it now in SRM 7 PCWpartuclarky how to change the BBP_WFL_SECURITY at runtime in SRM 7 when the approver actually goes to approve the cart?

  • Example of how to call a BadI from an Abap and use the NEW OO ALV Grid

    Very easy to do.
    <b>REPORT  Z_BADI_TEST.
    test call Badi from standard abap.
    *Only from rel 6.40
    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 implementation
    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
    called something like 
    ZIF_EX***************
      You will see the actual name in SE18/SE19.
    6)  Instantiate your instance of the badi
    via  method call get_instance
    7)  Now call any method(s) in the Badi.
    *****************start of abap code **************
    Define the Badi calling class (standard sap class)
      class cl_exithandler definition load.   "Declaration
    *Interface reference  
      data exit type ref to zif_ex__jimbotest.    
         data yes type c.
    Used in Fmod call in Badi methods
        data: v_knvv type knvv.
        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
    call method cl_exithandler=>get_instance 
           exporting 
           exit_name    = 'Z_JIMBOTEST' "Your Badi Name
           null_instance_accepted = yes
              changing instance = exit.
       if not exit is initial.
           if r1 = 'X'.
         call method exit->dispord .  "Badi call
          endif.
    if r2 = 'X'.
    call method exit->dispfakt.     "Badi Call
    endif.
    if r3 = 'X'.
    call method exit->dispmat.      "Badi call
    endif.
    end of calling abap******** </b>
    In the badi   methods code as shown
    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 themselves
    FUNCTION Z_DISPLAY_CUST.
    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.
    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.
    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.
    You can extend this as far as you like -- it's really easy and MUCH MUCH easier than the old way with fieldcatalogs etc etc.

    If the pagecontainer_mc holds another movieclip that contains the button you are trying to target, then you need to include that loaded movieclip in the targeting.  And if contacts is that movieclip, then you should be able to target it directly using...
    var contacts:contatti = new contatti;
    contacts.contacts_btn.addEventListener(MouseEvent.CLICK,showContacts);

  • Business Partner from SRM and CRM in BW

    Gurus,
    We are implementing both CRM and SRM this summer. Both make extensive use of Business Partner (0BPARTNER) which is causing headaches. CRM sends "customers" to BW via Business Partner and SRM sends vendors, purchasers and other stuff to BW via Business Partner. Unfortunately, the values of the keys of vendors clash with the value of the keys of customers. For example, Acme Suppliers could be numbered vendor 100 in SRM and Charles Customer could be numbered customer 100 in CRM. Last one loaded to Business Partner in BW wins.
    I have three solutions so far:
    1. Compund 0BPARTNER with source system in BW and lfow downstream to all infoproviders.
    2. Create a separate object such as ZBPARTNER and load all SRM entities to this characteristic.
    3. Force each subsystem to change their number ranges. I suspect that is what SAP's Master Data Maintenance does, but I have no experience with this tool.
    Has anyone faced this dilemma before? Am I missing something?
    Thanks for your help.

    Hi,
    Customer and Vendor are two seperate business entities and deliver seperate business function.
    Both of them should be staged seperately. You may have seperate objects for Customer and Vendor. (0CUSTOMER & 0VENDOR).
    I agree that both are business partners but functions are different so should be treated as seperate antity.
    I hope it will help.
    Thanks,
    S

  • PO Vendor not matching between SRM and R/3

    Hi Gurus.. I'm facing a problem with a PO.. as the Subject says, what is happening is that when I look in SRM/SRM Portal for the PO it has a vendor and in R/3 has another...
    In bbp_pd i found this about partner:
    the first line, fixed vendor, which is in blue, corresponds to the CORRECT vendor..
    the second line, preferred vendor, which is in red, corresponds to the incorrect vendor (the one in R/3)
    think that the problem might be related to something with this config.. but not sure or how to solve the problem...
    any idea?? thanks!
    Partner:                                                                               
    Partner_Fct    Description                    Partner_No                                Excluded
    HEADER       00000019       Vendor                         42471053DD910020000000009E344F8B                 
    HEADER       00000039       Preferred Vendor               467F831055820040000000009E344F8B                 
    HEADER       00000020       Goods Recipient                4A401257BD85004CE10080009E344F8B                 
    HEADER       00000016       Requester                      4A401257BD85004CE10080009E344F8B                 
    HEADER       00000027       Ship-To Address                4990DEBBD237007BE10080009E344F8B                 
    HEADER       00000075       Location                       423B86FC44950044020000009E344F8B                 
    0000000001 00000020       Goods Recipient                4A401257BD85004CE10080009E344F8B                 
    0000000001 00000075       Location                       423B86FC44950044020000009E344F8B                 
    0000000001 00000016       Requester                      4A401257BD85004CE10080009E344F8B                 
    0000000001 00000027       Ship-To Address                4990DEBBD237007BE10080009E344F8B                 
    0000000002 00000020       Goods Recipient                4A401257BD85004CE10080009E344F8B                 
    0000000002 00000075       Location                       423B86FC44950044020000009E344F8B                 
    0000000002 00000016       Requester                      4A401257BD85004CE10080009E344F8B                 
    0000000002 00000027       Ship-To Address                4990DEBBD237007BE10080009E344F8B                 
    0000000003 00000020       Goods Recipient                4A401257BD85004CE10080009E344F8B                 
    0000000003 00000075       Location                       423B86FC44950044020000009E344F8B                 
    0000000003 00000016       Requester                      4A401257BD85004CE10080009E344F8B                 
    0000000003 00000027       Ship-To Address                4990DEBBD237007BE10080009E344F8B

    Hi
    Do you have different settings for Fixed and Preferred vendors in ECC and SRM......
    It seems your preferred vendor is a Fixed Vendor in ECC and thats the reason the vendor is changed in ECC.
    I will recommend this analysis option to you:
    1. Activate the Test data recording for the BAPI which is creating the PO in ECC. You can follow the procedure defined in OSS Note 539978 - Automatic generation of BAPI test data directory.
    2. Create your document(Same data with fixed and preferred vendor) in SRM and approve the same so that system sends the data to ECC for creation of PO there.
    3. The activation in Step 1 will result in creation of a data record in Test data directory of the BAPI in ECC (instead of creating the PO there).
    4. Check the data in the test directory, to see which vendor has been sent by SRM. If the directory has correct vendor(on lines of SRM), then execute the data in debug mode and see why it is being changed in ECC while PO is created there
    5. If the test directory has incorrect Vendor then check your SRM driver FMs or BADIs which could be changing the data before sending it to the ECC System
    Regards
    Virender Singh

  • 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

  • SRM and MDM for material master in SRM contracts for multiple R/3

    Dear all,
    my question is:
    We are implementing SRM 4.0 in classic scenario with multiple R/3 back-end and we want to set-up Global Outline Agreements in SRM in a multi-backend environment where the Material Master are not harmonized.
    We heard that MDM and COntent Integraton can be a solution.
    Then detailled question is:
    Can we have 2 material numbers (e.g. ABC and XYZ) in 2 different R/3 systems refering the same product.
    Have the mapping done in MDM (Content Integrator?) to a third material number:123
    Replicating the material master 123 to SRM from MDM(?)
    Create global Outline Agreements in SRM for Material Master 123.
    Distribute the GOA as Outline Agreement to R/3 system 1 with the translation to ABC and to R/3 system 2 with the translation XYZ, all of that during the distribution step (or another).
    Have the call-offs quantities correct on 123 in SRM and BW?
    IF yes, how is it working, do you have some documentation discribing the scenario and the config steps to do?
    Thanks in avance

    Hello RD,
    That's a good question.
    You are on the right way. MDM is the tool for you.
    But..
    Content Integrator (CI) was first developped for Shell, to address the need of cross-referencing of material/supplier/category IDs, for:
    - reporting purpose (actual Spend Analysis)
    - mapping purpose (send of XML PO)
    CI was later "fusionned" into the new MDM (1.0) solution.
    So now, you can not order CI without MDM (even if some SRM slides still present CI).
    But mapping API where developped for all inboud/outbound interfaces in SRM, for materials only (good luck for you).
    You will find everywhere this piece of code:
      Call ECI
        CALL FUNCTION 'BBP_PRODUCT_MAP'
          TABLES
            it_input          = lt_mapping_in
            et_output         = lt_mapping_out
          EXCEPTIONS
            logsys_not_found  = 1
            driver_not_found  = 2
            product_not_found = 3
            internal_error    = 4
            OTHERS            = 5.
    So it is ok, you have the mapping call, but I don't know if all the rest of the process was really "finalized" (call of API mapping in CI, via XI). I personnaly never used it, but I assume it should work.
    I my opinion your process is supported by SAP:
    - Extract materials from both R/3 and consolidate them as a single product in MDM.
    - Distribute this product into SRM.
    - Maintain contracts on those products.
    - Distribute them to R/3 (The ECI call is also used during contract distribution).
    - Call offs corrects in SRM and BW
    For MDM documentation, look at netweaver area of service.sap.com.
    For MDM/SRM integration, look at SRM 4.0 spend analysis:
    https://websmp206.sap-ag.de/~sapdownload/011000358700004424262004E/GlobalSpendOverview.ppt
    For SRM contract distribution, call-offs, BW, look at SRM in details in service.sap.com/srm/SRM4.0:
    https://websmp206.sap-ag.de/~sapdownload/011000358700001966382004E/contracten.ppt
    For SRM5.0, see online help on help.sap.com.
    Rgds
    Christophe

  • Problem in Implementing Filter BADI

    Hi Experts ,
               I have a problem in Implementing Standard BADI  OIJ_NOMIT_VALIDATION , this one is a Filter BADI , with Filter type OIJ_NOMITEM_CHCK . i created a implementation ZOIJ_NOMIT_VALIDATION with filter ZOIJ_NOMIT and write code in method VALIDATE . But this is not triggered. Any additional configuration needed for this ?
    Point will be awarded .
    Thanks and regards
    Renjith MP

    Hi Ranjit,
                  After implementing the Filter BADI.You can define the Filter type <b>attributes</b> section.
    Regards

  • Different behaviour of F4 searchhelp BADI in Java Web and ABAP Web

    I implemented the Badi RSR_VARIABLE_F4_RESTRICT_BADI to restrict the values in the F4 search help of variables in a query.
    When executing the query in ABAP Web or in the BEx Analyzer in Excel everything works fine.
    The variable popup shows up and when I hit F4 on a characteristic it jumps in the code once and determines the values I want to see
    BUT: When I execute the same query in Java Web runtime, the Badi is executed 6 (SIX) times before even displaying the variable screen Anyone has got an idea?
    As I am determining the results in the search help depending on transactional data in a cube it's a big mess when executing this piece of code 6 times even if I do not need it at that stage.....
    As a small workaround i created a constructor for the implemented class, as this is only called once at runtime, but this cannot be the solution.

    Hi Stefan,
    Have a read of this article:
    http://sapdiary.com/index.php?option=com_content&view=article&id=12787:restricting-the-value-help-in-the-variables-screen-of-a-query&catid=81:data-services&Itemid=81
    Also double check you are honouring the spirit of all the input parameters.
    The symptom you describe occurred in the older solution using a customer exit (function module) when the "Variable Name" parameter was used incorrectly in the code, hence it did not behave as the API expected.
    When you have it in debug mode and are looking at all the available variables in memory (global and local) do any of them change between the six calls?
    Hope this helps,
    John.

  • Integrating SRM and Oracle using XI as middle layer

    Hi,
      In our current scenario we are implementing stratagic sourcing,operational procurement in SRM 5.0 with backend as Oracle E-business suite using XI as integration layer.
    As i have seen SAP config guides in all acenario's are there between SRM and SAP system as backend.But in our scenarion we have Oracle as backend system.
    If i follow the config guides EBP part in SPRO defining backend systems i need to give RFC destination of the backend SAP system.Suppose if it is Oracle then how can i define my backend systems with RFC destination.
    How can i define RFC destination,logical system name for my backned Oracle.
    Is there any specific SAP documentation and config guide which says about configuration if my backend is non-sap system(Oracle).
    I went through all the messages in this forum .All are talking about backend as R/3.
    We are implementating SRM 5.0 with Oracle as backend.
    Can you send me any documenation and config guides if any one did this type implementation.
    <b>Note: I have all config guides if R/3 is backend</b>
    regards
    Usman

    Hi Usman,
    to integrate non R/3 backend, you have to define your OA system as a backend in SRM, with the backend type NON SAP SYSTEM 1 to 3, and an RFC destination.
    Between SRM and OA, you will need a gateway, an EAI, that will handle your interfaces. In your case this is XI.
    You can use the XI RFC adapter, with a TCPIP RFC destination, targeting XI via a registered program ID.
    Then depending on your scenario (classic, extended, standalone), you will be more or less integrated with this non SAP backend.
    To communicate with a backend, SRM uses the concept of META BAPIs: each backend call is backend type dependant.
    You will have to work on each META call from SRM (have a look a table BBP_FUNCTION_MAP, with backend type = Non SAP system).
    Each backend RFC call will have to be evaluated and designed (ex: do you enable backend accounting check).
    The more integrated scenario you select, the more integration work you will have.
    Usually, for OA integration, we use a standalone scenario with some specific replication of PO, GR.
    You could use the extended classic scenario, but this will require more integration points.
    Rgds
    Christophe
    PS: please reward points for helpfull answers

  • How to Implement Screen BADI

    Dear All,
    Can any one help me in providing step by step procedure to implement SCREEN BADI. Kinly provide workable code
    Thanks in advance

    John
    I dont think any BADI available to change the logo.
    You can add your own logo to the login page as below.
    1. In SE80 select Internet service and choose BBPGLOBAL.
    2. Then navigate to Theme 99-->MIME Objects -->Images --> Start.
    3. Add your custom logo file there.
    4. Then navigate to Theme 99 --> HTML Templates --> Login.
    5. Open the source code of Login page and search for the logo which you want to replace with your new logo. ex. ~name="images/start/logo.gif". Look for suitable code where you want to add your logo.
    6. Comment that line and add new line with your new logo file in the image path.
    With this custom logo get displayed in the login page.
    PS : Reward points if helpful.
    Regards
    Jagadish

Maybe you are looking for

  • JDBC to SOAP to trigger Web Service in PI XI

    Hello Experts, My scenario is: SystemA - > JDBC adapter - > PI - > SOAP Adapter - > SAP. Sender side (JDBC) works file, I can see the payload in the sender structure and the converted payload for the receiver side. I am testing the webservice using t

  • SAP is allowing miro more then one time against the single GRN

    Hi All Sap is allowing Miro more then one time against the GRN. We have done miro twice and it is still open for miro. In normal case after doing miro SAP shows zero value and qty in grn field in miro screen. i want to ristrict his . can any body tel

  • Project Site Contributor Rights for all Projects in PS 2010

    Hi We have a requirement where some users, need a group which gives them the rights to upload documents and create folders in the project sites. Team Members, unless assigned to a task, can only read projects they belong too. But we need another grou

  • Dependencies between Objects

    Hi Folks, My client has asked me to move from one db to another. (I don't know why, may be they are restructuring). Now the problem is that there are many stored procedures, functions and tables which I have created and also using somewhere. Now for

  • Interactive Form Offline - Scenario invoke Web services

    Hi All, I need developed a adobe form offline invoked webservices to update the BackEnd. I can use WD for Abap?? or only work with wd for Java ?? Tks Ivo Hashimoto