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

How to Solve Error - object or set with guid 0000000000000... does not exist

$
0
0

Many end users might encounter the same general error 'object or set with guid 00000... does not exist' while creating/displaying documents, such as contract.

test1.png

To solve this error in different scenarios, we already proposed some solutions in the following KBA notes:

2135466 - Object or set with GUID does not exist when open documents from POWL

2153294 - "Object or set with GUID 000000000000000000000 does not exist" error during catalog item transfer

 

However they still can't cover all the conditions for this error. So I would like to introduce you how to analyze this error by yourself.

 

1, check portal version

If you are using portal as framwork for SRM system, you have to read the following note first.

2021994 - Malfunctioning of Portal due to omission of post parameters

test3.png

As mentioned above, if your portal version is lower than or equal to the above versions, please deploy the latest patch for EP.

There is a bug in EP side which will also introduce the same issue.

 

2, debug to find the specific error behind this

 

If you found all the above KBA notes don't help, and portal release is also fine, please set external breakpoint at method /SAPSRM/IF_PDO_MSG_PROVIDER~ADD_MESSAGE_STATIC (Class /SAPSRM/CL_PDO_MSG).


Start the action again, and the real error will be recorded in it_message[].

For example, sometimes number range is not maintained well, so the document can't be created.

test2.png

This is very useful while debugging such general error. If the error is caused due to application side, this method can be used.

 

Welcome to any feedback on this:)


one Contract Document, so many tools!

$
0
0

Few days ago I was wandering how many tools do we have under SAP ecosystem to create or mange Contract Documents.

 

You may find a Contract Document in ECC (MM), SRM, Sourcing (CLM) and the new in the family Ariba.

 

All of the solutions mentioned before are very similar and very different depending on the point of view.

I want to share a small high level summary that show, in my opinion, characterystics of each solution in order to allow us (consultants) to suggest customers the best solution to fit their requirements

 

 

Solution Integration with ECC Contract Lifecycle Implementation Supplier Interaction Flexibility - Developments
SRM Central Contract Most of the times the core solution is ECC SRM does not manage the complete contract lifecycle, only include the "logistic" part of the contract. The legal contract and signature should be controled in a different tool. On PremiseSupplier does not interact with contracts. Enhancements are allowed- ABAP code.
ECC -MMN/AECC does not manage the complete contract lifecycle, only include the "logistic" part of the contract. The legal contract and signature should be controled in a different tool. On PremiseSupplier does not interact with contracts. Enhancements are allowed- ABAP code.
Sourcing - CLM Integration with SRM or ECC as standard for Materials. In case of service integration is a bit complex and maybe enhancements need to be developed. Control the full lyfecicle including clause library and legal contract signatureOn Premise Supplier may access the system and contibute during contract lifecycle. Enhancements are Allowed - Beanshell (Script) Code
Ariba - Contract Management As standard is integrated with ECC. Maybe some development is needed to adjust the integrationControl the full lyfecicle including clause library and legal contract signature. Integrated with Ariba NetworksCloud Supplier may access the system and contibute during contract lifecycle. Customer code not allowed, Enhancements Requests must be requested to Ariba and may or not be approved or delivered in a short period.

 

As a conclusion, SRM and ECC solutions are oriented to logistic point of view of contract and Sourcing CLM and Ariba Contract Management are oriented also to Contract complete Lifecycle,  but in case of the last two,  integration with ECC may be a challenge.

 

What's next

 

S/4 Hana platform will bring us a new solution in terms of sourcing and procurement that will interact with the exising solutions and open new opportunities in terms of implementation.

 

http://www.sapserviceshub.com/i/587436-sap-s-4hana-reimagine-business-in-the-digital-economy/50

 

 

Hope this help!

 

Celeste

PPOMA_BBP not working while calling from WebGUI

$
0
0

Some of you might call user maintenance transaction PPOMA_BBP from WebGUI. However some functionalities are not working such as 'Select Attribute'.

kk1.png

In a pure GUI system, the system hits the standard call stack below. The variable gs_act_info-refr is always set to abap_true (i.e. 'X') when selecting the attribute.

kk2.png

However if you are calling the user maintenance from WebGUI, this variable needs to be set to abap_false (' ') in order to display the attribute list on the web.

Therefore reset the variable gs_act_info-refr manually in debugger to ' ' and the attribute list will be displayed.

kk3.png

kk4.png

Consider to change the coding logic in LBBP_OM_DIALOG_AF01 to make this work in webgui:

kk5.png

Or you may add your own enhancement here to change the variable value.

How to enable bidder not invited to respond restricted RFx

$
0
0

This blog explain how restricted RFxs will behave for non invited bidders and the alternative solution to the standard design.

 

Considering the following scenario:

 

  • RFx with type Restricted
  • RFx flag "Allow Multiple RFx Responses for Each Company" is set
  • One company with several contact persons
  • Only one contact person from this company is invited

 

We have the following result:

 

  1. Contact person invited can see the buttons to respond the RFx (PARTICIPATE, NOT PARTICIPATE, CREATE) but not REGISTER (SAP note1679121)
  2. Contact person NOT invited can see the RFx available (KBA note 2076804)powl_cp_notinvited.jpg
  3. Contact person NOT invited cannot see button "CREATE RESPONSE" (SAP note 1872169)rfx_create_response.jpg

 

Some users wants to have bidders that are not invited being able to respond RFxs though. For that, is possible to consider the following workaround:

 

Enhance method REGISTER (/SAPSRM/CL_PDO_DYN_MDA_HD_RFQ)

 

By enhancing this method and setting cs_metadata-action_enabled = TRUE, contact person NOT INVITED should be able to see button REGISTER and hence after registering, buttons PARTICIPATE, NOTPARTICIPATE and CREATE should be available to the contact person.

SRM UI Add on 1.0 - Search helps Demystified - Part 1

$
0
0

In the previous blog SRM UI Add on 1.0 - Custom fields Demystified, we have seen how data maintained in “Extensions and Field control” is extracted using OData services and translated into custom fields on different UI5 screens. In this blog we will continue our quest and try to understand how the infamous search help created in SAP GUI is translated into UI5 screens. We will first look at the necessary configuration that is needed in SPRO related to search helps.

 

To begin with select the search help check box and enter search help name. Please note only elementary search helps are supported. As of today collective search helps are not supported.

image001.png

Next step is to maintain Search help field mapping. Here select the field form search help export parameters which gets displayed in the result screen and model field name to which you want to transfer this value (Ideally it should be the binding element to which customer input field is bounded)

 

image003.png

 

The field mapping data is stored in table /SRMNXP/D_SH_VMP. We need to keep an eye in entries of this table when we change the field mapping dataJ. The entries in this table do not get deleted if we delete the entry from SPRO. So make sure that you don’t have unnecessary entries in this table.  This leads to wrong values getting transferred to input field when user selected a row from the search results. In one of our project, this has caused lot of headache for us

 

The result of doing the above said configuration is, we see a input field with value help attached to it on header identification region a shown below

image005.png

We are done with the configuration. Let’s understand how the data is transferred. There are two OData services that we need to consider here. One is GETDEFUSRSET, where we have details of search help name and field mapping data

 

image007.png

Second OData service is SEARCH_HELP, which gets all the metadata of search help like search help type, import/export parameters etc.  This data is used later in UI5 to build the selection screen of search help and also the result table containing the result list.

 

image009.jpg

 

IT is good know more about this OData service here. It has two Entitysets called SearchHlpMetadataCollection and SearchHlpDataCollection. First one gives metadata of the search help, whereas second one gives the result list after clicking on search. In this blog we are interested in first Entityset.

The Entity of this Entityset is composed of three sections

 

INTERFACE – This section has attributes of the search help like name of the search help, Dialog type, search help exit name etc.

 

image010.png

FIELDDESCR – This section contains details of the each field in the search help, like name of the field, description, input length, output length, data element etc.

 

image012.png

FIELDPROP – This section contains details about whether a particular field is Import/export, position of the field on the selection screen and position of the field in the result screen.

 

image014.png

The JS code that creates the value help field is in method createValueHelp() of LayoutGenerator.js. Instead of pasting all the code from /SRMNXP/SHOPPINGCART BSP application, I will mention the important stuff that happens inside this method


  • Creation of SAP UI5 control ValueHelpField ValueHelpField - SAPUI5 Demo Kit
  • Binding the ‘value’ property to the binding element mentioned in SPRO
  • Attaching even handler method customSearchHelpHandler( ) to F4 event

 

So in Short, we have a valuehelpfield which is bound to some OData service and has an event handler attached to reach to user F4 selection

 

Next thing to do, click on F4 (obviously)

 

As mentioned above event handler method gets triggered and inside the handler system

 

  • Reads the field mapping data
  • Call method openCustomSearchHelpDialog( )

 

Inside openCustomSearchHelpDialog( ) method

 

  • Creation of SAP UI5 control OverlayContainer OverlayContainer - SAPUI5 Demo Kit
  • Instantiate view CustomerSearchHelp.view.js
  • Instantiate controller CustomerSearchHelp.controller.js
  • Calling method onReInit() of controller
  • Adding the view CustomerSearchHelp to OverlayContainer control
  • Open OverlayContainer

At this point, you might be wondering where the call to OData service SEARCH_HELP is. It happens inside onReInit() method of controller

In onReinit() method, below three lines of code takes create calling OData service SEARCH_HELP with specific search help name and get the required metadata

 

// Fire the OData service to get the search help metadata
var searchHelpName = this.getSearchHelpName() ? this.getSearchHelpName().replace(/\//g, '|') : null;
var sDataModelKey = "/SEARCH_HELP/SearchHlpMetadataCollection(SHLPNAME='" + searchHelpName + "')?";
Appcc.getModel("SearchHelp", this.oSearchHelpMetadata, sDataModelKey, true, "DISPLAY", null, false);


From getModel() of APPController.js to display of selection screen, there are lot of different calls to different method and it is difficult to explain the whole call stack( It will make this document too large) So below I am giving the important call stack

 

JS file

Method name

Comment

CustomerSearchHelp.controller.js

onReInit

Call OData service “SEARCH_HELP” to get the metadata of the search help

APPController.js

getModel

 

dataManager.js

DataMgmt()

 

APPController.js

onDataModelLoaded

 

CustomerSearchHelp.controller.js

onDataModelLoaded

 

CustomerSearchHelp.controller.js

SearchHelpMetadata.

prototype.

onDataModelLoaded

Data from the OData service is segregated into different variables and used in designing the selection screen and output table

CustomerSearchHelp.view.js

Createcontent

Main layout of the search help screen is built here. Buttons “Use selected”, “cancel”, “reset” and “search” buttons are added to the layout along with corresponding action handler methods. Here data from section FIELDDESCR and FIEDLPROP of OData SEARCHHELP is used.

  1. CustomerSearchHelp.view.js

__createFormLayout

Actual creation of selection screen is done here.

 

What you see after all this mumbo jumbo is

 

image016.jpg

 

Enough for today   In the next blog, we will see how search results are extracted and displayed on the UI5 screen.

 

Keep Reading and Keep Sharing....

Process type for backend (ECC) PO in RFx and SoCo

$
0
0

This blog summarizes how the standard will behave when handling creation of classic Purchase Order from RFx response and shopping carts in Sourcing Cockpit (SoCo).

 

First of all, let's identify some different situations while creating PO in SRM:

 

 

1 - From RFx Response using "Create PO"


Here, user will be allowed to choose transaction type because, at this time, system does not have the information on what type of PO will be created.

Despite of the value that user is selecting here, PO will be created with BSA attribute determined in PPOMA_BBP.

 


Pop-up from "Create PO" in RFx response

create_po.JPG

 

Transaction type defined in PPOMA_BBP for Local and ECS scenario (DP_PROC_TY)

tx_typePO.JPG

 


2 - From RFx response using "Simulate and create PO"


Here, system is in simulation mode and identifies that a backend PO will be created. Hence, no transaction type is listed and PO is created with BSA attribute determined in PPOMA_BBP.

 

 

Pop-up from "Simulate PO" in RFx response

simulate_po.JPG

 

Attribute BSA in PPOMA_BBP for classic scenario

bsa_att.JPG

 


3 - From Sourcing Cockpit (SoCo)


Here, system will determine according to the shopping cart category. In case it identifies that category belongs to classic scenario, no transaction type will be available and PO will be created based in the attribute BSA determined in PPOMA_BBP.

 

 

Step 3 in SoCo after creating draft PO

SoCO_txtype.jpg

 

 

From several notes and information regarding this behavior, we can understand that:

 

1712226 - Explains the standard behavior since previous releases (BSA attribute used for backend POs)

2021864 - Incorrect behavior that was fixed with note 2049504

1580116- Explains in detail how the behavior is done in SoCo

 

In this wiki page here you also find code explanation when determining Classic and Extended transaction types in SoCo.

Viewing all 46 articles
Browse latest View live


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