Quantcast
Channel: Supplier Relationship Management (SAP SRM)
Viewing all 46 articles
Browse latest View live

WD_BADI_DOMODIFYVIEW- Little known things

$
0
0

I am sure every developer worked in SAP SRM 7.0 knows this BADI by heart. It is used to modify SRM webUI dynamically using some custom logic(look at my blog for more details Web UI modifications in SRM7). Till sometime back I was under the impression that we can only access layout and context of a specific view inside this BADI. But recently I have discovered that there are lot of thing that we can access inside this BADI. In this blog I am going to discuss my findings about those.

 

Access the document data during creation of document

 

Developers often faced challenge of accessing document data inside this BADI during document creation stage ( please note the data is not stored in database yet, it is still in buffer ). to solve this puzzle we can take help of task container classes. Below is the code snippet for the same

 

 

Data Declarations for all the code snippets involved in this blog

DATA: lo_comp TYPE REF TO  cl_wdr_delegating_view,         lo_co_name TYPE string,         lo_co TYPE REF TO cl_wdr_delegating_component,         lo_task_container_factory TYPE REF TO /sapsrm/if_cll_taskcon_factory.   lo_task_container type ref to /sapsrm/if_cll_task_container,   lo_pd_model type ref to /sapsrm/if_pdo_model_access.
DATA:         lt_item               TYPE bbpt_pd_item,         ls_item               TYPE bbp_pds_item,         ls_item_e             TYPE bbp_pds_sc_item_d,         ls_header             TYPE bbp_pds_header,         ls_tab_requested      TYPE bbps_detail_requested,         lv_value TYPE string,         lv_guid TYPE crmd_orderadm_h-guid,         lo_sc_instance TYPE REF TO /sapsrm/if_pdo_bo_sc_adv.   FIELD-SYMBOLS: <lo_dodm_acc> TYPE REF TO /sapsrm/if_cll_dodm_account,                  <lo_bom> TYPE REF TO /sapsrm/if_cll_bo_mapper.
DATA: lv_string TYPE string,         lv_string2 TYPE string,         lo_co_context TYPE REF TO if_wd_context_node,         lo_co_delegate TYPE REF TO if_wdr_component_delegate.   DATA: lo_view_delegate TYPE REF TO if_wdr_view_delegate,         lo_nd_user_details TYPE REF TO if_wd_context_node,         lo_nd_comp TYPE REF TO if_wd_context_node,         lo_el_user_details TYPE REF TO if_wd_context_element,         ls_account TYPE /sapsrm/s_ch_wd_map_acc.

 

Code to retrieve document details from buffer

*get object reference to task container factory

   lo_task_container_factory =  /sapsrm/cl_ch_wd_taskcont_fact=>get_instance( ).
IF lo_task_container_factory IS NOT INITIAL.
*get reference to task container     lo_task_container = lo_task_container_factory->get_task_container( ).
IF lo_task_container IS NOT INITIAL.
*read the GUID.       lo_task_container->get_bo_guid( RECEIVING rv_bo_guid = lv_guid ).
ENDIF.
ENDIF.
IF lv_guid IS NOT INITIAL.
*Get instance of PDO model       lo_pd_model = /sapsrm/cl_pdo_model_factory=>get_instance( ).
*Fill in the flags for the required data       ls_tab_requested-item_tab = abap_true.       ls_tab_requested-orgdata_tab = abap_true.
*Get details of the document from the Buffer. This is like a call to FM BBP_PROCDOC_DETAIL       lo_pd_model->get_detail( EXPORTING iv_guid = lv_guid
*                                     iv_object_id = iv_object_id                                          iv_object_type = /sapsrm/if_pdo_obj_types_c=>gc_pdo_shop                                          iv_with_itemdata = 'X'                                          is_read_flags = ls_tab_requested
IMPORTING es_header = ls_header                                          et_item  = lt_item ).
ENDIF.
ENDIF.

 


Get the WD component and View name that we are currently viewing


I think getting the view name is straight forward and many of you might already know it, but getting the WD component name is bit tricky. Here is the code snippet


*Do a widening cast of VIEW instance to  cl_wdr_delegating_view   lo_comp ?= view.
*Read attribute 'COMPONENT' and do a widening cast to cl_wdr_delegating_component     lo_co ?= lo_comp->component .
*Read attribute 'COMPONENT_NAME' which contains WD component name     lo_co_name = lo_co->component_name.
*View name can be read by VIEW->name

 

 

Access attributes of the view

 

The plot thickens from here . Here I have accounting WD component /SAPSRM/WDC_UI_DO_ACC and view  V_DO_ACCOUNTING as an example. let's say we want to access attribute 'MO_DODM_ACCOUNTING'. Below is the code snippet.

 

*We need this for accessing attribute reference
lv_string = 'IF_V_DO_ACCOUNTING~MO_DODM_ACCOUNTING'.
*Get the reference of view controller using DELEGATE attribute       lo_view_delegate = lo_comp->delegate.
*We have to access the attribute dynamically. Static access is not possible
ASSIGN lo_view_delegate->(lv_string) TO <lo_dodm_acc>.


Now we have the reference to the attribute, we can use it to access attributes and methods accounting DODM class.


Access attributes from component controller


This was a surprise to me. I want to access MO_BOM attribute declared under component controller. here is the code snippet


*We need this for accessing attribute referencebute reference
 lv_string2 = 'IF_COMPONENTCONTROLLER~MO_BOM'.
*Get the reference for component controller using DELEGATE attribute
lo_co_delegate = lo_co->delegate.
*We have to access the attribute dynamically. Static access is not possible.
ASSIGN lo_co_delegate->(lv_string2) TO <lo_bom>.

Access context of component controller

 

I just tried it and it worked . I want to access node 'ACCOUNTING' from component context. Here is the code snippet

 

*Get the reference to context of component controller
lo_co_context = lo_co->if_wdr_context~root_node
.
*Get the reference to node 'COMP_CONTEXT   lo_nd_comp = lo_co_context->get_child_node( name = 'COMP_CONTEXT').
*Get the reference of child node 'ACCOUNTING'   o_nd_user_details = lo_nd_comp->get_child_node( name = 'ACCOUNTING').
*
* @TODO handle non existant child       IF lo_nd_user_details IS NOT INITIAL.
* get element via lead selection         lo_el_user_details = lo_nd_user_details->get_element( ).
* @TODO handle not set lead selection         IF lo_el_user_details IS NOT INITIAL.
* get values of  attributes           lo_el_user_details->get_static_attributes(           IMPORTING             static_attributes =  ls_account ).         ENDIF.
ENDIF.


This is the end of my tryst with WD_BADI_MODIFYVIEW BADI.

 

Thanks for taking time and reading my blog.

 

Have a nice day and keep sharing


Custom Interactive Form by Adobe Integrating to PORTAL in SRM

$
0
0

Documentation for Custom Interactive Form by Adobe Integrating to PORTAL in SRM

REQUIREMENT: Configure Custom Interactive form by Adobe for the business documents like Shopping cart, Purchase order, RFx etc.


STEPS TO BE FOLLOWED:

01) Go to Transaction (T-code): SPRO.

02) Click on SAP Reference IMG.

1.png

03) The following screen appears “Expand SAP Implementation Guide-->Expand SAP Supplier Relationship Management-->SRM Server-->Expand Cross-Application Basic Settings” as shown below,

2.png

3.png

04) Expand “Set Output Actions and Output Format-->Execute Define Actions for Document Output”.

4.png

5.png

05) The following screen appears,

06) In our case we  are configuring the Interactive Adobe form for Purchase order print preview

07) Select “BBP_PD_PO” and Click on Action Definition.

6.png

08) The following screens appears and Click on “Processing Types”.

7.png

09) As we are configuring the Custom Adobe forms we has to Choose the “External Communication” as the medium, press “F4” help and Pop-up appears we can choose different mediums.

10) Select “External Communication” .

8.png

11) Select “External Communication”  check box and  click on “Set Processing”. The medium supports PDF based forms.

9.png

12) To replace the Standard Adobe form that is integrated with medium “External Communication we need to implement a BADI that changes the name of the adobe form in the runtime based on the conditions.

13) BADI Implementation:  Go to T-code-->SE19.

14) Select Standard BADI “BBP_OUTPUT_CHANGE_SF” and Click on Create Implementation.

10.png

15) Pop-Up Appears and Provide the Custom BADI Name “Z$$_$$$$_PO_ADB”.

16) Click on Enter.

11.png

17) Provide “Short Text”.

18) Click on Tab “Interface”.

12.png

19) Now, Click on “CLASS” as shown below.

13.png

20) Click on “METHOD” as shown below.

14.png

21) As per our requirement we can populate our own Custom Adobe forms. In case of interactive forms we need to pass the variables CV_DYNAMIC, CV_FILLABLE, Provide CV_SMARTFORM = CustomAdobe Form Name. Logic for different PO forms (in our example) as per the conditions,

15.png

22) To Test the FORM Log-on to “Portal”

23) Provide: User Name & Password.

16.png

24) Select for Ex: “Purchase Order”.

17.png

25) Select the “Purchase Order” and Click on “Print Preview

18.png

19.png

Creating NWBC Role Link for Workflow Subtitute

$
0
0

This post is written as a detailed explanation to the thread instead of substitution folder user want substitution link in his home tab.

 

In this example the standard role /SAPSRM/MANAGER will be used as a template and extended with the new link for the WF substitutions.

 

0000.png

What do You need for that.

 

Go to transaction PFCG - Role Maintenance and Copy the standard Role /SAPSRM/MANAGER.

0001.png

Click on Copy All to copy menu and auth. profile.

 

After that go to che change mode of the new created role. switch on the Menu tab and create a new folder.

0002.png

Give the folder name and click OK

0003.png

After that you can reorder the folders with drag&drop functionality.

Add a WebDynpro application to your new order.

0004.png

In the Popup enter application name and configuration name (you can select it via search help). Then "OK"

0005.png

Do not forget to set the new link as a default page

0006.png

Do not forget to generate the authorization profile and assign the role to the user.

 

After that your NWBC should function as displayed.

0007.png

Regards

Konstantin

 

P.S.:  English language is not my native language, and any person is not insured from mistakes and typing errors. If you have found an error in the text, please let me know - I'll correct the post.

 

P.P.S.: If you have some ideas, how to correct/improve this post - please don't hesitate to leave a comment.

Seeking regional advantage in the fog of international aura for commodity classifications

$
0
0

"It's an international problem!" what I called out in out latest meeting with one of our existing customer. I later realized that this was the sub-conscious analysis of my brain.

 

Matchmaking was never an easy job for people in real life across the globe and so has been the case for new age buyers and sellers. International standards for products and services have been in place for a while now to assign Commodity Codes for every single item that can be transacted between a buyer and seller. Finding the right commodity code for most common items in different industries is a huge problem than generally assumed to be. Any international standard after a certain extent gives away the regional benefit of common/layman terminologies used for some very basic source items for different industries.

 

There exits a huge chunk of working population that are so familiar with the regional terminologies that they often end up selecting different unique identification codes for the same Apple they want to buy/sell. I think this is a lacuna in the modernization technique applied by the commodity classification bodies. These bodies should be looking to tap the potential of regional terminologies while maintaining a relationship with the unique identification standards.

 

Like we can tag our blogs, discussions, topics etc. the international standards for classifications should build tags for each unique commodity code. Off-course its easier said than done but the ERP systems can first allow such a concept and then the data collected on the basis of ground level transactions at lowest level of regional hierarchy can form the building blocks.

Create shopping cart monitor from application monitor

$
0
0

Very often customers ask to create the separate transaction/application for the shopping cart monitor (but without application monitor sidebar).

0001.png

SAP provides the shopping cart monitor as a part of the application monitor.

0000.png

This post is the step-bystep guide to achieve the requirement.

First you need to create the custom application configuration for the WD Application /SAPSRM/WDA_L_FP_AMF - You can copy it from the existing configuration.

0002.png

Click on "Start Configurator" and then on "Copy"

0003.png

Give the new name to the configuration and assign the package and transport.

0004.png

Then go to the change mode of the new configuration.

0006.png

Here you see all the used components and can assign a custom configuration to them. Now You need to create the new custom configuration for the WD Component /SAPSRM/WDC_L_FP_AMF. Go to transaction SE80 and create the new config.

0007.png

Give the new name and click on "Create".

0008.png

After creation You need to navigate to the Build-In components and hide the side bar "PANEL_CONTAINER".

0010.png

After that save the component configuration, go back to application configuration ans assign the configuration to the component.

0011.png

Now you need to create a new menu entry for the application. Go to PFCG and take an appropriate role. I have used the role, from the blog post Creating NWBC Role Link for Workflow Subtitute .

New Folder, New WDA.

0012.png

WDA should be assigned with the following parameters.

0013.png

Important fields are

  • Application Configuration = Z_SC_MONITOR - this will hide the sidebar.
  • SAPSRM_TX_CONTENT_ID = SC - this will start SC Monitor by default.

 

Now the requested functionality should be available for the user, as soon as the role is assigned.

 

Regards

Konstantin

 

P.S.:  English language is not my native language, and any person is not insured from mistakes and typing errors. If you have found an error in the text, please let me know - I'll correct the post.

 

P.P.S.: If you have some ideas, how to correct/improve this post - please don't hesitate to leave a comment.

SAP SRM 7 : How OBN navigation works in NWBC

$
0
0

Few days back I posted a question in abap webdynpro forum contracts POWL - calling contract mass change application to understand how SAP manages to call the specific webdynpro application, when we click on document number or when we click on Display button in the toolbar(Portal or Launchpad customising are not used). Unfortunately I didn’t get any answer. So I had to spend some time debugging this to figure out the logic myself. In this blog I am going to talk about my findings.  Before you start reading further, please keep in mind that knowing these things may not help you any usual developments that we do in SRM projects. But I feel there is no harm in getting into finer details of something and enrich your knowledge repository with new stuff. As somebody rightly said “GOD lies in the DETAILS”

 

Let’s take SC POWL from purchasing and start analysing the call stack, when we select a SC and click on DISPLAY button. As you all know, control goes to HANDLE_ACTION method of POWL feeder class. Then call stack proceeds something like below

 

Class / WD component

Method

comment

/SAPSRM/CL_CLL_PWL_A_SC_PROF

IF_POWL_FEEDER~HANDLE_ACTION

Feeder class for SC POWL

/SAPSRM/CL_CLL_POWL_BASE_AGENT

IF_POWL_FEEDER~HANDLE_ACTION

Base class for all feeder classes

CL_POWL_MODEL

FEEDER_HANDLE_ACTION

 

CL_POWL_MODEL

DISPATCH_ACTION

 

 

E_PORTAL_ACTIONS parameter of method HANDLE_ACTION is filled with below data.

 

Field

value

comment

BO_NAME

sc

 

BO_OP_NAME

displayprof

 

PARAMETERS

 

 

      SAPSRM_CA_TAB

D_I_BD

 

      SAPSRM_ITEMID

0050569955DD1ED4BAB5F7408FBC9F24

SC lead item GUID

      sapsrm_boid

0050569955DD1ED4BAB5E5D3ABF59F24

SC header GUID

 

After we click F8, we get a blank window and control goes through below mentioned call stack

 

Class / WD component

Method

CL_HTTP_SERVER

EXECUTE_REQUEST

CL_NWBC_HTTP

IF_HTTP_EXTENSION~HANDLE_REQUEST

CL_NWBC_HTML_BASE

IF_NWBC_REQUEST_HANDLER~HANDLE_REQUEST

CL_NWBC_HTML_BASE

HANDLE_APPLICATION_WINDOW_BODY

CL_NWBC_RUNTIME35

IF_NWBC_RUNTIME~EPCM_DO_OBJECT_BASED_NAVIGATE

CL_NWBC_RUNTIME35

IF_NWBC_RUNTIME~RESOLVE_NAVIGATION

CL_NWBC_RUNTIME35

IF_NWBC_RUNTIME~GET_OBN_TARGETS

CL_NWBC_RUNTIME35

RESOLVE_OBN

 

The important method in the above call stack is RESOLVE_NAVIGATION. This method has an export parameter called URL, which determines what content to display in new window. First SAP gets all the OBN targets maintained in all roles of current user. This data is stored in table AGR_HIER_BOR.

 

This information is maintained in ‘MENU’ tab of role in transaction PFCG. We need to maintain object and method names as shown below.

 

image2.JPG

 

If we click on the magnifying class, you will see in the parameter assignment section, mapping between webdynpro application parameters and attributes of business object ‘sc’. You can check business object ‘sc’ using transaction SWO1.

 

image3.JPG

After that it checks if the OBN target that we are interested in is part of these OBN targets. If not, system throes an error as shown below.

 

image 5.JPG

Once it finds an exact match, it extracts the URL from the data that we maintained in the user role in PFCG. This URL has details like which webdynpro application to call and with which competent configuration. In this case WD application is /SAPSRM/WDA_L_FPM_OIF and component configuration is /SAPSRM/WDAC_I_FPM_OIF_SC_PROF. So now we know exactly what to render on the new window.

 

image4.JPG

 

URL : /sapsrm/wda_l_fpm_oif?WDCONFIGURATIONID=/SAPSRM/WDAC_I_FPM_OIF_SC_PROF&sapsrm_mode=DISPLAY&sapsrm_botype=BUS2121

 

So that’s the end of blog. Thank you... Wait… there is still some mystery. How the system knows which SC to display. Here comes Application configuration controller (AppCC) of OIF /SAPSRM/WDC_FPM_OIF_CONF(To know more about AppCC read my blog Dynamically Modifying Purchase order FPM in SRM7 using custom AppCC). Event FPM_START is first event that gets triggered before anything is displayed in the window. First control goes to OVERRIDE_EVENT_OIF method of component controller of AppCC. From there call stack goes as below

 

Class / WD component

Method

/SAPSRM/WDC_FPM_OIF_CONF

Component controller OVERRIDE_EVENT_OIF

/SAPSRM/CL_FPM_OVRIDE_OIF

OVERRIDE_EVENT_START

/SAPSRM/CL_FPM_OVRIDE_OIF_SC_P

INIT_OBJECTS

/SAPSRM/CL_CH_WD_TASKCONTAINER

/SAPSRM/IF_CLL_TASK_CONTAINER~GET_BOM_SC

/SAPSRM/CL_CH_WD_MAP_FACTORY

/SAPSRM/IF_CH_WD_MAP_FACTORY~CREATE_SC_MAPPER

/SAPSRM/CL_CH_WD_BOM_SC

CONSTRUCTOR

 

In constructor of /SAPSRM/CL_CH_WD_BOM_SC there is code to extract parameter values stored in task container class.

  lt_url_params = io_task_container->get_url_parameters( ).

 

Shopping cart guid is part of lt_url_parameters.

 

How these parameters are first added to task container class is really difficult to understand. So let’s not worry about it

 

I hope you enjoyed reading the blog.

 

Keep sharing. Thank you

#AribaLIVE & #SAPPHIRENOW experiences & #procurement renewal demand signal messaging

$
0
0

Fellow SAPProcurement enthusiasts Its been a while blogging in the SCN SRM space, much like my current thirst for a ideal hybrid platform, even my thought-process focus has spread across the broader SAP Procurement landscape which is a mix of the SAP Procurement cluster thats expanded with the SAP Business Network strategy powered by Ariba, Fieldglass & Concur

sapneconomy.jpg

 


I recently attended #AribaLIVE LasVegas and sapphirenow Orlando and the demand signals in the Procurement area are clear that we all "customer, consultants, partners, ISV's and industry relevant souls" need to be tuned to the 360 degree storyline.



If you are doing that without the adoption of the cloud in your enterprise hybrid story, your incumbency will cost you dearly, sooner or later !!!

 


 

steve-ariba-concur-fieldglass-globe-ws-angle-scn.jpg

I will be blogging on the skill-set now that has further expanded beyond Ariba, when we started the expansion story from 2012 June onwards
Many of you have reached out to me after that with so many interesting and also cynical queries around your mindset, now the story just gets more complex with the realm of the hybrid SAP Procurement landscape and also the business network story wrapped around it.

Dont know, if you are docked with the latest in the space, but lets say you haven't, note that the #procurement family has expanded @ SAP with the acquisitions and now call for a renewal in your thought process to make your businesses Runsimple

 

Read, all these 3 experience oriented blogs posted by me in the Ariba Exchange and also the SAPPHIRENOW and SAP Business Networks campus, coz thats where i camp now, and am sure, you too will, after digesting the NET NEW platforms out there for all of us

 

Blog 1: Is it time for #procurement RENEWAL? #RunSimple has the answers in TheNetworkedEconomy

In this Blog, I've decoded Bill McDermott's runsimple for procurement and the realm of businessnetwork w/SAP

 

 

Blog 2: My First 360 Degrees #AribaLive Experience in more than 140 characters

read this to understand the new dimensions in the procurement space w/SAP

 

 

Blog 3: "While you were away" #AribaLIVE Vegas twitteratti, trending heatmap & sentiment recap

twitter sentiment from AribaLIVE

 

sentiment.png

the above infographic would have given you a pulse into whats new for us, topics & the latest sentiment & the demand signals and if you havent been tuned, now is the time, as a start ......read Anna Millman blog on the keynotes from sapphirenow on procurement and SAP Business Networks you cannot miss.

 

SAP Business Networks: Top 7 Replays for Ariba and Procurement

 


Thanks Debra Curtis-Magley for motivating me to cross-pollinate my followers on my legacy battleground SCN and now exchange.ariba.com

 

 

Runsimple.jpg

 

follow me on twitter @tridipchakra

 

pen down your concerns or what you want to hear as follow-on for the topics above or roadmap/vision related nuggets with your valuable comments

Analysis tool for SRM Workflow

$
0
0

Are you using process-controlled workflow in SRM?
Have you ever looked into the details of the application logs and tables of process-controlled workflow?

If so, you will be very familiar with the amount of time and manual effort that is required to analyze this information and to find the source of a problem.

 

The report BBP_WORKFLOW_ANALYSIS follows the concept of the BBP_PD tool and now available for SRM 713 Support Package 8 and above.

The support package 8 of SRM 713 implements the tool and it is planned to release it for previous releases too.

A detailed explanation of how the new report works is available in the following wiki page:

 

- Workflow analysis tool for process controlled workflow

 

The main screen of the tool:

tool_main.jpg


SRM Tutorials published by SAP Enterprise Support Academy

$
0
0

Several new video tutorials about Supplier Relationship Management (SRM) have been published by the SAP Enterprise Support Academy program.

These tutorials, called QuickIQs, aim to teach how to configure specific functionalities or system settings.


The following tutorials have been released recently (S-User required):

 

 

 

This tutorial shows you how to customize the document number display at header level. This is relevant after upgrading to EHP2 of SRM 7.0, according to Note 1945436.


 

This tutorial shows how to activate and Assign Supplier Obsolete functionality, that removes the Assign Supplier button in SRM Shopping Cart.

 

This tutorial shows how to display Catalogs, under Catalogs tab, in new UI Interface Add-on for SAP SRM. Note 2221631 provides more inputs.

 

 

These tutorials also contains links to Knowledge Based Articles and SRM Wiki pages to complement the provided information.

 

A full list of all available tutorials (also for other topics like mobile or database & technology) is available here.

 

The SAP Enterprise Support Academy program offers a wide range of services and educational content, empowering you to develop your skills and boost your knowledge. Included as part of the SAP Enterprise Support agreement at no additional cost, this program enables you to fully maximize the benefit of SAP Enterprise Support offerings and the SAP software that runs your business.

SRM Contracts information

$
0
0

Hello!

 

I am Christian Zeuch and I work at SAP's Product Support in SRM team.

 

I would like to share my experience and information regarding Contracts in SRM.

 

So if you are facing an issue related to this topic but you are not sure what to start the analysis, this blog post if for you!

 

To start, you can always check the new "SRM Contracts Channels" page. Many sources of documentation are grouped there, so it doesn't hurt taking a look.

You will find links to SAP Help, SCN Wikis, Forum, Troubleshooting Guide, etc.

 

contract channels.png

 

Beside that channels page, there are some Knowledge Based Articles (KBA) that may come in handy when starting an investigation in SRM Contracts area.

 

In KBA 2028062, you can find information regarding issues with contract performance and also background import of XLS files. This KBA also links to other documents but I'll detail these one further on.

 

However, the areas where most issues may surface when talking about SRM Contracts are Distribution, Release Value and also Metadata (disabled buttons, hidden fields, etc).

 

Regarding Contract Distribution, be it IDOC or XML, this topic is the most common one when talking about Contract issues. Maybe the IDOC failed due to an error, or the XML contains wrong data.

 

There are two main places to start looking for possible solutions or tips to analyze distribution topics. One of them is the Contract Troubleshooting Guide (or TSG). The other one is KBA 2042445, where you can find information regarding Contract Distribution.

 

That should give a starting point, at least.

 

Now, talking about Release Value, this is quite famous topic. The POs are not updating the Contract with the correct value, or not even updating it, or the link between the documents is broken.

 

If this is the case, then you can always check the "Release Value" area of the Contract TSG. Additionally, there is this KBA 2042552 that mentions some tips regarding Release Value.

 

Hopefully you will find some help in those documents.

 

You know when something is off in the screen? Like when a field that is supposed to be enabled is disabled, or when a button is not visible.

Well, that smells like an issue within the Metadata configuration.

 

So if you ever need to double-check the Metadata to make sure that it's not impacting in the display of fields or buttons, you can access the Contract TSG "Metadata" area or you can read KBA 2044237.

 

Those are the documents more focused on troubleshooting and investigation when it comes to SRM Contracts.

 

Feel free to comment on anything

 

See you!

Failed to Modify Business Partner after SRM upgrade

$
0
0

After upgrading SRM to new release, sometimes you may find out some contact persons cannot be edited due to the error "Relationship XX XX XX do not exist". They can not be saved in portal (SRM administration--> contact person) or edited in t-code BP.
time-3png.png
This error (R1 733) is raised from include LBURSF19, and system failed to find out relationship from FM BUB_BUPR_BUT050_LM_READ:

time-2.PNG
In the above coding, it will try to retrieve the relationship from BUT050, and here the date_to is set as '99991231'.
However this contact person has some specific value in date_to field instead of max date.

time-6.png

So the relationship can't be found, and error message was raised to stop the save action.

 

Why is the date_to field set with value "99991231"?
This is a long story. Before upgrading, SRM system is set time dependency parameter TIMDP as '4' which means BP relationships, such as contact person, is set up as time-dependent, so the date_to is stored with specific date.

time-1.PNG

However after upgrading SRM release, one component 'MDM_TECH' is introduced to SRM system.
MDM system makes use of Partner Functions and since they are time-Independent, BP relationships should also be time-independent.
MDM components should ideally be installed in systems that are not using contact persons in a time-dependant fashion.

 

So the time dependence parameter is always set to '0' even if customizing (t-code BUBA) is set as '4'.
And maximum date 99991231 is set as search parameter to retrieve relationship. This is hard-coded, and cannot be changed for the moment.

time-4.PNG

Workaround:

If you unfortunately have such kind of problems, you need to identify these time-dependant contact relationships in BUT050 master table.

Search the BUT050 table with relationship type = BUR001 and check the validity of the records.

(i.e contact persons whose validities are different from

  valid_from = 01.01.0001

  valid_t0 = 31.12.9999 )

 

Modify these records so that they have the valid_from and valid_to values as shown above.

Do take a back up (in form of a text file or excel sheet) before modifying the records.

Change a single record first and check if this resolves the issue first.

 

Hope this would be of help for you, and welcome to any feedback about this.

SRM offline Bidding

$
0
0

While submitting offline bid(quote) the Smart interactive PDF form doesn't send response (email),

when I fill the details and press submit button nothing happens?

 

SOLn :

  1. In Adobe reader go EDIT >> Preferences ( CTRL + K ).
  2. Then go to JavaScript category.
  3. enable Acrobat JavaScript.
  4. Now try to submit.

 

* This post assumes that you are using Adobe reader to open the form. In any case this is problem is generally caused due to JavaScript being disable, enabling this should solve the problem.

Some Tips in Translation of SRM content

$
0
0

SAP provided standard translation for buttons, fields, etc, in different languages. However you may still want to adjust it according to your understanding.
Here in this blog, I would like to introduce some ways to do translation in SRM application.

 

  1. Translation in POWL area
    In POWL, it is divided into three parts:
  • Active Query
    1.PNG
    For this part, you may find the corresponding query in t-code POWL_QUERY, and go to path 'Goto -> Translation'
    to select the target language for translation.
    4.png

  • Search Criteria
    2.png
    For this part, please go to method SET_MY_SELCRITERIA of corresponding class, such as /SAPSRM/CL_CLL_POWL_BO_RFQ.
    And then Goto -> Text Elements to choose the field and do translation.
    5.png

  • POWL button and result table
    3.png
    For this part, please refer to the solution in the following note to check and maintain the translation:
    KBA 2158920 Translation Issues in SRM POWL

  

    2.  Translation in SRM Documents
         If you would like to translate some fields or buttons in SRM documents, such as RFx, SC, etc, please try the following method:

  • Get wendynpro component, view name and element name of the field or button and search property value in table WDY_UI_PROPERTY.
    4.png
  • If no entry for this field/button in table WDY_UI_PROPERTY, then search the text directly in t-code sort_edit to get the package, alias and concept.
    1.png
  • Go to se63, and navigate to menu Translation --> ABAP Objects --> Short Texts --> A5 --> SOTR.
    2.png

    For 'object name', please insert both package and the concept of the text using F4 help:
    For example:
    3.png
    You may also refer to KBA 1739292 - Use of the Online Text Repository (OTR) to correct translation issues for the second method.


   3.  Translation for Dropdown Texts
        For some dropdown texts, it can only be found in specific method. So the translation has to be done in the method itself.
        For example, in RFx, while adding lines, there is option 'add item from SC'.
        To translate it, go to method /SAPSRM/IF_CLL_DOTM_RFQ_I_BD~INIT_CATALOG_ENTRIES(Class /SAPSRM/CL_CH_WD_DOTM_RFQ_I_BD).
        Then Goto --> Text Elements to do such kind of translation:
        5.png

   4.    Translation for Buttons without OTR
          For some buttons, they have no OTR maintained, so it has to be translated in t-code se80.
          For example, 'Award' button in Responses&Awards page:

  • Go to SE80.
  • Enter FPM_OIF_COMPONENT in Web dynpro Comp./ Intf.
  • Expand Component Configurators.
  • Select /SAPSRM/WDCC_FPM_BEV_RFQ under Component Configurations.
  • Click on Start Configurator.
  • Click on change in the new window Component Configuration /SAPSRM/WDCC_FPM_BEV_RFQ.
  • Click on "Award" Button.
  • Change the Label as what you want
  • Change the tool tip as what you want
  • Save your changes.

 

Hope this would be of help, and welcome any other ideas about translation methods in SRM.

Sending Email Notifications to all the email addresses maintained against a Contact Person

$
0
0

This Document is basically about triggering email notifications to all the email addresses that are maintained against a Contact Person.

The standard SRM system triggers notification only to the email addresses that is marked as standard.

Please follow the below steps if you are looking to achieve the same-

 

1.) Go to SPRO and locate "define actions for document output".

     1.png

2.) Select the "processing types" for BBP_PD_BID. Look at the "Smart Form Mail" processing class / method.

     2.png

3.)  If it is the standard class CL_PD_BID_PROCESSING_BBP, create a Z class of your own, copying the standard class.

     3.png

4.)  Modify the method PROCESS_BBP_BID_MAI_BCS of your Z class. Locate the comment "Create and send email" and make changes to that section to add more email          recipients of that contact person.

     4.png

5.)  Replace the standard class with your custom class in the customization.

     Path-> SAP Implementation Guide à SAP Supplier Relationship Management à SRM Server à Cross-Application Basic Settings à Set Output Actions and      Output Format à Define Actions for Document Output

     5.png

 

Please let me know if you seek any help/input further.

 

Regards,

Mrityunjai

Retrieving all email addresses maintained against a Contact Person

$
0
0

This blog will help you getting all the e-mail addresses maintained against a Contact Person.

 

Please follow the below steps-

1.)  Tcode to change Contact Person- BUA2

     4.PNG

Enter the BP here and press enter.


2.)  To add email address go to email address field and click on other email addresses as shown below-

     1.png

3.)  Add the new email addresses-

     5.PNG

4.)  Use FM- BUPA_ADDRESS_READ_DETAIL to get all the email addresses maintained against a contact person-

Importing parameters-

IV_PARTNER = Business Partner

IV_ADSMTP = X

5.) Result-

     6.PNG

Hope this help.

 

Regards,

Mrityunjai


Diagnostics of status reports and BBP_DOCUMENT_TAB

$
0
0

Description

When installing and maintaining a SAP SRM system, the analyst has to create periodic jobs executing the reports responsible for updating document status:

  • CLEAN_REQREQ_UP
  • BBP_GET_STATUS_2
  • BBP_SC_AUTO_RETRANSFER

 

I have been working as a Support Engineer for a few years and I have seen several issues related to these settings. For example, it is pretty usual to see table BBP_DOCUMENT_TAB in production with hundreds (or thousands) of entries.

 

Not maintaining schedule jobs for the status reports causes different issues, Shopping Carts not showing all the related documents, wrong statistical values in Purchase Orders, Confirmations being created for Purchase Orders fully confirmed, etc.

 

There are a several steps to evaluate the "healthiness" of the system regarding this. I have created the Z_STATUS_CLEAN_TOOL to automatically run this analysis and show some of alerts and issues linked to the proper documentation provided by SAP.

 

For continuous improvement of this tool, please install it in your development systems and test it by yourselves. Your feedback about this report is highly appreciated!

 

Environment

It is recommended to run this report in SRM 7.0 and above.

 

Download

SAP Note 2233889 - Diagnostics of status reports and BBP_DOCUMENT_TAB

 

Screenshots

Z_STATUS.png

See Also

SAP Help about status reports

 

SAP Note 1499352 - SRM Transfer: Redesign, bug fixes

Commonly used ESOA Services related to Central contracts in SRM

$
0
0

1) PurchasingContractSRMReplicationRequest_Out


2) PurchasingContractSRMReplicationConfirmation_Out


3) PurchaseOrderERPContractReleaseNotification_Out


Scenario for 1st&2nd services: When the SRM central contract created with the distribution maintained in it, then service “PurchasingContractSRMReplicationRequest_Out” fired from the SRM to ECC. Which helps in replication of the central contract in the ECC. Depending on the distribution maintained, service fired to more than one ECC system. In turn, service “PurchasingContractSRMReplicationConfirmation_Out” fired from the ECC to SRM. Which notifies the SRM about the contract replication.

 

Scenario for 3rd service: When central contract is used has source for the creation of purchase order,

Service “PurchaseOrderERPContractReleaseNotification_Out” fired from ECC to SRM to update the release value in the contract.

Analysis report for confirmation creation from a PO

$
0
0

Dear community,

 

Have you ever tried to create a confirmation from a PO and you don't know why the PO is not showed when the system indicate "No documents correspond to search criteria"?

 

The report BBP_CONFIRMATION_ANALYSIS follows the concept of the BBP_PD tool and now available for SRM 713 Support Package 11 and in note 2161155for other releases.


This report can be used by your support team or business super users usingPurchase Order and an User ID to check system, user and document using to show the possible reasons why is not showed

 

A detailed explanation of how the new report works is available in the following wiki page: Purchase Order Analysis tool for creating confirmations

 

The main screen of the tool:

result ok.jpg

"Automated Note Search Tool" -- How to use it in real SRM cases

$
0
0

Dear All,

 

Some of you might ever hear about this tool called 'ANST'. This is a transaction which can be called, if your SAP_BASIS component satisfied the following pre-requisites.

test3.png

Well, from its name, it seems to be a tool to search SAP Notes automatically. Of course, it has this functionality, but not only this.
It can also identify custom codes, customizing tables, and provide debugging hints.

test2.png

However it is a little confusing that how we can make use of ANST to solve cases in SRM products.
In order to show this vividly, I try to simulate some scenarios in SRM system with videos.

Test Case:

  1. Transaction => BBPGETVD
  2. Program =>BBP_VENDOR_UPDATE_DATA_JOB
  3. Web Dynpro Application => Inconsistent Business Partner Handling
  4. WD Application Configuration => Attribute issue in SRM User Settings

 

Please go to 'Resolution' part of KBA 2250904to check the videos that you are interested in.

 

P.S.
If you cannot launch ANTST tool even if SAP_BASIS SP is higher than required SP, try to search SAP Notes with key words 'ANST' under component BC-UPG-NA. You will find the solution then.

 

Hope you will like this tool in your daily work

SRM QuickIQ Tutorials by SAP Enterprise Support Academy - Administration Part

$
0
0
  • Inconsistent Business Partner Handling in SAP SRM
    This tutorial shows you how to activate the new functionality 'Inconsistent Business Partner Handling' and how to use it to replace old user once it is accidentally removed/deleted. This new switch is available as of Enhancement Package 3 for Supplier Relationship Management 7, according to Note 2041149.
  • Vendor Replication in SRM@ERP One Client Scenario
    This tutorial shows you how to configure and customize vendor synchronization in one client scenario, and how to debug the process. For a learner at this scenario, it would be better to read this tutorial and download the guide from Service Market Place.

 

These tutorials also contain links to Knowledge Based Articles and SRM Wiki pages to complement the provided information.

 

Welcome to your feedback for more interested topics on ADM area and we will try our best to provide more useful tutorials, which will make your daily work easier and happier.

Viewing all 46 articles
Browse latest View live


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