Quantcast
Channel: SCN : Document List - Process Integration (PI) & SOA Middleware
Viewing all 571 articles
Browse latest View live

RFC Look-up Enhancement

$
0
0

RFC Lookup - Performance enhancement:

Issue: we are facing an issue that PI is taking more time to process huge amount of messages like more than two thousand for some interfaces, because for each interface there are 40 to 45 downstream systems, so each Idoc has to go through Basis receivers mapping and split messages to select downstream.


SAP NetWeaver BPM 7.31 Tutorial for Adding and Displaying Employee Details using Human Activity Steps

$
0
0

Introduction/ Overview

 

This document is a beginner’s guide for Building & Deploying NWBPM with Human activity steps along with Webdynpro UI. There are no ESR and ID objects created for this scenario.

 

Prerequisites


  • SAP NWDS 7.31
  • Administration user on PO 7.31 server to create new users and to deploy a new dc

 

 

 

Procedure


Step1. Create a Development Component

 

(1)  Click on Window -> Open Perspective-> Other -> Composite Designer and click on OK.


1.jpg2.jpg


(2) Click on File -> New-> Product.

     Enter Name as: BPM_EmpInfo_HumanActivity

      Click on Next


3.jpg

  

(3)Click on New Software Component

4.jpg

(4) Enter Software Component name as SC_EMPINFO and click on Finish

5.jpg

(5) Uncheck all the other Software Components and check only SC_EMPINFO and then click on Next , the following screen will appear


     Click On Next


6.jpg

(6) Click on Next


7.jpg

Click on Finish


7.jpg

The BPM component will be created as shown


8.jpg


Step 2. Create a New Process


(7)Drag and Drop Process from Right Palette into the Business Component


7.jpg

(8) Type “EmpInfo_Process” as name for the new process and then click on “Next”.

     Select “Create a pool with the following names and lanes”

     Enter Pool name as “EmpInfo”

     Enter Lanes “Use1,User2”

     Click on Next

     Leave defaults as it is and click on Finish

8.jpg


(9) Double Click on Employee_Process , following screen will appear


9.jpg

(10) Select the line between Start and End and delete the link/line

      Create the first Human activity for the “User1” Lane as shown below


10.1.jpg10.2.jpg


(11) Type the name of the Human activity “Enter Emp Details”.


11.jpg

(12) Create one more Human activity

12.jpg

(13)  Move the new Human Activity to the Lane “User2” and type “Display Emp Details” as a name for this activity.

13.jpg

(14)  Connect the Human activity “Display Emp Details” with the End event.

      Save (Ctrl+S).


14.jpg


Step 3. Create Web Dynpro UIs by UI template


In this step you create and assign new User Interfaces, based on Web Dynpro Java, for the human activities.


(15)  Remove default task from Human activity “Enter Emp Details”

 

        Repeat the step for “Display Emp Details”

 

         Save ALL

15.1.jpg  15.2.jpg


(16)  Import the  WSDL by clicking on Service Interface -> Import WSDL


16.1.jpg


         Check Remote Location/File System and import the WSDL from your desktop and then click on finish


16.2.jpg   16.3.jpg

          You can see the following Date types and Service Interface created


16.4.jpg

 


(17) Drag and Drop the Data type EmpOnboard_Dt from Project Explorer to Swim Lane User2


17.jpg


(18)Select process in Project Explorer and right mouse click

 

     Select Apply Template


18.jpg

(19) Select UI Task Generation

 

      Click Next


20.jpg

 

(20) Fill Display Emp Details and check the checkboxes


20.jpg


(21) Fill Enter Emp Details and check the checkboxes

      Click Next

21.jpg



(22) Click Finish and Wait for the wizard to generate the UIs


22.jpg

(23) After the successful generation the NWDS will look as follows


23.jpg


Step 4. Create Users and Grant Access


In this step you wo;; create new users . Later on you will assign these users to the swimlanes in BPM. These users will participate in the process and will receive the tasks.


(24)  Open SAP NetWeaver Application Server Administration > User Management

         ex: http://<ip>:<port>/startPage


24.jpg


(25) Create User


25.jpg



(26) For the First UserID type “User1” for Logon ID, type password 123pass, confirm it and type “User1” for the Last Name of this UserID (see the example).               Click “Save” at the end.

 

      Complete the same for the UserID type “User2”.


26.jpg

(27) Following Users will be created

 

27.jpg

(28)  Assign Users to Roles. Change the Search Criteria to Role


28.jpg


(29) Search for a Role containing “BPEM” – type for the search criteria *BPEM*. Click on “Go”.

      Click on the displayed Portal Role with description “BPEM End User”.

 

29.jpg


(30) Go to tab “Assigned Users” and click button “Modify”.

30.jpg


(31) Search for the “User*” and click on “Go”.


31.jpg


(32)When found, select all rows .Add UserIDs to the role


32.jpg

(33) After the assignment both UserIDs will be displayed on the right side with Assigned Users. Click on Save


33.1.jpg  33.2.jpg


(34) Search also for the Portal Role “Every User Core Role”. Click on the role.


34.jpg


(35)Go to tab “Assigned Users” and click button “Modify”. And repeat steps (31),(32) and (33)

35.jpg


Step 5.Assign Users to Swim-Lanes


(36) Click on Swim Lane User1 and  and select “Potential Users” in Properties tab

        Click on Choose...


36.1.jpg

     Search for “User1" , Select User1 added in the last step , Click OK


36.2.jpg


     Similarly, Select the Task swimlanes User2 and select “Potential Users” in Properties tab

     Click on Choose...

     Select User2 added in the last step

     SAVE ALL



Step 5. Create Mappings


(37) Select the Task “Enter Emp Details”> Go to Properties > Output Mapping >Map the fields as shown

37.jpg


(38) Select the Task “Display Emp Details”> Go to Properties > Input Mapping > Map the fields as shown . Save (Ctrl+S).

38.jpg



Step 6.Build & Deploy the process


(39) In Process Composer perspective: Build the DC


39.jpg


(40) Select also the development component of the Web Dynpro Development Component if you want to re-build it and click “OK”.


40.jpg


(41) In Process Composer perspective: Deploy the DC


41.jpg


(42) Deployment starts.Log shows the BPM is deployed successfully


42.1.jpg


42.2.jpg



Step 7 .Run the process


(43) Click on SAP Netweaver Administrator . Search for Process Repository -> Go

43.1.jpg

       Click on Overview

43.2.jpg

       Select the Process “bpm_empinfo_humanactivity ~pr~pm(example.org)” from the list with Components.

 

43.3.jpg

 

 

(44) Go to Resources of the Component > Processes and Tasks - select the Process Definition “EmpInfo_Process”. Click Start Process.

44.jpg


(45) A new pop up appears Click Start Process

45.jpg



(46) A message for successful process start will appear at the top of the screen.

46.jpg



Step 8 .Test the Process Behavior with “User1” and “User2”


(47)  Log-in to the Portal -> http://<ip>:<port>/irj using User1 and the initial password 123pass.Change the initial password to pass123


47.jpg



(48)A task is already assigned to User1 and is visible in the Task list of his Universal Worklist.

      Click on the Task/ Open the task

48.jpg


(49) A new pop up appears .Go to the link of the Process to see where you are on the process flow.


1.jpg



(50) You are on the first Human activity “Enter Emp Details”.

49.jpg



(51) Enter the Details and click on Approve button

50.jpg

 

(52) Refresh the Universal Worklist , task will disappear


52.jpg

(53) Log-in to the Portal using User2 and the initial password 123pass. Change the initial password to pass123


53.jpg


(54) The next process task is already assigned to User2 and is visible in the Task list of his Universal Worklist.

54.jpg


(55)Go to the link of the Process to see where you are on the process flow. You are on the second Human activity “Display Name Age

55.jpg

 

(56) BPM UI is now displaying the Emp details values entered by User1 earlier. Click on Approve button

56.jpg

 

(57) Refresh the list with Tasks in the Universal Worklist of User2 . Task will disappear


57.jpg


This completes our hands-on scenario 

 




 

Regards

Vinay P.

 

 

 

 

 

 




Approaches and sample implementation of MD5 Checksum within SAP PI 7.10

$
0
0

Objective: To calculate MD5 checksum value of a flat file and send this value in a checksum file to FTP/SFTP server.


Approaches Tried:

We use following approaches in general to achieve certain functionality which is not readily achieved in SAP PI.

  • Modules from SAP.
  • Java mapping through customized .jar files.
  • OS command lines.
  • User Defined Functions (UDFs).

 

Details on various approaches:

  • Modules from SAP:

We do not have any inbuilt module in SAP PI which can generate checksum of a file especially a non-xml file. Writing a customized module requires larger efforts and expertise to develop and deploy.

 

 

  • Java mapping through customized .jar files:
    • This is most popular approach of attaining some functionality which is not readily available with in SAP PI.
    • Java mapping uses .jar files which are used in Integration Engine with in SAP PI.
    • It operates on XML form of data and suitable for the nominal file size which PI can process without altering its performance.
    • With respect to our requirement it has two shortcomings:
      1. It receives data from source side in the form of xml into an input stream. It performs operation on this xml and xml tags. But we need to calculate checksum on a flat file not on its xml version.
      2. It uses ESR objects to identify source data. As it is a quarterly activity and files will come in chunks of 5 MB – 10 MB, the final file will have a size of >= 40 MB. It is huge file and will get stuck in PI and will not get processed.
      3. We need to calculate checksum on whole file; not on its individual chunks.

 

    • Owing to above shortcomings we cannot employ this approach to generate MD5 checksum.

 

 

 

  • OS command lines:
    • We do not have any inbuilt command line to generate checksum for SAP PI on windows server.
    • OS command can be used with MD5 checksum utilities available on internet but that may expose system to malware.
    • Using a java program through OS command line efforts at par with developing a UDF or java mapping which are easier to implement.
    • Most importantly it is difficult to track any failure in OS command line as the communication channel never displays any error if OS command line does not run properly.

 

 

  • User Defined Functions:
    • UDFs are easier to develop, compile and deploy.
    • Though UDFs too use ESR objects but it may operate independent of the data being processed.
    • UDFs have advantage that PI server (AL11 Path) is directly accessible to it.
    • UDFs can be written to operate on a flat file (in AL11 path) of any size without converting it to XML.

 


  • Why do we choose UDF over other approaches?

 

    • UDFs have advantage that it can operate on flat files as a whole though it operates in integration Engine.
    • The flat files (for which we need to calculate checksum) on PI server (AL11 path) are always at its disposal.
    • The interface using this UDF can be run whole day, thus constantly searching for the files on the path for which checksum is needed to be calculated.
    • It performs MD5 Checksum logic on flat file not on its xml version.
    • It does not use ESR objects of the file for which checksum is needed to be calculated thus not converting the file to xml  adding to that whatever be the size of the file it can calculate checksum value without putting any load on PI once the file is available on AL11 path.
    • We can use same UDF to calculate checksum of any number of interfaces with any file size.

 

  • Conclusion:
    • UDFs can operate on flat file without changing it XML
    • UDFs can operate on flat file of any size thus be ridding PI of any stress due to file size.

 

  • Process of implementation:

 

    • We are implementing the UDF in message mapping itself as shown below:

 


UDF.jpg


    • The Complete Code is:


------------------------------------------------------------------------------------------------------------------------------------------------------------------

try

{

  String Path = "<File path on AL11>"+"Filename";

  String datafile = Path;

 

         MessageDigest md = MessageDigest.getInstance("MD5");

         FileInputStream fis = new FileInputStream(datafile);

         byte[] dataBytes = new byte[1024];

 

         int nread = 0;

  

         while ((nread = fis.read(dataBytes)) != -1) {

           md.update(dataBytes, 0, nread);

         };

 

         byte[] mdbytes = md.digest();

 

         //convert the byte to hex format

         StringBuffer sb = new StringBuffer("");

         for (int j = 0; j < mdbytes.length; j++) {

                    sb.append(Integer.toString((mdbytes[j] & 0xff) + 0x100, 16).substring(1));

         }

         return sb.toString();

}

catch (Exception e)

{

return "Error";

}

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

You will be needed to place the file in any AL11 path which is accessible to SAP PI service User.

 

AL11.jpg


    • This UDF can be used in message mapping:


Mapping.jpg



    • Which in turn generated MD5 checksum of the file abc.csv (test file) which is place on some AL11 path as shown below, accessible to UDF and will pass the MD5 checksum value to target field which can be redirected to generate a checksum file on FTP/SFTP server.

 

Mapping Test.jpg


    • The final checksum file will look like as shown below. (The text with in file can be customized in UDF)


Checksum.jpg


* Please note that the above process is very Basic approach to calculate MD5 checksum. It can be implemented directly on FTP server instead of first moving file to AL11 path. For which you will need to use the library org.apache.commons to use FTP upload download. You will need to get this library placed on PI server to be able to import it while developing UDF.

How to get an XML file from Web page using JAVA Mapping

$
0
0

How to get an XML file from Web page using JAVA Mapping

 

Context

 

The main aim of this document is to explain how to retrieve a bank exchange rate XML messages from web page using JAVA mapping.

Scenario: We need to retrieve daily exchange rates from the web page and upload them into
SAP ECC using Proxy communication

 

 

 

 

Integration Repository:

Create the DT, MT and SI for Sender and receiver.

Create the message mapping and JAJA mapping to retrieve the date from WEB PAGE.

 

 

 

Here is JAVA code:

/*

* Created on May 16, 2014

*

* To change the template for this generated file go to

* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments

*/

package BANK To PI;

 

import java.util.HashMap;

import com.sap.aii.mapping.api.AbstractTrace;

import com.sap.aii.mapping.api.StreamTransformation;

import com.sap.aii.mapping.api.StreamTransformationConstants;

import com.sap.aii.mapping.api.StreamTransformationException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.*;

import java.io.*;

import java.net.*;

 

/**

* @author Srinu. Peram

*

* To change the template for this generated type comment go to

* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments

*/

public class BANK To PI implements StreamTransformation {

 

 

                private Map            param = null;

                private AbstractTrace  trace = null;

                /* (non-Javadoc)

                 * @see com.sap.aii.mapping.api.StreamTransformation#setParameter(java.util.Map)

                 */

                public void setParameter(Map param)

                {

                                // TODO Auto-generated method stub

                                this.param = param;

                                if (param == null)

                                {             

                                                this.param = new HashMap();

                                }

 

                }

                /* (non-Javadoc)

                 * @see com.sap.aii.mapping.api.StreamTransformation#execute(java.io.InputStream, java.io.OutputStream)

                 */

                public void execute(InputStream inputstream, OutputStream outputstream)

                                throws StreamTransformationException {

                                // TODO Auto-generated method stub

                                                               

                                                                try

                                                                {

                                                                                trace =(AbstractTrace) param.get(StreamTransformationConstants.MAPPING_TRACE);

                                                                                URL url = new URL("http://www.cnb.cz/en/financial XXXXXXXXXXXXXXXXXXXXXXX");

                                                                                trace.addInfo("******START JAVA MAPPING TRACE******");

                                                                               

                                                                                URLConnection URLconnection = url.openConnection();

                                                                               

                                                                                InputStream inputStream = URLconnection.getInputStream();

                                                                               

                                                                                int available = inputStream.available();

                                                                               

                                                                                trace.addInfo("Input Stream Available => " + available );

                                                                               

                                                                                trace.addInfo("Trying to get txt file from URL  => http://www.cnb.cz/en/financial_markets/XXXXXXXXXXXXXXXXXXXXXX ");

                                                                                /*BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

                                                                                String str;

 

                                                                                while ((str = in.readLine()) != null)

                                                                                {

                                                                                               

                                                                                trace.addInfo("Inside While loop");

                                                                                trace.addInfo(str);         

 

                                                                                }

                                                                                in.close();*/

                                               

                                                                }

                                                                catch (Exception e)

                                                                {

                                                                trace.addInfo("Exception Occured => " + e.getMessage()) ;

                                                                trace.addInfo("Exception Occured => " + e.getStackTrace()) ;

                                                                }

 

                }

 

}

 

Note : Sender side you can use the dummy File channel for this interface

 

 

 

 

 

 

 

Transfer IDoc data from one system to another

$
0
0

Context:


The main aim of this document is to explain how to transfer IDoc data from one system to another for testing purposes.


Scenario:


We need to perform end to end test for an outbound IDoc scenario in the development environment using the IDoc data present in ECC production system.


Procedure:


  • Create a test directory in production ECC FTP server. Ex: /sapinst/IDOCflatfiles

1.png

 

  • Note the production IDoc number.

2.png

 

  • Execute the T-Code WE19 and enter the IDoc Number and press F8.

3.png


  • Click on inbound file.

4.png

 

  • Enter the directory along with the filename (/sapinst/IDOCflatfiles/FileName) which you created earlier in production FTP. Make sure that Start IDoc inbound processing of file immediately is unchecked and hit enter or execute.

5.png

 

  • Now you can find a file created in the directory that was created.

6.png

 

  • Transfer this file to your desktop.

7.png

 

  • Create a test directory in the development ECC FTP server. Ex: /sapinst/IDOCflatfiles_Target

8.png

 

  • Transfer the file from your desktop to the directory that was just created in the development ECC FTP server.

9.png

 

  • Login to the development ECC and execute WE19 T-Code. Select File as template radio button. Enter the directory along with the file name and execute.

10.png

 

  • Now the IDoc data is transferred from production system to development system for testing. Control record values have to be verified before testing.

11.png

Issue I faced with RPC style wsdl

$
0
0

Last week I was given a synchronous wsdl and asked to develop a sync-sync interface (SOAP-Proxy). I imported it in ESR, developed the interface and was all set to test.

 

I opened SOAP UI, imported the wsdl and started mock service. Triggered proxy message from ECC.

 

And boom –

HTTP 500 Internal Server Error


Then I revisited all the configurations, felt everything is fine. Retested the scenario. And again - 500 exception

 

I tried to get the logs from SOAP UI. Found the below error:

 

ERROR: An error occured [Missing operation for soapAction [] and body element……


I’ve set Require SOAP Action property to ‘False’ in SOAP UI and tested. – Same issue again.

 

I was wondering where could be error. When I investigated the wsdl I found that SOAP binding was Remote Procedure Call (RPC) style. Generally, we use document style binding.

1.png

  

In external definitions in ESR when we import a wsdl, by default Messages option will be set to “From All Available Message Definitions”

2.png

  

But, when we import wsdl with RPC style binding, we have to change it to “Using RPC Style”.

3.png

  

Finally, when I made these changes, my scenario was successful.

 

More info:https://help.sap.com/saphelp_nwesrce/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/content.ht

Troubleshooting: Unable to add SAP AS Java in NWDS

$
0
0

Problem Faced:


Unable to add SAP AS Java in NWDS.
1.png


I had a scenario wherein I have to deploy a custom adapter module. Traditional way of doing it is by registering the SAP instance and then deploying the EAR file on the desired server.


But, when I tried to register the SAP instance by giving Instance host name and instance number and clicking OK, nothing happened. When I entered a wrong host instance name or a wrong instance number the NWDS showed me an error message. Otherwise, if everything is correct, it just closes the popup window and returns to the SAP AS Java initial screen with no system on it.


When I tried deploying the module without registering the SAP Instance, NWDS showed NullPointerException.


2.png


Resolution:

1. Stop the server

2. Open DEAFULT.PLF file in “/usr/sap/(SID)/SYS/profile”

3. Set the parameter “service/protectedwebmethods” to DEFAULT

       3.png  

4. Restart the server

 

In most of the projects, BASIS team will have the access to above mentioned directory. Asking BASIS team to perform the above activity is recommended.

How to allocate multiple Queues in BPM

$
0
0

Hello All,

 

Here I want to share a small helpful document, which I have experienced in my POC. We all know the concept of EOIO in SAP PI. Now we are going to consider the same, suppose if we are processing an EOIO message using BPM with multiple conditions and similarly routing the messages to multiple systems based upon conditions.

 

Problem: Consider 5 messages which have to go to 3 different systems (A, B, C) based on conditions.For example message 1, 2 to System A, message 3 to System B and Message 4, 5 to system C. If any kind of error occurred for any of the messages 1 or 2 then rest all of the messages will be on scheduling state along with the messages of systems (B, C).

 

Solution: Instead if we have three different queues for each system then that particular message of that system will be on hold instead queuing up of all the messages of other systems and it is also easier to check and monitor the queues. Here we go with an example for the same.

In every BPM we will have the below following steps according to the requirement.

 

Transformation: Here, as we discussed earlier we need to route the messages according to the conditions all the transformation starts for the mapping and final messages will be routed to three different systems.

 

ForkStep: Here we have final message routing to three different systems.

 

Send Step: I am going to maintain the queues (A, B, C) in Send step of a BPM. As we have three different systems namely A, B, C in our example we will take the same now. After the fork step we will have a send step where we are going to have our queue maintenance.

 

1.png


In each of the send step I have specified different Queue names (A, B, C) .Below is the screen shot where I have mentioned the queue name with three different system names.



2.png


3.png


4.png


Now we will monitor the messages in SXI_MONITOR with the different queue names



5.png

 

In the above screen shot you can observe messages flowing through three different queues. Similarly if any issue comes to any of the queue that particular queue effects instead of other systems. Please reach to me if you have any kind of queries regarding the same.


Create Target Structure From input CDATA Using Java Mapping

$
0
0

Dear All,

 

Here I have tried a small POC to handle CDATA input and create a target payload using Java Mapping.

Input structure:

1.jpg

Target Structure:

2.jpg

Input payload:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Source_DT1 xmlns:ns0="urn:NGM:POC">

   <Root>

      <Field1><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <ns0:Source_DT1 xmlns:ns0="urn:NGM:POC"> <Root>       <A>A</A>       <B>B</B>                 <C>B</C>    </Root> </ns0:Source_DT1>]]></Field1>

   </Root>

</ns0:Source_DT1>

3.jpg

Mapping Explanation:

In input value Field1, We are getting XML contains values for A, B and C. So we have to get the values for Target Fields A, B and C from input Field1 XML value and create target.

Java Mapping:

This is handled through Below Java mapping:

We are creating target structure from the field1 CDATA value.

4.jpg

Here is the java mapping which I had used to create target payload:


public void transform(TransformationInput arg0, TransformationOutput arg1) throws StreamTransformationException {

 

String inputPayload = convertInputStreamToString(arg0.getInputPayload().getInputStream()); // Calls convertInputStreamToString function

String output = "";

String outputPayload = "";

output=inputPayload.replaceAll("<.*?>", "");//Regx to remove everything between "<>" characters

output=output.replaceAll("]]>", "");//replace the charcters with empty

output=output.replaceAll("\\s+", " ");//Regx to remove the extra spaces

 

 

try {

StringTokenizer st = new StringTokenizer(output, " " );

        String[] strFileArray = new String[4];

        int i = 0;

        while (st.hasMoreTokens()) {

strFileArray[i] = st.nextToken();

            i++;

        }

//-------------Creating target structure------------//

outputPayload = outputPayload .concat("<?xml version=\"1.0\" encoding=\"UTF-8\"?>").concat("\r\n");

outputPayload = outputPayload .concat("<Target_DT1>").concat("\r\n");

outputPayload = outputPayload .concat("<Root>").concat("\r\n");

outputPayload = outputPayload .concat("<A>").concat(strFileArray[0]).concat("</A>").concat("\r\n");

outputPayload = outputPayload .concat("<B>").concat(strFileArray[1]).concat("</B>").concat("\r\n");

outputPayload = outputPayload .concat("<C>").concat(strFileArray[2]).concat("</C>").concat("\r\n");

outputPayload = outputPayload .concat("</Root>").concat("\r\n");

outputPayload = outputPayload .concat("</Target_DT1>").concat("\r\n");

 

/*

* Output payload is returned using the TransformationOutput class             

* arg1.getOutputPayload().getOutputStream(

*/

arg1.getOutputPayload().getOutputStream().write(outputPayload.getBytes("UTF-8"));

} catch (Exception exception1) {

getTrace().addWarning("Exception caught in Transform: " + exception1.toString());

}

}

 

/* <<< Reads input payload>>>*/

public String convertInputStreamToString(InputStream in) {

StringBuffer sb = new StringBuffer();

try {

InputStreamReader isr = new InputStreamReader(in);

Reader reader = new BufferedReader(isr);

int ch;

while ((ch = in.read()) > -1) {

  1. sb.append((char) ch);

}

  1. reader.close();

} catch (Exception exception) {

getTrace().addWarning("Exception caught in convertInputStreamToString: "+ exception.toString());

}

return sb.toString();

}

Final Output:

Fianl target payload and sturucture will looks as below.

 

Target Payload:

5.jpg

Target Structure:

6.jpg

FCC parameter reference for MessageTransformBean module

$
0
0

This document was moved from the following blog FCC parameter reference for MessageTransformBean module based on suggestion by Aaron Myers to allow for collaborative effort to maintain/update this reference list.

 

1) Conversion type: SimplePlain2XML

 

Parameter NameDefault value if parameter not configuredAllowed parameter valuesAdditional remarks
xml.skipEmptyFilefalse
xml.encodingUTF-8
xml.conversionTypeSimplePlain2XML
xml.structureTitlerow
xml.fieldFixedLengthsEither fieldFixedLengths or fieldSeparator must be populated
xml.fieldFixedLengthTypechar
xml.fieldSeparatorEither fieldFixedLengths or fieldSeparator must be populated
xml.endSeparatornl
xml.beginSeparator
xml.enclosureSign
xml.enclosureSignEndxml.enclosureSign
xml.enclosureSignEscape
xml.enclosureSignEndEscapexml.enclosureSignEscape
xml.enclosureConversionYES
xml.checkForXMLPredefinedEntitiesYES
xml.checkForISOControls
xml.lastFieldsOptionalNODeprecated and should not be used with missingLastFields or additionalLastFields
xml.missingLastFieldsignore
xml.additionalLastFields
xml.keepIncompleteFieldsNO
xml.addBeginSeparatorAsField
xml.addEndSeparatorAsField
xml.fieldContentFormattingtrim
xml.processFieldNamesRequired parameter
xml.documentName
xml.documentNamespace
xml.documentNamespaceScoperoot
xml.fieldNamesRequired parameter if xml.processFieldNames = fromConfiguration

 

 

2) Conversion type: StructPlain2XML

<StructureName> is per the structure names defined in xml.recordsetStructure. For each structure name listed, configure the corresponding xml.<StructureName>.* parameters.

 

Parameter NameDefault value if parameter not configuredAllowed parameter valuesAdditional remarks
xml.skipEmptyFilefalse
xml.encodingUTF-8
xml.conversionTypeStructPlain2XML
xml.recordsetStructureRequired parameter
xml.recordsetStructureOrderasc
xml.allowEmptyRecordsetsYES
xml.recordsetNameRecordset
xml.recordsetNamespace
xml.recordsetNamespaceScoperoot
xml.recordsetBeginSeparator
xml.recordsetEndSeparator
xml.documentName
xml.documentNamespace
xml.documentNamespaceScoperoot
xml.recordsetsPerMessage*
xml.documentSkipFirstRows0
xml.keyFieldNameRequired parameter if there is a structure with * in xml.recordsetStructure
xml.keyFieldTypeRequired parameter if there is a structure with * in xml.recordsetStructure
xml.<StructureName>.fieldFixedLengthsEither fieldFixedLengths or fieldSeparator must be populated
xml.<StructureName>.fieldFixedLengthTypechar
xml.<StructureName>.fieldSeparatorEither fieldFixedLengths or fieldSeparator must be populated
xml.<StructureName>.endSeparatornl
xml.<StructureName>.beginSeparator
xml.<StructureName>.enclosureSign
xml.<StructureName>.enclosureSignEnd
xml.<StructureName>.enclosureSignEscape
xml.<StructureName>.enclosureSignEndEscape
xml.<StructureName>.enclosureConversionYES
xml.<StructureName>.checkForXMLPredefinedEntitiesYES
xml.<StructureName>.checkForISOControls
xml.<StructureName>.lastFieldsOptionalNODeprecated and should not be used with missingLastFields or additionalLastFields
xml.<StructureName>.missingLastFieldsignore

 

xml.<StructureName>.additionalLastFields
xml.<StructureName>.keepIncompleteFieldsNO
xml.<StructureName>.addBeginSeparatorAsField
xml.<StructureName>.addEndSeparatorAsField
xml.<StructureName>.fieldContentFormattingtrim
xml.<StructureName>.processFieldNamesfromConfiguration
xml.<StructureName>.keyFieldValueRequired parameter if there is a structure with * in xml.recordsetStructure
xml.<StructureName>.keyFieldInStructureadd
xml.<StructureName>.fieldNamesRequired parameter if xml.<StructureName>.processFieldNames = fromConfiguration

 

 

3) Conversion type: SimpleXML2Plain

 

Parameter NameDefault value if parameter not configuredAllowed parameter valuesAdditional remarks
xml.skipEmptyFilefalse
xml.encodingUTF-8
xml.conversionTypeSimpleXML2Plain
xml.fieldFixedLengthsEither fieldFixedLengths or fieldSeparator must be populated
xml.fieldFixedLengthTypechar
xml.fieldSeparatorEither fieldFixedLengths or fieldSeparator must be populated
xml.endSeparatornl
xml.beginSeparator
xml.checkForXMLPredefinedEntitiesYES
xml.checkForISOControls
xml.addHeaderLineRequired parameter
xml.headerLineRequired parameter if xml.addHeaderLine = 3 or 4
xml.absoluteRowWidth0
xml.fixedLengthTooShortHandlingError

 

 

4) Conversion type: StructXML2Plain

<StructureName> is per the structure names defined in xml.recordsetStructure. For each structure name listed, configure the corresponding xml.<StructureName>.* parameters.

 

Parameter NameDefault value if parameter not configuredAllowed parameter valuesAdditional remarks
xml.skipEmptyFilefalse
xml.encodingUTF-8
xml.conversionTypeStructXML2Plain
xml.recordsetStructureRequired parameter
xml.<StructureName>.fieldFixedLengthsEither fieldFixedLengths or fieldSeparator must be populated
xml.<StructureName>.fieldFixedLengthTypechar
xml.<StructureName>.fieldSeparatorEither fieldFixedLengths or fieldSeparator must be populated
xml.<StructureName>.endSeparatornl
xml.<StructureName>.beginSeparator
xml.<StructureName>.checkForXMLPredefinedEntitiesYES
xml.<StructureName>.checkForISOControls
xml.<StructureName>.absoluteRowWidth0
xml.<StructureName>.fixedLengthTooShortHandlingError

 

 

References:

For details about the functionality & values related to each parameter, refer to the corresponding parameter listed in the FCC section of the File/FTP adapter below:-

Converting Text Format in the Sender File/FTP Adapter to XML

 

Converting XML in the Receiver File/FTP Adapter to Text Format

 

Wiki with step by step sample of configuring FCC on JMS adapter

How To...Content conversion module with J2EE JMS adapter - Process Integration - SCN Wiki

SOAP with XI 3.0 message protocol

$
0
0

Hello Everybody,


In this document I would like to explain how to configure and test SOAP adapter with XI 3.0 message protocol to process proxy messages.


Many have already discussed this on SDN. I would like make this simpler for newbies in the form of a simple POC (Proxy - Proxy).


ESR setup:


Source Data Type:


1.png


Target Data Type:


2.png


Source Message Type:


3.png


Target Message Type:


4.png


Outbound Service Interface:


5.png


Inbound Service Interface:


6.png


Message Mapping:


7.png


Operation Mapping:


8.png

Integration Builder Setup:


Sender SOAP communication Channel:


9.png


10.png


Module Name: sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean

Parameter Name: generateSysAck                 Parameter Value: true

Parameter Name: ignoreDuplicate                 Parameter Value: true



Receiver SOAP communication Channel:


11.png


Target URL: "http://<TargetHost>:<port>/sap/xi/engine?type=entry"


Integrated Configuration:


12.png

13.png

14.png

15.png


Configurations in ECC system:


Execute SLDCHECK T-code and check if it takes you to PI SLD webpage. If not request basis team to configure this.


Execute SPROXY T-Code in ECC system. You should be able to see ESR content there. Else, request basis team to maintain connections.


Navigate to the outbound service interface in SPROXY T-Code.


16.png


Share this service interface details with an Abaper and request him/her to generate and activate the proxy.


17.png


Navigate to the inbound service interface.


18.png


Share this service interface details with an Abaper and request him/her to generate and activate the proxy.


19.png

 

Execute SM59 in ECC system and create Type G RFC destination to PI system.


20.png

     Target Host: PI host

     Service No: PI port number

     Path Prefix: /XISOAPAdapter/MessageServlet?ximessage=true


Execute T-Code SM59 in ECC system and create Type H destination to PI system.


21.png

     Target Host: PI host

     Service No: PI port number

     Path Prefix: /sap/xi/engine?type=entry


Execute T-Code SXMSIF in ABAP system


22.png


Create a new entry for outbound service interface.


23.png


Execute T-Code SXMB_ADM in ECC system.


24.png


Execute Integration Engine Configuration --> Edit --> Change Selected Config Data --> Role of Business System --> Select “Application System” --> Corresponding Integ. Server -->dest://<Type H RFC destination created previously>


25.png

26.png


Execute Integration Engine Configuration --> Change Configuration (F9) --> Ctrl+F1 --> New Entry (F5) --> Category: RUNTIME --> Parameters: CENTRAL_SYSTEM --> Subparameter: SLD --> Current Value: is.<PI sys no>.<PI host> --> Save


27.png


Execute Integration Engine Configuration --> Change Configuration (F9) --> Ctrl+F1 --> New Entry (F5) --> Category: RUNTIME --> Parameters: ENGINE_TYPE --> Current Value: LOC --> Save


28.png


Execute Integration Engine Configuration --> Change Configuration (F9) --> Ctrl+F1 --> New Entry (F5) --> Category: RUNTIME --> Parameters: IS_URL --> Current Value: dest://<Type H RFC Destination crated in SM59> --> Save


29.png


Execute Integration Engine Configuration --> Change Configuration (F9) --> Ctrl+F1 --> New Entry (F5) --> Category: RUNTIME --> Parameters: IS_URL --> Subparameter : Sender ID created in SXMSIF --> Current Value: dest://<Type G RFC Destination crated in SM59> --> Save


30.png


Execute T-Code SMICM --> Shift+1 or click on Services -->Configure permanent HTTP Service Port (this port number has to be used to configure target url in receiver soap channel)


Reference: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4c/5bdafa97817511e10000000a42189b/content.htm


31.png

32.png


Execute SICF T-Code in ECC system and execute.


33.png


Expand default_host --> sap --> xi and right click on engine_test (XI Test Handler) and select Test Service.


34.png


This will open "http://<ECC Host>:<ECC Port>/sap/xi/engine_test?sap-client=<ECC Client>" in the browser. It should ask for user credentials. Provide ECC credentials. You should get below response. If not, request basis team to fix this.


35.png


Testing:


Execute SPROXY T-Code in ECC system and navigate to outbound service interface --> Right Click --> Display Proxy --> Test (F8) --> Execute (F8) --> XML Editor (Ctrl+F2) --> Input Values


36.png


Execute (F8) --> Trigger Commit (if required).


37.png

38.png



Execute SXI_MONITOR T-Code in ECC system and verify if proxy is successfully sent to PI system.


42.png


39.png


Verify in PI Java Stack monitoring if message is received and is delivered to target ECC system.


40.png


Execute SXI_MONITORING T-Code in ECC system and verify if message is successfully received into it.


41.png

A Simple approach in Reading Excel File

$
0
0

 

            Hi folks! Working with Adapter-modules has always been challenging and great to use for typical business requirements dealing with Excel files. Excel files carry most of the financial data in current business landscapes. Being one among those who faced such challenge, here I would like to share one of my recent works on Adapter module that deals with Excel files.

 

This blog explains the way an adapter module can be designed in a simple way and this is unique in the manner that it is generic in nature converting .xls and .xlsx files into XML for SAP PI to process.

 

  Here we go!  All you need to do is, just follow the below steps.


1.     Create the Data Type for the excel sheet that you want to read.


dt.jpg

 

2.    Techie Buds, please follow the below link to know basics of creating an Adapter module in SAP PI. 

 

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa?overridelayout=true


3.          Add the below Jars to your module

    

           poi-3.9.jar

          poi-ooxml-3.9.jar

          xmlbeans-2.3.0.jar

4.    Add the below attached java code in your project


5.     Configure the Sender channel parameters as per your data structure.

cc.PNG


 

UDF : In my business scenario I created the below  UDF ,which maps the first occurrence of the field in XML (Cell Data) to Field 1 (Project Id) on the target side ,2nd occurrence(Cell Data[2]) to Field 2 (Project Engineer). This way all the data in the XML file will be mapped to the actual fields on the target side for further processing. Isn’t it a simple one?


mmping.PNG


Testing:

Let’s test a file of .xls and .xlsx by placing in the FTP server for PI to pick.

file1.PNG


ftpinp.PNG


Output XML file equivalent to EXCEL file read by the module , made available in Target FTP.

ftpout.PNG

XML File :

final.PNG


  How did this approach help me?

 

  • By using this module I converted my Actual Excel file to an intermediate XML file.
  • The XML file is just like any other XML that we use in File based scenarios.
  • Excel file based scenario is now turned to XML file based scenario using this scenario.
  • The Adapter module has become a reusable one, as most of the financial data will have similar format the same can be used.


PI.SFSF.DOC – SFSF OData Dynamic query “$filter" clause at runtime.

$
0
0


Document ObjectiveObjective of this document is to providing information about “How to Build SFSF OData query “filter Clause” dynamically at runtime using SAP PI synchronously?

 

 

PI Version

7.4 Single Stack.

Connectivity add on

1.0

Patch

Lastest sca file : PICOASUF and PIADAPTERS.sca

Entity Type:

OData

Entity Name:

SFOData.EmployeeTime

Operation Type

Query

Operation Query

dummy-tableName?$select=dummy-fieldNames &$filter=dummy-filterCondition.

 

Normally SFSF OData Sender and Receiver Communication channel supports a hard coded Query.


  1. e.g.

Operation Type: Query

Operation Query:  dummy-tableName?$select=dummy-fieldNames &$filter=dummy-filterCondition.

 

Now as you see in above query filter expression and condition is also included as part of actual written query in Communication Channel (hard-coded).

But our requirement is to build and add this filter expression and condition at runtime rather than doing as fixed/hardcoding.

 

This document provides an example of main steps required to build interface in SAP PI. This is further divided into following three steps:-

  1. 1. PI Enterprise Service Repository Configurations
  2. 2. PI Integration Directory Configurations
  3. 3. Unit Testing of Scenario.

 

 

Brief about Technical Scenario:

 

SAP HCM is sending Employee Numbers to SAP-PI. Based on this request message a dynamic where/filter clause will be formed in Message mapping then it will be appending with actual Query on runtime and will be sent to Successfactors.

 

 

Synchronous scenario flow would be as follows:-

 

  1. 1. Response Message will flow from SAP HCM to Successfactors
  2. 2. Response Message will flow from Successfactors to SAP HCM.

 

SAP HCM is SOAP – XI Proxy Sender Channel.

Successfactors is SFSF Receiver Channel.

 

Integration Scenario.PNG

Enterprise Service Repository:-

 

External Definition :


1.png



Request Message will  from SAP HCM to Successfactors

 

External Definition (This is delivered by SAP in their latest patch). I have attached external definition along with this document.

I have attached it in txt format. so before using it save it in xsd format and use it.



2.png



Note (Just for others information)

You can also create your own data type name, message type but name and its namespace should be fixed as defined by SAP.

 

Response Message flow from Successfactors to SAP HCM.

 

External Definition (This is generated from eclipse Juno - How to generate this xsd using Juno: Please follow my other blog).

URL to Blog:




3.png



Service Interface

 

Outbound Service Interface:

 

4.png

 

 

 

Inbound Service Interface:


5.png


Message Mapping and Operation Mapping

 

My is pass-through Scenario so no message and operation mapping required.



Integration Directory:-

 

1. Sender Communication channel.


6.png



2. Receiver Communication Channel.

 

Focus on Target Channel Arrow and Double Click.

Channel Properties will be Open.

Choose AdapterType as Successfactors

Message Protocol as SOAP ( Note : For OData choose OData Message Protocol).

Fill the neccessry information.

Eg. Address of SFSF DataCenter . In our case it is API5.

Company IDUserPassword( Ask above information from SFSF Configuration Expert ).


 

7.png

 

8.png

 

3. I-flow


9.png


http://help.sap.com/nw-connectivity-addon101?current=nw-connectivity-addon101

https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3139363438363826

https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3139363438363826

 

Important Note:


SAP recently released patch to support pulling complete data from Successfactors with an upper limit of 25MB.

It will be good for customers if they can download latest PICOASUF and PIADAPTERS.sca from the SMP and apply both to the PI system.

SAP Process Orchestration Makes System Technical Integration Transform into Business Integration (Including how PI integrate with BPM in PO)

$
0
0

Starting from SAP Process Orchestration, the new ONE Integration Solution came out. SAP Process Orchestration not only a composite system combine PI,BPM and BRM together, but also makes system technical integration transform into business integration from high level integration view. However it is not easy to understand this superior integration concept of SAP PO until you really implemented some complex integration scenario. In this article, I will present two scenario implementation with detail procedures as practice to let PI consultant adapt to PO consultant model and get the idea about how SAP PI integrate with SAP BPM in SAP PO from technical view.


https://scn.sap.com/docs/DOC-58723

Step by Step Dynamically choosing target folder using JAVA mapping with SFTP adapter.

$
0
0

Hello All,

 

Business Requirement: We had to route the file to different folder using company-code as routing condition available in the file name. Since there was no transformation required so it was basically a pass-through scenario. But since we had to fix the receiver directory during runtime we decided to use java mapping to set dynamic configuration Filename and Directory parameters. We have SFTP as sender and Reciver channels and we were using ICO for configuration.

 

Its basically a pass-through scenario with choosing the directory/Filename during Runtime.

 

So it gives an insight of three aspects:

  1. How to configure Pass-through scenario and still use Java Mapping.
  2. How  to put things together with ICO with SFTP adapter.
  3. How to work on java mapping using Eclipse Editor with new API's.

 

 

ESR Objects:

  • We need to create below mentioned objects
    • Sender Data Type (Dummy structure)
    • Sender Message Type
    • Sender Service Interface
    • Receiver Data Type(Dummy structure)
    • Receiver Message Type
    • Receiver Service Interface
  • Imported Archive

ImportedArchive.jpg

  • PFA Java Mapping Sample Code which can be edited as per requirement.(Step by Step explained in below section)

 

 

  • Operation Mapping.

operationMapping.jpg

Note: We need not worry about sender structure not matching the input File.

 

ID-ICO Configuration.

 

  • ICO Inbound Processing:

ICOInboundProcess.jpg

Note: We have to leave the SWCV of sender Interface blank otherwise we might get an error as Adapter engine expects the the file in sender Data Type.


  • ICO Receiver:

ICOReceiverDetermin.jpg

  • ICO Receiver Interfaces:

ICOInterfaceDetermine.jpg























 

 

  • ICO OutBound Processing

ICOOutboundProcess.jpg


  • ICO Sender Channel with Advanced module Parameter

SenderChannel.jpg

Note: We don't need to add anything in Module parameter for content conversion.Just need to leave with default entry.


  • ICO Receiver Channel with Advanced module Parameter

ReceiverChannel.jpg


Note: We don't need to add anything in Module parameter for content conversion.Just need to leave with default entry.


Java Mapping Using Eclipse Editor.


  • Step 1

Step1NewProject.jpg

  • Step 2

Step2NewProjectName.jpg

  • Step 3: Right Click on Project-> Properties -> Java Build Path -> Add External Jars.

Step3AddExternalJars.jpg

  • Step 4

Step4AddNewClass.jpg



  • Step 5

Step5NewClass.jpg


  • Step 6: Now paste the code provide and edit as per your requirement.


  • Step 7: Right Click on Package you are working --> Export


  • Step 8:

Step7JarCreation.jpg


  • Step 9:

Step9JarCreation.jpg

 

 

  • Just Press on Finish and import it through Imported Archive as mentioned above.

 

 

I  know this might not be a difficult one but now this gives us lot of flexibility with other scenarios.

  • PGP Encryption:Supposedly if we want encryption we can add pgp module parameters and do encryption in the receiver channel.
  • Complex Dynamic Filename configuration.

 

Hope this solves few problems.

 

Please share if it requires any changes.

 

thanks and regards

Praveen Tirumareddy.

 

 







Process Integration - Previously Featured

$
0
0
Previously featured

Meet SAP at “I love API 2014” Conference Sep 8 – 10 in San Francisco

I  Love APIs 2014 is the conference for business and technology leaders driving digital acceleration with big data and APIs hosted by Apigee. This year SAP has strong presence at the event following the recent strategic partnership announcement  made between SAP and Apigee at end of July. August 2014

http://scn.sap.com/profile-image-display.jspa?imageID=36535&size=72OData Adapter and SFSF Adapter (extensions) for SAP Process Integration

SP1 of the SAP Process Integration, connectivity add-on 1.0 has just been released. This release consists of an OData Adapter and extensions to the existing SFSF Adapter. Find out more in this blog by Finny Babu and reach out to him with any questions. July 2014

http://scn.sap.com/profile-image-display.jspa?imageID=33801&size=72 SAP HANA Cloud Integration Info Day Tour starting in Walldorf, Germany on July 30th

SAP HANA Cloud Integration (HCI) is SAP’s strategic integration platform to integrate SAP Cloud applications with other systems, SAP and non-SAP, on premise or on the cloud. The new SAP HANA Cloud Integration editions: Standard and Professional allow organizations to leverage SAP HCI in arbitrary (i.e. any system to any system) integration scenarios. Join us in Walldorf on July 30th for a free info day to learn more and try HANA Cloud Integration hands-on! Follow Udo Paltzer to find out about other locations coming soon. July 2014

2014 Global SAP Process Integration Survey

The yearly PI survey is open until August 19th and the 2014 special topics are BPM and Process Orchestration. The survey aims to collect information about the latest state of positioning, organization and use in companies using SAP PI or SAP Process Orchestration as an integration platform. You will find all details and survey access link in Holger Himmelmann’s blog. Participate and help beat the 2013 response record! July 2014

Get your free seat for the Intelligent Business Operations #IBO Tech Academy in the UK on 25/7

With this blog Tony Read invites you to join SAP and CompriseIT for a hands-on workshop on Intelligent Business Operations covering SAP Process Orchestration and SAP Operational Process Intelligence on HANA. The workshop is free for all SAP customers and prospects. Next opportunity in the UK is on 25/7. Seats are limited so mail Tony to book your seat today. June 2014

http://scn.sap.com/profile-image-display.jspa?imageID=32385&size=72HANA Cloud Integration: Webinar Series

In this blog Meghna Shishodiya announces a new HANA Cloud Integration (HCI) webinar series starting on May 29 with an overview, architecture and security aspects. Bookmark the blog for upcoming dates and join us to learn everything you wanted to know about hci and get your questions answered. May 2014

http://scn.sap.com/profile-image-display.jspa?imageID=9293&size=72 2014 Webcast Series: Tap into business agility with SAP Middleware solutions

These informative public webcasts will showcase the advantages of SAP Middleware offerings that build on the trusted SAP NetWeaver technologies and leverage SAP HANA and the cloud. Grab your seat for the 1st webcast on April 30 for a talk on Intelligent Business Operations: Infuse Big Data insights into your processes in real-time. April 2014

SAP HANA Cloud Integration (HCI) Roadmap Webinar - 3 July

How much do you know about SAP HCI? How it is leveraged for integration of SAP Cloud solutions, such as Cloud for Customers, SuccessFactors, Ariba etc. Join us for a roadmap session to learn the latest innovations and planning for HCI and get your questions answered. June 2014

SAP Process Orchestration Roadmap webinar - recording is now available!http://scn.sap.com/profile-image-display.jspa?imageID=9293&size=72

The webinar covers the latest innovations and planning for SAP Process Orchestration. You will also learn how Process Orchestration customers can benefit by enabling intelligent business operations ibo on the SAP HANA platform and how to take advantage of other Middleware offerings such as SAP Gateway and SAP HANA Cloud Integration hci. June 2014

12/6 - global webcast on Intelligent Business Operations: Infuse bigdata insights into your business processes in realtime

This webcast will showcase real-life examples of how to work smarter by infusing #BigData insights into your processes, how to take corrective actions when or even before issues occur, anticipate what will happen using predictive analytics, gain real-time visibility into your end-to-end operations. Register for the live event on 12/6 and/ or to get the slides and replay. June 2014

Middleware Tech Academies at Saphila 2014 - 9&10 Junehttp://scn.sap.com/profile-image-display.jspa?imageID=9293&size=72

If you plan to attend the conference do not miss the Intelligent Business Operations ibo hands-on workshops. On both 9 & 10 June you have the opportunity to learn more about the SAP IBO technology bundle and try the software. June 2014

http://scn.sap.com/profile-image-display.jspa?imageID=25498&size=72SP11 of SAP Process Orchestration 7.31 is now available in Public Cloud!

If you are using the SAP Process Orchestration trial offering on AWS, check this blog by Abhinag Palvadi. You can now access an instance with the latest available version - SP11 equivalent to SP6 of SAP Process Orchestration 7.4. May 2014

2014 Global SAP Process Integration Survey

The yearly PI survey is now open and the 2014 special topics are BPM and Process Orchestration. The survey aims to collect information about the latest state of positioning, organization and use in companies using SAP PI or SAP Process Orchestration as an integration platform. You will find all details and survey access link in Holger Himmelmann’s blog. Participate and help beat the 2013 response record! May 2014

May 27th - join us for an SAP Process Orchestration Roadmap Webinar!http://scn.sap.com/profile-image-display.jspa?imageID=9293&size=72

The webinar will be delivered by SAP Product Management and will cover the latest innovations and planning for SAP Process Orchestration. You will also learn how Process Orchestration customers can benefit by enabling intelligent business operations ibo on the SAP HANA platform and how to take advantage of other Middleware offerings such as SAP Gateway and SAP HANA Cloud Integration hci. May 2014

SP3 of B2B Add-On and Secure Connectivity Add-On Released!

In this blog Piyush Gakhar introduces all new features and improvements with the SP3 release, like secure PGP key storage, multiple directory support for SFTP adapter, SLA alerts, enhanced AS2 support, EDI content manager and more. April 2014

http://scn.sap.com/profile-image-display.jspa?imageID=29670&size=72New roadmap for SAP Process Orchestration is now available

In this blog Christian Loos announces that the former individual PI and BPM product roadmaps have been combined into one single Process Orchestration roadmap. Review all planned innovations and stay tuned for the upcoming roadmap webcast. April 2014

http://scn.sap.com/profile-image-display.jspa?imageID=36535&size=72SuccessFactors (SFSF) Adapter for SAP NetWeaver Process Integration

In this blog Finny Babu introduces the new “SFSF Adapter” released by SAP in February 2014. This adapter is now available as part of the release independent SAP NetWeaver Process Integration, connectivity add-on 1.0. Mar 2014

SAP Middleware newsletter – the newest addition to the SCN newsletters family!

Free monthly insight into all innovations in ALM, Software Logistics, Software Defined Data Center solutions, Virtualization & Cloud Management, Architecture, Process Orchestration, Decision Service Management,Operational Process Intelligence, SAP HANA Cloud Integration, Big Process and Big Data and powerful technology bundles like Intelligent Business Operations powered by SAP HANA. Mar 2014

http://scn.sap.com/profile-image-display.jspa?imageID=33801&size=72Survey: usage of cloud based business scenarios and their integration

Your opinion counts! With this blog Udo Paltzer invites you to invest 5-10 mins of your time to support a scientific study carried out by Itelligence AG, SAP and the University of Paderborn. Take the short survey to help us understand your requirements, knowledge, acceptance, complexity and safety concerns around using "services from the cloud". Mar 2014

Explained: the new B2B Trading Partner Management functionality

In this blog Shilpa Nair and Sarath Sasi provide a summary and links to all recent content on the new Trading Partner Management functionality shipped with SP2 of the SAP Process Orchestration B2B Add-on. Feb 2014

http://scn.sap.com/profile-image-display.jspa?imageID=3583&size=72 Improved monitoring of B2B scenarios running on SAP NetWeaver Process Orchestration - Part 1, Part 2 and Part 3

In this blog series, Alexander Bundschuh focuses on the new improvements which help enhance monitoring and tracking of your B2B business transactions and how SAP customers using the B2B add-on with SAP NetWeaver Process Integration & Orchestration may benefit from the latest enhancements shipped with SP02 of the B2B add-on. Also read about the new central monitor with SAP Solution Manager 1.0 SP10, the so called Message Flow Monitoring, which provides you with an end-to-end insight into the correct closure of A2A and B2B conversations. Feb 2014

http://scn.sap.com/profile-image-display.jspa?imageID=31689&size=72Your SAP PI 7.31 Demo System on Amazon Web Services

In this blog Arman Eker shares his “awesome experience” with the free Process Orchestration developer trial system which he used to learn how to build PI 7.31 on a single stack and to prepare a PI video course with over 3 hours of PI 7.31 content. Here is his Post configuration steps blog. Check it out and set up your own system - it’s easy and it’s fun! Feb 2014

IFG Survey: Central PI Monitoring with SAP Solution Manager

Monitoring is a key challenge according to the global 2013 PI survey. To gain a better understanding of the situation and requirements, the IFG for PI and SAP have launched a follow-up survey with focus on central PI monitoring with SAP Solution Manager. Read all details in Holger Himmelmann’s blog and participate. Jan 2014

SAP Orchestration and Integration Solutions: TechEd 2013 Replays

Missed TechEd? In this blog Gabriela Gahse highlights the available replays from TechEd Las Vegas 2013 and invites you to check the latest and greatest on B2B with Process Orchestration and HANA Cloud Integration hci , SAP Operational Process Intelligence opint, as well as Business Rules and Decision Service Management dsm with SAP. Jan 2014

Released: SAP NetWeaver Process Orchestration B2B Add-On SP2

In this blog Piyush Gakhar highlights the main enhancements with the latest SP like Trading Partner Management, new Messages Support for Tradacoms and EANCOM. Read this blog for a full overview of all new EDI and B2B features and enhancements. Dec 2013

http://scn.sap.com/profile-image-display.jspa?imageID=33801&size=72

Roadmap for SAP HANA Cloud Integration

In this presentation Udo Paltzer provides an overview of the current capabilities and uses cases, as well as the roadmap for SAP HANA Cloud Integration (HCI). Do not miss the HCI library on SCN where you can find everything about hci in one place. Dec 2013

http://scn.sap.com/profile-image-display.jspa?imageID=9293&size=72What's new in Process Orchestration 7.31 SP09 | 7.4 SP04

Key enhancements with SP09 are SAP NetWeaver Process Orchestration on HANA, co-deployment of SAP NetWeaver Process Orchestration and SAP OPInt opint  on the same HANA system and ValueHelp API. This blog by Mariana Mihaylova highlights all enhancements for customers running Business Process Management, Process Integration and Orchestration scenarios. Dec 2013

http://scn.sap.com/profile-image-display.jspa?imageID=3583&size=72SAP NetWeaver Process Orchestration @ SAP TechEd Bangalore 2013

If you are lucky to be in Bangalore this week, this blog by Alexander Bundschuh may help you to build your Integration and Orchestration agenda. Join our experts to find the latest and greatest about BPM | PI | Process Orchestration, SAP HANA Cloud Integration, Business Rules, B2B and SAP Operational Process Intelligence powered by SAP HANA. Dec 2013

Results: Global SAP NetWeaver PI Survey 2013 - Part 1 of 2 and Part 2 of 2

These two blogs by Holger Himmelmann reveal the results of the 2013 global SAP NetWeaver PI survey. Thanks to everyone who participated and shared their feedback! Nov 2013

http://scn.sap.com/profile-image-display.jspa?imageID=3091&size=72Integration: Extracts from TechEd LV 2013

Process Orchestration, HANA Cloud Integration, OData and more. Read the summary and key takeaways of SAP Mentor Shabarish Vijayakumar from the integration arena at this year’s teched_las_vegas. Nov 2013

http://scn.sap.com/profile-image-display.jspa?imageID=33801&size=72SAP HANA Cloud Integration – Early Customer and Partner Project

In this blog Udo Paltzer shares details about the opportunity to get hands-on experience with SAP HANA Cloud Integration. Join the program and become one of the early adopters! Nov 2013
http://scn.sap.com/profile-image-display.jspa?imageID=32385&size=72

SAP HANA Cloud Integration (HCI): Getting Started

The first set of projects are underway in the HCI space, and now is a good time to get a closer look at the HCI world. Review this blog by Meghna Shishodiya and also the SAP HANA Cloud Integration: An Intro by Sujit Hemachandran. Nov 2013

http://scn.sap.com/profile-image-display.jspa?imageID=3583&size=72SAP NetWeaver Process Orchestration @ SAP TechEd 2013

teched_amsterdam is in full swing now! Find out from Alexander Bundschuh which sessions are a must see in the areas of SAP NetWeaver BPM | PI | Process Orchestration, SAP HANA Cloud Integration, Business Rules, B2B and SAP Operational Process Intelligence powered by SAP HANA. Nov 2013

http://scn.sap.com/people/agasthuri.doss/avatar/46.png?a=26747Protocol Decision Tree Between SAP ECC and SAP Process Orchestration

In this blog, Agasthuri Doss introduces a decision tree to select the appropriate integration method between ECC and SAP Process Orchestration environments and between SAP Process Integration and client business systems.

http://scn.sap.com/profile-image-display.jspa?imageID=29670&size=72What's new in SAP Process Orchestration 7.31 SP8/7.4 SP3 + Video

In this blog Christian Loos shares all new enhancements for customers running Business Process Management, Process Integration and Orchestration scenarios. He has highlighted the most important new features in a short video.

Webcast: SP1 of B2B Add-on with SAP NetWeaver Process Orchestration> Overview and Roadmap

This session is part of the ramp-up knowledge transfer program and will be presented by Piyush Gakhar from SAP Product Management. Read this blog for details and join us on Sep 30 or Oct 1!

http://scn.sap.com/profile-image-display.jspa?imageID=25498&size=72Step by Step guide to update Advanced Adapter Engine System to Process Orchestration System

Upgrade of AEX to Process Orchestration System is supported from 7.31 SP0 onwards. In this article Abhinag Palvadi explains in detail the steps of the upgrade.

SAP NetWeaver Process Orchestration – the best is yet to come!

In this blog Volker Stiehl explains why you should opt in for Process Orchestration as your single Middleware platform from SAP. Also check in detail What is new in SP7 of SAP NetWeaver Process Orchestration 7.31 and see all new and continuous investments that make SAP’s Middleware platform best in class.

Global SAPNetWeaver PI Survey 2013: new record and 4 weeks to go!

The survey will be closed on August 24th. Read more in Holger Himmelmann’s latest blog and do not miss to share your feedback. Thanks to everyone who already participated.

How AmerisourceBergen uses SAP’s Process Orchestration technologies

In this blog Eduardo Chiocconi is sharing key takeaways from SAPPHIRE NOW 2013 and highlighting a great customer story. Watch the full session replay to learn how AmerisourceBergen,one of the world's largest pharmaceutical services companies is transforming their business with SAP NetWeaver Process Orchestration technologies.

SAP NetWeaver Process Orchestration Webcast Series 2013

Join us for a 5 webcast series to hear latest news about Process Management software from SAP: SAP NetWeaver Process Orchestration including B2B, SAP Operational Process Intelligence and SAP NetWeaver Decision Service Management. Please share with anyone who may be interested. We look forward to meeting you there.

Global Survey for SAP NetWeaver Process Integration 2013

The 2013 PI survey is now on and the focus this year is, not surprisingly, B2B and EDI. More details and survey access link in Holger Himmelmann’s blog. We look forward to your participation.

Try SAP NetWeaver Process Orchestration in Public Cloud!

SAP is now giving you a free license to try SAP NetWeaver Process Orchestration in the cloud. Read this blog to see how you can get started.

Simple use-cases with SAP NetWeaver Process Orchestration B2B Add-on

Check these new articles by Vikas Singh Rajpurohit providing use-cases and configuration options of OFTP; SFTP and PGP; AS2 and EDI Separator; Modules and X400 adapter available with the SAP B2B Add-on.

* What is new in SP6 of SAP NetWeaver Process Orchestration 7.31

Find out about the multiple new features and enhancements for Business Process Management, Process Integration and Orchestration scenarios. See how integration between SAP NetWeaver PI and BPM has been tightened further.

* Generate a Migration Report to estimate the migration effort from PI dual-stack to AEX

Migration from PI dual-stack to single-stack (Java-only) can be a daunting task. In this article William Li presents a java client program (read only) to be used to browse through all the configurations in the Integration Directory and produce a report helpful for the preliminary assessment of the migration task in your landscape.

* cbs PI MeMo App for MobiIe Message Monitoring

In this article Denny Schreber introduces a PI MeMo app for iPhone – an easy to use tool for monitoring SAP NetWeaver PI messages anytime and everywhere. The app is freely available in the Apple App Store.

* Released: SP1 of B2B Add-on and SFTP PGP with SAP NetWeaver Process Orchestration

In this blog Piyush Gakhar introduces SP1 of the B2B Add-on and Secure connectivity Add-on which bring variety of new features and enhancements.

* Upgrade options to the latest Process Integration or Process Orchestration

In this blog William Li provides guidance on licensing, installation and upgrade for customers who are looking to move on to a higher release of PI or to Process Orchestration.

* IFG for PI: Subscription process for new PI Features in SAP Customer Connection Program

In this blog Holger Himmelmannexplains about the participation of IFG for PI in the SAP Customer Connection Program and how you can contribute.

* Client Certificate based authentication while using ABAP Web Service for communication between ERP and SAP NET Weaver PI and The Myth of a Load Balancer - PI/Web Service Scenario

* Try SAP NetWeaver Process Orchestration in Public Cloud!

Our customers and prospects can now try SAP NetWeaver Process Orchestration and gain confidence in the solution before buying it. Read this blog to see how you can get started.

* Near Zero Downtime Management for SAP Netweaver Process Integration (nZDM/PI) available on Service Marketplace

* How to Load keys and certificates in SAP PI 7.3, SAP PO 7.3 EHP1 NWA's Key Storage

* Dynamic filename in mail receiver adapter made easier

* TechEd 2012: Process Orchestration session replays!

* SAP NetWeaver Process Orchestration technology in Healthcare

SAP NetWeaver PI brings tremendous value to Healthcare providers with the Health Level Seven (HL7) adapter. Read Bettina Lieske’s blog to find out how Haga Hospital connected more than 300 SAP and non-SAP apps benefitting patients, doctors and management.

* Consolidated view on release notes for Process Integration and Orchestration

Do you consider moving from a dual-stack installation towards Java-only to benefit from the latest improvements with SAP NetWeaver Process Orchestration?Alexander Bundschuh’s blog is a must read guide if you are looking for feature comparison, understanding on which installation option would match your requirements and what target release you should go for.
In this blog Katrin Ahsen explains the positioning of the B2B add-on and the new RDS for EDI with SAP NetWeaver Process Orchestration. Learn what are the benefits for new Customers and options for SAP Partners.
*SAP NetWeaver Process Orchestration SAPPHIRE NOW+TechEd Madrid 2012:
quick guides on sessions with PI focus by Alexander Bundschuh and on BPM focus by Benjamin Notheis. Build your PMC track agenda from here!

*SAP NetWeaver Process Orchestration PI | B2B | BPM | BRM on SCN - October

A newsletter-blog by Mariana Mihaylova with all highlights in the Process Orchestration area in October.

*SAP TechEd 2012 Sessions covering Process Orchestration with focus on Process Integration

Here is your Process Orchestration/Process Integration quick guide by SAP’s Alexander Bundschuh. Hurry up and build your playlist with the online broadcast schedule!

* Results: 1) 2012 Global PI Survey  2) PI Requirements Prioritization

In the first blog Holger Himmelmann summarizes the results of the 2012 global SAP NetWeaver PI survey. The second one reveals the results of the last PI requirements prioritization round with IFG for PI (formerly GSIG for PI).

* SAP’s B2B Integration Strategy

SAP has a 360 degree solution approach covering all aspects of the B2B integration needs of your organization: OnPremise, OnDemand and Hybrid. In his blog Piyush Gakhar introduces SAP’s Strategy for B2B Integration. Covering all available B2B solutions from SAP, this paper helps you determine when is best to use what.

* New SAP NetWeaver Process Orchestration RDS for EDI available now!

Migrate easily and cost efficiently from your legacy B2B integration solution to SAP NetWeaver Process Orchestration using the new Electronic Data Interchange rapid deployment solution. Read more in Katrin Ahsen’s blog.

* Getting Started with SAP NetWeaver Process Orchestration

A crisp SAP NetWeaver Process Orchestration overview by Piyush Gakhar including licensing and deployment options for new/existing customers. Feel free to reach out to him if any questions.

* IWAY adapters bundled within Process Integration / Orchestration

This blog by Piyush Gakhar contains useful details on which IWAY adapters are built-in the Process Integration/Orchestration license and where to find more information.

2012 Global SAP NetWeaver PI Survey

We welcome you to participate in the global PI survey for 2012. Read Holger Himmelman’s blog and feel free to post questions or feedback.
Register and join us for a series of webinars in July covering new capabilities of SAP NetWeaver PI, BPM and BRM, the road ahead and B2B!
SAP NetWeaver Process Orchestration 7.3 EhP1 is already generally available. In this blog  Meghna Shishodiya provides a useful summary of ramp-up feedback from our certified ramp-up coaches who worked closely with our customers during ramp-up.
Our teams worked around the clock and the unrestricted shipment was approved 2 weeks before the planned date. Read William Li’s blog to find out about all the new features and benefits available as of now to all our customers.
The long awaited article! In this blog William Li shares useful insights about using SAP NetWeaver BPM to replace ccBPM with PI. You will find a link to the article in the blog. Enjoy!
A blog about SAPPHIRE Now takeaways and more by SAP Mentor Prateek Raj Srivastava
Check out the two ‘simple guides’ by SAP Mentor Shabarish Vijayakumar.
GSIG for PI invites you to take part in the prioritization survey for functional requirements and enhancements for SAP NetWeaver PI. Read all details in Holger Himmelmann’s blog.
Join the hands-on workshop in Bangalore on May 21-24, 2012! Contact Piyush Gakhar for registration.
Installation and Deployment of SAP NetWeaver B2B Add-On with SAP NetWeaver PI 7.11+ Since March 2012, the B2B Add-On for Process Orchestration is available to our customers. In this blog William Li focuses on the installation and deployment of the Add-On with SAP NetWeaver PI 7.11+.
In this guide Piyush Gakhar provides a detailed overview of the two new add-on solutions for SAP NetWeaver Process Orchestration - Secure Connectivity and Business to Business add-on.
Both SAP NetWeaver Gateway and SAP NetWeaver Process Integration can provision RESTful services to SAP backend applications. Should your organization consider one or both? How can you evaluate each product and determine which is right for your landscape? In this article William Li is addressing all these questions.
In this very informative blog, Alexander Bundschuh describes in details the various installation options for customers running Process Integration and Orchestration use cases.
Advantco’s REST adapter for SAP NetWeaver PI announced in November 2011 has been already certified by SAP. William Li had the opportunity to also review and test Advantco's REST adapter and he’s sharing his findings in this blog.
Since the availability of AEX with SAP NetWeaver PI 7.3, many questions have been raised around migration of integration scenarios from PI 7.1 to AEX and if there are any tools to assist in the process. In this blog William Li provides answers and also features and functions comparison in the associated article.
Do you require a minimized downtime for the software maintenance of your PI systems? Are maintenance downtimes critical for your business? If so, then we have good news for you. Read details in this blog and contact Udo Paltzer if you are interested to join the near Zero Downtime Maintenance program.
SAP plans to release this supplementary component of SAP NetWeaver Process Orchestration (PI/ BPM/ BRM) at the beginning of Q2 this year. In this blog Katrin Ahsen provides an overview of the functional scope, technical architecture, and supported releases.

Featured Content in Process Integration (PI) & SOA Middleware

$
0
0

Build your SAP TechEd && d-code agenda!

Have you already finalized your agenda for TechEd && d-code Las Vegas? The event in Las Vegas is now just one week ahead. Don’t miss the integration sessions @ TechEd && d-code in Las Vegas, October 20-24. Take the advantage to meet the integration experts in person and receive the newest highlights of our on-premise and also cloud-based integration platform. Learn in demo rich lectures and hands-on trainings how SAP integration technologies, like SAP HANA Cloud Integration and SAP Process Orchestration are being used for the integration of SAP's cloud pillars. Get insights into the current solutions and road maps and get a preview on prepackaged content for jump-starting your integration projects. Get on overview on relevant SAP Middleware-related sessions with the blog by Smadar Ludomirski and read the blog by Gunther Stuhec to know all important sessions to understand the new tool of the Integration Advisor and see how it will work in real. Oct 2014

Results of Global Process Integration Survey 2014

The blog by Holger Himmelmann reveals the results of the 2014 global SAP PI survey. Thanks to everyone who participated and shared their feedback!
See also the central blog International Focus Group for SAP Process Integration (IFG for SAP PI) that gives you the background of the first initiative of SAP user groups around the globe in the area of SAP PI. Oct 2014

http://scn.sap.com/profile-image-display.jspa?imageID=51093&size=72Reduce your integration efforts with the new solution "Integration Advisor"

The Integration Advisor is a new cloud based solution running on SAP HANA Cloud Integration (HCI) starting with its beta program in January 2015. This tool will tremendously improve and simplify the entire B2B integration project by bringing the different integration phases of business domain experts and integration experts together and by using crowd sourcing based intelligence. Read Gunther Stuhec's article to understand the new solution and have a look on his blog describing his believe how tomorrow's simplified environment for B2B integration will look like. Oct 2014

How to use Global Variable in SAP PI Mapping

$
0
0

What is Global Variable?

The variable which is accessible to whole program i.e. having global scope throughout a program is called as Global Variable. Here in PI we are actually referencing a definition w.r.t to JAVA as the base of our SAP PI graphical mapping is JAVA only.


What is the need of Global Variables in SAP PI mapping?

There are the cases where we need to pass\share some information or values in PI mapping among all the UDFs. Suppose for e.g. we have multiple UDFs in one graphical mapping which executes in one sequence. One UDF sets some parameters or variables based on any conditions that will be used by another UDF for sending alerts or for some internal validation in PI. These kinds of requirements can be solved by using Global Variables whose scope will be throughout the mapping or all mappings (the Information of deciding scope will be shared below)

How to define GLOBAL VARIABLE in Sap PI Mapping?

There are two ways to define a global variable in SAP PI Mapping.

 

Method 1: In the Mapping itself (as shown in below screenshot)

We have one ICON in the Message Mapping (Edit Java Sections) which allows us to declare Global Variables which are having scope to the same message mapping in which it is defined. All the UDFs which are created in that mapping can use those variables.

1.png

Now when you click on the ICON 3.png you will be getting a window where you can declare global variables and can initialize with a default value (as shown below)

 

2.png

 

Three variables are defined and are initialized as you see in the screenshot. Now these variuables can be used in UDFs.

Set it in one UDF like 2..pngand use it in aother as  4.png

 

 

 

Method 2:

 

 

In second options we will be creating a JAVA Mapping which will be imported in SWCV as Imported Archives and this allows us to use a Global Variable throughout all the mappings defined in the SWCV. So in this case the scope of our variable is increased to mappings not limited to UDFs.

 

 

The only thing we need to take care of that we need to initialize the global variables everytime when you are using it in UDF otherwise it will read the old values set by any other mapping or UDF. Also you need to import class name in import section of UDF and use variable as <ClassName>.<VariableName>

 

 

The Code is:

5.png

 

 

 

In Imported Achieves it will be like:

6.png

 

In Import Section of UDF, import your class like 7.png

 

In UDF set variable like this: 8.png

 

and use it like this  9.png

PI.SFSF Integration.DOC – Successfactors communication channel supports UDF based Lookups. [SFSF Lookup]

$
0
0

Document Objective: Objective of this document is to providing information about that “SFSF SOAP Channel supports for UDF based Lookups”.

 

This document provides an example on implementation of SFSF lookup UDF in PI Enterprise Service Repository.

 

 

Connectivity add on1.0
PatchLastest sca files :PICOASUF and PIADAPTERS.sca
Entity Type:SOAP
Entity Name:User
Operation TypeQuery
LookUp QuerySelect id from User where externalId in (<dynamicValues>)

 

 

 

Brief about Technical Scenario:

For each person_id_external Lookup Query will bring back the id from SFSF User Entity.

E.g. Input <external-Id > 346 and Output < id > would be USR-22.

 

 

Step I. Include following packages.

2.PNG

 

 

Step II. add UDF with following paramters.

3.png

 

Step III. UDF Code.

 

AbstractTrace trace = container.getTrace();

String Var_Username ="";

for (int inlen = 0; inlen < Var_ExternalID.length; inlen++)

{

Var_Username = Var_Username+","+"'"+Var_ExternalID[inlen]+"'";

}

Var_Username = Var_Username.substring(1,Var_Username.length());

 

try

  {

Payload SOAPOutPayload = null;

String SysName ="";

String BuisnessSysName ="";

BuisnessSysName = "SUCCESS_FACTORS_DEV";

Channel channel = LookupService.getChannel( BuisnessSysName,"Common_SF_SFAPI_Receiver");

SystemAccessor accessor = LookupService.getSystemAccessor(channel);

String SOAPxml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:query
xmlns:ns0=\"urn:sfobject.sfapi.successfactors.com\"><ns0:queryString>Select id,externalId from User where externalId in ( "+Var_Username+")</ns0:queryString></ns0:query>";

 

InputStream inputStream =new ByteArrayInputStream(SOAPxml.getBytes());

XmlPayload payload = LookupService.getXmlPayload(inputStream);

SOAPOutPayload = accessor.call(payload);

InputStream inp = SOAPOutPayload.getContent();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse(inp);

document.getDocumentElement().normalize();

NodeList list = document.getElementsByTagName("id");

NodeList Elist = document.getElementsByTagName("externalId");

for (int temp =0; temp < list.getLength(); temp++)

{

Node node = list.item(temp);

Node Enode = Elist.item(temp);

if (node != null)

{

node = node.getFirstChild();

Enode = Enode.getFirstChild();

if (node != null)

{

result.addValue(node.getNodeValue()+"||"+Enode.getNodeValue());

}

}

}

}

catch (Exception e)

{

trace.addWarning("Error" + e);

  result.addValue(e);

}

 

Step IV: Communication Channel.

9.png

 

Step V : Testing and UDF Execution

4.PNG

5.PNG

6.png

Request Message to Successfactors

7.png

Response back from Successfactors

 

8.png

 

Please do write back your comments and Queries. 

PI.SFSF Integration.DOC - How to Model Successfactors SOAP and ODATA Entities using Eclipse Juno Tool.

$
0
0

Document Objective

 

Objective of this document is to providing information about “How to Model SFSF SOAP and ODATA Entities using Eclipse Juno Tool”.

 

Modelling consist mainly two activities:-

1. Generating automated XSDs for Entities

2. Generate Queries/Resource Path for data extractions.

 

Eclipse Version: Juno

SFSF BizX Entity Used for Demo : CompoundEmployee

 

This document provides an example of all the steps required in Juno. This is divided into following three steps :-

1. Installation of Juno.

2. Configuration of Juno.

3. Implementation of scenario in Juno.

 

Step I. Juno Installation. : - Install Juno from Below URL

 

http://www.eclipse.org/downloads/packages/release/juno/sr2

http://www.eclipse.org/downloads/packages/eclipse-classic-422/junosr2

Juno0.1.PNG

 

Step II. Juno Configuration.

 

Run Eclipse.exe.

Once Eclipse Juno is installed, Open Eclipse Juno.

Then Choose Help  and Install New Software.

Juno0.2.png

 

Choose Add.

Juno0.3.PNG

 

 

In the Add Repository window, specify the relevant details according to the description given in the table below.

URL: https://tools.hana.ondemand.com/juno

Juno0.4.PNG

 

Choose OK.

A list of plug-ins available for installation are populated in the table below.

Select SAP HANA Cloud Integration Tools and choose Next.

Juno0.5.PNG

 

Accept the license agreement and choose Finish. Eclipse SDK prompts for a restart.

Choose OK in the Software Updates window.

 

Step III. Configuration of Eclipse Juno : - Modelling:


1. Auto XSD Generation for Mapping - The SFQL when modeled using the operations modeler generates an XSD file which can be used mapping purposes.

2. Auto Query/Resource Path genaretion for Communication Channel. - It generated SFQL which can be further used in SFSF Communication Channel.

 

 

 

Creating a New Integration Flow and Project. Choose Integration Flow. Commonly known as "IFlows".

  Juno1.PNG

Juno2.PNG

 

Dummy IFlow will be created.

Juno3.png

 

 

Focus on Target Channel Arrow and Double Click.

Juno4.PNG

 

Channel Properties will be Open.

Choose AdapterType as Successfactors

Message Protocol as SOAP ( Note : For OData choose OData Message Protocol).

Juno5.PNG

 

Fill the neccessry information.

Eg. Address of SFSF DataCenter . In our case it is API5.

Company ID

User

Password

( Ask above information from SFSF Configuration Expert ).

Juno6.PNG

 

Juno7.PNG

 

From a big list of entities , Choose relevent entity to your interface.

Juno8.PNG

 

In our case It is CompoundEmployee.

Juno9.PNG

 

Select Field/tags to be partt of SFQL and XSD.

Based on your selection a XSD and query will be generated.

Juno10.PNG

 

Juno11.PNG

 

Juno12.PNG

 

Juno13.PNG

Below is the UseCase of genearted SFQL and XSD :-

 

SFQL

 

Juno15.png

 

XSD :

 

Juno16.png

 

 

Refer below SAP URLs for more information :-

 


Installation and
  Configuration Juno


http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/a5/940acc528043ccb90d9267e8e13f1e/frameset.htm


Creating a New Integration Flow and Project


http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/25/86a07e53614dbe9ac26c15f7702639/content.htm


Modelling


http://help.sap.com/saphelp_nw-connectivity-addon100/helpdata/en/89/8362021924433d8d7f2f231c436ee5/content.htm

Viewing all 571 articles
Browse latest View live


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