Quantcast
Channel: SAP Process Orchestration
Viewing all 108 articles
Browse latest View live

DELETE records from Database with WHERE Clause and then INSERT records

$
0
0

Purpose:

 

There can be situation when you have to delete records (delete all records from table) and then Insert records, this is possible and easy and there are many Blogs and discussions on this.

 

Now if a situation comes and you have to delete only particular records with where clause and then Insert records in table, then is it possible? Can you write DELETE query in Message Mapping with where clause? Let’s see the solution below.

 

Following design needs to be done to make this happen.

 

Create JDBC Receiver Data Type Structure like below-


pic1.jpg


Explanation for Message Mapping:

 

Statement1 is for DELETE Query


pic2.jpg


Key1 --> LastName will be used for WHERE condition

 

The corresponding SQL statement for Statement1in the example above is as follows:

DELETE FROM dbTableName WHERE (LastName = ‘Kumar’)

 

Using above design, particulars rows in table dbTableName will be deleted where LastName is Kumar.

 

Note:

We cannot write DELETE query with where condition in action that is the reason Key1 is used.

 

 

Statement2 is for INSERT Query

 

References:

http://help.sap.com/saphelp_srm40/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.html

 

 

Regards

Dheeraj Kumar


Value Help Framework - Just how easy is integration?

$
0
0

“The value help framework allows easy integration to Business Suite systems…” – Easy integration? Really?

 

The blog by Owen Pettiford - http://scn.sap.com/community/process-orchestration/blog/2015/04/28/13-reasons-to-migrate-from-sap-pi-to-sap-po-and-intelligent-business-operations-chalk-and-cheese-key-for-s4-hana, mentions that the value help framework allows easy integration to Business Suite systems.


But is it really that easy? Well yes… actually it is!

 

Firstly, for anyone who’s not familiar with F4 value help functionality, how is it used?


You’ll no doubt have seen the UI elements:



                                            

                                      

The data that appears in selection popups or dropdown lists might be just static lists, or else might need to come from some back-end system, like ECC or CAF.


So, for example, you click on the Value Help icon for Country (or click in the field and press F4), you get a popup with country values and their corresponding descriptions:


         

 

  

Or select the dropdown icon on the client field to see a dynamic list of clients:  


 

Using earlier versions of SAP Process Orchestration, populating the contents of these lists could be a long-winded process. Not such a problem perhaps where you have a static list of values, but if you want to populate the list with dynamic data from ECC, or from your CAF database it takes quite a bit of work.


e.g. if using CAF, you might need to:

    • Create and expose a service in your Data Access Development Component
    • Create request and response message data types
    • Add an Operation to your service to read your Business Object data
    • Create a business logic development component
    • Create and expose a service which consumes your Data Access service
    • etc

     

    The new functionality in versions of SAP Netweaver Process Orchestration 7.3 EhP1 since SP10 simplifies this enormously.

     

    Now, with a bit of configuration upfront in NetWeaver Administrator, you have access in your UIs to data from either ECC, or CAF, in just a couple of lines of code. And as an added bonus, your list will be available to all the applications running on your PO server.


                                  



    Configuration

    To expose the values to your application, you must first configure them as an Alias in SAP Netweaver Administrator, in Configuration --> Connectivity --> Value Help (or just search for 'Alias', then click Alias Configuration)

    Here you can create aliases which can then be used by all applications on your PO server. Or you can limit their use by assigning application-specific roles to the alias.

    They can be ABAP Aliases, using an existing value help resource from ECC, or DB Aliases, which connect to your specified data source, e.g. an existing table in CAF.



    ABAP Alias

    For an ABAP Alias, your settings will be something like:

     

     

    Where Object Type, Method Name, Parameter, Field, Search Help and Value and Description Columns can all be obtained from Business Objects in ECC.

     

     

    DB Alias
    For a DB/CAF Alias, it’s more straightforward still:


     

     

    Note: you MUST have a language column on your CAF table. If you don’t want/need to use internationalisation, you still have to have a language column, then default the value in the column, to match your system default language, e.g. “en”. If you don’t, you won’t get any descriptions back.

     

     

    Roles

    Add the required roles. You do need at least one role, though it can, if you like, just be ‘Everyone’. If you want to restrict the use of your Alias to certain applications, you can use an application-specific role.

     

    You’ll also need to add the following actions to the role(s) you’ve just assigned to your Alias:

    • SAP_BPM_VALUE_HELP
    • SAP_BPM_VALUE_HELP_ADMIN

     

     

    Filters

    For added flexibility, you can specify filters, to restrict the values returned, for example where the contents of one dropdown is dependent on the selected value in another.

     

    UI Implementation

    First you need to add the following dependencies to your Development Component:

    • tc/bpem/facade/ear – for exception handling
    • tc/bpem/valuehelp/ear - value help
    • tc/je/usermanagement/api - forced logged in user for authentication

     

    Using the Value Help API, you can now easily access your values

     

    Value Help API:

    • getHelpValues( URI uri )
    • getHelpValues( URI uri, boolean forceCacheRefresh )
    • getHelpValues( URI uri, long notOlderThan )
    • refreshValueHelpCache( URI uri )
    • refreshAllValueHelpCaches( )

     

    Note: By default, the system caches the values, which is great if the source is perhaps down for maintenance. But it does mean that you must explicitly refresh the cache as and when required.

     

    WDJ

    If developing WDJ pages, in your java code, you can get the list of data in just 2 lines, e.g.

     

    URI salesOrgUri = new URI("valuehelp://ALIAS/SalesOrg");

            List<HelpValue> values

                                              = HelpValueManagerFactory.createValueHelper().getHelpValues(salesOrgUri, true);

     

    Each HelpValue object has an ID, value and description (displayText), which you can use however you want, simply by calling getValue() and getDisplayText().

     

     

    UI5

    The syntax in UI5 is as simple, e.g. for OData:

     

    var salesOrgUri = "/bpmodata/valuehelp.svc/SalesOrg ";

    var salesOrgModel = new sap.ui.model.odata.ODataModel(salesOrgUri, true);

     

    Bind your model to a table and the data (Value & DisplayText) to columns and you’re away!

     

     

    Internationalisation

    Just add the required language to the URI;

    1. e.g. URI salesOrgUri = new URI("valuehelp://ALIAS/SalesOrg?lang=fr");

     

     

    Filter

    Add your filter value to the URI;

    1. e.g. filter=<filterAliasName>:<filter value>, operation(EQ|CP|LT|NE|LT|LE|GE|GT);

    SAP PI Variants effective usage in SXMB_MONI

    $
    0
    0

    Dear SCN Friends,

     

    I believe most of us already worked on or heard about Variants usage.I have seen many SAP PI folks in support generally set the filter parameters and save them as variants once and every day while monitoring they select the variant (say interface ID) and then select the date range say (yesterday 00:00 to current date 00:00) .Some approached me asking can we set the date range as well (say From:Current_Date -1 To: Current_Date) instead of manually entering daily .

     

    As number of folks who doesn't know this feature completely are more ,I thought it's better to write a blog and publish it .

     

    Variants allow you to save sets of input values for programs/TCODES that you often start with the same selections .It will be really useful in the below use cases (PI prospective)


    1)Need to monitor particular interface(s) daily in SXMB_MONI.

    2)For rookies or those who doesn't have interface knowledge and want to pull particular interface logs from SXMB_MONI.

    3)If you want to quickly pull the logs from SXMB_MONI .


    I'm taking an example to explain.I want to pull XYZ interface logs daily say From Date: Current date -1 00:00 and To Date:Current date 00:00


    Variants Set up in SXMB_MONI:


    Execute SXMB_MONI tcode and give filter values as below (Depends on your requirement)

    Var1.jpg

    Click on Save.

     

    Give the Variant Name and Desc.

     

    Only for Background Processing:If you select this check box then variant can only be executed in the background .Otherwise,it can be run both in the background and dialog mode.

     

    Protect Variant :If you select this check box then variant can only be changed by the person who created it .

     

    Only Display in Catalog :Select this check box if you only want the variant name to be displayed in the variant catalog (and not when the user calls the F4 value help).

     

    For From/To date range selection go to selection variable tab and press F4 and select "D"  .Now go to Name of the variable tab and press F4.

     

    var2.jpg


    select the above as per your requirement .Here I'm selecting second option.

     

    Var3.jpg

     

    As per my requirement I'm giving 1 day before the current day.Similarly repeat the steps for To Date Executed .Click on save.


    Var4.jpg

     

    Daily Monitoring using Variants:

     

    Execute SXMB_MONI tcode and select your Variant .


    var5.jpg

     

    Click on F8 .You can see the logs matching to your filter criteria.

     

     

    Regards

    Venkat

    What’s new in SAP Process Orchestration 7.31 SP16 / 7.4 SP11

    $
    0
    0

    The latest SP of SAP Process Orchestration 7.31 / 7.4 has been shipped end of May this year. This blog post summarizes what new features and enhancements it brought to you.

     

    PowerDesigner Integration with Process Composer

    With SAP Sybase PowerDesigner, SAP provides a powerful tool used for modeling and documenting business processes on a high level. These business processes are executable on SAP BPM by adding technical details using the Process Composer within NetWeaver Developer Studio. The Process Composer comes with a file-based import/export and thus is able to enrich business processes modelled in PowerDesigner and other BPMN 2.0 compliant modeling tools such as Signavio. As PowerDesigner is one of the most important tools in this regard, the integration has been improved to be more convenient.

     

    With the latest SP it is possible to connect the Process Composer directly to one or multiple PowerDesigner repositories. You can search for business processes in the connected repositories using a search view. This view displays the found processes along with additional information to support you in selecting the correct process. In order to finally import the desired process, you simply drag it out of the search view and drop it either on the project explorer or directly on the canvas of the Process Composer.

    PowerDesigner2.png

     

    Java Public API Enhancements - Task Count API

    Assigning BPM Tasks to users can lead to unbalanced situations where some users might be overloaded and others are endangered to run out of work. To optimize the distribution of tasks, a new method in the Java Public API was introduced which determines the work load for a group of users. The method getTaskCountPerTaskModel returns the number of tasks assigned to individual users per task model.

     

    Map<URI taskmodelID, Map<IUser,Integer>> getTaskCountPerTaskModel(IUser[] users,TaskAbstractQueryCriteria queryCriteria)

     

    The result of this method looks like illustrated in the following table:

    Task ModelUserTask Count
    Vehicle Service RequestAlex2
    Vehicle DeliveryAlex1
    Mike3

     

    Find more details in the JavaDoc of the public API especially on TaskInstanceManager.

     

     

    Java Public API Enhancements - Attachments API

    Working on a BPM Task might require additional documents such as a receipt or a bill. For such purposes SAP BPM provides the possibility to attach documents or other files to a task or a process. With the latest SP the Java Public API provides new methods to retrieve those attachments and to e.g. display them in a UI. In summary the public API comes with three new methods to (1) return all attachments associated with a task instance ID, (2) return the details of a specific attachment and (3) return the total number of attachments for a specific task instance.

     

    Find more details in the JavaDoc of the public API especially on TaskInstanceManager and TaskAbstract.

     

     

    NetWeaver Administrator Enhancements - Task Model ID in Process Repository

    With My Inbox, SAP provides a Fiori App which enables access to all tasks coming from various backend system along with an outstanding user experience. SAP Business Workflow and SAP BPM are just two example of task provider systems which can be connected to the My Inbox. See Neelaja’s Blog for more details. In case of SAP BPM the configuration of the My Inbox is done based on Task Model IDs. The required Task Model IDs are now displayed in the Process Repository of the NetWeaver Administrator.

    NWATaskModelID 2.png

     

    Enhanced Generation of task UIs based on SAPUI5

    A BPM Task requires a user interfaces to be handled by a processor. SAP BPM provides the ability to generate task UIs based on SAPUI5 and thus increases the developer productivity massively. With 7.31 SP13 the SAPUI5 Generation was enabled for tasks with primitive input data (e.g. String, Integer) only. With the latest SP the SAPUI5 Generation was extended to support complex data types and collections as well. In addition to this the generated UI contains now a Reject Button as well as a Put Back button. Due to the modular design of the UI implementation, the generated UI can be adjusted easily. Find more details on the enhanced SAPUI5 Generation in Romy’s Blog.

    SAPUI5 Gen.png

     

    REST adapter enhancements

    The following two new enhancements of the REST adapter have been introduced:

    • You can configure the sender REST adapter to poll REST APIs including splitting of messages, duplicate check, and incremental requests.
    • You can define the Quality of Service either by HTTP operation or interface operation which allows you using one and the same channel for different operation modes.

    For more details, refer to the corresponding blogs within the REST adapter blog series.REST_Adapter_Enhancements.png

    Alerting email notification

    The message based alerting allows you to send email notifications whenever an alert has been triggered. To setup the email notification, you need to schedule the so called email consumer job (AlertConsumerJob). So far, the format of the email payload was fixed. With the new version of the email consumer job (AlertConsumerJobV2), you can customize the email payload based on your own defined template file. Various variables are supported that are replaced during alert generation with values of the failed message. In addition, you can set the priority and the sensitivity of the emails, and define the language of the system generated text. See SAP Note 2088606 for more details.Alerting_Email_Notification.png

    Integration Directory Migration tool enhancements

    The Integration Directory Migration tool helps you to automate the migration of your configuration scenarios running on an SAP Process Integration dual-stack system to SAP Process Orchestration. The following new features have been added:

    • As an alternative to generate Integrated Configuration Objects, you can migrate the PI dual-stack scenarios to Integration Flows
    • Supporting migration of scenarios with Receiver Rules
    • Automatic resolution of Receiver List for scenarios with Extended Receiver Determination

    Integration_Directory_Migration.png

    Performance monitor supporting Integration Engine

    The performance monitor for the Adapter Engine has been enhanced to support messages that are processed on an Integration Engine. It  runs within the SAP NetWeaver Administrator replacing the previous monitor which was based on the Runtime Workbench. When selecting the Integration Engine from the drop down menu, you can leverage from all capabilities that are supported for the Adapter Engine, e.g., various filter criteria, displaying performance data at various levels of detail (overview, per scenario, per measuring point), and export to CSV.Performance_Monitor.png

    Enterprise Service Repository perspective in NWDS

    The Enterprise Services Repository (ESR) in the SAP NetWeaver Developer Studio doesn’t support all features compared to the Java Web Start UI, also known as Swing client. We have closed some of the gaps introducing the following features:

    • Transport of ESR objects via file export and import
    • Search design time artifacts in ESR
    • Display queue for field mappings to verify your message mappings

    ESR.png

     

    For more details of all new 7.31 SP16 / 7.4 SP11 features, refer to the release notes.

    How to share the NWBPM developed in Local NWDS with other developer using NWDS-Steps

    $
    0
    0

    As we know  that we do not have the ccBPM anymore in PO, we need to write the NWBPM in local NWDS system and deploy the same to PO. Now what happens if the developer, who created the process in his local NWDS, is not available and  NWDI is not configured? But the functional requirement changed and some other developer need to change the process. In those cases, the only way out is that when one develops the NWBPM, he shares the NWBPM with other developers so that any one can modify the process locally and deploy the updated process to PO.

    I was in a similar situation where I needed to share the NWBPM I created with other developer and was not able to find a blog on the same though this is a simple set of activities which we need to perform.Hence this blog.

     

    Export Product:

    Open the NWDS in Composite Designer perspective.Then right click on product you developed and select Export Product.

     

    Pic1.jpg

    Select the folder where you want to export the files and click on Finish button.Please make sure that the Folder, where you want to save the files from this export, does not have any other files in it.In my case I created a new folder with name BPM.

    Pic2.jpg

    Now you should be able to see the below screen in NWDS.

    Pic3.jpg

    You should be able to see the ".sca" files created under the directory/folder you have chosen.

    Pic4.jpg

     

    With this we completed the Export process.You can now send those files to the other developer who want to import them in their local NWDS.

     

    Import Product:

    Open the NWDS in any perspective and do the following steps.

     

    Clinck on File>Import.

    Pic5.jpg

    Then select the Product option under composite designer and click on next.

    Pic6.jpg

     

    On the next page, select the FileSystem rasio button,Local development as the Development Configuration and the folder you saved the ".sca" files after export.Then click on Finish.

     

    Pic7.jpg

     

     

    Now you will be able to see the below screen and it takes time to disappear.

    Pic8.jpg

    Pic8.jpg

    Once done, open Composite Designer perspective and you should be able to see the process.

    Pic9.jpg

     

    Pic9.jpg

    Interface specific Email Alert in PO using CBMA

    $
    0
    0

    I had a requirement where I needed to send the alert emails to different people based on the interface.In more simple word, for Interface#A I had to send email to csk@xyz.com but for interface#B, I had to send alert email to mno@dfg.com. So basically I had to use CBMA to send email alert but to the different consumer/recipients for different interfaces. So we created the consumer/alert and jobs for Interface#A and repeated the same step for Interface#B.

    Here are the steps I performed.

     

    Step1: Create Alert in ID:Assign corresponding objects for which you want to create the alert.In my case, I added one ICO.

     

    pic1.jpg

    Now as we want to create a new consumer to be used here in this alert rule, we do not set the consumer name in the Extended tab. Leave it blank and activate(you may get warning after activation of the rule).

    pic2.jpg

     

    Step2: Now we need to register the new CONSUMER we want to create along with the ALERT RULE we created in Step1.

     

    To do this, go to Service Registry.

    pic3.jpg

     

    Now search for the definition called AlertRuleIn.

     

    pic4.jpg

     

     

    Now go to Endpoints tab and click on TEST button.

    pic5.jpg

    A new window will be opened.There you need to click on RegisterConsumer service and Next.

    pic6.jpg

     

    On the next page we need to put the exact name of the AlertRule created in ID and the new CONSUMER we want to create.

     

    pic6.jpg

     

     

    Once you click on Next, you should be able to see a message in XML like below.

    pic6.jpg

    After this step you should be able to see the CONSUMER added to Alert Rule automatically.

     

    pic6.jpg

     

    Step3(One Off Activity): Now you need to configure Java Mail Client.

    NWA>Configuration > Infrastructure > Java System Properties > Services - Java Mail Client.

    In properties Tab, provide the mandatory parameters like below.

    mail.from

    mail.smtp.host

    mail.smtp.password

    mail.smtp.user

    pic6.jpg

     

     

     

    Step4: Scheduling a task to send the emails using the new alert/consumer we created(step1,Step2) and the Java mail client configured(step3).

     

    Go to NWA>Operations > Jobs > Java Scheduler > Task.

    Add a new Task.

     

    pic6.jpg

     

     

    Now you need to select the existing consumer job.

     

    pic6.jpg

    Click on Next.Here you can provide a suitable task name.

    pic6.jpg

     

    Click on Next.

    Here you need to set properties.

     

    pic6.jpg

     

    Click on Next.

     

    Here you need to set the start/end time and the frequency at which the Job should run. In my case it is 1 hour.

    pic6.jpg

    Then click on Add.

    pic6.jpg

    Now click on Finish and you should be able to see the task created.

    pic6.jpg

    With this the configuration is completed.

     

    Result: If there any error happened then the recipient should get an email like below.

     

    pic6.jpg

     

    Now repeat the step1 to Step4 (Except Step3)for Interface#B to generate the alert emails to different set of recipients.

    Quick Look @ SAP Integration (Java) Gateway

    $
    0
    0

    Hi All,

     

     

    In this blog I would like to walk you guys through one of the latest features provided by SAP Netweaver PO (starting from SAP NW PO 7.31 SP13), SAP Integration (Java) Gateway.

     

    For more information / quick overview about the features, capabilities, reasons to migrate from SAP PI to SAP PO,

     

    Please visit this blog by Owen Pettiford

    http://scn.sap.com/community/process-orchestration/blog/2015/04/28/13-reasons-to-migrate-from-sap-pi-to-sap-po-and-intelligent-business-operations-chalk-and-cheese-key-for-s4-hana

     

    Ok, Lets get started.....

     

     

    Imagine a business requirement, where in the customer is asking for a user interface created in SAP UI5 and would like to use some of the business specific services maintained in the SAP Backend (SAP ERP), like “Read Material Data”.

     

    To Do so,

     

    • 1.       If there is no SAP Gateway installed in the landscape, Consume the RFC into a CAF Application (or an EJB), then expose the CAF Service as a REST enabled service using Apache Olingo or OData4j or

     

    • 2.       Using the Gateway service builder in the ERP System, create the Entities, Entity sets, generate the runtime artefacts on top of your RFC and then using SAP Gateway, expose these services as REST enabled services.

     

     

     

    Either of the options mentioned above involve some cost either in form of custom developments or introducing new systems in the current landscape.

    Starting from SAP NetWeaver 7.31 SP 13 (NW 7.4 SP08), we can achieve the same, by utilising the Java implementation of the Gateway Hub (part of the Integration Gateway and in the following named as Gateway Java and to be addressed as “Integration Gateway”) to expose SAP back-end data as OData services.

    The Gateway Java provides SAP back-end content (services) as OData services using the OData Channel (ODC). ODC allows us to expose OData services by defining object models and registering a corresponding runtime data provider class. And these OData services can then be consumed by UI applications, for example SAP UI5.

     

     

     

    Diagram showing SAP Integration (Java) Gateway as part of SAP PO.SAP_GWJ.jpg

     

    Let’s have a look at the steps involved and some prerequisites.

     

    There are few Pre-requisites to utilise the Integration Gateway capabilities of SAP NW PO.

    They are

    1.       NW PO Version: 7.31 SP 13 or higher

    2.       Backend Side: The component IW_BEP 200 is required to enable SAP services as OData services.

    Note: If the version of IW_BEP 200 deployed on your SAP backend is less than (or equal to) SP 06, please implement SAP note 1816779.

     

    We have configured and successfully utilised the SAP Integration Gateway capabilities on one of our PO servers running on SAP NW 7.31 SP09 (we were unable to find some of the required roles in SP08, so we have upgraded our system to SP09)

     

    Steps to Configure the SAP Integration Gateway

     

    1.       Enabling SSO between your SAP PO system and the respective SAP Backend System

    2.       Create a HTTP Destination in your SAP PO system pointing to the respective SAP Backend System

    3.       UME Role assignments to user as required (GW_Admin for Administrators and GW_User for end users)

     

    Once the above steps are completed, we can start utilising the SAP Integration Gateway capabilities.

    URL for accessing GWJ, OData Provisioning Administration is

     

    <Protocol>://<FQ_PO_Server_Name>:<port>/igwj/Admin

     

    Let us have a look at the configurations, registering the services from backend and a sample UI5 App, accessing the OData service provided by our GWJ.

     

    Enabling SSO

     

    For more information on enabling SSO between the systems, please refer to SAP Help.

     

    Creating a HTTP Destination

     

    For our GWJ (Integration Gateway) to be able to get the service information from the SAP Backend system, we need to create a HTTP Destination in the PO system referring to the corresponding SAP Backend.

     

    To manage HTTP Destinations: Login to NWA --> SOA --> Technical Configuration --> Destinations

    PO_HTTP.jpg

    If there is no HTTP Destination already available to the required SAP Backend system, please create one.

    Required parameters are,

    System URL: <protocol>://<FQ_SAP_Backend_System_Name>:<port>/sap/iwbep?sap-client=<client_Number>

    System Id,

    Client,

    Language and Logon information

     

    PO_HTTP_2.jpg

     

    Authorisations

     

    To be able to access the GWJ Administration URL, user should have GW_Admin role assigned. To do so,

    please login to NWA --> Configuration --> Security --> Identity Management --> Overview

     

    Search for the required user, Edit, goto the Assigned Roles tab, search for “GW_Admin”, Add and save.

    Once the role is assigned, we should be able to access the GWJ Administration using

     

    <Protocol>://<FQ_PO_Server_Name>:<port>/igwj/Admin

     

     

    After logging into the GWJ, next thing we will do is pulling some of the already available (or newly created) services from the SAP Backend into the PO system.

     

    We can use the TCode: SEGW to create / manage the gateway services in the SAP Backend system.

     

    Below diagram shows one such example service, I have created in the SAP ERP backend for creating the gateway service implementations on top of standard Material Read BAPI.

     

    Q11_SrvB.jpg

     

    Please note that, we are performing this step in SAP Backend system (in my case it is SAP ERP) not in the SAP Gateway system. This is obvious as our main aim here is to avoid SAP Gateway to expose the SAP backend service as a REST enabled service.

     

    Next, after logging into GWJ Admin, we can start pulling the services from SAP Backend into SAP PO.

    To do so, click on “Register a New Service”, in the next screen select the destination and click on Search. From the list of results, we can select the one which needs to be exposed as a REST Service.

     

    Capture.JPG

     

    We can see the REST URL of the service, metadata of the service and other related information here.

    As we now have the backend service exposed as a REST service, we can now consume this service in our UI5 application.

     

    GWJ_UI.jpg

     

    And the result is, we are able to call the “Material Read BAPI” in the UI5 application from our SAP ERP system without SAP Gateway or any custom code in the PO Layer to expose the RFC as a REST Service.

    UI_Result.jpg

     

    Limitations:

     

    Just like all the good things in this world, SAP Integration (Java) Gateway has some limitations,

     

    Some of them are:

     

    Fiori Apps and the Unified Inbox are not yet supported by the Gateway Java. To consume the back-end data as OData services in Fiori Apps or the Unified Inbox, we need to use SAP Gateway.

     

    Thats all for today, Hope you all find this information useful. Happy Coding

     

    For More information, Please visit, http://help.sap.com and navigate to whats new in SAP NW 7.31 SP13.

     

     

    -

    Srinivas Sistu

    Generate Formatted or structured EMAIL using CBMA

    $
    0
    0

    We could generate the alert emails using CBMA. But here I will describe the steps to generate the structured alert email .

     

    You can follow the blog Interface specific Email Alert in PO using CBMA until Step3 and configure the alert. But instead of Step4, follow below steps.

     

    • Create a text File which will act as a template of the email body like below.

     

    pic1.JPG

    You can use the below list of variables in the template file to get the corresponding value from RunTime.

     

    $severity$: Alert Rule severity

    $alert_rule_id$: Alert Rule internal ID

    $alert_rule_name$: Alert Rule name

    $timestamp$: Alert creation time

    $pi_component$: SLD instance name of the PI component that created the Alert

    $scenario_id$: internal Integrated Configuration or IFLOW scenario ID

    $scenario_name$: a readable scenario name for the Integrated Configuration or IFLOW scenario (note: this variable is only available with

    the patch from note 2160374)

    $error_category$: Error Category

    $error_code$: Error Code

    $error_label$: Error Label

    $error_text$: Error Text

    $error_parameters$: Additional error parameters

    $msg_id$: Message ID of the PI message

    $msg_from_party$: Sender Party of the PI message

    $msg_from_component$: Sender Component of the PI message

    $msg_to_party$: Receiver Party of the PI message

    $msg_to_component$: Receiver Component of the PI message

    $msg_interface$: Interface Name of the PI message

    $msg_interface_namespace$: Interface Namespace of the PI message

    $uds_attributes$: User Defined data from the PI message

    $adapter_type$: Adapter Type

    $adapter_namespace$: Adapter Namespace

    $channel_name$: Communication Channel name

    $channel_party$: Communication Channel party name

    $channel_component$: Communication Channel component name

    $monitoring_url$: URL link to Message Monitoring for the failed message (Http URL)

    $secure_monitoring_url$: URL link to Message Monitoring for the failed message (Https URL)

     

    • Upload that text file in such a PO directory so that the location/file is readable by PO system. In my case I uploaded that under "/usr/sap/instanceID"

     

    pic1.JPG

    • Once uploaded,we need to schedule the AlertConsumerJobV2.

     

    To do that go to NWA>Operations > Jobs > Java Scheduler > Task.

     

    Click on Add and then select AlertConsumerJobV2.

    pic1.JPG

     

    Click Next and there you can change the TaskName and Description as per your wish. I kept that as it was.

    pic1.JPG

    On the next page you need to provide the parameters like EmailTemplateFile,Consumer,MailFrom,MailTo etc.

     

    pic1.JPG

    In my case I kept the below values.

     

    Language:en

    EmailTemplateFile:/usr/sap/instanceID/EmailTemplateTEST2.txt

    Consumer:ALERT-TO-STRUCTURED-MAIL(This is the consumer which is used/created in the AlertRule in ID)

    MailFrom:The alert email generator email ID

    MailTo:The desired recipient for this alert

     

    Then click on next and schedule the alert.

    pic1.JPG

     

    pic1.JPG

    Now click On Finsh.

     

    Now the alert email should be looking like below.

     

    pic1.JPG


    Collect or Aggregate messages based on counter using NWBPM step by step

    $
    0
    0

    We had several requirement where we needed to collect a certain number of messages using BPM. In ccBPM, we used achieve this using Loop step like below where we used to define a loop and a counter and once the counter reached to the end condition, the loop step was terminated.

    pic1.JPG

    So how to achieve the similar functionality using NWBPM.Below is the process view.

    NWBPM.jpg

     

    In my scenario, the input message looks like below.

    pic1.JPG

    The NWBPM is going to accept 5 message with same structure  and aggregate those in a single message.

     

    I am not going into PO ESR ID design as that is pretty simple. We are just having one ICO to pass the message with above structure to BPM and another ICO to receive the aggregated message out of BPM and write that into a file.

     

    I will describe the properties of the steps I created in BPM.

     

    • Data Objects:

     

    Counter:

    pic1.JPG

    This is a simple data object of type Integer to count the number of message received by the process.Below is the properties.

    pic1.JPG

     

    Inbound:


    pic1.JPG

    pic1.JPG

     

    This DO is created from the data type DT_SRC which is created automatically once we imported the related Service Interface from PO.This acts as a variable/container to hold the intermediate  messages within BPM process.

    pic1.JPG

     

    • Start Step: This step is to receive the first File/Message and trigger the BPM process.Here we also initialize the message counter to 1.

     

    pic1.JPG

    pic1.JPG

     

    pic1.JPG

     

    pic1.JPG

    In the output mapping properties, we have initialized the counter to one by defining below function and mapped the first input file/message to Inbound DO which was created earlier.

    pic1.JPG

    • Uncontrolled Merge: This is just a dummy step to make/complete the loop as exclusive choice can not have 2 input.

     

    pic1.JPG

     

    • Exclusive Choice(checkCount):Here we check whther the counter reached to 5 or not. If not then the process continues with Continue line, else process diverted to CountReached line.

    pic1.JPG

     

    pic1.JPG

    Condition for CountReached line as below.

    pic1.JPG

    • Intermediate Message(Await Next Message): If the count of number of messages is not reached to 5 then we await for next message to come in.

     

    pic1.JPG

    Here we need to use a trigger to receive the next messages.In my case I have used same trigger as the file structure of the source messages are same and coming from same service interface.

    pic1.JPG

    In the output mapping, we need to append the new messages to the existing message in the process.

    pic1.JPG

    pic1.JPG

    Here also we need to set the correlation so that the next messages are correlated based on the company name on the incoming messages. So basically if the process is called by multiple instances then it will generate the aggregated output based on the same company name.

    pic1.JPG

    • MappingStep(IncrementCounter):In this step we just increment the counter by 1.

    pic1.JPG

    pic1.JPG

    Double clicking on the [-] sign of the mapping line of the Counter will show you the function.

    pic1.JPG

    • Automated Activity(SendAggregatedMessages):Once the counter reached to 5, this step will be executed where we have just sent the aggregated output to PO.

    pic1.JPG

    pic1.JPG

    pic1.JPG

    • End: This is used to terminating the process.

     

    pic1.JPG

     

    That is it!!

     

    The output should look like below.

    pic1.JPG

    Testing: Test Tools...Part 1

    $
    0
    0

    I've written a number of internal documents about testing integration scenarios and thought I would turn these into a series of blogs. Please let me know if you find them useful. Feedback is always appreciated.

     

    I'm going to start with a great little web site I discovered a few months ago. I'd developed an iDoc to REST scenario using the Advantco Rest Adapter.It converted the outbound payload to JSON and I wanted to be able to view what was actually sent. I know the message monitor provides a lot of detail I wanted more. I really wanted to see what the actual post looked like without testing with my partner and bugging them for log files.

     

    After some searching I came across http://www.posttestserver.com/ This is a simple service which will record the contents of a POST to a log file which can be viewed. Use the following URL http://posttestserver.com/post.php or https://posttestserver.com/post.php and execute your request. If you are testing a synchrnous call then the response will contain the log file URL otherwise go to http://posttestserver.com/data/  and browse to the year, month, day, and time of the post.


    05-08-2015 17-00-48.jpg

     

    ** Remember this is a public service so make sure the data you are sending isn't confidential.

    Get Attachment Name for Sender Mail Adaptor by Java Mapping in 7.4

    $
    0
    0

    There are frequently asked queries about Read Attachment Name from Sender Mail Adaptor .

    We have seen many quires related to this which are unanswered .

     

    We have seen option of Customized Adaptor Module which is time consuming and tricky.

     

    We have overcome this by simple Java Mapping code in PO 7.4 which is simple and easy .

     

    We are sharing code for the same .I would like to thank my colleague Navdeep Singh for his  initiate and support

     

    Code.png

    SAP HANA Cloud Integration (Quick Overview)

    $
    0
    0

    Dear SCN Friends,

     

    One year back, I was asked to evaluate HCI capabilities .After evaluation I felt architecture is good but it has

    long way to go before it's ready to compete with its on-cloud competitors (Dell Boomi, Informatica...) or with

    SAP's on premise middleware (SAP PI/PO) .

     

    Recently I realized that SAP is rapidly making improvements for HCI .I believe soon it will become tough

    competitor to both on-cloud and on premise middlewares.

     

    I want to share my views on advantages with cloud-based integration platform, current HCI's major capabilities and its limitations.

     

    SAP HANA Cloud Integration (HCI) is SAP’s strategic secure cloud-based integration platform with a strong focus on

    process and data integration.It provides you the Process Integration (HCI-PI) and Data Integration (HCI-DS) capabilities.

     

    • HCI-PI is for integrating your applications, be it on premise or cloud applications
    • HCI-DS is for efficiently and securely doing ETL (extract, transform, load) tasks to move data between on premise and the cloud systems.

     

    Below are major advantageous with cloud based integration (HCI):

     

    • No maintenance required ,SAP will take care of it
    • Less implementation time (Prepackaged integration content can reduce TCO for developers and maintaining the custom integrations)
    • Lower TCO (pay as you go subscription model and minimal upfront investment)
    • Effective failover capability (Similar to High availability concept in on premise)
    • Scalability, SAP will take care of it
    • Rolling software updates (currently once in a month. Zero down time but during that window we can’t deploy new integration artifacts to the tenant)
    • Backward compatibility of the integration content is assured
    • During every upgrade, the Web-based IDE is also upgraded (NOTE: We need to manually upgrade our eclipse based

            toolset from the HCI Eclipse update site)

    • Tenant Isolation (For each customer system connected to SAP HCI separate resources(d/b schema,CPU,memory...) are allocated)
    • Light weight nature of HCI may be used in future for mobile based communication for non-SAP back-end systems with the availability

            of REST/ODATA capabilities

    • If you are migrating interfaces from PI/PO to HCI ,you can reuse the structures and mappings.You can import these from your PI/PO to HCI .



    Currently HCI has below adapters (Took 8/1/2015 release as reference )

     

    Adapter type

    Allows tenant to

    Mail adapter (Rx)

    Send out encrypted messages by e-mail.

    IDoc SOAP adapter (Sx & Rx)

    Exchange IDoc messages with another system.

    SOAP (SAP RM) adapter (Sx & Rx)

    Connect to another system based on the SOAP communication protocol and SAP RM as the message protocol (which is a simplified communication protocol

    for asynchronous Web service communication that does not require the use of Web Service Reliable Messaging).

    SOAP 1.x adapter (Sx & Rx)

    Connect to another system that supports SOAP 1.1 or SOAP 1.2.

    HTTP adapter(Rx) (POST/GET/PUT methods)

    Connect to a receiver system using the HTTP protocol.

    SFTP adapter(Sx & Rx)

    Connect to another system using the SSH File Transfer Protocol.

    SuccessFactors adapter (Sx & Rx) (SOAP/ODATA V2(Rx)/REST)

    Connect to a SuccessFactors system using the SOAP protocol.

    For REST message protocol only GET/POST operations are supported

    Ariba adapter (Sx & Rx)

    Connect a tenant to the Ariba network (that way allowing SAP and non-SAP cloud applications to send and receive business specific documents in cXML format to and from the Ariba network).

    OData adapter (Rx)

    Connect to systems exposing OData services (OData service providers).

     

    Sx->Sender ,Rx->Receiver


    Below are some of the major limitations with HCI:


    • B2B/EDI capability (It's there in their Road Map)
    • Standard version management is not available
    • No support for JAVA/ABAP mappings
    • No look up concept in HCI, but as an alternative Request-Reply pattern available to suffice the gap
    • Can't control individual channels(Start/Stop/External Mode) like we do in PI/PO
    • Monitoring is good but it needs further enhancements (Filter based on channels, option for logs more than 1 month,…)
    • In HCI no native support for JAVA udf's ,need to go for either groovy script or JavaScript (but I think we can import the same from

              PI to HCI and run it ,but can't modify it in HCI)

    • No native support for operation mapping in HCI, alternative approach given is request reply pattern (We can re-use the

              existing operation mapping from PI/PO and run it in HCI)

    • PI/PO operation mappings with cardinality 0..1 or 0..unbound are not supported
    • PI/PO operation mappings with multiple operations are not supported
    • PI/PO operation mappings with "Do Not Resolve XOP Includes", "Read Attachments" are not supported
    • Some of existing adapters need to enhance further to support more features
    • Look and feel of message logs is not good. It needs further enhancement
    • I'm wondering on whether HCI support custom modules and many standard beans available in PI/PO?

       

     

    NOTE:

    Many resources available in scn for understanding HCI features ,make use of those.I would like to thank Sujit

    for sharing his knowledge on most of the HCI features .


    Please share your thoughts on this ,so that we can further enhance this blog and make it more comprehensive for quick reference.


    I'm adding few references ,but you can find many in scn ,just need little bit patience

     

    http://help.sap.com/cloudintegration/SAP_HCI_DevGuide.pdf

    Basic Web-UI Monitoring in HCI

     

    Regards

    Venkat

     


    SAP HCI CodeJam 2.0

    $
    0
    0

    Together with SAP A.G. we have evolved the CodeJam. We call it SAP CodeJam 2.0!

     

    After some extensive research and feedback we found out that that you and your peers want to work on scenario's you do not expect and which are also not general available on the web. This presented us with a possibility to help SAP HCI CodeJam to take the next step in evolution.

     

    We believe that a CodeJam 2.0 should be about getting hands-on experience in SAP HCI technology and tools based on interaction and your valuable input.

    We have put in some hard effort to make it happen!
    We are going to work on brand new scenario's which are set up in colloraboration with SAP  AG& Proxcellence.

     

    SAP HANA Cloud Integration scenario's:

    - Deep dive integration flow development: Sports scenario with REST adapter

    - Deep dive integration flow development: Magento with SOAP adapter

    - Adapter development

     

    During the deep dive developments we are going to use multiple integration flow elements which will be explained in more detail.

    If you are interested in participating in SAP HCI CodeJam 2.0, you can sign up here: http://bit.ly/1Ep43xt

     

    Date:  30 October 2015

    Time: 12.00 – 18.00


    Location:
    NAC Stadion
    Stadionstraat 3
    4815 NC Breda
    The Netherlands

     

    Hope to see you there, With kind regards, 

     

    Rayan Koendjbiharie.

    Testing: Test Tools...Part 2

    $
    0
    0

    I'm continuing with my blog series on testing tools. This blog post focusing on testing a SFTP connection using certificate authentication using my favorite windows tool, WinSCP. This is a windows tool and can be downloaded from h http://winscp.net/eng/index.php

     

    Its always a good idea to be able to test any connection you need to use for an integration prior to any development starting. From my perspective communications problems are always the most difficult of issues to resolve. You not only have your networking teams to deal with but also those of the partner you are connecting to. Factor in some outsourcing or third party hosting and it can take quite a while to resolve any issue. So, the moral of this story is that if you are able to test the connection first then do it.

     

    So lets look at the basic settings first.

    14-09-2015 11-37-46.jpg

     

    For the specific site enter the following


    Select the connection type first. In this case SFTP

    Host/IP: Enter the address

    Port: Enter port provided, usually 22 but always double check

    Username: Username supplied by vendor, which may not be required

    Private key: Reference your private key (the vendor should have installed your public key on their server)

    Password: Enter the password (if provided)


    Now click on Proxy

     

    14-09-2015 11-38-50.jpg


    In my organisation we are using a proxy to connect to the vendor. The configuration has a very specific Proxy Type and Port. make sure you validate this with your technical team. Also important to note is that some vendors will restrict access to their services based upon the source address (your source address). If you are going through a proxy then the source address will be your proxy and not your PO/PI system. This is important to note. Your Basis or Networking team will be able to provide this information.


    Proxy type: SOCKS5

    Proxy Host: xxxxxxxxx

    Port: nnn

     

    Now click on Save. Test the connection by selecting ‘Logon’. If successful you will be able to see the SFTP’s server’s directory. Please note that the log file entries shown below may differ to those you see. Some of the messages are dependant on a specific configurations or SFTP server software used.


    14-09-2015 11-40-56.jpg

     

    OK, now the private key I am using came from my PO keystore. However, if I export it and then try to use it in WinSCP it complains so we have a little more work to do.


    • Export private key from NWA making note of password.

    14-09-2015 11-47-51.jpg

     


    • Copy the exported SAP NW PO Key file to the openSSH bin directory


    • Open a command line and change the directory to the openSSH and run the following command replacing inputfilename with the name of the SAP NW PO keyfile


    • openssl pkcs12 -in inputfilename -nocerts -nodes | openssl rsa > id_rsa


    • You will be prompted for the password you entered when exporting the key and then the RSA key will be output


    14-09-2015 11-51-35.jpg

     

    • Open puttyGen (installed as part of WinSCP)

    14-09-2015 11-52-59.jpg


    • Import the rsa_id file you created (this is the private key)

    14-09-2015 11-53-32.jpg


    • Save the private key (PPK format)

    14-09-2015 11-53-55.jpg

    • Save the key and use it in WinSCP making sure you delete the rsa_id and SAP NW PO key files.


    Blogs in Series

    Blog 1: HTTP Post Testing: Test Tools...Part 1

    Blog 2: SFTP Testing: Test Tools...Part 2

    Blog 3: REST  Testing: Test Tools...Part 3

    Blog 4: SOAP Testing: Test Tools...Part 4

    Polling a Web Service from PO without a trigger

    $
    0
    0

    In one of our project we had a requirement where PO needs to poll a WebService through SOAP and we needed to pass the data to a receiver. In this particular case, we may need to use AXIS framework to poll the service because in normal SOAP sender channel we do not have an option to poll a service to get the data, instead some other process/service have to call to trigger the interface.

    One of the possible solution use to use NWBPM/BPM but we wanted to avoid BPM and also was not sure how the AXIS framework will work. So what could be done?

     

    Solution: Here we have used SYNC/ASYNC bridge with a little trick. We have created 2 ICO where first ICO will picking a dummy file to trigger the process in a regular interval and with the receiver SOAP channel of the first ICO we are going to poll the Webservice. However once we get the response from the Webservice in the Receiver SOAP channel of the first ICO, we use the RequestResponseBean and ResponseOneWayBean to pass the response to the 2nd ICO which will pass the response to the actual receiver.

    Below are the Design and Config:(I have kept the screens for the objects only which can create confusion)


    External Definition of the Service we need to poll:

    Pic.jpg

    Asynchronous Outbound Service Interface for the Dummy file:(Used in 1st ICO)

    Pic.jpg

    Asynchronous Inbound Service Interface for the SOAP service which we need to poll:(Used in 1st ICO)

    Please note that though this service a SYNC one but we need to declare an ASYNC interface as we will pass the response to another interface.

    Pic.jpg

     

    Asynchronous Outbound Service Interface for the SOAP service from which we will get response after polling:(Used in 2nd ICO)


    Pic.jpg

    Asynchronous Inbound Service Interface for the ultimate receiver:(Used in 2nd ICO)

    Pic.jpg

    We also need 2 Operational Mapping and 2 Message Mapping. 1st set will be used for dummy File to the SOAP service structure. 2nd set will be used to map the response from SOAP service to the ultimate receiver structure.

     

    1st ICO:

    Pic.jpg

    Here the sender channel used to pick the dummy file. Remember to keep the channel in test mode so that the same file picked up again and again to trigger the whole process.

     

    Pic.jpg

    On the receiver channel, we need to connect it to the service we want to poll and pass the response to the 2nd ICO.

    Pic.jpg

    Pic.jpg

     

    2nd ICO:

     

    Pic.jpg

    Pic.jpg

    Please note that no module config required for this Sender SOAP channel. It is used to receive the response from the SOAP receiver channel used in 1st ICO.

    The rest of the configuration is usual. And that is it. Once you start the sender channel of first ICO, PO will poll the SOAP service on a regular interval and will pass the response to the ultimate receiver.


    Testing: Test Tools...Part 3

    $
    0
    0

    I'm continuing with my blog series on testing tools. This blog post focses on testing a RESTFUL web service provisioned by PO. The easiest way to perform a basic unit test of the interface is with a Chrome Plugin called DHC. It can be downloaded here DHC - REST/HTTP API Client - Chrome Web Store.

     

    This tool provides an easy way to test requests using a simple web based UI. The requests can be saved into folders and easily exported to share.

     

    In the following example I am sending a POST request to our PO system and the payload is JSON. A response is returned which is also JSON. The following explains how I populated the request

     

    URL:  Make sure you use the correct URL.

    Method: DHC requires a method (POST, GET, PUT etc…). In this instance we are posting data to PO.

    Content Type: In this case it is application/json

    Authorizations. Click on the ‘set an authorisation’ and you can enter your credentials and they are translated to the fomat required for Basic Authentication (using BASE64).

    14-09-2015 12-15-40.jpg

    Payload: Paste the payload in the BODY section, set the type to text and click on the JSON link at the bottom to format the request.

    14-09-2015 12-16-03.jpg


    Once executed the response will appear underneath

    14-09-2015 12-16-24.jpg

     

    There are a number of other tools that can be used, both online (such as Postman, another Chrome Add-in) or client based solutions such as SOAPui.

     

    Blogs in Series

    Blog 1: HTTP Post Testing: Test Tools...Part 1

    Blog 2: SFTP Testing: Test Tools...Part 2

    Blog 3: REST  Testing: Test Tools...Part 3

    Blog 4: SOAP Testing: Test Tools...Part 4

    SYNC ASYN Bridge but the receiver is IDOC

    $
    0
    0

    We had a requirement to implement a SYNC ASYNC bridge with SOAP as sender and IDOC as receiver. There are few good options we have.

     

    1. Using IDOC as SOAP service.But the receiver SAP system in version 6.20 or higher. Please see the blog SOAP for IDOC demystified for more details.
    2. Using NWBPM to handle this.

     

    But what you would do in case the receiver SAP system version is low and also you are not having an NWBPM developer. Then the below solution can work.

     

    Use this method Configuring Sync/Async Bridge on SAP NetWeaver Process Orchestration with a little trick.We will configure the ICOs following that and will create one additional ICO which will pick the file and post the IDOC to SAP system.

     

     

    In the First ICO we are going to receive the SYNC request and write a File on our File System with the name as the message ID.

     

    Sender Channel of 1st ICO:

     

    Pic.jpg

     

    After that we do the necessary mapping to convert the SOAP structure to IDOC. We can also do the same in 3rd ICO which we are going to develop later.

     

    Receiver File channel of 1st ICO:Please note the configuration carefully.

     

     

    Pic.jpg

     

     

    Pic.jpg

    Pic.jpg

    Pic.jpg

     

    Now we go to the config of  2nd ICO:Please note that we just need a sender channel to use NotifyResponseBean however a channel can not work without an ICO, we need to create this ICO.

     

    Sender Channel of 2nd ICO:

    Pic.jpg

    Pic.jpg

    Pic.jpg

     

    Rest of the ICO is just configured with DUMMY values.

    Pic.jpg

    Pic.jpg

    Pic.jpg

     

    After you finish the above configuration we need another ASYNC ICO which will pick the Files written in the Archive Directory(mentioned in the sender channel of 2nd ICO) and post the IDOCs to SAP system.

    SAP PI/XI to PO connection using PROXY over SOAP

    $
    0
    0

    Although this sounds very simple however I had to struggle to make this working while I had to migrate an existing interface from one of our customers interface from XI/PI--->PI to XI/PI-->PO.

     

    First of all make sure you have same names of Interfaces(Inbound Interface of the Sender and the Outbound Interface of the Receiver) and Namespace in both the system. So if your customer has defined the namespace and Interface Names then you need to follow them exactly as they are. For My example, below are the design(I have kept the screen only for those objects which may need clarifications).

     

    Customer's XI/PI system(Sender).

     

    Pic.jpg

     

    Our PO system(Receiver).

     

    Pic.jpg

     

    Config in Customer's XI/PI system:

     

    Pic.jpg

    Pic.jpg

    Please note that we need to do the Header Mapping so that the names of the Sender/Receiver Component matches the name of the Sender and Receiver Component used in PO system(Receiver).

     

    Receiver Channel in Customers PI system:

    Pic.jpg

     

    Please note that as the receiving system is PO(No ABAP Stack) the URL pattern is as below.

    http(s)://host:port/XISOAPAdapter/MessageServlet?ximessage=true


    Earlier while Receiving system was PI, then below URL pattern was followed.

    http(s)://host:port/sap/xi/engine?type=entry



    Config in our PO system:


    Pic.jpg


    Pic.jpg

     

    The rest of configuration is usual and you can follow standard design. Also please note that if you face and issue with HTTP-500 while trying to post the message from Sender however you are not able to find that in Receiving system then please check the Header Mapping in Sender system ICO and receiving systems ICO so that the System/Component/Party Names matches with the System/Component/Party Names used in receiving System as it is done in my case. If that also does not resolves the issue, double check the Namespace and Interface Name is same on the sender and the receiver system.


    Testing: Test Tools...Part 4

    $
    0
    0

    This blog post focses on testing a soap web service provisioned by PO using a tool called SOAPUI. This is a free and open source cross-platform Functional Testing solution. With an easy-to-use graphical interface, and enterprise-class features, SoapUI allows you to create and execute tests. In a single test environment, SoapUI provides complete test coverage and supports all the standard protocols and technologies.

     

    Installation

    Requires a JAVA JRE

     

    SOAPUI can be downloaded from http://www.soapui.org/


    Creating a test

    You will need a Web Service Definition (WSDL) to test with. You can export a web service definition from PO (ID) or Import the Web Service Definition supplied by your partner.

    15-09-2015 16-15-10.jpg

     

    Right click on the Workspace and select New SOAP UI Project (please use a meaningful name) and the browse for the WSDL you exported from PO.

    15-09-2015 16-24-30.jpg

    The web service will be imported and displayed in the top right hand window. Click on the plus sign next to the web service to expand it.

    By default a request will be created for each operation of the web service. The requests will be called Request_1.

    15-09-2015 16-17-23.jpg

    It will use the operation definition to create a basic request and you will need to populate this request with the appropriate values. The username and password will need to be input for each request in the ‘Request Properties’. You shouldn’t have to change any of the other values.

     

    For PO Web Services the endpoint will be the PO system you exported the Web Services from. This can be modified or new endpoints added.

      15-09-2015 16-18-37.jpg

    You may need to configure a proxy server. This can be found under File, Preferences.

     

    So once you have a service and have configured a request, entered your account details, updated the payload and the end point you are ready to run the test. Just click on the green arrow above the request to start the test.

     

    The response will appear in the right hand window.

    15-09-2015 16-19-17.jpg

    The response time for the request will appear at the bottom of the screen.

    15-09-2015 16-20-52.jpg

    Clicking on HTTP log at the bottom of the screen will provide information about the request. This may be useful when investigating problems with the service.

    15-09-2015 16-20-00.jpg

    In my experience there are three main problems that can occur. Failure to enter the correct credentials, failure to enable or disable the proxy and finally, an incorrect endpoint. All these should be checked.

     

    You have now created your first SOAP UI Test. If you wish to run another test for the same operation with a modified payload you can duplicate the test by right clicking on it and selecting Clone Request. Remember the endpoint and the username and password are defined for each test. So you will have to select the correct endpoint and enter your credentials.


    Blogs in Series

    Blog 1: HTTP Post Testing: Test Tools...Part 1

    Blog 2: SFTP Testing: Test Tools...Part 2

    Blog 3: REST  Testing: Test Tools...Part 3

    Blog 4: SOAP Testing: Test Tools...Part 4

    Download and configure NWDS

    $
    0
    0

    Dear all,

     

    In this blog I'll explain how to install and set up the configuration of PO (Process Orchestration) 7.4, so it'll be ready to use in SAP NetWeaver after reading this blog.

     

    First of all PO 7.4 is a new version of PI (Process Integration) 7.31. In the new version it is not only possible to made changes in the Internet Explorer workaround but also in the SAP NetWeaver Development Studio (NWDS).

    Before you start make sure you have JDK 1.6.

     

     

    Follow the next steps and you'll be able to work with the SAP NetWeaver for PO 7.4:

            Capture.PNG

    • When the Sap Netweaver Developer Studio is open, go to Window / Preferences. Now you'll add the system which you want to connect with.
    • In the Preferences screen open Development Infrastructure and go to System Landscape Directory:Capture.PNG

            Enter after URL a SLD link and click on Ping to test the connection.

    • Go the Web Services / Enterprise Service Browser, and fill in the connection settings:

           Capture.PNG

    • Click on Apply and close the Preferences by clicking on OK.

     

    After these steps you can start with the PO developments.

     

     

     

    Kind regards,

    Pieter Lemaire

    Viewing all 108 articles
    Browse latest View live


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