Quantcast
Channel: SCN : All Content - Supplier Relationship Management (SAP SRM)
Viewing all 2866 articles
Browse latest View live

Reports !! Query Creation Using SQVI for MM/SRM

$
0
0

Hello People,

 

I am working in to SAP MM- SRM Support services. Majority of what I do consists of reporting of various things according to user requirement. And most of what I do is to get certain data from one table pass it onto others and get some other data and join them into excel and present it to client.

 

For few weeks i use to do it Manually and didn't know that SAP has anything/program to help me get of exactly what I want.

 

Because most the system is customized and even for standard report and analysis was not producing the data my client required for further analysis.

 

So after few research here and there, reading many new functionalities and even understanding the creation of BAPIs for certain data creation and background jobs, but I was not satisfied as the client requirement would vary a lot on within few set of filters and stuff and I, being a Functional consultant side, didn't know on how to create BAPIs and it was also way smaller job so as to create a BAPI for the same.

 

But in all this mess of a research I came across the SAP Functionality of query Creation SQVI, It was exactly what i was looking for !!

 

THIS WORKS FOR SAP MM-SRM or any other tables. I am here taking an example for tables in SAP SRM.

 

It was simple to understand and easy to work with. Just few mins into the functionality and I know I have found my cancer's cure.

 

So for all those who are still suffering here is all you need to know for all the table related reports you were generating.

 

I would like to explain it with an example so for our better understanding.

 

 

My Client came up with the requirement that, they want a list of Shopping cart from the given list of PO in SAP SRM

 

MANUAL/PAST METHOD :

 

Into SE16 Transaction

PART 1: Insert PO data into table BBP_PDBEI

PART 2: Get 'Object GUID' from the above table and insert it in the table CRMD_ORDERADM_I

PART 3: Get '(Parent) Object GUID from the above table and insert it in the table CRMD_ORDERADM_H and get the list of required SC

PART 4: We have to combine all the sheets so as to know which Shopping Cart is for which Purchase Order, using VLOOKUP Functionality in Microsoft Excel.

 

 

Now instead we can use Transaction SQVI and proceed as follows:

SQVi Query Creation.JPG

 

1. Open the screen and in the "Quick View" Box, Enter the name of your query, can be anything, let say " PO_LIST_FROM_SC"

 

2. Click Create.

 

3. Choose a title. ( can be same PO_LIST_FRM_SC ). NOW CHOOSE "TABLE JOIN" in the data source, as we want to join few tables to get our report. and Basic or Layout mode choose any,

 

4, Now a blank screen will open with the title " Create QuickView ( your name of query, in our case PO_LIST_FRM_SC) : Choose data source

 

5. As you can see few icons on the top of the page, Click on the second Icon of "Insert Table". and insert the table you want to join, in our case ,

    "BBP_PDBEI".

    Repeat the process and insert the tables "CRMD_ORDERADM_I" and "CRMD_ORDERADM_H" as well.

    All the tables can be seen as a box in the screen with their titles

 

6. As you can see there is small link( thin black line) between the tables. This line is how the system would match the data between tables and would

    create a common table. see that there are no two lines in our case because we just want to match the list of 'Object GUID' into first two tables

    "BBP_PDBEI" and "CRMD_ORDERADM_I".

 

    If there are 2 lines then we can simply click one of them and right click and use "delete link" to delete the link. we can also pick and drop the link on the

    fields that we like to match between tables.

 

7. Now do the same between the tables "CRMD_ORDERADM_I" and "CRMD_ORDERADM_H" and join the "(Parent) Object GUID" from the first table to

    "Object GUID" in the second.

 

8. You can also click the first Icon on the menu bar and can check the link joined between all the tables are defined correctly or not.

    You can see the tables joined in the navigation view in the lower center of the screen and can also see the area covered by our screen.

 

9.  Now go press the back button and come on the initial screen. This screen is mainly divided into two parts, but basically both of them would perform the

     same thing to our table. i.e. that it would help us with the field that we want to be on display and the we fields we want to hide.

 

    As you can see on the LEFT hand side of the screen, the names of our tables listed , drop down them (double click) and choose the view that you want to

    be  it 'Listed' in the result and fields that are present to enter the data or selection fields.

 

 

    In our case the listed fields would be Shopping Cart numbers and Purchase order numbers

    And selection field would be Purchase order numbers.( we can use as many fields as we want from all the listed tables)

 

 

10. Execute and you would reach a new program. This is what we require.

 

Now insert the PO numbers and execute and you would get List of shopping cart related to it.

 

WE have to create only once this query and every one can use it from the 'SA38' - Program executor.

 

Please Note: For others to use the program, you need to write down the name of the program when you in step 10, in the above process and share it manually with everyone in the team for them to use it.




So this was a simplest example that I can come up with for using this extraordinary function " SQVI". You can join various tables and other data sources given in the option and explore this option.


It worked for me as a life saver from daily reporting of various things.

I hope it does the same for you.


Please share your thoughts and experiences on the using this function.


 

 

 

 

PS: Remember this, as only the user who have created the query can edit it into the system , no one else can. And also you can always use the same transaction 'SQVI' to make any changes in the queries you have created.


MM-SUS, Invoicing and Vender Partner Functions

$
0
0

Hi Experts,

 

I'm confused about this new issue we're dealing with. We have a vendor "A" which has a PI partner function "B." Both vendors A & B are set up for SUS, with partner profiles, etc. When I create a PO with vendor A, however, and then create an invoice against the GR in SUS, the invoice created in ECC is against A, instead of B. Is there some way to address this?

 

I would have expected that ECC would look to the PO header (or maybe even the vendor master) to determine the appropriate partner.

 

Thanks,
Seth

Decimal notation in SRM Portal

$
0
0

Hi Experts,

 

In our system one user able to edit decimal notation. Whenever he changes in portal it will get reverted back to old setting. We have CUA in place and we changed decimal setting local in scum. Even user decimal notation is right in back end system(ABAP). Could you anyone suggest solution for this.

 

Thanks,

Suresh Mahiya

SRM: Show a popup to diplay/edit custom data

$
0
0

Some time ago I created a document to show how can display some custom data in a SRM document adding a custom button and calling a custom WebDynpro:
http://scn.sap.com/docs/DOC-25271

 

But this example only shows how to display some data, not how to update the data. In this new document we’re going to see other way to do it and with the possibility to update the data when you are editing the document.

 

 

Other posibilities
If you only want to add custom fields to your document you can follow this document:
http://scn.sap.com/docs/DOC-25692

If you want to extend a document with only a custom table at item and/or header level you can use this one:
http://scn.sap.com/docs/DOC-28602

 

In this new example we’re going to create a custom table to save some data related with the items of our SRM document. You can enhance this solution adding other tables or custom fields.



1. First thing to do is create a custom table to store the data


zzcustom_data.png

 

We have as Key fields the following fields:

- OBJECT_ID: Id of the SRM Document.
- NUMBER_INT: Id of the SRM Document item.
- CUSTOM_POS: A counter with the “sub-item” number.

In this case, as example, we have the fields Quantity and Unit.

We’re going to create also a table type for this table:


2.png

 

 

2. Function Group to save and retrieve the data


We are going to use a FG to get, set and save the data. The reason for this is that while the caller program of any FM in this FG is alive the data stored in the include TOP is alive.


So we can store temporary data in the TOP and use any FM in this FG to retrieve or save the data from our custom WebDynpro but also from the badis BBP_DOC_CHANGE_BADI, BBP_DOC_CHECK_BADI, BBP_DOC_SAVE_BADI, etc.

 

Goto SE80 and create a FG ZZCUSTOM_DATA. Go to the include TOP and create the internal table to store the data.

 

3.png

 

Create the following function modules:

 

 

2.1 Function Module ZZCUSTOM_DATA_SELECT

We will use this FM to select the data stored in the database.


 

ZZCUSTOM_DATA_SELECT

FUNCTIONZZCUSTOM_DATA_SELECT.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(IV_OBJECT_ID) TYPE  CRMT_OBJECT_ID_DB
*"----------------------------------------------------------------------

* Select the data only if we don't have it yet.
IFgt_custom_data IS INITIAL.

  SELECT *
   INTO TABLEgt_custom_data
   FROMzzcustom_data
   WHEREobject_id EQiv_object_id.

ENDIF.

ENDFUNCTION
.


 

2.2 Function Module ZZCUSTOM_DATA_GET

 

We will use this FM to get the data related with one of the document items.


 

ZZCUSTOM_DATA_GET
FUNCTIONzzcustom_data_get.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(IV_NUMBER_INT) TYPE  CRMT_ITEM_NO
*"  EXPORTING
*"     REFERENCE(ET_CUSTOM_DATA) TYPE  ZZCUSTOM_DATA_T
*"----------------------------------------------------------------------

FIELD-SYMBOLS: <ls_custom_data> TYPEzzcustom_data.

LOOP ATgt_custom_data
  ASSIGNING <ls_custom_data>
  WHEREnumber_int EQiv_number_int.

  APPEND<ls_custom_data> TOet_custom_data.
ENDLOOP.

ENDFUNCTION
.



2.3 Function Module ZZCUSTOM_DATA_SET


We will use this FM to update the data stored in our TOP include.


 

ZZCUSTOM_DATA_SET

FUNCTIONzzcustom_data_set.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(IV_NUMBER_INT) TYPE  CRMT_ITEM_NO
*"  CHANGING
*"     REFERENCE(CT_CUSTOM_DATA) TYPE  ZZCUSTOM_DATA_T
*"----------------------------------------------------------------------

DATA: lv_counter TYPEsytabix VALUE 1.

FIELD-SYMBOLS: <ls_custom_data> TYPEzzcustom_data.

* Before to update delete the previous data:
DELETEgt_custom_data WHEREnumber_int EQiv_number_int.

* Update the item counter;
LOOP AT ct_custom_data

ASSIGNING<ls_custom_data>.


  <ls_custom_data>
-custom_pos = lv_counter.
  ADD 1 TOlv_counter.


ENDLOOP.

APPEND LINES OF
ct_custom_data TOgt_custom_data.

ENDFUNCTION.



2.4 Function Module ZZCUSTOM_DATA_SAVE

We will use this FM to save the data in database.


 

ZZCUSTOM_DATA_SAVE
FUNCTION zzcustom_data_save.
*"--------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(IV_OBJECT_ID) TYPE  CRMT_OBJECT_ID_DB
*"--------------------------------------------------------------------

* Delete old data, in case some item was deleted:
DELETE FROMzzcustom_data WHEREobject_id EQiv_object_id.

* Insert the data updated;
INSERTzzcustom_data FROM TABLEgt_custom_data.

ENDFUNCTION.




3. Creating the custom WebDynpro


Goto SE80 and create the Web Dynpro Component ZZCUSTOM_DATA.


3.1 Go to the Component Controller and create an interface node INFO with the following attributes:


4.png


We will use this interface node to pass some data from the standard component.



3.2 Create also a table node to store the custom data:

 

5.png


3.3 Get and save the data

We are going to get the data every time the window is opened and set the data every time the window is closed.

Map the nodes created in the component controller within the window context:


6.png


Go to the method WDDOONOPEN of the window and add the following code:


With this we obtain the data related with one of the items every time the window is opened.


WDDOONOPEN
methodWDDOONOPEN .

DATA:
ls_info          
TYPEwd_this->element_info,
lo_nd_info       
TYPE REF TOif_wd_context_node,
lo_el_info       
TYPE REF TOif_wd_context_element,
lo_nd_custom_data
TYPE REF TOif_wd_context_node,
lt_custom_data   
TYPEwd_this->elements_custom_data.

* Get the info passed through the interface node;
lo_nd_info
= wd_context->get_child_node( name = wd_this->wdctx_info ).
lo_el_info
= lo_nd_info->get_element( ).
lo_el_info
->get_static_attributes(
   IMPORTING
    static_attributes
= ls_info ).

* Select the data stored in the database;
CALL FUNCTION'ZZCUSTOM_DATA_SELECT'
  EXPORTING
   iv_object_id
= ls_info-object_id.

* Get the data for this item;
CALL FUNCTION'ZZCUSTOM_DATA_GET'
  EXPORTING
   iv_number_int
= ls_info-number_int
  IMPORTING
   et_custom_data
= lt_custom_data.

lo_nd_custom_data
= wd_context->get_child_node( name = wd_this->wdctx_custom_data ).
lo_nd_custom_data
->bind_table( new_items = lt_custom_data set_initial_elements = abap_true ).

endmethod.


Add the following code in the method WDDOEXIT:


With this we update the internal table we have as a "buffer" in the include TOP of our FG.


 

WDDOEXIT
DATA:
ls_info          
TYPE wd_this->element_info,
lt_custom_data   
TYPE wd_this->elements_custom_data,
lo_nd_custom_data
TYPE REF TO if_wd_context_node,
lo_nd_info       
TYPE REF TO if_wd_context_node,
lo_el_info       
TYPE REF TO if_wd_context_element.

*
lo_nd_custom_data
= wd_context->get_child_node( name = wd_this->wdctx_custom_data ).
lo_nd_custom_data
->get_static_attributes_table( IMPORTING table = lt_custom_data ).

lo_nd_info
= wd_context->get_child_node( name = wd_this->wdctx_info ).
lo_el_info
= lo_nd_info->get_element( ).
lo_el_info
->get_static_attributes(
  IMPORTING
   static_attributes
= ls_info ).

CALL FUNCTION 'ZZCUSTOM_DATA_SET'
  EXPORTING
   iv_number_int      
= ls_info-number_int
  CHANGING
   ct_custom_data     
= lt_custom_data.


3.4 Go to the Main View and create a table to display the data:

First you need to map the nodes in the context.


7.png

Create the table and a toolbar with two buttons to add and remove rows. Create an action for each button.

Create also an input field to display the item number and check the property READ_ONLY of this field.


9.JPG


Bind the property READ_ONLY of the table with the attribute READ_ONLY we have in the context:


In this way we control when the table will be editable depending on the value of this attribute.

10.JPG

Bind the property VISIBLE of the toolbar with the Inverse of the attribute READ_ONLY to not display the toolbar when we enter in Display mode:


11.JPG

Add the following code to the action ADD_ROW:


 

ONACTIONADD_ROW
METHOD onactionadd_row .

DATA:
ls_info          
TYPE wd_this->element_info,
ls_custom_data   
TYPE wd_this->element_custom_data,
lt_custom_data   
TYPE wd_this->elements_custom_data,
lo_nd_info       
TYPE REF TO if_wd_context_node,
lo_nd_custom_data
TYPE REF TO if_wd_context_node,
lo_el_info       
TYPE REF TO if_wd_context_element.

lo_nd_custom_data
= wd_context->get_child_node( name = wd_this->wdctx_custom_data ).
lo_nd_custom_data
->get_static_attributes_table( IMPORTING table = lt_custom_data ).

lo_nd_info
= wd_context->get_child_node( name = wd_this->wdctx_info ).
lo_el_info
= lo_nd_info->get_element( ).
lo_el_info
->get_static_attributes(
  IMPORTING
   static_attributes
= ls_info ).

* Add an initial row;
ls_custom_data
-object_id    = ls_info-object_id.
ls_custom_data
-number_int   = ls_info-number_int.
APPEND ls_custom_data TO lt_custom_data.

lo_nd_custom_data
->bind_table( new_items = lt_custom_data set_initial_elements = abap_true ).

ENDMETHOD.


And to the action REMOVE_ROW


 

ONACTIONREMOVE_ROW

method ONACTIONREMOVE_ROW .

DATA:
lo_nd_custom_data
TYPE REF TO if_wd_context_node,
lo_el_custom_data
TYPE REF TO if_wd_context_element.

lo_nd_custom_data
= wd_context->get_child_node( name = wd_this->wdctx_custom_data ).

lo_el_custom_data
= lo_nd_custom_data->get_element( ).


IF lo_el_custom_data IS NOT INITIAL.

  lo_nd_custom_data
->remove_element( lo_el_custom_data ).

ENDIF.

endmethod.



4 Adding the button to the standard component


  We are going to create a new button at the SC item level.

 

  You can also use the same custom component to show a popup in other docuents, PO, RFx, etc.

 

  Create a new SC and check the technical help to find the standard webdynpro component:


12.JPG

In this case we can see the component /SAPSRM/WDC_UI_SC_DOTC_BD.


13.JPG


4.1 Go to that component and create a new Enhancent point


14.JPG


4.2 Add as Used Component our custom component


15.JPG


4.3 Go to the view V_SC_DOTC_BASIC and Add the used component


16.JPG

4.4 Map the interface node INFO in the context


17.JPG


4.5 Add a new button to the table toolbar to call our component and create an action to it


18.JPG


4.6 Adding code to the button

we are going to show a popup with our component. To do that we are going to use the Code wizard:


19.JPG


We need to pass to our component some data through the interface node, like the item number or the display mode, this the entire code of the button:


 

ONACTIONZZCUSTOM_DATA

METHOD onactionzzcustom_data .

DATA:
lv_mode              
TYPE /sapsrm/pdo_inst_mode,
lv_message           
TYPE string,
lv_message_id        
TYPE string,

ls_info               TYPE wd_this->element_info,
ls_canc_action       
TYPE wdr_popup_button_action,
ls_item              
TYPE bbp_pds_sc_item_d,

lt_set                TYPE wdr_context_element_set,

lo_api_controller     TYPE REF TO if_wd_controller,
lo_message_manager   
TYPE REF TO if_wd_message_manager,
lo_nd_items          
TYPE REF TO if_wd_context_node,
lo_el_items          
TYPE REF TO if_wd_context_element,
lo_pdo_base           TYPE REF TO /sapsrm/cl_pdo_base,
lo_pdo               
TYPE REF TO /sapsrm/if_pdo_xo,
lo_window_manager    
TYPE REF TO if_wd_window_manager,
lo_api_component     
TYPE REF TO if_wd_component,
lo_window            
TYPE REF TO if_wd_window,
lt_buttons           
TYPE wdr_popup_button_list,
lo_nd_info           
TYPE REF TO if_wd_context_node,
lo_el_info           
TYPE REF TO if_wd_context_element.

FIELD-SYMBOLS:
<ls_set>             
TYPE REF TO if_wd_context_element.

lo_nd_items
= wd_context->path_get_node( path = `COMP_CONTEXT.ITEMS` ).

CALL METHOD lo_nd_items->get_selected_elements
  EXPORTING
   including_lead_selection
= abap_true
  RECEIVING
   set                      = lt_set.

* Only one item must be selected;
IF lt_set IS INITIAL OR lines( lt_set ) GT 1.

  lo_api_controller ?= wd_this
->wd_get_api( ).
  CALL METHOD lo_api_controller->get_message_manager
    RECEIVING
      message_manager
= lo_message_manager.

  lv_message
= 'Choose an unique item'.

CALL METHOD lo_message_manager->report_warning
  EXPORTING
   message_text 
= lv_message
   show_as_popup
= abap_true
  RECEIVING
   message_id   
= lv_message_id.

  RETURN.
ENDIF.

READ TABLE lt_set
ASSIGNING <ls_set>
INDEX 1.
IF sy-subrc NE 0.
  RETURN.
ENDIF.

CALL METHOD <ls_set>->get_static_attributes
IMPORTING
  static_attributes
= ls_item.

ls_info-number_int = ls_item-number_int.

CALL METHOD wd_comp_controller->mo_bom_sc->/sapsrm/if_cll_bo_mapper~get_header_object_id
RECEIVING
  rv_h_object_id
= ls_info-object_id.

* Obtain display mode;
TRY.
CALL METHOD wd_comp_controller->mo_bom_sc->/sapsrm/if_cll_xo_mapper~get_pdo
  RECEIVING
   ro_pdo
= lo_pdo.

lo_pdo_base ?= lo_pdo.
lv_mode
= lo_pdo_base->/sapsrm/if_pdo_base~get_mode( ).

CATCH cx_root.

ENDTRY.

IF lv_mode EQ 'DISPLAY'.


  ls_info
-read_only = abap_true.


ELSE.


*  This is necessary to force to pass for the badi BBP_DOC_SAVE in

*  case you don't modify nothing but the custom data;
  CALL METHOD <ls_set>->set_changed_by_client
   EXPORTING
   flag
= abap_true.

ENDIF.

* Pass the data to the interface node;
lo_nd_info
= wd_context->get_child_node( name = wd_this->wdctx_info ).
lo_el_info
= lo_nd_info->get_element( ).
lo_el_info
->set_static_attributes(
static_attributes
= ls_info ).

* Call our custom component as a popup;
lo_api_component          
= wd_comp_controller->wd_get_api( ).
lo_window_manager         
= lo_api_component->get_window_manager( ).
ls_canc_action
-action_name = '*'.
lt_buttons                
= lo_window_manager->get_buttons_ok(  ).

lo_window                 
= lo_window_manager->create_and_open_popup(
window_name         
= 'ZZCUSTOM_DATA'
component_usage_name
= 'ZZCUSTOM_DATA'
*    title                =
message_type        
= if_wd_window=>co_msg_type_none
message_display_mode
= if_wd_window=>co_msg_display_mode_selected
buttons             
= lt_buttons
cancel_action       
= ls_canc_action ).

ENDMETHOD.



5 Saving the data


At this point you can use the button and you can display and modify the custom data:


20.JPG


But we need to save this data in the database, to do that we are going to use the badi BBP_DOC_SAVE_BADI.


5.1 Create a new implementation of the badi


21.JPG

Set the filter value for the Shopping Cart


22.JPG

Call the FM we’ve created to save the data


 

SAVE BADI

DATA:

     lv_action           TYPE/sapsrm/pdo_action_type,

     lo_tran_context  TYPE REF TO/sapsrm/if_transaction_context,

   ls_header   TYPE bbp_pds_header.

  CALL FUNCTION 'BBP_PROCDOC_GETDETAIL'
   EXPORTING
    i_guid      
= iv_doc_guid
   IMPORTING
    e_header    
= ls_header.


    lo_tran_context = /sapsrm/cl_transaction_context=>/sapsrm/if_transaction_context~get_instance( ) .

    lv_action = lo_tran_context->get_current_action( ).


IF lv_action EQ'ORDER'OR lv_action EQ'SAVE'.
  CALL FUNCTION 'ZZCUSTOM_DATA_SAVE'

      EXPORTING
     iv_object_id      
= ls_header-object_id.

ENDIF.


Now you can save the data. If you save the document and enter in display mode you can see you cannot modify the data. You can only modify the data if you enter in Edit mode.

You can enhance this solution adding other custom tables or custom fields to the custom webdynpro and creating the proper FM in the FG.

You can add some validation when you are saving the document creating an implementation of the badi BBP_DOC_CHECK_BADI and using the FM to get the data we have in our FG.




Narrow Product Details Display in SRM UI

$
0
0

Hello Experts

 

Need your help pls so we can adjust the product details screen (when item link is clicked from search results) to display the text more visibly and narrow down that allocated to the image.

 

Any idea how to do this? Is this standard behavior?

 

Product details screen.jpg

 

Thanks for your support.

 

Dex

SRM PO response using XML

$
0
0

Hi experts

 

We don't have SUS but want to use PO response creation using supplier's XML.

 

Any list of config and enhancements and caution needed to implement this?

 

Appreciate your support.


Dex

Tender fee button details

$
0
0

Hello experts,

 

Please share the details of the tender fee button technical details like WD component, class, methods etc...

 

We couldn't able to find the details of the button.

 

Regards

Pratap J

Standard Ship To Address modified

$
0
0

Hi,

 

We have a requirement as -

While creating a Shopping Cart, the Ship To address (Delivery Point - Partner Fct - 27) is getting picked up from the Standard

Ship to Address maintained against the Purchasing data. Now if a user modifies the Ship To Address while creating the Shopping Cart, we should be able to catch that when we use the standard Function Module BBP_PD_SC_GETDETAIL to retrieve the Shopping Cart data.

My query is - how can I understand whether an user has modified the standard Ship To Address through BBP_PD_SC_GETDETAIL or using transaction BBP_PD?

 

Thanks in advance.


SAP SLC - Sell Side Supplier Alias/User ID and Buy Side Supplier BP number linkage

$
0
0

Hi All,

 

We are implementing SAP SLC 2.0 SP02 on a stand alone deployment.

I want to understand the linkage between SAP SLC Sell Side Supplier Alias/User ID with Supplier BP number.

In which table is this linkage maintained?

 

Regards,

Ashish Shah

SRM PFAL Inbound Idoc in 64 status

$
0
0


Trying to PFAL a Person from ECC to SRM, but the Idocs are going to 64 status.

 

But, everytime new BP is being created.

 

Position for this user is already in SRM, but no BP-CP link exists for same.

 

Can someone please suggest on this urgently.

SRM PO IDOC Creation

$
0
0

Hi,

 

PO created in SRM extended classic scenario transfers to ECC system, require to send PO's via XML from ECC system. Is there a way we can create IDOC for SRM transferred PO in ECC to map IDOC with PI to initiate XML output medium? Thanks.

Error Message while creating contact person with reference

$
0
0

Bidder contact person is required agent as a part of RFX process.

 

 

Bidder user is there with all relevant roles in SRM and on PORTAL
as well. User is there in SU01D, PPOSA_BBP, vendor is there in PPOSV_BBP without contact person.

 

 

We are using SRM ADMIN to create a  contact person with
reference from portal. While doing so we are getting below error message on
screen.

 

CP error.jpg

 

BP displyed in error message is not at all there in BP nor in PPOSA_BBP. We do not know from where system is showing this message and relationship with BP.

Message no BBP_BUPA 395

Work item is disappearing from approval inbox in SRM portal.

$
0
0

Dear All,

 

We are facing a strange concern where the work item is disappearing from approval inbox in SRM Portal when clicking.

 

we are facing issue while performing SES release. The work item disappear from approval inbox while clicking on it, in SRM PORTAL and upon refreshing reappear. However, we are unable to perform approval for the SES an error - Acttion not Valid for this item - appears.

 

 

Could you please check and advise if anyone has any other suggestions on the above. Thanks in advance for your help.

 

Best Regards,

Sailaja.

Purchase Order Printout

$
0
0

Hi all,

We are on SRM 7.0 and ECC 600. We are running Extended Classic Scenario.

PR-SC-BID-SRM Leading PO - ECC PO

The transferred purchase order in ECC is not determining the message class NEU in  Messages.

IIn the extended classic the printout is mandatory to be done in SRM or could be done in ECC also?

Thanks

Ezequiel

Product Category exist more than once, use input help

$
0
0

Hello Gurus,

 

     While going through the creation of SC , we started facing the issue while choosing the Product Category for Free Text. We are currently working on SAP SRM 7.0 Ehp2 . Now as we checked with SAP and SAP has provided a KBA " Please use the help , if product category is linked with multiple backend system" . Now we do have Product Category linked with Multiple backend system. We found a note  2005091 : Product category exists more than once; use input help . It helped but only for those Product Categories which are linked to single backend system. 

So in-order to solve this , we are looking for a solution to check the Product category based on the user . I also found the FM which could read the Product Category based on user.

Moreover while going through the code change /SAPSRM/WDC_DODC_SC_I_DES with the Webdynpro , has anyone done such kind of change . Or any idea of how to proceed , so that the Product Category is picked based on user profile in Org Structure.

 

Thanks

Gaurav Gautam


Assigning custom roles after vendor registration

$
0
0

Hi Experts,

 

We have implemented SRM 7.0 Ehp3 with SUS. We are developing the Vendor self registration functionality. After the vendor registration is approved system normally assigns pre-defined standard roles.

 

Now we have created custom roles by copying the standard ones and have re-generated the authentication profiles.

 

But now when the vendor registration is approved none of the custom roles are getting assigned to the vendor user.

 

Could you please help on how to get the custom roles assigned to the vendor instead of the standard ones.

 

 

Regards,

Saurabh Agarwal

Custom Field in SRM PO

$
0
0

Hi All,

 

we created custom field in SRM PO and I am trying to pass PO value in BBP_DOC_CHANGE_BADI method

 

BBP_PO_CHANGE using IV_MODE = 'C' and  es_header-ztest = 'test' , but value is not getting updated

 

while PO is creating in SRM , we are in SRM 7 and SP 14 .

 

I want to update custom field value in SRM PO while PO is ordered,

 

is any other ways to achieve this..?

 

 

Thanks in advance,

Venkat

SRM Portal - Accounting Value Help: Password was not used for a long period and therefore deactivated

$
0
0

When a user creates a shopping cart and clicks on box next to account assignment for asset or cost center, the user gets "Accounting value help: Password was not used for a long period and therefore deactivated."

I checked the user and rfc users set up in ECC and everything is fine and no password is deactivated.

This works fine in quality system, but it is giving above error message in production system.

I compared most of the settings in SPRO between Q and P systems and they are identical.

I am running out things to check.

 

Has anyone face this issue before?

Anyone has any suggestion?

 

Thanks.

 

John

C-folder and PQQ in 7.02

$
0
0

Hi team,

 

We had insalled EHP6 ECC6.0 and SRM 7.02.I have following issues.

 

1) We had activated  Business Function- SRM_SOURCING_1,  then SRM_CROSS_INDUSTRY_1 and SRM_PUBLIC_SECTOR_1 for PPS for EHP2.

But the PQQ tab or PQQ related fields are not coming in the Portal for 2 Envelope BID? Is any Bussiness functions need to activate?

 

2) We had installed C folder in SRM. We are able to login to C-folder.We have few issues

We maintained the System landscape settings in SPRO with Log System, RFC destination as SRM local , with RFC checked and Sys.type as Coflders.

When we try to create with the 2 bid envelope system is giving a dump screen as follows

 

http://REMOVED:5000/sap/bc/webdynpro/sapsrm/wda_l_fpm_oif

Error in connection to cFolder system

Error in connection to cFolder system

Function: /SAPPSSRM/CREATE_COLLAB of program /SAPPSSRM/SAPLEXT_RFX_PROCESS

Function: /SAPPSSRM/META_CREATE_COLLAB of program /SAPPSSRM/SAPLEXT_RFX_PROCESS

Method: /SAPPSSRM/IF_TECHBID_CFOLDER~CREATE_BI of program /SAPPSSRM/CL_TECHBID_CFOLDER==CP

Method: CREATE_RFQ_ADV_INSTANCE of program /SAPSRM/CL_PDO_BO_RFQ_ADV=====CP

Method: CREATE_NEW_INSTANCE of program /SAPSRM/CL_PDO_FACTORY_RFQ====CP

Method: CONSTRUCTOR of program /SAPSRM/CL_CH_WD_BOM_RFQ======CP

Method: /SAPSRM/IF_CH_WD_MAP_FACTORY~CREATE_RFQ_MAPPER of program /SAPSRM/CL_CH_WD_MAP_FACTORY==CP

http://REMOVED/sap/bc/webdynpro/sapsrm/wda_l_fpm_oif

and if we remove with the settings, when we do check on the RFX following error  is coming and closing the session

Cannot connect to cFolder system; two-envelope RFx cannot be created?

 

Can any body help on this?

Barcode in SRM

$
0
0

Hi dear community,

 

does anybody has experience with Barcode processing in SRM? We need to enter the Barcode in SRM when creating a confirmation for goods receipt (instead of entering the Barcode in ERP, there the functionality is standard.).

 

We searched for a way to store the barcode in SRM, but it seems SAP didnt enable this functionality for SRM, so the only way is to go via ERP?

 

I found table BDS_BAR_IN in ERP, where the barcode is stored together with the backend confirmation number. But how to fill this table from SRM? And is this the only thing to do here? Any help will be much appreciated.

 

Thanks in advance,

 

Tolga

Viewing all 2866 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>