1 2 3 11 Previous Next

SAP Sourcing

161 Posts

Workflows tend to be part of the core business in SAP Sourcing and business requirements will most often transform a 'simple' workflow process into a very complex one.

 

Since the introduction of WF in Sourcing (and the TWE 'era') a specific pattern to script workflows has emerged and it has been carried forward into all projects. Today we are going to change that.

 

**WARNINGS**

  • Implementing recommendations in this blog post might make your life easier
  • Throughout this blog post it will be assumed that consultants have following knowledge
    • Workflows definition / update / scripting
    • Java EE/BeanShell

 

 

WORKFLOW TYPOLOGY

The typology used throughout projects is fairly similar:

  • Workflow definition with X number of Approval Steps (total maximum possible steps)
  • Approval Matrix Definition maintained *somewhere*
  • Specific Approval Sequence picked up in PRE-PHASE-CHANGE script and added to the document into an Extension Collection
  • Workflow scripting handles the 'next approver' from the document Extension Collection

 

 

So, WHAT IS THE PROBLEM?

For each approval step the script is required to

  • Check if approval status is APPROVED or REJECTED
    • APPROVED
      • Approval Sequence is complete -> move document to 'Approved' phase
      • If not complete, add next approver
    • REJECTED
      • move document to 'Draft' (or previous phase)

 

Pattern in case of APPROVED for above is:

  • for WF STEP 1:
if(approvalMatrix.size() == 1) {
  //move to Approved
}
if(approvalMatrix.size() >= 1) {
  //add next approver
}

  • for WF STEP 2:
if(approvalMatrix.size() == 2) {
  //move to Approved
}
if(approvalMatrix.size() >= 2) {
  //add next approver
}

  • etc ... for all steps

 

 

WHY IS THAT A PROBLEM? And why is it complicating our lives?

The pattern above implies that:

  • there is one distinct version of PRESCRIPT for EACH workflow step
  • similarly, there will be one distinct version of POSTSCRIPT for EACH workflow step

To maintain such a workflow, an IT consultant will have to:

  • save/maintain each prescript/postscript version individually
  • do a lot of repetitive work for any minor update
  • be VERY careful when doing updates not to disturb the process

 

 

WHAT IS THE SOLUTION?

The solution is to make scripting GENERIC.

  • Single version of PRESCRIPT for ALL steps
    • the script should be able to 'know' from which step it was executed
  • Single version of POSTSCRIPT for ALL steps
    • the script should be able to 'know' from which step it was executed

 

 

HOW?

 

  • Step 1: Make sure you have a gate identifier. Solution is to 'decode' the current step from the Activity ID (last digit/digits)

Screen Shot 2015-07-30 at 4.41.19 PM.png

 

 

  • Step 2: Use following code to identify gate -> 'current approval step'
    • Script will get ending digit(s) from identifier:
      • 'approval_gate_1' = 1
      • 'approval_gate_12' = 12
      • 'approval_gate_1485' = 1485
import java.util.regex.Matcher;
import java.util.regex.Pattern;
private Integer gate = null;
// btoma - Get the step No. from gate NativeID - last digit(s)
// btoma - to facilitate PRESCRIPT on all steps
void getGate() {
  Pattern p = Pattern.compile("\\d+");
  Matcher m = p.matcher(nativeName);
  while(m.find()) {
  gate = Integer.valueOf(m.group());
  }
}
getGate();


  • Step 3: Update WF script code, to use gate instead of hardcoded numbers
if(approvalMatrix.size() == gate) {
  //move to Approved
}
if(approvalMatrix.size() >= gate) {
  //add next approver
}


  • Step 4: Copy-Paste your PRESCRIPT on rest of WF steps

 

  • Step 5: Repeat 1-4 for POSTSCRIPT

 

 

OTHER RECOMMENDATIONS?

  • Maintain scripts locally, in a source control sistem (SVN, GIT).
  • Perform changes locally, and copy-paste your script to all WF steps in one go.
  • Don't forget about logging and error reporting

 

The end.

Bogdan Toma

As promised, this is the sequel to Working with FTP folders in SAP Sourcing 9.x

 

SAP Sourcing 10 introduces the FileTransferConfiguration BO which allows for a "more configuration, less coding" approach in working with FTP folders.

 

**WARNING**- this blog post will make use of Internal APIs. Even if I have tested and confirmed them working in 10.x versions, great care should be taken while implementing and supporting these APIs.


  • Prerequisites
    • Define your File Transfer Configuration (FTP location for file exports)

Screen Shot 2015-06-12 at 12.23.41 PM.png



SCRIPTING part


  • Required imports
import java.io.File;
import com.sap.odp.common.platform.HomeLocator;
import com.sap.odp.doccommon.filetransfer.FileTransferConfigBo;
import com.sap.odp.util.filetransfer.FileTransferClientIfc;

 

  • Prepare file
    • For example let's extract the first attachment in the document
File exportFile = doc.getAttachments().get(0).getAttachment().getFileData(session);

 

  • Write file to FTP
ftcHome = HomeLocator.lookup(session, "odp.doccommon.FileTransferConfig");
FileTransferConfigBo ftCfg = ftcHome.findByExternalId("EXPORT_EXT_SYSTEM");
FileTransferClientIfc ftc = ftCfg.getClient();
try {
     // if you plan to export multiple files with loops, implement them here, aka build your FTC client only once
     ftc.putFile(exportFile, ftCfg.getUrl() + exportFile.getName());
} finally {
     ftc.close(); //always make sure you close the client
}

 

Bogdan Toma

One of the recurring inquiries in SAP Sourcing has been the use of FTP within scripts. While this might be a simple task in Java, the biggest problem is that Sourcing 9.x doesn't use the all-too-familiar Apache Commons FTPClient.

 

In this blog post I will explain how to make use of the internal functions available in SAP Sourcing 9.x to facilitate working with FTP folders.

 

**WARNING**- this blog post will make use of Internal APIs. Even if I have tested and confirmed them working in 9.x versions, great care should be taken while implementing and supporting these APIs.

 

  • Prerequisites:
    • Check and confirm that your FTP integration System Properties are defined and access is granted to respective directory.

Screen Shot 2015-06-02 at 12.13.04 AM.png

 

 

The fun part: scripting

 

  • Import some classes
import java.io.*;
import java.util.*;
import com.sap.eso.sapintegration.util.SapIntUtil;
import com.sap.odp.doc.integration.IntegrationConfig;

 

  • Define your FTP Server
//CONSTANTS
String FTP_SERVER = "10.10.10.10";
String FTP_USER = "MyFtpUsername";
String FTP_PASSWORD = "MyFtpPassword";
String FTP_OUTBOUND_DIRECTORY = "my/outbound/directory";

 

  • Prepare your file
    • Let's assume you have an AttachmentIfc you want to push to FTP location
File exportFile = attachmentIfc.getFileData(session);
String xmlString = "sample XML text";
tempDirectory = IntegrationConfig.getEnterpriseProperty(session, "ftp.temp_dir");
File exportFile = new File(tempDirectory + File.separator + "my_file.xml");
writer = new OutputStreamWriter(new FileOutputStream(exportFile), "UTF-8");
writer.write(xmlString);
writer.close();

 

  • Finally, write your File to FTP
SapIntUtil.instance().ftpFile(session, exportFile.getParent(), FTP_OUTBOUND_DIRECTORY, FTP_SERVER, FTP_USER, FTP_PASSWORD, exportFile.getName());

 

**PS** For SAP Sourcing 10.x a different post will follow because the changes introduced allow for a better implementation with the use of File Transfer Configuration

 

Bogdan Toma

The following is summary by release, of the Internet Browsers that SAP Sourcing/CLM Supports:

 

  1. In release 7.0 SPX we are compatible with: Internet Explorer version 6, 7, 8, 9, 10 or 11.  IE 10 and IE 11 are only supported in Compatibility View mode.

 

    1. As part of 7.0 SP9 we updated the warning message when users login with unsupported browsers to clarify that IE 10 (compatibility view) is also supported.
      • If users are using IE 10 in compatible view in earlier versions of 7.0 SPX there should be no problems.
    2. As part of 7.0 SP12 we updated the warning message when users login with unsupported browsers to clarify that IE 11 (compatibility view) is also supported.
      • If users are using IE 11 in compatibility view in earlier versions of 7.0 there should be no problems.
      • As part of 7.0 SP12 we also added the warning message for when users navigate to the Supplier Registration pages using an unsupported browser.

 

  1. In release 9.0 SPX we are compatible with: Internet Explorer version 6, 7, 8, 9, 10 or 11, Safari, Firefox, or Chrome.

 

    1. A warning message appears when users attempt to login or when users are navigated to the Supplier registration pages to let them know they are using a browser that is not compatible.
    2. As part of 9.0 SP14 we updated the warning message when users login with unsupported browsers to clarify that IE 10 is also supported.
      • Additionally 9.0 SP14 and SP16 address some minor rendering issues when users are using IE 10 without compatibility view.
      • If users are using IE 10 with earlier versions of 9.0 SPX that is fine but we recommend compatibility view.
    3. As part of 9.0 SP21 we updated the warning message when users login with unsupported browsers to clarify that IE 11 is also supported.
      • Additionally 9.0 SP21 and SP22 address some minor rendering issues when users are using IE11 without compatibility view mode.
      • If users are using IE 11 with earlier versions of 9.0 SPX that is fine but we recommend compatibility view.

 

  1. In release 10.0 SPX we are compatible with: Internet Explorer version 6, 7, 8, 9, 10 or 11, Safari, Firefox, or Chrome.  Safari iOS on the iPad is also supported.

 

    1. A warning message appears when users attempt to login or when users are navigated to the Supplier registration pages to let them know they are using a browser that is not compatible.
    2. As part of 10.0 SP4 we updated the warning message when users login with unsupported browsers to clarify that IE 11 is also supported.
      • Additionally 10.0 SP4 and SP6 address some minor rendering issues for when users are using IE 11 without compatibility view mode.
      • If users are using IE 11 with earlier versions of 10.0 SPX that is fine but we recommend compatibility view.

 

Please contact me with any questions.

Anne McClelland

Product Management

One of the gaps found in SAP Sourcing and constantly requested by customers is the possibility to archive the processed messages list for more than the system configured number of days.

 

While email archiving does not come standard with SAP Sourcing, it is an easy task to implement with a custom process.

 

In this blog post I will detail the configurations required to archive the processed messages (emails) in Wave 10.

**similar configuration is also possible in other versions, with adaptation for the Integration Export Task**

 

Prerequisites

  1. FTP server with preconfigured email archive directory
  2. ACL to create Report
  3. ACL to create Scheduled Task
  4. ACL to create File Transfer Configuration **for Wave 10**

 

 

Step 1: Create custom report based on query definiton FCI-AllSentMessages

               **extra: standard query definition can be duplicated and enhanced to also archive email contents**

Screen Shot 2015-04-09 at 5.01.44 PM.png

Screen Shot 2015-04-09 at 5.04.44 PM.png

 

Step 2: Create File Transfer Configuration (**only for Wave 10**)

Screen Shot 2015-04-09 at 5.09.48 PM.png

 

Step 3: Check value of System Property messaging.savesentmsgsdays

               **this will be the basis number of days for setting the periodicity of the scheduled task**

Screen Shot 2015-04-09 at 5.16.08 PM.png

 

Step 4: Create Integration Export Scheduled Task

 

Screen Shot 2015-04-09 at 5.24.32 PM1.png

Screen Shot 2015-04-09 at 5.24.15 PM.png

 

 

Final result:

Full archive of processed messages (emails) list:

Screen Shot 2015-04-09 at 5.36.06 PM.png

 

 

 

Bogdan Toma

In this blog, I am going to explain about the creation of localized resources.


Localized resources are constant values defined to represent all text in the SAP Sourcing user interface (UI). If you make any changes like creation of fields in Setup then we need to associate a localized resource to the same.

 

There are 2 methods of creating localized resources which are:

  • Static Method
  • Dynamic Method

 

I am going to explain about the static method.

 

Steps to create Localized resources through Static Method:

  • Select Setup -> User Interface -> Localized Resources

     20.png

  • Click on New in the Localized Resources screen

     21.png

  • Enter the details as below. Resource kind can be Application Text/Image Path. The custom field is ticked indicating that the customer has created this localized resource.

22.png

  • Click on Done to save the localized resource.

 

Localized resources can also be imported to the system through CSV files if the number of localized resources are more.

In this blog, i am going to explain the basics of report results cleanup task and its functionality.

 

This is a type of scheduled task which is used to cleanup the results of the reports executed prior and having a query server event action as 'Alert'.

 

18.png

These results are usually stored in the Sourcing system and needs to be regularly cleaned up to avoid memory issues.

 

Steps for creating a Report Results Cleanup Task:

  • Click on New button in Scheduled task
  • Select the task type as Report Results Cleanup Task
  • Give the display name and the description for the same.
  • Specify the frequency the task should execute.
  • Also you can specify the Start date and Expiration date.
  • Finally click on Done to save the task.

19.png

One report results cleanup task is enough to clean the results of multiple report tasks. Hence it is always advisable to have a cleanup task scheduled in the system to clean up the alerts generated by report tasks.

In this blog, I am going to explain how to schedule a report execution. The steps are as follows:

 

  • Click on Setup button on the top right corner of the screen

     2.png

  • Go to System setup tab and click on Scheduled tasks

     1.png

  • Click on New button in the Scheduled Task

     3.png

  • Select Report Execution Task from the list and press Continue

     15.png

  • Give the details for the Report Execution Task as given below and click on Advanced Configuration Properties button

     16.png

  • Select the report to be executed and the Query Server Event Action (This includes None, Alert, PDF, CSV, Integration Export & Excel). In our case we select PDF option. You can also enter the desired selection options in the Parameter option. Also enter the desired mail recipients.

     17.png

  • Click Done in the Advanced Configuration Properties and Done in the Scheduled Task
  • The PDF version will be sent to the desired recipients when the task is triggered at the start time mentioned in the scheduled task.


In this blog, i am going to show how we can include external links in our Sourcing system. Let me explain the steps for the same:

 

  • Click on Personalize button in the main screen.

     7.png

  • Click on Add to Column 1 or Add to Column 2 button in the personalize workbench page.

     8.png

  • Select Links workbench channel in the list and select OK

     9.png

    10.png

  • Click on the Links hyperlink to enter the list of external web links and click on Add button

11.png

  • Enter the details as below and press OK

     12.png

  • The final entries can be viewed and then click on Done button

     13.png

  • The final workbench page will be displayed like below

     14.png

Prerequisites:


 

  1. The database is set to support Unicode by having the correct character set specified during installation
  2. The application server’s JVM is set to UTF-8 encoding
  3. The used import files do support and are saved with UTF-8 encoding

 

 

Overview


 

In general multi-language support is very commonplace nowadays yet can pose some difficulty, depending on how the software has been setup and configured.

 

For SAP Sourcing this can happen if, for example, the import files are not properly prepared regarding file encoding.

 

Hence, after the setup that is performed by the System Administrator/Application Responsible, the end user solely has to pay attention to the typical import/export tasks he or she needs to perform.

 

 

Explanation of involved components


 

  • System property “system.csv.export.encoding.use_default_encoding” that can be set on System Manager level
    1.png
  • - User Account setting to switch from text (CSV/TXT) to Excel and vice versa
    2.png
  • - Document Type setting to switch from text (CSV/TXT) to Excel and vice versa
    3.png

 

Explanation and how to approach imports:


 

Once you`ve made sure that the DB supports Unicode (this should by default for a successful SAP Sourcing installation) you can continue to look at the application server. This seems like an area that`s somewhat overlooked as it`ll end up in a very different behaviour for the exact same workflow in the application.

 

Hence have a look at the below two tables depending on the application server`s OS character encoding (Cp1252 due to the fact that I was using a Windows based OS for this example)

 

File imports:

Application server JVM set to UTF-8 encoding:

Upload Preview

Trace content

Data in UI/DB

CSV

not OK

not OK

not OK

TXT

OK

OK

OK

Excel

OK

OK

OK

(all files UTF-8 encoded)


Application server JVM using default OS (Cp1252) encoding:

Upload Preview

Trace content

Data in UI/DB

CSV

not OK

not OK

not OK

TXT

OK

not OK

OK

Excel

not OK

not OK

not OK

(all files UTF-8 encoded)

 

It is important to note that that the Unicode “txt” might work if you are using the application server`s default encoding, but it will get confusing once you get to the trace. The preview and data will be correct, however, the trace might be confusing to users. Hence it is imperative to make sure that the application server is also set to use Unicode (UTF-8) encoding. From the start this will make it easier on the end user as they solely have to pay attention to the import file itself.

 

 

Explanation and how to approach exports:

 

 

If the data is already properly stored in Unicode in the database an export to e.g. an Excel file will be successful in its encoding.

 

To sum this up please have a look at the following table:

 

 

Application server JVM set to UTF-8 encoding:

Export file

CSV*

not OK

TXT**

OK

Excel

OK

* = Uncheck "Export to Excel" in the specific "User Account" settings

** = Set system property "system.csv.export.encoding.use_default_encoding" to "false"

Application server JVM using default OS (Cp1252) encoding:

Export file

CSV*

not OK

TXT**

OK

Excel

OK

* = Uncheck "Export to Excel" in the specific "User Account" settings

** = Set system property "system.csv.export.encoding.use_default_encoding" to "false"

 


Conclusion and recommendation


 

As a conclusion of this article it is highly recommended to make sure that the application server`s JVM is set to use UTF-8 encoding if you intend to use multiple languages.

 

 

On a NW AS this can be done  in the NW`s configtool by setting the Java JVM parameter “Dfile.encoding” with the value “UTF-8”.

 

If this is correctly set, the SAP Sourcing system will show in Setup – System Administration – System Information – Service Registration tab the “Character Set” which then would read UTF-8.

 

You may also read further in SAP KBA 2002598.

 

 

Let me know if you have any questions on this and/or also see my blog at: http://scn.sap.com/blogs/joerg.lippmann for more details on SAP Sourcing.

 

 

 

Regards,

 

Joerg Lippmann

 

 

 

 

FAQs

 

  1. Would you need a specific Sourcing language pack to be installed to support specific uploads?

    A: Actually no. The language pack mainly affects the SAP Sourcing standard page texts in the UI, not the user-entered data.


  2. Would you need to have the system property “system.csv.export.encoding.use_default_encoding” set to support Unicode imports?

    A: No. You can take a Unicode (UTF-8) tab separated txt file and can directly import this into a SAP Sourcing system that has this property set (by default) to “true”.


  3. Can I use Excel to save CSV files with Unicode character encoding?

    A: Not directly. In Excel, you can choose File à Save As… and save the file as type “Unicode Text (*.txt)”. Then rename the file extension from TXT to CSV. Excel will not save certain file types with Unicode encoding.


  4. Why do I get “txt” files everywhere after setting “system.csv.export.encoding.use_default_encoding” to “false”?

    A: This is to make sure that the encoding is properly stored and supported. Even if the SAP Sourcing UI might still in certain places refer to CSV, all files that used to be of type CSV will be exported as TXT.

Over the past 12 months I have received many calls from companies, consulting firms, staffing agencies and recruiters to find SAP Sourcing/CLM resources.  Unfortunately, the majority of these calls focus solely on finding the lowest cost per hour consultant.  The pitfall of this approach is that, for new implementations especially, staffing the cheapest consultant does not result in the lowest total implementation cost for three reasons:


First, rework takes time and money.  If the consultant is using either “trial and error” or “learning on the job” approaches for configuration, development and data loads, it does not take long to exceed the cost of an experienced consultant that will do it correctly the first time.  Experienced consultants are not starting from a blank page and will not waste time on non-valued-added activities. We have been called in to many situations in which an inexperienced consulting team had designed and started implementing a solution that violated several best practices, which led to a waterfall of issues and defects that we were asked to fix. This situation should have been prevented in the first place through the use of expert consultants who have been implementing SAP Sourcing/CLM for many years.


Second, bad design decisions cannot be mitigated easily.  The Blueprinting phase is typically less than 10% of the total cost, but it directly drives the other 90% of the implementation.   The consultant leading this phase must have a deep understanding of the system and have seen the application working in the “real world” to be able to guide the client to the best design, to analyze and mitigate the risk of custom development trade-offs, and to be able to incorporate best in class business processes and compliance.  We at SMA Enterprises (http://www.smaenterprises.us) have conducted over 70 SAP Sourcing / CLM implementations over the last 15 years and none of them have been implemented in exactly the same manner – however, all of them have been successful.  In order to execute these phases effectively, real-world implementation experience is critical from the Blueprinting phase all the way through post-go-live support. 


Lastly, missed go-lives are expensive and potentially embarrassing.  The two issues above can easily lead to extended implementation timelines, resulting in additional budget requests for existing resources,  additional resources, and/or overtime. 


While we all agree that cost is an important measure, it is the total cost, quality of the implementation, and adherence to the timeline that are the most important factors. It may seem counter-intuitive, but hiring the best qualified consultants with deep implementation experience will actually save time and money resulting in the lowest implementation cost.

There are many questions in SCN related to Mass update of Contract Documents fields. This blog will give the insight of how the Contract Document fields can be mass updated through workbook. Hope it will help.

 

Follow the following steps for updating Contract Document fields:


Step1. Download the Workbook Template from Contract Document and Importer

(Setup-->Document Setup-->Agreements-->Contract Data and Document Importer).

Step2. In the workbook Below 3 Fields are mandatory in order to mass update the CDs

 

     1.jpg

UNIQUE_DOC_NAME: Master Agreement’s Unique ID

DOC_DISPLAY_NAME: It is the Display Name of the CD which has to be updated

SKIP_PHASE_TRANSITIONS: This field should be TRUE

Apart from the above fields, other fields which have to be updated are added in the Workbook

For Example, CD phase and some custom fields have to be updated then below is the screenshot of the Workbook. Likewise any field in the Contract Document can be updated.

2.jpg

 

 

Note: If phase of CD is updated via workbook then it will not change the Status at the Master Agreement level.

Sample Workbook Attached.


Step4.Login into the System with Enterprise credentials

 

Step5. Click on Setup-->Document Setup-->Agreements-->Contract Data and Document Importer

3.jpg

Step6. Click on New

4.jpg

Step7. Select “Upload Master Agreement Data” option and click on next

          5.jpg

  • Upload the Workbook and click on next

     6.jpg

 

  • Click on Finish in order to complete the import.

 

 

Any feedback and suggestions are appreciated J

Introduction

 

 

Release 10.0 of SAP Sourcing/CLM – generally available (GA) since 7-Nov-2014 - provides support for additional ECC Item Categories in its SAP ERP Integration as well as new ECC Item Category configuration capabilities within SAP Sourcing/CLM.

 

Please note that ECC Item Categories are called Item Types in SAP Sourcing/CLM.

 

 

Prior Item Category Support in Release 9.0

 

In Release 9.0 of SAP Sourcing/CLM, standard support for Material (Standard <blank>) and Service (D) Item Categories were available.

 

For the Material Item Category, standard support was provided for Material Masters and Free Text Material line items.  For the Service Item Category, standard support was provided for Free Text line items (where the integration supports a single level ECC Service Specification for each SAP Sourcing/CLM Free Text Service line item).

 

 

No other Item Categories/Item Types were available in SAP Sourcing/CLM 9.0.

 

 

New Release 10.0 Item Category Support

 

 

New Item Categories Supported

 

Now the SAP Sourcing/CLM ERP Integration provides standard support for the ECC Item Categories/Sourcing CLM Item Types of Consignment (K), Subcontracting (L), Material Unknown (M), and Material Group (W).  In addition, SAP Sourcing/CLM provides the ability to integrate up to 3 “custom” ECC Item Categories (requires custom PI mappings). 

 

These new ECC Item Categories/Item Types are fully supported on SAP Sourcing/CLM Reports and Imports/Exports.

item1.png

 

Additional Item Category Configuration Capabilities

 

  • Automatic update of ECC Purchase Info Record for Consignment Item Type (Category) line items when published to SAP ERP.  Ref. SAP Note 1703392

 

  • New selected Item Types (Categories) can be activated on the RFx or Master Agreement Document Type level in ERP integrated documents

 

  • Control of Item Type (Category) visibility to Suppliers on Sourcing RFxs

 

  • Ability to change Item Type (Category) in RFx Award

 

 

If you are interested in learning more about these new capabilities, check out the related SAP Help for the new SAP Sourcing/CLM Release 10.0 ERP Integration features on Working with Item Types in SAP Sourcing on http://help.sap.com:

 

item2.png

item3.png

 

 

item4.png

 

item5.png

Introduction

 

 

Release 10.0 of SAP Sourcing/CLM – generally available (GA) since 7-Nov-2014 - provides a new Web Service Framework (WSF) for the development of custom RESTful style web services that leverage the existing SAP Sourcing/CLM Scripting and Query framework.

 

 

Now custom integrations can be more easily developed where SAP Sourcing/CLM can be a provider of RESTful style web services.

 

 

WSF Features

 

 

  • High-Level Summary

 

 

    • SAP Sourcing/CLM can now be a provider of custom inbound REST query/update web services using the existing SAP Sourcing/CLM Explicitly Called Script feature

 

 

    • SAP Sourcing/CLM can now be a provider of custom inbound REST query web services using the existing SAP Sourcing/CLM Report’s Query Definition feature (SAP delivered Query Definitions or custom Query Definitions)

 

 

    • Enablement of these new web services can be done through simple run-time configuration.  There is no requirement to deploy custom .jar files that require shutting down the SAP Sourcing/CLM application server.

 

    • Logging of these custom RESTful web service requests and responses is provided in a new Web Service Request object – that includes detail information about the request as well as both the request and response XML or JSON payload files.  These logging objects are available to view through a System Administration User Interface.  You do not need to get the actual SAP Sourcing/CLM logs to see this information

 

 

    • In addition, an SAP delivered standard RESTful web service is provided for SAP Sourcing/CLM User Account maintenance and queries.  This new web service can be used for User Account synchronization between Identity Management servers and/or NetWeaver servers

 

 

  • Authentication

 

    • Directory Configuration Settings provider authentication support:
      • Basic Authentication (User Name & Password)
        • Local (non-Production only), LDAP, and NetWeaver UME
      • SSO using SAP NetWeaver Assertion Tickets
        • NetWeaver UME

 

 

    • OAuth 1.0a (“3 legged”) RESTful provider authentication support
      • OAuth is an open standard protocol that is secure, flexible, and extensible
      • User Name & Password do not need to be provided to the client consuming application

 

 

  • Security

 

    • New Web Service Security Profiles
      • Web Service User & Web Service Admin standard Security Profiles delivered
      • User permission required to execute an inbound web service
      • Access Right permissions also required for new web service Configuration Objects

 

 

    • Script-based Web Service
      • Document Authorizer Framework IAPIs available for Scripts
      • The “Collaborator model” security is available and is based on the authenticated web service User Session context

 

 

    • Query-based Web Service
      • Report & Query Definition “Access List” security supported

 

 

    • The OAuth protocol is considered very secure

 

 

    • Configurable Throttling Model provided to protect server resources

 

 

  • Reference sample Scripts and Schema Files (.xsd files) provided to support custom development of Script-based web services:

 

    • Sample scripts provided to perform CRUD-like operations (e.g., Create Read, Update…) on CLM Master Agreements, and Souring RFxs and Projects
      • Sample scripts and XML Schema Files (.xsd files) can help “jump start” development of custom integrations
      • For example, custom SRM integration web services could be developed to create an SAP Sourcing Project or RFx from the SRM Sourcing Cockpit or to create an SAP CLM Agreement from an SRM Central Contract from the provided sample scripts and XML Schema Files

 

 

    • XML Schema Files (.xsd files) are used to automatically create XML Request and Response java proxy stub classes for the Explicitly Called Scripts used to provision a web service
      • After the XML Schema file is uploaded and saved via the new Web Service Definition UI, you can immediately view the JavaDocs that are automatically generated at run-time
      • The Request and Response java proxy stub classes are immediately available to the SAP Sourcing/CLM Script environment for Script BeanShell coding

 

 

    • New Scripting IAPIs provided to support Script-based web services development:
      • New “Adapter” IAPIs for unmarshalling/marshaling XML > Java > XML
        • Provided for the complex SAP Sourcing/CLM Data Types
      • New IAPIs to support CRUD (e.g., Create Read, Update…) operations – e.g., to handle checking document access rights on edit and find, clearing and setting document edit information on edit and release, and releasing memory appropriately.

 

 

 

The reference/sample scripts plus the new IAPIs plus the new Web Services Guide for SAP Sourcing 10.0 – now available on SAP Service Marketplace SAP Sourcing/CLM 10.0 On-Premise - can help illustrate a best practices and efficient approach to developing custom script-based web services.  In addition, please note that there is also a new Web Service Cookbook and Troubleshooting Guide 10.0 that should be read if you intend to use the new Web Service Framework script-based or query-based custom web services feature in SAP Sourcing/CLM Release 10.0.

 

You can get both of these documents now at SAP Service Marketplace:

 

 

 

 

samp 1.png

 

samp2.png

samp3.png

 

If you are interested in learning more detail about the above SAP Sourcing/CLM Release 10.0 Web Service Framework new features, please check out the recent SCN webinar presentation slides which have additional content and screen shots at the following link:

 

http://scn.sap.com/docs/DOC-55313

Scenario: - Master Agreements List Based on Status

 

DashBoard Report.jpg

 

When you click on any status in the report or the diagram, then the following report will be displayed


dash board results.jpg


In order to create above dashboard report, please follow as below


1)    Create a Simple query with result fields such as Master agreement ID and Master Agreement Status and with Status as filter since we are displaying the master agreements based on Status


Query Name: - Z_Master Agreement Status Detailed


SELECT <%RESULTS %> FROM <%SCHEMA %>.FCI_CONTRACT T1

WHERE T1.INACTIVE =0 AND T1.STATUS_OBJECT_NAME =?

 

Note: -   Make a note of the parameter name which you have given in the filter ex:-status

Filter.jpg

2)    Create a Report with the above Query Z_Master Agreement Status Detailed.

Report Name: - ZREP_ Master Agreement Status Detailed

3)    Create another Simple Query

                    Query Name: - Z_Master Agreement Status Dashboard

 

SELECT <%RESULTS %> FROM <%SCHEMA %>.FCI_CONTRACT T1

WHERE T1.INACTIVE =0

 

Create three result fields, of which first two are with unique (identical) name as below,

 

a) Master Agreement Status -->  T1.STATUS_OBJECT_NAME || ': (' || (COUNT (DISTINCT T1.UNIQUE_DOC_NAME)) || ')'    Column Type --- URL

The above SQL statement will show the results as below

dash board UI.jpg

When you click on above status then it will be navigated to the results i.e., first query results which can be achieved with below SQL statement


b) Master Agreement Status--> ('/analysis/report?queryGroupName=ZREP_Master Agreement Status Detailed Report&status='||T1.STATUS_OBJECT_NAME)   Column Type --- Internal Page


Blue color indicates --> Internal Name of the first Report (with first Query)

Brown color indicates --> parameter name of the Filter in the first Query


c) Count --> (COUNT (DISTINCT T1.UNIQUE_DOC_NAME))   Column Type --- Number (this has to be hidden for the users)

 

The above Number Type column has to be used in Query under Chart definition Tab as shown below

Chart Defination.jpg


4)    Create a Report with the above Query Z_Master Agreement Status Dashboard.

Report Name: - ZREP_ Master Agreement Status Dashboard

 

5)    Create a desktop channel under below path

      

                                    Setup --> System setup --> Workbench --> Desktop channel


         and add the above report under parameter definitions as shown below and choose the visibility internal or external or both.


Desktop Channel.jpg


6)    Add the desktop channel in your workbench and it will be displayed as below.


DashBoard Report.jpg


Any suggestions are welcome

 

Hope it Helps!

 

Regards,

Raj

Actions

Filter Blog

By author:
By date:
By tag: