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: 
GauravKant
Contributor

Summery:

One of the popular requirement in SDN is to download csv data from web page. For this purpose, i have written code(UDF) to download csv content from web page to SAP.

Introduction:

This blog will give you clear view how to write java code(UDF) in PI.

At sender side Customer team is updating file in their web page then PI will pick the data and send to ECC.

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

Pre-Requisites:

Basic knowledge of PI/PO, Java etc…

Create the one more RFC Destination to connect to ECC to PI and viceversa. And specify the below details

  • Connection type: G
  • Target Host: SAP PI host
  • Service No  : SAP PI Service No
  • Path perfix : /sap/xi/adapter_plain?namespace=XXXXXXXXX&interface=XXXX&service=XXXX&qos=EO


IR Steps:

  • Create DT, MT, and SI  for the String field (having Data here).
  • Create MM and create new UDF as per the below code.

Code:

public void getDataFromCNB(String var, ResultList result, Container container) throws StreamTransformationException

{

AbstractTrace trace = container.getTrace();

String var1 = null;

try

      URL url = new URL("http://www.abc.com/xyz.txt");

     URLConnection uc = url.openConnection();

     BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));

     String line = null;

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

{

result.addValue(var1);

                                   

}

in.close();

}       

catch(Exception e)

{

trace.addInfo(e.getMessage());

}

}

          Map the UDF to a data String field.


Mapping details given below in screenshot(Just for reference purpose).


  • Create Operation mapping.

Save and activate IR part.

ID:

Go to ID part and create the Scenario name and create the sender agreement, Receiver Agreement, Receiver Determination and Interface Determination and both the channels.

Store the data in local folder and then Use file adapter to process the same as per your requirement to ECC.

Go to change list and activate all the ID objects.

4 Comments
Labels in this area