Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Summary
This document describes the creation, configuration and execution of simple NW BPM which involve calling a synchronous RFC defined in backend ECC, pass data and which returns a complete record of data inserted in a table in ECC.

Environment

  • SAP Process Orchestration 7.40 SP8
  • SAP ERP EHP7
  • NWDS 7.31 SP12 PAT0012

Steps

  1. Create or Update ERP(R/3) system configuration in NWDS
  2. Add or create a new ABAP provider system in NWA
  3. Create an RFC synchronous FM in ECC
  4. Create a new Process Composer development component in NWDS
  5. Create a new Service Group to the ECC system under Connectivity
  6. Create a new NW BPM, import RFC and applicable service interfaces
  7. Configuring Start event in BPM process
  8. Configuration for Automated activity "YBAPI_PITEST"
  9. Assign administrator to the pool for NW BPM BAPIBPM
  10. Build and Deploy the Process Development Component
  11. Assign provider system to process component
  12. Start and test the BAPIBPM process

Create/Update ERP(R/3) system configuration in NWDS

This will ensure that the RFC which was created in ECC is available and ready to use in NW BPM as shown below.

Open NWDS and go to Windows --> Preferences --> Destination configurations --> R/3 Configuration

Click on "ADD" to add a new R/3 system to NWDS configuration

Click on "Single Server" tab and fill the following parameters

  • Host Name: Fully qualified host name of the ECC or R/3 system
  • System Number: System number of the ECC system

Under User Account, Provide the following parameters

  • Client: SAP Client of the ECC system
  • Logon Name: User name to login to SAP system and password

Add or create a new ABAP provider system in NWA

Logon to NWA and click on SOA --> Technical Configuration --> system connections

Select "New" to add a new provider system which is ECC(R/3) as shown below.

Provide the following information

  • System Name: Three letter name of ECC(R/3) system
  • System Type: ABAP
  • Client: client # of the ECC system.Ex: 000,111,222,333,...

Click Next

Since we want to use RFC connectivity,check "Do not use WS connectivity" and click Next

Provide the following inputs in the screen for RFC connectivity

  • Target Host: Fully qualified host name of the ECC system
  • Sys No: system number of the ECC system. Get this from Logon pad.
  • Runtime Authentication settings: Select Technical user and provide appropriate user name and pwd of the user created in ECC system and click Next.

if all the above steps are correct, then you will see a green icon that the connection test is successful to the ECC(R/3) system as shown below.

Now, a summary of the sys connection information to ECC(R/3) system will be displayed.

Create a synchronous RFC FM in ECC

Run SE37 transaction in ECC and create a FM named YBAPI_PITEST

Functionality of this RFC: This module will accept 2 parameters as input, inserts a record in a table and returns the complete record as synchronous response to the NW BPM created in SAP PO.

Create a new Process Composer Development Component in NWDS

In NWDS go to File --> New --> Other. Then select "Process Composer Development Component". Click Next and

Select "My Components[demo.sap.com]" and click Next

Provide the following parameters and click finish.

Name: soa/sg

The new process development component will be created as shown below.

Create a new Service Group for the ECC system under Connectivity

Go to Connectivity --> Service Groups. Right click and create "New Service Group"

Provide the following parameters and click finish. Keep a note of the name of the service group as this will be used later during deployment.

  • Service Group Name: XXX_ABAP (XXX - Name of the ECC system)
  • Description: Service group configuration for ECC

Create a new BPM and import RFC and applicable Service Interfaces

Right click on Processess --> New Process and create a new process. Provide the following information and click Next.

  • Name: BAPIBPM
  • Orientation: Top to Bottom
  • New Pool: Select "Create a pool" with name as "Pool" and lanes as "Lane"
  • Project: soa/sg

Keep "Create start and end event from the selected trigger" and click finish. The following BPM will be created.

Now, Go to Window --> Show View --> Other and type "search console" to bring up the search console.

Provide the following parameters in the search console to search for RFC and click on search.

Search For: RFC

Search In: XXX_ECC, where XXX is the ECC system name

Find: Function Module which was created in ECC. In my case it is "YBAPI_PITEST".

Group By: Application Component

This will return the YBAPI_PITEST RFC as shown below.

Now, drag and drop the RFC from the search console to the BAPIBPM process which we have created earlier.

The BAPIBPM process will appear like as below.

The appropriate Service Interface definitions for the imported RFC will automatically created in Project Explorer.

Similarly, import SI_PO_BAPI_Req which was already created in ESR. This interface will be used to capture the request triggered to BAPIBPM in the start event. This will be an "inbound" interface with interface pattern "Stateless(XI 3.0 Compatible)". Uncheck Point-Point selection.

Corresponding message type MT_BPI_Req contains the following structure.

Import BPI_Req and BPI_Res DTs which are already created in ESR to be used for capturing request and response data from the synchronous RFC.

BPI_Req data type structure

BPI_Res data type structure

Hence 2 parameters will be passed in the request to RFC and 12 parameters will be returned by RFC as synchronous response.

Now, the Project Explorer will look like this.

Drag and drop BPI_Req, BPI_Res and ZSFLIGHT data types to the BPM process. These will create data objects DO_BPI_Req, DO_BPI_Res and DO_ZSFLIGHT as shown below.

Configuring Start event in BPM process

Click on Start event in BAPIBPM and go to Properties.

Select "Event Trigger" tab and click "New"

Create a new trigger "testreq" with the following parameters

EndPoint Name: http://<localhost>:<port>/bpm/demosapcom/soa/sg/testreq?wsdl

Service: select SI_PO_BAPI_Req

Operation: SI_PO_BAPI_Req(In: MT_BPI_Req, Out)

Output Mapping:

Map the IP_CARRID and IP_CONNID of MT_BPI_Req to corresponding fields in Process Context for DO_BPI_Req as shown below.

Configuration for Automated activity "YBAPI_PITEST"

Select the "YBAPI_PITEST" automated activity in BPM and provide or select the following parameters in the activity properties

In the interface tab, maintain the following parameters

Service Interface: YBAPI_PITEST.PortType

Operation: Will be automatically selected. In my case, it contains both In and Out parameters as its synchronous.

Service Reference: Create a new Service Reference

Select "Choose existing" and "XXX_ABAP" which is the service group we have created earlier and click Finish.

Input Mapping:

Map corresponding fields in DO_BPI_Req Process context to the fields in YBAPI_PITEST

Output mapping:

Map the corresponding fields in the BAPI response YBAPI_PITEST.Response to fields in DO_BPI_Res. This is ensure that the synchronous response which was returned by RFC in ECC is appropriately mapped to our target structure in BPM process.

Please refer to http://scn.sap.com/docs/DOC-70291 for continuation of this document. as I cannot able to add further content to this document, rest of the content was added to the Part2 document accessed using the link above.

Labels in this area