SAP & Oracle partner and support companies

Loading

SAP

SAP PO for Beginners Part – 17 – Checklist and Measures to be taken for SAP PO Support Package Upgrade

This blog will assist you in understanding what a support package and patch level mean in the SAP PO environment, along with the checklist and Measures to be taken for SAP PO Support Package Upgrade It covers the key steps required post-upgrade to ensure smooth operation and minimal disruption.

So, below is the content we will elaborate on in this tutorial, including the checklist and measures to be taken for SAP PO Support Package upgrade to ensure a smooth and efficient process.

  • Overview
  • What is a Support Package ?
  • Difference between Support Package and Patch Update
  • What we have planned for our client
  • Planning for SP Upgrade

1. Overview: Checklist and Measures to be taken for SAP PO Support Package Upgrade

In this post, we will explore the checklist and Measures to be taken for SAP PO Support Package Upgrade from a PO developer’s perspective. Additionally, we will also discuss the differences between a support package upgrade and a patch level upgrade, providing a comprehensive understanding of both processes.

2. What is a Support Package ?

At the point when an end client of SAP finds a bug in the SAP item, he reports something very similar to Drain support, SAP engineers really look at something similar and foster a rectification for the equivalent. This revision is shipped off the client as a NOTE.

In the event that the equivalent or comparative bug is accounted for by different clients or end clients, then SAP perceives such bug rectifies them and gathers this multitude of remedies in a single spot and adds a few improvements to the prior rendition of SAP and afterward calls this as a Help PACK.

3. Difference between Support Package and Patch Update:

A Fix contains a fix for a singular Programming Part, which has a place with a particular SP discharge while a Help Bundle Stack (SP) is a significant assortment of bug fixes and element improvements and each SP contains an assortment of all the Product Parts which make up the PI framework.

SAP discharges fixes, as a fix, for every one of the PI Programming Parts consistently. These fixes might be delivered consistently, yet this relies upon the PI discharge, the SP discharge and the particular Programming Part.

The most effective method to check SP and Fix level of your PO framework ?

This has been explained in my below blog link:

4. What we have planned for our client: checklist and Measures to be taken for SAP PO Support Package Upgrade

We are updating the PO stack from SP 10 to SP21 which would bring new highlights and settled bug fixes. The most recent SP discharge as to introduce date is SP22 yet doesn’t prescribe refreshing to approach SP discharge as it’s anything but a steady delivery.

5. Planning for SP Upgrade:

  • Prior to continuing with SP Update, we really want to design the pre and post exercises required subsequent to redesigning. The exercises ought to be recorded down in a sheet and should be explored with client, with consideration of Premise group.
  • There is a compulsory action to be finished after SP Update action. Executing the post SP update Design Wizard according to note ##1444305 Setup Wizard: PI/ESR Backing Bundle Update, is a compulsory post SP update action. Begin the NetWeaver Head and explore to “Arrangement The executives – > Situations – > Design Wizard”. Select in the dropdown list “All design assignments” the undertaking “PI/ESR Backing Bundle Update”.
  • The exercises ought to be ordered into many sub-classes. The sub-classes which I referenced in my arrangement was:

Endeavors (in days)

Setups to be checked

Points of interaction to be tried

New highlights that accompany new SP Overhaul

  • First sub-classification is Exertion Assessment. I have breakdown the subtleties on the endeavors required by Premise + PO + Utilitarian colleagues.

Efforts (in days) involved by the BASIS + PO Consultants

Endeavors engaged with PO NetWeaver Director check

engaged with PO Connector network check

engaged with PO to drain to PO network interminably

Endeavors engaged with PO Connection point testing

For our situation, we are doing PO DB Update additionally, that is the reason I have included it. It’s absolutely Premise work, so we can focus on the other exercises.

  • I have presented another significant segment called; Free time REQUIRED. In view of this main we will actually want to affirm to business and our utilitarian colleagues on when to begin their improvement exercises which includes interface testing.
  • Thus, we want to compute the free time days too. Honestly, the free time that is expected for PO SP Redesign exercises goes from 3-4 days, since there will be issues on post SP Update which requires some investment to determine. Thus, on a more secure side, its in every case better to add support time, with the goal that we can stay away from superfluous strain from business.
  • The following sub-classification we need to investigate is: Setups.
  • This one is significant one, as need might arise to check every single part in PO which incorporates PO SLD, PO NWA, PO ESB and PO ID.
  • PO SLD: We really want to confirm that the business framework and specialized framework made in SLD for SAP PO DEV framework is dynamic and accessible. Its smarter to take the screen captures of them before redesign action starts, as these are significant designs.
  • PO DEV NWA: In NetWeaver Head, there are numerous setups, authentication and keys that should be checked.
  • ECC to PO objective should be checked.
  • Accessibility of IDOC objective and furthermore PING Objective test can be utilized for effective association.
    • ECC to PO objective should be checked.
    • Accessibility of IDOC objective and furthermore PING Objective test can be utilized for effective association.

For key based confirmation in SFTP association, we really want to actually take a look at the introduced testaments in NWA – > Setup – > Security – > Declarations and Keys. In our undertaking, we have 2 SSH key based SFTP verification, where with one party, we got public which we introduced in PO NWA and for another party, we produced public and confidential keys through Clay programming and introduced private key in our PO NWA and gave public key to outsider.

Next setup is for IDOC Inbound network boundaries that should be checked. NWA – > Setup – > Framework – > Application Assets. Whenever there is an endeavor to send IDocs from a source framework to PO, you might see that they are not sent effectively. Around then, you need to investigate three things: SM58 exchange logs, RFC Type HTTP objective availability and InboundRA Asset Connector network boundaries check and its ongoing status. Subsequently, we really want to actually look at the condition of the InboundRA boundary in NWA.

I have made sense of exhaustively in one my blog entry on the most proficient method to design network among ECC and PO. If it’s not too much trouble, actually look at the connection beneath:

Boundaries kept up with for InboundRA boundary.

Next one is the JAVA MAIL CLIENT. We have designed a ready system in SAP PO, where in the event that there is any issue or point of interaction got flopped because of some explanation, then, at that point, the business will receive messages with the bombed interface subtleties. This is called Ready Arrangement or CBMA (Part based Message Cautioning). To accomplish this, we want to arrange that SMTP email ID, have, port in

NWA – > Setup – > Foundation – > Java Framework Properties – > Administration tab – > Quest for “Java Mail Client”.

Underneath boundaries should be checked:

Mail.from

Mail.smtp.host

Mail.smtp.port

Mail.smtp.password

When all checked, explore to the gig booked for setting off messages.

NWA – > Tasks – > Occupations – > Java Scheduler. Check assuming the occupation made is in Dynamic status.

I have made sense of exhaustively in one my blog entry on the most proficient method to design MAIL Cautions. If it’s not too much trouble, really look at the connection beneath:

* Next one is accessibility check. There are various investigating or log following elements gave by SAP group to PO. We really want to affirm whether those elements are accessible and functioning true to form.

Log viewer – It permits you to see all log and follow messages that are created in the entire SAP NetWeaver framework scene. These log records help you to screen and analyze issues.

Way – NWA – > Investigating – > Logs and Follows – > Log Watcher

WS Navigator – In WS guide you can test the webservices and it is utilized to show Web administrations conveyed to a server.

Way – NWA – > SOA – > Specialized Setup – > WS Guide

SOA_Manager – The primary object is to consume/uncover webservices from ABAP motor, for instance in an ECC and you don’t have a PI to convey through Cleanser.

TCODE – SOA_MANAGER in ECC

Troubleshooting wizard – To try not to gather superfluous follows, you should be ready to replicate the specific issue. For instance, on the off chance that you can’t sign on with your username and secret phrase, go to the logon page of the application you need to open before you start the wizard. By doing this, you are ready to duplicate the specific issue – the weak logon, without gathering pointless information.

Way – NWA – > Investigating – > Logs and Follows – > Situation Testing

Locations & traces – Logging and following is fundamental for breaking down issues. The Reconciliation Motor purposes logging and following to log and break down the handling steps of messages. While a message is being handled by the pipeline of the Reconciliation Motor, the situation with the message is logged as a different message form.

Way – NWA – > Investigating – > Logs and Follows – > Log Arrangement

XPI Inspector – Next movement is to check in the event that all clients made in Client The board Motor of SAP PO is accessible. NWA – > Arrangement – > Security – > Personality The board.

URL- http://<host>:<port>/xpi_inspector/index.jsp

* Next movement is to check in the event that all clients made in Client The board Motor of SAP PO is accessible. NWA – > Arrangement – > Security – > Personality The board.

* Then, OData OAuth Login strategy. NWA – > Setup – > Security – > Validation and Single Sign-on. I have designed Essential Secret key login strategy, however you can arrange OAuth rationale strategy moreover. This login strategy might be material for ODATA imported in SAP PO. I have made sense of exhaustively of how an OData can be uncovered and carry out OAuth2.0 system to it without making a connection point. Kindly take a look at the connection beneath:

* All the NWA design checks we have examined. Next is the PO ESR exercises. We really want to check assuming all the product parts we imported in ESR are available.

* PO ID exercises. Business parts and business frameworks should be checked. In the Email Ready design, we would have made a Shopper in Coordination Registry, really take a look at its accessibility. To wrap things up is the Worth Planning bunch.

* PO ECC – This isn’t a PO Expert movement and will be finished by Premise group whenever overhaul is finished. Mounting AL11 envelopes in ECC framework. As it is a piece of PO, we want to really look at its accessibility.

  • Up until this point, we actually look at 2 classes: Exertion’s assessment and Designs to be checked. Presently we really want to continue on toward next classification – > Connection points to be tried.
  • In the event that the Setups TO BE CHECKED movement is appropriately finished, there won’t be a lot of problem in this class. For the connection points to be tried, we want to sort the connection points in view of the connector type. Like In SFTP, I have handpicked a portion of the connection points (don’t bother taking all SFTP points of interaction) and those points of interaction ought to be the business-basic connection points. Same way do it until the end of the connector types.

How I categorized:

  • SFTP
  • SOAP
  • RFC
  • IDOC_AAE
  • HTTP_AAE
  • REST
  • EDI
  • FILE

In your undertaking, you probably won’t have created communicates with all of the above connector types. For our situation, we had no RFC interface fabricated, so we made one test interface Being developed framework, RFC <-> Cleanser Webservice coordinated interface.

So we can affirm that all connector types are functioning true to form.

  • Next Class is, Elements. Highlights that are getting presented in the NEW Help Bundle can be checked on the web and those accessibility checks ought to likewise should be finished after overhaul is finished.

Here are some of the new features available in SP21 compared to SP10. Before upgrading, it’s essential to follow a checklist and Measures to be taken for SAP PO Support Package Upgrade to ensure a smooth transition. This will help in identifying potential risks and preparing the system for the new functionalities while minimizing downtime.

YOU MAY LIKE THIS

ABAP on SAP HANA. Part VI. New Age Open SQL ABAP 740

Bridging the Gap: Integrating ABAP with Other Cloud Services

A to Z of OLE Excel in ABAP 7.4

SAP

SAP PO for Beginners Part – 16 – Brief Overview on XSLT Transformations in SAP PO with Examples

This blog will provide you with an overview on XSLT transformations in SAP PO with examples. It will help you learn and understand the use case of XSLT mapping in SAP PO. We will also explore several examples to illustrate how XSLT transformations work by creating an interface.

To put it plainly, underneath is the substance we will be intricate in this instructional exercise:

  • Overview
  • Creating XSLT Transformation in SAP NWDS
  • Importing XSLT mapping in SAP PI

1. Overview on XSLT Transformations in SAP PO with Examples

This post makes sense of about utilizing XSLT planning in SAP Cycle Coordination for switching a basic contribution over completely to a somewhat complicated yield. It makes sense of the total course of setting up a .xsl document in SAP NWDS programming and afterward bringing in it to PI as a Compress record and test in Activity Planning.

XSLT represents EXtensible Template Language Change. At the point when it is beyond the realm of possibilities to expect to utilize message planning, normally when we really want to make an intricate design from a level message or where collection of hubs and so forth is required, we favor utilizing XSLT planning. XSLT portrays how a XML structure is changed into another XML structure. It is exceptionally easy to utilize a XSLT planning in PI. The XSLT is grown either through NWDS/Obscuration programming and afterward imported as a compress record into ESR.

The transformation of XSL code is managed by the XSLT processor. The XSLT processor takes one or more XML source documents along with the XSL file and processes them to produce a result document. For a comprehensive overview on XSLT Transformations in SAP PO with Examples, it’s important to note that the data/source document must be in XML format.

2. Creating XSLT transformation in SAP NWDS:

Make another Java Task in NWDS. Record – > New – > Java Task. Give a reasonable name and snap FINISH.

Inside it, we want to make source XML record. Right snap on Java Undertaking name – > New – > Other – > XML – > XML record and give a legitimate name to it.

Presently we want to make XSL record which will contain the change rationale.

Right snap on Java Undertaking name – > New – > Other – > XML – > XSL and give a legitimate name to it. Up to this point, we have made info and rationale document. Don’t bother making a result document, as the XSL processor which is worked inside NWDS will naturally change over the information record with rationale in XSL document and make a result XML document.

We can trial and check whether it’s getting made. Open the XML record and right snap on the work area region and pick – > Run As – > XSL Change.

There will be popup to choose XSLT record. Click on Add records to explore through project organizer structure.

On choosing the XSLT record, the XSLT processor actually looks at the XSL rationale and makes a result XML document.

Project folder structure:

We should take a basic model which will give a total thought regarding XSLT:

Leave the Source alone as displayed beneath:

<?xml version="1.0" encoding="UTF-8"?> 
<Person> 
  <FirstName>Subin</FirstName> 
  <LastName>Sudhakaran</LastName> 
  <Gender>Male</Gender> 
  <Address> 
	<Street>Gandhi Street</Street> 
	<Houseno>Flat No. B1</Houseno> 
	<City>Chennai</City> 
  </Address> 
</Person>

Let the desired target be as shown below:

<?xml version="1.0" encoding="UTF-8"?>
  <Title>Male</Title>
  <Name>Subin Sudhakaran</Name>
  <Street>Flat No. B1 Gandhi Street</Street>
  <City>Chennai</City>

Presently as we have the source and the objective with us, we can foster a XSLT planning between them in SAP NWDS.

XSL starter template:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
           <!-- TODO: Auto-generated template -->
      </xsl:template>
</xsl:stylesheet>

Presently how about we make sense of the above XSLT starter intricately. Since a XSL template is a XML archive itself, it generally starts with the XML statement: . The following component, , characterizes that this record is a XSLT template archive (alongside the variant number and XSLT namespace ascribes). The component characterizes a layout. The match=”/” trait partners it with the base of the XML source report. The substance inside component characterizes some HTML content to be composed as a result.

Presently how about we start the XSL rationale, where first field in the objective design is the TITLE which is planned to Orientation in source structure. Subsequently the rationale would be:

<Title>
    <xsl:value-of select=”Person/Gender” />
</Title>

Esteem of selector will get the worth of the field from the source XML and the way of the field is given in the select property as a XPATH articulation.

Presently we should continue with next field NAME, where we want to link first name and last name in the source XML with in the middle between.

<Name> 
   <xsl:value-of select="concat(concat(Person/FirstName,' '), Person/LastName)"/> 
</Name>

In the above XSL code, we are utilizing two connect administrators: First concat is for consolidating First Name with space close to it and next one is for joining First Name with space to last name.

Let’s do the same for rest of the fields: Street and City.

<Street>
   <xsl:value-of select="concat(concat(Person/Address/Houseno, ' '), Person/Address/Street)"/>
</Street>
		
<City>
  <xsl:value-of select="Person/Address/City"/>
</City>

Output:

Presently you would have a thought on how the XSLT change functions. We should get into different XSL labels accessible.

  • <xsl:stylesheet> or <xsl:transform> :

or are the root components that proclaim the archive to be a XSL template. Both of the two components can be utilized as root components as they are interchangeable. We have utilized xsl:stylesheet in the above model. The xmlns:xsl=”http://www.w3.org/1999/XSL/Change” focuses to the authority W3C XSLT namespace. Assuming you utilize this namespace, you should likewise incorporate the characteristic version=”1.0″.

  • <xsl:template> :

A XSL template comprises of at least one bunch of decides that are called layouts. A layout contains rules to apply when a predefined hub is coordinated. The worth of the match quality is a XPath articulation. In our model, match=”/” characterizes the entire report.

  • <xsl:value-of> :

Esteem of component is utilized to remove the substance of the predetermined hub. The worth that should be brought ought to be given as XPATH articulation inside the select property.

  • <xsl:for-each> :

JavaScript engineers would have speculated the usecase of this component. Its is utilized to circle through the hub. For instance, for our situation we have just a single individual hub, imagine a scenario where we have numerous individual hubs ?

We really want to show both individual hubs in the result, right ? With the ongoing rationale, on the off chance that you execute with different individual hubs, you will get just a single individual hub (initial one), as we are not circling through it. Thus, how about we circle through the individual hubs and show it in yield.

Input XML:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
	<Person>
		<FirstName>Subin</FirstName>
		<LastName>Sudhakaran</LastName>
		<Gender>Male</Gender>
		<Street>Gandhi Street</Street>
		<Houseno>Flat No. B1</Houseno>
		<City>Chennai</City>
	</Person>

	<Person>
		<FirstName>Sudheesh</FirstName>
		<LastName>Sudhakaran</LastName>
		<Gender>Male</Gender>
		<Street>Daniel Street</Street>
		<Houseno>Flat No. B2</Houseno>
		<City>Mysore</City>
	</Person>
</ns0:MT_XSLT_Source>

XSL Logic:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
	version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:ns0="http://XYZ.com/gen"
	xmlns:ns1="http://XYZ.com/Test">
	<xsl:template match="/">
	   <ns1:MT_XSLT_Target>
		<xsl:for-each select="ns0:MT_XSLT_Source/Person">
		   <Title>
			<xsl:value-of select="Gender" />
		   </Title>
		   <Name>
		     <xsl:value-of select="concat(concat(FirstName,' '), LastName)" />
		   </Name>
		   <Street>
		     <xsl:value-of select="concat(concat(Houseno, ' '), Street)" />
		   </Street>
   <City>
		     <xsl:value-of select="City" />
		   </City>
		</xsl:for-each>
	   </ns1:MT_XSLT_Target>
       </xsl:template>
</xsl:stylesheet>

Output:

We can likewise channel the result from the XML document by adding a basis to the select trait of component.

Eg: <xsl:for-each select="ns0:MT_XSLT_Source/Person[FirstName=’Subin’]">
  • <xsl:sort> :

Sort component will sort the result XML. We really want to indicate on what premise the arranging ought to occur.

<xsl:sort select=”FirstName”>
  • <xsl:if> :

The component is utilized to set a restrictive test against the substance of the XML document. The worth of the expected test trait contains the articulation to be assessed.

<xsl:if test=”expression”> </xsl:if>

<xsl:if test=”Gender =Male”>

We have investigated the fundamentals of XSLT change. Presently we should perceive how to utilize a XSLT planning in PI.

3. Importing XSLT mapping in SAP PI:

Steps engaged with sending a connection point or arrangement the planning program is:

Source Data Type:

Target Data Type:

I won’t show the screen captures for Message type, administration interfaces as those are fundamental and known. When message types and administration connection points are made, make IMPORTED Chronicles and import the XSL document in it.

For effective import of XSL document into imported chronicles, you want to change over it into Compress or Container record. It’s better and more straightforward to change over the XSL document to Compress record.

Operation Mapping:

That’s all there is to it. This is the methodology to create and deploy XSLT transformations in SAP PI. I hope you enjoyed this overview on XSLT Transformations in SAP PO with Examples. If you have any doubts, questions, or suggestions, please leave your comments below.

YOU MAY LIKE THIS

How to SPLIT Data in FOR LOOP Using Modern ABAP Syntax?

The World of ABAP Consultants: Unlocking the Power of SAP

Calculator in SAP using New ABAP Syntax

SAP

SAP PO for Beginners Part – 15 – Introduction to Java Mapping with Examples in SAP PO – Part – 2

This blog will assist you with Introduction to Java Mapping with Examples in SAP PO, including how to write, validate, and deploy Java Mapping in SAP NWDS software.

So, underneath is the substance we will be intricate in this instructional exercise:

  • Overview
  • JAVA PROGRAM -1 – Extracting Filename through Dynamic Configuration
  • JAVA PROGRAM -2 – How to write parameterized Java Mapping

1. Overview: Introduction to Java Mapping with Examples in SAP PO

This is the continuation of the previous post where we created and tested the Java program in NWDS and ESB. In this post, titled Introduction to Java Mapping with Examples in SAP PO,” we will delve deeper into more complex Java projects and explore additional examples to enhance your understanding of Java mapping within SAP PO.

2. JAVA PROGRAM – 1 – Extracting the Filename through Dynamic Configuration

The beginning advances are same, where we make a Java Venture in NWDS – > Making class. I will involve similar program as we utilized for Following.

Eliminate the follow lines included the past post.

First thing we need to do is, we need to get the occasion of the powerful setup. Thus, for that we will characterize a variable of dynamic setup to hold the example of the dynamic config. Then, we will characterize a string variable to hold our filename. And afterward we will get the unique arrangement. Dynamic arrangement can be removed from TransformationInput.

public DynamicConfiguration DynConfig;

Under transform method:

String Filename = "";
	
DynConfig = arg0.getDynamicConfiguration();

This will get you the occurrence of the powerful arrangement, then we go inside the unique setup and check in the event that its accessible or not. Before that, we will have a check regardless of whether the powerful setup example is there.

if(DynConfig != null) {
throw new StreamTransformationException("Unable to find dynamic configuration");
}

So far:

public DynamicConfiguration DynConfig;
	
public void transform(TransformationInput arg0, TransformationOutput arg1) throws StreamTransformationException {
		
	String Filename = "";
	
	DynConfig = arg0.getDynamicConfiguration();
	
	trace = (AbstractTrace) getTrace();
	
	if(DynConfig == null) {
          throw new StreamTransformationException("Unable to find dynamic configuration");
	}
		
	try {		
          execute(arg0.getInputPayload().getInputStream(), arg1.getOutputPayload().getOutputStream());
	}
        catch(Exception ee) {
	  throw new StreamTransformationException(ee.toString());
	}
}

Besides, we will make a key. A key is fundamentally a namespace and the name of the key of the unique design. So we characterize a key of dynamic design and that is essentially the namespace and the name of the unique setup.

DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", Filename);

So now we write the code to extract the data. We will add it inside try catch block.

try {		
  Filename = DynConfig.get(key);		
}catch(Exception ee) {
  throw new StreamTransformationException("Unable to Read the Dynamic Configuration for File Parameter");
}

We will have an IF ELSE proclamation to check assuming filename has some worth in it, which will be added through Unique Arrangement. To do as such, we will add data follow like underneath:

if(Filename != null && !Filename.equals("")) {
	trace.addInfo("Filename found from Dynamic Configuration: " + Filename);
}else {
	trace.addInfo("Filename not found in Dynamic Configuration");
}

You may be pondering, what will be the information put away in Filename. Since the key has the namespace of http://sap.com/xi/XI/Framework/Record, the filename of the document put in SFTP/FTP area will be removed and put away in Filename variable.

GitHub Repo:

3. JAVA PROGRAM – 2 – How to write Parameterized Java Mapping:

Compose a Java Program to peruse the boundaries planned in ESB. For that we want to know how to peruse the boundaries that you characterize in the Activity planning which we will find in last part. In the first place, we will see the java program.

In this Java Program we won’t run the program in XI framework, subsequently we are eliminating the execute technique totally and furthermore principal strategy since we won’t run the Java program locally in the NWDS programming.

In this way, we will compose all our code inside Change technique.

First thing we need to do is perused the boundaries: PARAM1, PARAM2, PARAM3. This is similar name we need to characterize in Activity Planning. While executing in activity planning, we will populate values through restricting.

We will compose all inside the attempt block.

try {
  String Parameter1 = arg0.getInputParameters().getString("PARAM1");
  String Parameter2 = arg0.getInputParameters().getString("PARAM2");
  String Parameter3 = arg0.getInputParameters().getString("PARAM3");
}

Now we need to write the parameters in output. First we need to get the output string.

OutputStream out = (OutputStream) arg1.getOutputPayload().getOutputStream();

Now write the parameter values to output screen.

out.write(("PARAM1 = " + Parameter1 + "\r\n").getBytes());
out.write(("PARAM2 = " + Parameter2 + "\r\n").getBytes());
out.write(("PARAM3 = " + Parameter3 + "\r\n").getBytes());

That is all there is to it. Simple one.

Presently we will investigate the design to be finished in ESB.

Complete source code:

public void transform(TransformationInput arg0, TransformationOutput arg1) throws StreamTransformationException {
		
	try {
	  String Parameter1 = arg0.getInputParameters().getString("PARAM1");
	  String Parameter2 = arg0.getInputParameters().getString("PARAM2");
	  String Parameter3 = arg0.getInputParameters().getString("PARAM3");
			
	  OutputStream out = (OutputStream) arg1.getOutputPayload().getOutputStream();
			
	  out.write(("PARAM1 = " + Parameter1 + "\r\n").getBytes());
	  out.write(("PARAM2 = " + Parameter2 + "\r\n").getBytes());
	  out.write(("PARAM3 = " + Parameter3 + "\r\n").getBytes());
			
	  out.flush();
	}
		
	catch(Exception ee) {
	  throw new StreamTransformationException("Error while reading the parameterized mapping".concat(ee.getMessage()));
	}
		
}

Github repo:

ESB Configuration:

Make the Container document and import it in IMPORTED Files.

Make some example Information type and Message type in ESR and import the message types to OUTBOUND and INBOUND assistance interfaces.

Make Activity Planning and import the outbound help interface as SOURCE MESSAGE and inbound help interface as TARGET MESSAGE.

IMPORTED ARCHIVE:

Structure:

Import the Java Planning into activity planning.

Presently it is the right time to characterize the boundaries.

Click on the Boundaries button which will spring up the boundaries area, where we really want to characterize those 3 boundaries as displayed underneath:

Once characterized, click on the BINDING button.

Map every one of the three boundaries to the PARAMETER NAME.

On fruitful restricting, you will see the red shaded mark in the boundaries area which implies that the limiting is effective.

When done save and actuate the Activity Planning. After that explore to the TEST tab to see the IMPORT Boundaries appearing.

Go to boundaries tab.

Enter the boundary worth and tap on Change to see the result.

This is how the defined Java mapping works. I hope you enjoyed this introduction to Java mapping with examples in SAP PO. If you have any doubts, questions, or suggestions, please feel free to leave your comments below.

YOU MAY BE INTERESTED IN

Just 3 Changes to Improve the SAP ABAP Performance by 95 Percent

OData in SAP ABAP: Streamlining Data Exchange and Integration

Applying Enterprise Integration Patterns in SAP ABAP

SAP

SAP PO for Beginners Part – 14 – Introduction to Java Mapping with Examples in SAP PO – Part – 1

This blog will serve as an introduction to Java Mapping with Examples in SAP PO, helping you learn how to write, validate, and export Java mappings using SAP NWDS software.

So, underneath is the substance we will be intricate in this instructional exercise:

  • Overview
  • JAVA PROGRAM -1 – Copy the contents from input to output file
  • Import Java Mapping libraries
  • Write a simple Java Program on copy the contents from input to output file
  • Compile Java Program
  • Extracting as JAR file
  • Import JAR file and test run Operation Mapping
  • JAVA PROGRAM -2 – Copy the contents from input to output by reading line-by-line
  • JAVA PROGRAM – 3 – Adding traces to java program on copying contents

1. Overview:

Here, we will foster java programs in NWDS programming, approve it and product it as a Container record for bringing in it in ESR vault as a Java Planning document in Activity Planning. Java Planning is a Java based program that is written in NWDS Manager with Java Planning Libraries and afterward transferred in the ESR. Java Planning is elective way to deal with composing Graphical Message Planning/XSLT Planning.

We should get everything rolling.

2. JAVA PROGRAM – 1 – Copy the contents from input to output file:

Prior to continuing with the production of Java Undertaking, one need to arrangement NWDS programming with the JAVA JDK document. Allude to the arrangement present on NWDS on PI:

Click on Document – > NEW – > Java Task

Give a substantial Undertaking name. Under JRE, select “Use project explicit JRE – JDK 1.8” and click on Straightaway and FINISH.

You can see under the work area; new envelope will be made with project name as organizer name.

Within it contains two primary envelopes, Src and Container organizer which holds the source code and receptacle organizer contains the class document once you characterize new class.

To make another class, Right snap on the venture name – > New – > Class

Class name will be same as undertaking name. Tick “public static void primary”. When done, this is the manner by which starter format seems to be.

3. Import Java Mapping libraries

Whenever you have made the Java Task, subsequent stage is to add the Java Planning Libraries to your venture. For that, right snap on the .java document – > Fabricate Way – > Arrange Assemble Way

Under libraries tab – > click on Add Outside Containers button and import the java planning library records. Click on Apply and Save.

For our sap java planning point of view, we are including those Container records. Once imported, you can see those records in the venture sheet – > Referred to libraries.

4. Write a simple Java program on copy the contents from input to output file

Presently we will compose a basic Java Program which will peruse the items in the information document or from the info field and duplicate for what it’s worth to yield record or result field.

First thing we need to do is, broaden the class Conceptual change. This class is the expansion of the planning program that you as of now have is important for graphical planning. As you are utilizing dynamic strategy, we really want to abrogate the change technique.

@Override
public void transform(TransformationInput arg0, TransformationOutput arg1) throws StreamTransformationException {
	try{
	  execute(arg0.getInputPayload().getInputStream(),arg1.getOutputPayload().getOutputStream());
	}
       catch(Exception ee){

          throw new StreamTransformationException(ee.toString());
	}
}

The principal strategy that will be executed by PI is the change technique at runtime. This change technique will call the execute as displayed in the code above. We should characterize the execute public technique.

The explanation EXCEUTE technique is added is for In reverse Similarity. If you have any desire to run this code in XI framework, then execute is the technique which it anticipates. Thus, we are including it. It’s in every case great to compose the code in attempt and catch block to get the exemptions and showing it in logs.

public void execute(InputStream in, OutputStream out) throws StreamTransformationException {
	try{
	   int buffer;  
           // variable for holding the copied contents
	   while((buffer = in.read()) != -1) { 
           // checking if chars reached end of line
	   out.write(buffer);
	   }
	out.flush();
	}

        catch(Exception ee)
       {
         throw new StreamTransformationException(ee.toString());
       }
}

Then, we will focus on adding contents in principal technique.

public static void main(String[] args) {
	try{
	   FileInputStream fin = new FileInputStream("inputFile.txt");
	   FileOutputStream fout = new FileOutputStream("outputFile.txt");
			
	   JM_FirstJavaMapping instance = new JM_FirstJavaMapping();
	   instance.execute(fin, fout);
// passing the input file as IN to execute method and performing operations in execute method. Same way output filename is also passed for writing the copied contents.
	}
        catch(Exception ee)
        {
	  ee.printStackTrace();
	}
}

IMPORT STATEMENTS OF LIBRARIES/PACKAGES:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import com.sap.aii.mapping.api.AbstractTransformation;
import com.sap.aii.mapping.api.StreamTransformationException;
import com.sap.aii.mapping.api.TransformationInput;
import com.sap.aii.mapping.api.TransformationOutput;

5. Compile Java Program:

While in Java document, in the menu bar, click on Run – > Run. Remember to put the inputFile.txt with some example contents put on it.

As we haven’t referenced the way of the document where it is situated in the java code, it will default get set in the work area organizer.

Java Program is working fine.

GITHUB REPO:

6. Exporting as JAR file:

For transferring the .container document to Drain PO ESB, we really want to get the .container record. In the container envelope, you can see the class record. Right snap on it – > 7zip – > Add to “JM_First… 7z”. It will get packed. Change the augmentation from .Flash to .Container.

If necessary, you can duplicate the .java document and spot it in .Compress record and afterward change the expansion to .Container

7. Import JAR file and test run Operation mapping:

Make a new namespace and under it, make IMPORTED Documents.

Give the imported document name same as Class Name. Import the record.

We will make test information type with one field and check whether the items in the information field gets replicated to yield field.

Data type:

Message Type:

SI – Outbound:

SI – Inbound:

Message Mapping:

NA. No need of message planning as we are utilizing Java planning for the change.

Operation Mapping:

Testing:

Operation Mapping -> Test tab

JAVA PROGRAM – 2 – Copy the contents from input to output by reading line-by-line:

Scenario:

Compose a Java Program on perusing the items in the record line by line and duplicate it to the result document.

The distinction between prior program and that’s what this program is, in program 1, the code will duplicate the items without perusing line by line and gluing it in yield document. However, in this program 2, we can peruse the items line by line, so that assuming there is any change required in the approaching lines, it tends to be done which is unimaginable in Program 1.

The change technique and the primary strategy will be the equivalent on the grounds that change strategy just calls the execute strategy by passing contentions and void strategy makes another article and passes it to execute strategy.

Execute method:

public void execute(InputStream in, OutputStream out) throws StreamTransformationException{
	try {
	   StringBuffer sourcePayload = new StringBuffer();
	   BufferedReader docInput = new BufferedReader(new InputStreamReader(in));			
			
	   String inputLine = "";
			
	   while( (inputLine = docInput.readLine() ) != null ) 
           {
	      sourcePayload.append(inputLine + "\r\n");
	   }
			
	   out.write( new String(sourcePayload).getBytes("UTF-8") );
	   out.flush();			
			
        }catch(Exception ee) 
        {
	   throw new StreamTransformationException(ee.toString());
	}		
}

Same way, place an info document and incorporate the java program to check whether its functioning true to form.

GITHUB REPO:

JAVA PROGRAM – 3 – Adding traces to java program on copying contents:

Scenario:

In this program we will figure out how to compose data, troubleshoot, and cautioning messages from Java planning, such as following the execution of the java program. Follow is only the review logs that we can see when the code is executed at runtime in ESB/AEX.

There are three sorts of follows:

Data

Troubleshoot

Caution

We will utilize a similar existing Java Program-2 which peruses the document line by line and add follows to it.

Make another Java Undertaking and class. Add Outside Containers. Duplicate the current Java Program and glue it in recently made Java document. Supplant the Class name.

Adding traces to Java Program:

GITHUB REPO:

Import the Container record to Activity planning and Actuate it.

Activity Planning – > Test tab – > Glue an example test lines of string type and change it to see the hints of the result.

Trust you loved it. Assuming you feel somewhat skeptical, questions or ideas for us, kindly put your remarks underneath.

YOU MAY LIKE THIS

SPTA Parallel Processing Framework in ABAP

Power of Parallel Cursor in SAP ABAP

SAP ABAP CRM Tips

SAP

SAP PO for Beginners Part – 13 – How to register and test WSDL files in Service Registry

In this post, we will discuss the steps to be followed on how to register and test WSDL files in Service Registry provided by SAP PO. Additionally, we will also test the hosted WSDL file to ensure proper functionality.

To put it plainly, underneath is the substance we will be intricate in this instructional exercise:

  • Overview
  • What is Service Registry
  • Accessing Service Registry
  • Publishing Service in Service Registry
  • Testing WSDL Service in Service Registry

1. Overview:

Here, we will dive deep into the Service Registry, and I will show you how to register and test WSDL files in Service Registry by importing the WSDL of your interface. This allows others to easily discover your service. It simplifies the process, so in the future, if someone needs to trigger a PO_CREATE, they don’t need to contact you. Instead, they can go to the Service Registry, find the available services, and directly use it to trigger a message to the AEX system or PO system.

We should begin.

2. What is Service Registry ?

Administration library is a UDDI based storehouse which contain undertaking administrations and related metadata. In basic terms, it is where you can store data about what administrations is on the which framework. It assumes a significant part in your administration situated design (SOA) procedure and gives a system to enroll, distribute, and find web administrations. The administrations distributed in the Help Library are ordered and classified in a way that works with finding them without any problem. Prior to posting the assistance under help library, you ought to have the connection point created and prepared. Distribute the connection point in help library, then, at that point, send the outsider the WSDL detail like WSDL URL, actual WSDL record and username/secret key. Not all connection points can be facilitated in Help Vault, just HTTP, Cleanser, XI and WS connector types can be enlisted.

Offices that we can-do in-Administration Vault:

  • Publish an existing web service in your SAP landscape, including its metadata and endpoint.
  • Classify and categorize the published service.
  • Query and search existing published web services.
  • Export and import the data contained in the Service Registry.

3. Accessing Service Registry:

Explore to PO Landing page http://:/dir/begin/index.jsp and under the endeavors administration store area, click on the Assistance Library connect.

On clicking Administration Vault, administration library window shows up with three primary choices under Assistance Definitions tab. Search, Peruse and Distribute.

4. Publishing Service in Service Registry:

There are two different ways to publish the service:

  1. Integration Directory menu
  2. Manual registration in Service Registry

We will investigate the Choice 2 exhaustively in this post which is the most favored approach to facilitating the assistance.

I would utilize Cleanser Intermediary to Cleanser Webservice simultaneous connection point which I have made sense of exhaustively on Part #11.

Initial step is to download the WSDL record, to do as such, explore to Incorporation registry and double tap on the ICO to open it. In the Reconciliation Design menu bar, select Showcase WSDL as displayed beneath.

WSDL will get displayed.

No need of saving the WSDL document, we simply need the WSDL URL which you can find in the above featured segment. Click on the Duplicate WSDL URL TO Support choice toward the finish to duplicate the URL.

Presently go to Administration Library device. As said, there are three choices: search peruse and distribute. To start with, we will distribute the help and quest for it.

Click on Distribute connect. It will incite to enter the WSDL URL which we got it from Reconciliation Index.

Glue it and snap on Straightaway.

On clicking Straightaway, you will be approached to confirm yourself with username and secret word. Give it to continuing further.

Following stage is the Assistance subtleties segment where administration vault will detect and approve the URL and bring its metadata data like port sort name and namespace. That is all there is to it. Don’t bother tapping on Straightaway. It is only for data reason.

Thus, click on FINISH and you will see the condition of the help as CONFIGURED.

Presently it is the right time to Distribute. Click on Distribute.

On effective distribute, you will getting a help definition key.

Presently you can attempt to look for the distributed help by tapping on SEARCH connect. As we have done it the initial time, it’s showing just a single help which we did now.

Presently you can find your connection point name, namespace and the endpoint where you can track down the WSDL. With this data, you can set off/test the connection point from administration vault itself or from Cleanser UI apparatus by clicking that URL and download the WSDL record and import it in Cleanser UI device.

Prior to moving to testing the connection point, click on the WSDL URL to check whether the WSDL is appearing.

5. Testing WSDL Service in Service Registry:

In this segment, we will perceive how to test a WSDL administration through WS Pilot device. How about we get everything rolling to test the help.

Explore to Administration Library landing page. Track down the distributed assistance via looking for a similar under SEARCH connect. In the subtleties area, click on ENDPOINTS tab where you will see the HTTP and HTTPS port.

Click on TEST button which will explore to WS Guide instrument. WS Guide is explicitly utilized for testing web administrations.

In the WS Guide window, you could confront what is happening like me, where prior to testing in WS Pilot device, one need to whitelist the host in the gave URL in the mistake message (middleware settings).

To whitelist the host, explore to the middleware settings URL:

http://:/nwa/middleware-settings

Under WS Pilot tab, enter the host name and snap on SAVE. On tapping the SAVE button, framework will permit the webservices which contains that host for testing in WS Guide device.

Once finished, again click on TEST from administration vault page. Presently you will not get that mistake.

The point of interaction subtleties will be shown. Click on Straightaway.

On clicking Straightaway, you will see the info structure.

Possibly you can physically fill the test information or import the record as XML/TXT through IMPORT – > TEST Information choice as displayed underneath.

On fruitful import, you will see the information filled like underneath and click Straightaway.

On clicking Straightaway, you will see the reaction under the Outcome area.

That’s all there is to it. We’ve covered the publishing and testing part in the Service Library. If you have any doubts, questions, or suggestions regarding how to register and test WSDL files in Service Registry, please leave your comments below. Happy learning!

YOU MAY BE INTERESTED IN

Create and Consume Business Add-in(BAdI) in ABAP

Do all ABAPers know Fixed Point Arithmetic?

SAP ABAP Tips

SAP

SAP PO for Beginners Part – 12 – Interface Development – B2B EDI Inbound to XML Proxy to ECC

In this post, SAP PO for Beginners Part – 12 – Interface Development – B2B EDI Inbound to XML Proxy to ECC,” we will discuss and convert EDI format inbound documents to XML and pass them to an ABAP proxy by developing an interface from scratch.

In short, below is the content we will be elaborate in this tutorial: Interface Development – B2B EDI Inbound to XML Proxy to ECC

  • Overview
  • Scenario
  • Objects involved in Interface Development
  • Build Enterprise Service Repository Objects
  • Build Communication Channels
  • Build Integrated Configuration (ICO)
  • Testing the Interface

1. Overview:

Assume there is a business requirement where the vendor will place invoice records in SFTP in EDI format, which SAP PO needs to pick up and process. The EDI messages are then communicated to the EDI separator connector to split bulk EDI messages into single transaction sets, as one EDI document can contain multiple sales orders, invoices, delivery notifications, etc., which completes one ICO. Subsequently, it will be passed to another ICO of the sender EDI separator channel, which will convert individual EDI messages to XML. This process is detailed in SAP PO for Beginners Part – 12 – Interface Development – B2B EDI Inbound to XML Proxy to ECC.

2. Scenario:

3. Objects involved in Interface Development:

As said, there are 2 ICOs to be created. For first ICO, we will pick the document from SFTP, so the shipper correspondence channel is of connector type SFTP (not going to cover the SFTP channel config, as I take care of it in past areas) and the recipient correspondence channel will be of connector type EDI Separator.

For second ICO, the shipper correspondence channel would be of connector type EDI Separator and the collector correspondence channel will be of connector type Cleanser with message convention as XI 3.0.

In second ICO, we will import message planning, in light of the fact that through shipper EDI connector, the EDI record will be changed over completely to XML and passed to message planning for getting the ideal construction to pass the information to ECC through ABAP Intermediary.

We should make information objects for the inbound XML information. In this model we won’t make information type and message type, rather we are utilizing the Outer Definitions given by the merchant. Outside Definitions are like pre-characterized field structures which you can simply import and use it in Message planning.

4. Build ESR Objects:

Prior to continuing with the formation of Correspondence channels, we should begin with the result structure creation.

External Definitions:

Click on Make NEW – > Outside Definitions

Select the class as XSD from the dropdown and import the XSD document.

For getting the import XSD document, explore to the underneath way:

http://:/b2bic (For this to be accessible, B2B add on should be introduced by Premise group)

Select the choice, EDI Content Administrator and select the dropdown in the arrangement ANSI X12 and pick XSD Generator.

For producing XSD record, pick the suitable exchange set as 810 and adaptation to 5040 (for our situation). Once finished, click on START.

Framework will produce the xsd record, save it and import it in outer definition as displayed beneath.

External Definition:

Click on SAVE & ACTIVATE.

Service Interface:

Create two service interfaces.

The file is passed from SFTP to P – Outbound Service Interface – 1

PI to ECC – Inbound Service Interface – 2

Choose the Mode as ASYNCHRONOUS

Outbound Service Interface:

Inbound Service Interface:

Message Mapping:

Import a similar outside definition into source and target area, as we will be passing the information for all intents and purposes to ECC.

Operation Mapping:

Import both the outbound and inbound assistance interfaces. Once imported, click on READ Tasks button which would peruse the outside definitions put away in assistance interfaces.

When done, select the sort of planning and import the message planning made.

Click on SAVE & ACTIVATE.

ESR Items creation done. We should begin with the Joining Items advancement.

5. Build Communication Channels:

FIRST ICO:

Sender Communication Channel:

Open the Reconciliation Catalog – > Snap on Make New symbol and pick Correspondence Channel.

Give the channel a reasonable channel name and tap on Make. Pick Connector type as SFTP and pick Shipper Radio button.

Click on SAVE and Actuate.

Receiver Communication Channel:

Click and Make New – > Correspondence Channel – > Pick Collector radio button and connector type as EDI Separator with Message Convention as Electronic Report Exchange.

Note: For getting the EDI Separator connector which wouldn’t be in standard PO 7.5 establishment, B2B add on establishment should be finished.

  • BASIS team installs B2B cockpit
    • Make sure NWA-> Components Info, b2b components are installed
    • Download and extract ZIP files of B2B Cockpit/toolkit/EDI mapping runtime
    • Import toolkit/mapping kit extracted files in ID
    • For installing EDI runtime content, there will be many .b2b seed file, import the required file. For e.g.: for EDI ANSI X12 format, required runtime is *X12.b2b file
    • http://<host>:<port>/b2bic -> EDI content Manager. Select required format and choose to import in dropdown
    • Verify imported components by selecting format -> Editor > Message Editor
    • Verify in ID whether EDI adapter is visible
    • If these B2B adapters are still not available, request BASIS team to register the adapters using JSPM

Click on SAVE & ACTIVATE.

SECOND ICO:

Sender Communication Channel:

Open the Combination Catalog – > Snap on Make New symbol and pick Correspondence Channel.

Give the channel a reasonable channel name and tap on Make. Pick Connector type as EDI Separator and pick Shipper Radio button.

Source EDI separator will change over individual EDI messages to XML. For changing over the EDI design payload to XML, add the underneath module in the source channel.

Under module tab,

localejbs/X12ConverterModule – Nearby Venture Bean – 1

This ought to be the first and afterward the SAP call connector ought to come. Request is significant.

Since it is a receipt record of EDI 810, we want to determine the exchange set identifier code as 810 and rest all as *.

Click on SAVE & ACTIVATE.

Receiver Communication Channel:

Open the Coordination Catalog – > Snap on Make New symbol and pick Correspondence Channel.

Give the channel a reasonable channel name and tap on Make. Pick Connector type as Cleanser with message convention as XI 3.0 and pick Collector Radio button.

Click on SAVE and Initiate.

6. Build Integrated Configuration (ICO):

Click on NEW – > Coordinated Setup (make ICOs).

Give the Coordinated setup name and namespace. It ought to be indistinguishable from the ESR Outbound Help Point of interaction name and namespace.

Import the shipper divert and in next tab, select the business part under which the collector correspondence channel is made.

Import the Activity planning (for first ICO, no activity planning exists) from ESR. Activity planning will consequently show in the event that you have offered right Support Connection point name and namespace while characterizing Coordinated design name and namespace.

Import the recipient correspondence channel.

Click on SAVE and Initiate.

That is finished. We have made EDI to intermediary interface without any preparation. We should test it.

7. Testing the Interface:

SFTP, I have transferred an example EDI 810 document.

first ICO, no planning happens. In the event that EDI document contains various receipt sets, it will be parted separately.

second ICO source channel, the module we added for change to XML.

Also, planned to the ECC structure through message planning and went to ECC through intermediary.

SXI_MONITOR:

We have successfully developed and tested the Interface Development – B2B EDI Inbound to XML Proxy to ECC interface. Hope you found it helpful. If you have any doubts, questions, or suggestions for us, please feel free to leave your comments below.

YOU MAY BE INTERESTED IN:

Do all ABAPers know Fixed Point Arithmetic?

Understanding IDoc Status in SAP SD: A Comprehensive Guide

SAP ABAP CRM Tips

SAP

SAP PO for Beginners Part – 11 – Synchronous Interface Development – SOAP Proxy to SOAP Webservice

In this post, SAP PO for Beginners Part – 11 – Synchronous Interface Development – SOAP Proxy to SOAP Webservice,” we will guide you through creating a mediator to SOAP web service interface without any initial setup. This will be an ad hoc interface, triggered as needed from ECC, where configuration will take place and be sent to the target web service.

Thus, under is the substance we will be mind boggling in this educational activity:

Outline
Situation
Objects associated with Connection point Advancement
Fabricate Undertaking Administration Store Items
Assemble Correspondence Channels
Assemble Coordinated Setup (ICO)
Testing the Point of interaction

1. Overview:

Imagine a scenario where there is a business requirement to send the XML payload through ABAP Proxy and communicate the same to the recipient web service. You would also need to handle the response from the web service, as it is a synchronous interface. In SAP PO for Beginners Part – 11 – Synchronous Interface Development – SOAP Proxy to SOAP Webservice, we will cover how to effectively manage this process, ensuring smooth communication between the systems.

2. Scenario:

3. Objects involved in Interface Development:

In the first place, we should make information objects for the solicitation and for the reaction. In this model we won’t make information type and message type, rather we are utilizing the Outside Definitions given by the merchant. Outside Definitions are like pre-characterized field structures which you can simply import and use it in Message planning.

There will be 2 Message mappings that must be made. Solicitation to reaction and reaction to ECC yield structure.

Second, we will make a source correspondence channel of connector type Cleanser with Message Convention as XI 3.0, for ECC association. For Cleanser Intermediary association from ECC to PI, I have proactively posted a blog on it To some extent 4 of my “SAP PO for novices” series.

Third, a recipient correspondence channel of connector type Cleanser with Message Convention as Cleanser 1.1.

At last, we will make an ICO and import the shipper, recipient, and activity planning.

4. Build ESR Objects:

Prior to continuing with the making of Correspondence channels, how about we start with the result structure creation.

External Definitions:

Click on Make NEW – > Outer Definitions

Select the classification as WSDL from the dropdown and import the WSDL document. Click on SAVE and Initiate.

Service Interface:

Make two assistance interfaces. The justification behind two help connection points is:

The document is passed from ECC to PI and the reaction from PI to ECC – Outbound Assistance Point of interaction – 1

PI to Web administration and webservice to PI – Inbound Assistance Connection point – 2

Pick the Mode as Simultaneous

Outbound Assistance Connection point:

Inbound Service Interface:

Message Mapping:

Import same message types in source and target region and perform adjusted arranging. If the objective webservice contains username token (username and secret expression for security), add those fields in the objective XSD and import it in message arranging.

The username and secret key the recipient webservice can be different for every client. Like, the outsider would have arrangement different username and secret phrase for dev, QA and Push. What’s more, in the event that you offer a consistent benefit to username and secret word in DEV and on moving ESR objects to QA, you will not have the option to change the certifications in QA as it is unmodifiable.

At these kinds of cases, esteem planning comes into picture.

You should make esteem planning in Joining catalog, yet before that you want to import the standard worth planning capability in the graphical planning region and give source and target outline (simply an irregular worth to relate with diagram you make in Mix registry. Against the construction just, you will appoint username and secret phrase).

On double tapping the worth planning capability, you will be provoked to enter source office, pattern, and target organization construction. Enter an important string, so in future it will be engaging. Up until this point, you haven’t entered any accreditations. With this office pattern, you will dole out this in esteem planning bunch made in ID and referencing the certifications.

Click on SAVE & ACTIVATE.

Value Mapping:

Map the objective office and construction and guide the accreditations in the worth region. At planning runtime, framework will pick the planned certifications. By this way you can have the certifications put away in one spot and can change it in every client.

Solicitation to Reaction planning is finished, next is the webservice reaction to ECC yield structure planning.

In this way, make another message planning and import the necessary WSDL documents at the source and target.

Operation Mapping:

Import both the outbound and inbound help interfaces. Once imported, click on READ Tasks button which would peruse the message types put away in help interfaces.

When done, select the kind of planning and import the message planning made.

Moreover, in the solicitation and reaction we have imported XSL planning record in light of the fact that while sending the solicitation payload to webservice, it just acknowledges Cleanser Envelope payload body, thus while outbound we add Cleanser design to payload and keeping in mind that reaction, we eliminate it, since ECC doesn’t comprehend Cleanser structure.

In the reaction tab, import first the XSL eliminating document and afterward the message planning.

Click on SAVE & ACTIVATE.

ESR Items creation done. We should begin with the Incorporation Items advancement.

5. Build Communication Channels:

Sender Communication Channel:

Open the Joining Catalog – > Snap on Make New symbol and pick Correspondence Channel.

Give the channel a reasonable channel name and namespace and tap on Make. Pick Connector type as Cleanser and Source Radio button.

Message Convention – XI 3.0

That is all there is to it. No extra configs in channel. Click on SAVE and ACTIVATE.

Receiver Communication Channel:

Click and Make New – > Correspondence Channel – > Pick Recipient radio button and connector type as Cleanser with Message Convention as Cleanser 1.1.

Under the Association Boundaries, enter the Objective Webservice URL. As we are adding Cleanser envelope through planning, actually take a look at the choice – Don’t utilize Cleanser Envelope.

Click on SAVE & ACTIVATE.

6. Build Integrated Configuration (ICO):

Click on NEW – > Incorporated Design.

Give the Incorporated design name and namespace. It ought to be indistinguishable from the ESR Outbound Assistance Connection point name and namespace.

Import the source direct and in next tab, select the business part under which the beneficiary correspondence channel is made.

Determine beneficiary condition if any.

Import the Activity planning from ESR. Activity planning will naturally show assuming that you have offered right Support Connection point name and namespace while characterizing Coordinated arrangement name and namespace.

Import the recipient correspondence channel.

Click on SAVE and Enact.

That is finished. We have made Cleanser Intermediary to Cleanser Webservice interface without any preparation. How about we test it.

7. Testing the Interface:

For testing a simultaneous connection point, you can either do it in Cleanser UI or from PI Send Test message wizard or illuminating functionals to set off the exchange.

I will do it from PI Send Test Message Wizard.

I have the XML payload. Explore to the Send Test Message wizard, PI Landing page – > Arrangement and Checking – > Testing tab – > Send Test Message.

Select the Incorporated arrangement you made. Pick the Nature of Administration as Best Exertion. Glue the payload. Click on SEND once finished.

Note: For Simultaneous connection point, you ought to set off from the shipper framework, for this situation ECC. For testing reason, I’m setting off from PI.

1 – PI to Webservice

2 – Webservice to PI to ECC

Both are effective.

To see the effective planning, explore to the message and snap on OPEN MESSAGE button. Under the payload choice you can see the various variants of the payload.

0 – addresses the before-planning variant

2 – addresses the subsequent to planning rendition

That concludes SAP PO for Beginners Part – 11 – Synchronous Interface Development – SOAP Proxy to SOAP Webservice. I hope you found it informative and engaging. If you have any doubts, questions, or suggestions, please feel free to leave your comments below.

YOU MAY BE INTERESTED IN

ABAP for SAP HANA. ALV Report On SAP HANA – Opportunities And Challenges

OData in SAP ABAP: Streamlining Data Exchange and Integration

ABAP on SAP HANA: ATC – ABAP Test Cockpit Setup & Exemption Process

SAP

SAP PO for Beginners Part – 10 – Interface Development – File (with File Content Conversion) to SFTP

In this post, SAP PO for Beginners Part – 10 – Interface Development – File (with File Content Conversion) to SFTP, we will develop a file-to-SFTP interface from scratch. We will convert the flat file to XML format using File Content Conversion (FCC) and place it in the SFTP server location with SSH key authentication.

In short, below is the content we will be elaborate in this tutorial:

  • Overview
  • Scenario
  • Objects involved in Interface Development
  • Build Enterprise Service Repository Objects
  • Build Communication Channels
  • Build Integrated Configuration (ICO)
  • Testing the Interface

1. Overview:

Expect there is a prerequisite from business on sending the level document from ECC Application server to a SFTP area with SSH key verification. We won’t send the level record for all intents and purposes, rather convert it to XML by Document Content Change. Additionally, for getting to SFTP, we won’t go with Fundamental auth (Username and secret phrase), rather we will go with SSH key confirmation where we create private and public SSH key matches through Clay programming and give the public key to the outsider who possesses the SFTP server. We should introduce the confidential key in the NWA-> Keys and Endorsements area and notice the keystore name and view in the collector correspondence channel for fruitful validation.

2.Scenario:

3. Objects Involved in Interface Development:

To begin with, we should make ESR objects like Information type, Message type, Administration Connection point, Message Planning, Activity Planning.

Second, we will make a shipper correspondence channel of connector type Document with Message Convention as Record Content Transformation.

Third, a beneficiary correspondence channel of connector type SFTP.

Fourth, SSH KEY matches through Clay programming and introduce it in PI NWA.

At long last, we will make an ICO and import the source, collector, and activity planning.

4. Build ESR Objects:

Prior to continuing with the formation of Correspondence channels, how about we start with the result structure creation.

Data Type:

Characterize the fields and events.

Message Type:

Wrap the information type with message type. Also, this message type and namespace, you need to give it in Record CONTENT Transformation which will come while making source correspondence channel.

Service Interface:

Make two help interfaces. The justification for two help connection points is:

The record is passed from ECC to PI – Outbound Help Connection point – 1

PI to SFTP – Inbound Help Point of interaction – 2

In both help interfaces, the solicitation message type will be same, as we are passing one steady result structure.

Outbound Assistance Connection point:

Inbound Service Interface:

Message Mapping:

Import same message types in source and target area and perform balanced planning.

Click on SAVE and ACTIVATE.

Operation Mapping:

Import both the outbound and inbound assistance interfaces. Once imported, click on READ Tasks button which would peruse the message types put away in assistance interfaces.

When done, select the sort of planning and import the message planning made.

Click on SAVE and Enact.

ESR Items creation done. We should begin with the Reconciliation Items improvement.

5. Build Communication Channels:

Sender Communication Channel:

Open the Combination Registry – > Snap on Make New symbol and pick Correspondence Channel.

Give the channel a reasonable channel name and namespace and tap on Make. Pick Connector type as Record and Source Radio button.

Message Convention – Document Content Transformation

Under the Source tab, give the document way and the record name design.

Under the Handling tab, give the nature of administration (for async interfaces, it should be Precisely Once all together/Precisely Once). In the event that Precisely Once all together is picked, you should give a line name in which the connection point will be handled.

Survey Stretch – 3600 (in secs)

Handling Mode – File and notice the Chronicle Index.

Void Document Dealing with – In the event that vacant record is set in AL11, this boundary can be kept up with for the expected move to be made in such cases. Default – Don’t make message

In the event that Message Convention is picked as Document Content Transformation, an extra tab will be empowered as Record CONTENT Change.

Content Conversion Tab:

Document Name  – <Message Type Name>

Document Namespace – <Message Type Namespace>

Document Offset – <No. of lines to be skipped in the file – from top>

Recordset Name – <Root node name>

Recordset Structure – <Node name and its occurrence – 1 means node will appear 1 time and * means multiple>

Keyfield Name – <Field which must be there in file to start content conversion>

In the above picture, we can see that the primary hub is header, and it happens 1 time. There are 4 significant properties to be characterized to change it over completely to XML values.

<Node_Name>.fieldFixedLengths

<Node_Name>.endSeparator

<Node_Name>.fieldNames

<Node_Name>.keyFieldValue

Push on the Add column symbol and supplement the underneath shown lines.

The following is the Level record.

As we have referenced the Record Counterbalanced to 1, the primary line will be skirted in the change.

Next line is the header line. As we have referenced as RECORDTYPE as the key field name, framework will check for keyfield esteem present in document or not. On the off chance that present continue with the change or, in all likelihood skirt the line.

For this situation, keyfield esteem we referenced is H, and its additionally present in the level record at line 2. Subsequently continue for change.

First field name is record type and its length is 1, so record type XML label will contain esteem as H.

Next field name is CurrencyCode, and its length is 3, so in level document after H, 3 scorches will be managed and put away in CurrencyCode XML tag.

Next field in header is filler and its length is 76 which implies in level document there perhaps spaces in that first line end, and that is put away filler XML tag.

Also, after that no field name is accessible, framework will check for “endSeparator” property. As we have given “nl” (new line) as the separator, after that first line closes, framework will close the header tag and continue with the following XML tag referenced in the recordSetStructure.

1 – Record name and namespace

2 – RecordSet Name

3-According to the properties we gave, XML structure is framed. Filler is in void tag in light of the fact that XML wont store clear qualities.

Same way the other XML labels are filled. Next is replacementPartsPrices and its event is * and that implies until the condition (keyFieldValue not in level record line) comes up short, this label will continue to populate.

The following is the properties for replacementPartsPrices:

The keyFieldValue is 7. Framework will check for 7 toward the beginning of each line and continues with the transformation.

In the level record you can see, there are numerous 7 toward the beginning of the line and that many labels will show up for replacementPartsPrices.

Furthermore, that is all there is to it for Record Content Change. We will continue with the beneficiary correspondence channel.

Click and Make New – > Correspondence Channel – > Pick Collector radio button and connector type as SFTP.

Give the SFTP server subtleties:

Server, Port, Break, Server Unique mark.

Validation mode as Secret key OR Confidential KEY OR BOTH.

We pick PRIVATE KEY.

Prior to making the key coordinates, how about we fill the other fields.

Filename and record way.

If timestamp required toward the finish of the filename, actually take a look at the choice “Add timestamp to filename”.

For making the SSH Key coordinates, how about we download the Clay programming.

Follow this connect to create the SSH key matches and they take care of the import cycle in SAP PI/PO.

Enter the keystore view and name in recipient correspondence channel and snap on SAVE and Order.

6. Build Integrated Configuration (ICO):

Click on NEW – > Coordinated Design.

Give the Coordinated design name and namespace. It ought to be indistinguishable from the ESR Administration Connection point name and namespace.

Import the shipper divert and in next tab, select the business part under which the recipient correspondence channel is made.

Determine recipient condition if any.

Import the Activity planning from ESR. Activity planning will naturally show assuming you have offered right Assistance Connection point name and namespace while characterizing Incorporated arrangement name and namespace.

Import the recipient correspondence channel.

Click on SAVE & ACTIVATE.

That is finished. We have made Document to SFTP interface without any preparation. We should test it.

7. Testing the Interface:

Place a level record in AL11 area and notice the registry way in shipper correspondence channel for the channel to get it and furthermore the document way, with the goal that a similar document isn’t surveyed sometime later.

Begin the source correspondence channel and check whether the document gets gotten.

To see the document content change and effective planning, explore to the message and snap on OPEN MESSAGE button. Under the payload choice you can see the various variants of the payload.

0 – represents the before-mapping version

2 – represents the after-mapping version

I trust you were able to learn about this intriguing topic in SAP PO for Beginners Part – 10 – Interface Development – File (with File Content Conversion) to SFTP. I hope the insights provided have been valuable in understanding how to develop and manage file interfaces with content conversion to SFTP.

YOU MAY BE INTERESTED IN

ABAP Test Cockpit(ATC) – Introduction and Steps

SAP ABAP future in next coming years

Power of Parallel Cursor in SAP ABAP

SAP BTP: Handling the Business Logic in RAP – Part 1

SAP

SAP PO for Beginners Part 8 – Configure User Defined Search Criteria

This is the eighth post in blog series on “SAP PO – Cycle Organization for novices”. In this post we will see the how to design bit by bit on looking for Payload esteem by making client characterized search. Presenting SAP PO for Beginners Part 8 – Configure User Defined Search Criteria.

So, underneath is the substance we will be intricate in this instructional exercise:

  • Overview
  • User Defined Message Search Configuration

1. Overview:

Before going for SAP PO for Beginners Part 8 – Configure User Defined Search Criteria. You would have most certainly got this solicitation from functionals like, to check assuming this PO number is communicated or this client reference number is shipped off SFTP, where merchant asserts that the document was not gotten. We would explore the Message screen, go to that particular connection point transmission date and explore to the particular message. This is conceivable on the off chance that you have fewer messages. In any case, imagine a scenario where you received 1000s of messages communicated on that specific day ? You would say like, then I will channel by time. Imagine a scenario where functionals didn’t have a clue about the transmission time, the majority of the case.

At these sorts of situations, having a custom quest rules arrangement for that interface is better. That custom pursuit models is known as “Client Characterized Message Search”. Client Characterized search is only looking for an expected message in a connection point in light of the substance of the payload.

2. User Defined Message Search Configuration:

Navigate to PO Home page -> NetWeaver Administrator -> SOA -> Monitoring -> User Defined Message Search Configuration, where you will be taken to Overview page.

Client Characterized Message Search config outline screen show up, where you can see the rundown of custom message search assembled and void if not.

There are 2 segments where you will give data:

  • Interface Name and Component Information
  • XPath of the Payload Content

Under the rundown of channels, click on NEW to make a custom inquiry measure and tap on Make button.

The test interface which I took was an inbound EDI interface (EDI document to ABAP Intermediary), where I need to look for Receipt number. I won’t give shipper and beneficiary part/party. Straightforwardly interface name and namespace.

Click on SAVE once finished. In this way, the main area is finished on choosing the connection point. Second is that we want to give the XPath of the chronic number.

By choosing the recently made interface, look down and snap on NEW under Search Models tab.

Give name and depiction.

XPath is the design of the field in the payload. The XPath contains the root namespace followed by the hub and field name.

When the XPath structure is characterized, next is to give the namespace prefix.

Explore to the Prefixes tab and snap on NEW. Give the connection point namespace and the prefix, which you can find in the payload ns0/ns1/ns2.

When all finished. Click on Enact for changes to become effective. Presently you will actually want to look for the message receipt numbers for that point of interaction. This search will work for messages which came after you actuated. In this way, for the old ventures to work, there is a choice called “Ordering Choices”.

Click on Ordering Choices and select the date range for which the hunt standards ought to work in the past dates.

Whenever date is picked, click on the Starting Requesting button to start the establishment control of considering the old payload as well. To be know all about the Requesting Status, click on the Requesting status button, which would enlighten whether the establishment work is running or wrapped up.

Once got done, investigate to the Message Actually looking at Presentation page – > PI Messages tab – > Snap on State of the art in right side corner. Also select the stretch of time of the payload, like this week, month or year.

On clicking Advanced, select the Client described Search Rules checkbox and click on Add predefined button which would jump up a trade box to pick and enter the pursuit regard.

Enter the receipt number in the value data field and snap on okay and GO to channel the receipt archive.

Click on the OPEN MESSAGE to affirm that the separated payload is a right receipt document.

That is all there is to it. This is the way the receipt document can be sifted through Client Characterized Search Rules. This is only a model. We can make any client characterized search.

It might be helpful:

Introduction to SAP Process Orchestration

Fundamentals of Multitenancy in SAP BTP

SAP

SAP PO Orchestra Optimizing for future

Throughout this blog series, we’ve explored the magic of SAP PO, its functionalities, and its potential to orchestrate seamless communication across your IT landscape. Now, it’s time to shift gears and focus on optimizing your SAP PO usage for the future. In this blog, we’ll delve into SAP PO Future Trends, best practices, explore its role in evolving IT environments, and shed light on emerging trends in process orchestration.

Just like any finely tuned orchestra, SAP PO requires best practices to ensure smooth operation and optimal performance:

  • Standardization and Reusability: Develop a standardized approach to message mapping and interface design. This promotes consistency, reduces development time, and simplifies maintenance.
  • Reusability of Interfaces and Mappings: Leverage pre-built content and reusable components whenever possible. This reduces development effort and minimizes the risk of errors.
  • Thorough Testing and Monitoring: Implement a robust testing strategy to identify and rectify errors before deployment. Continuously monitor message flow and performance to proactively address any issues.
  • Documentation and Version Control: Maintain clear and comprehensive documentation for your integration scenarios. Implement version control to track changes and ensure rollbacks if necessary.
  • Security Best Practices: Enforce data security measures to protect sensitive information during message exchange. Utilize encryption and access controls to safeguard your data assets.

By adhering to these best practices, you can optimize your SAP PO implementation, ensuring reliable performance, efficient maintenance, and a future-proof integration landscape.

Scaling Up for the Hybrid and Multi-Cloud Era

As IT landscapes evolve, SAP PO continues to play a pivotal role:

  • Hybrid Integration: Connect on-premise SAP systems with cloud applications and services. SAP PO acts as the central integration hub, orchestrating data flow between both worlds. This facilitates a hybrid IT strategy, allowing you to leverage the benefits of cloud computing while preserving your existing on-premise investments.
  • Multi-Cloud Integration: SAP PO can integrate with various cloud platforms and providers. This empowers you to choose the best cloud solution for each specific need, fostering a flexible and multi-cloud integration strategy.
  • API Management: SAP PO can be integrated with API management platforms to manage APIs exposed by your SAP and non-SAP applications. This enables centralized control over API access, security, and lifecycle management.

By embracing SAP PO’s capabilities, you can ensure seamless integration within your hybrid and multi-cloud environment, maximizing the value of your diverse IT infrastructure.

The world of process orchestration is constantly evolving. Here are some exciting trends to watch:

  • Low-Code/No-Code Development: The rise of low-code/no-code development platforms simplifies integration development, making it accessible to a broader range of users. SAP PO can integrate with these platforms, empowering citizen developers to build basic integrations.
  • Artificial Intelligence (AI) and Machine Learning (ML): Integrating AI and ML capabilities into SAP PO can lead to intelligent process automation. AI can analyze historical data to optimize routing rules, identify and rectify errors proactively, and even predict potential integration issues.
  • Event-Driven Architecture (EDA): Event-driven architectures are gaining traction. SAP PO can be adapted to handle event-driven integrations, allowing applications to react to real-time events and data changes more efficiently.

These emerging trends hold immense potential to transform how SAP PO orchestrates integrations in the future. By staying abreast of these advancements, you can position your organization to leverage the latest capabilities and further optimize your integration landscape.

Conclusion

SAP PO remains a powerful tool for building robust and scalable integrations. By adopting best practices for efficient usage and embracing its role in hybrid and multi-cloud environments, you can ensure your integration strategy remains future-proof. As the world of process orchestration embraces AI, ML, and event-driven architectures, SAP PO is well-positioned to evolve and empower organizations to thrive in the ever-changing IT landscape.

This concludes our exploration of the SAP PO Orchestra. We hope this blog series has equipped you with valuable insights into its functionalities, best practices, and future potential. With careful planning, continuous optimization, and a keen eye on emerging trends, you can leverage SAP PO to unlock the power of seamless integration and drive success within your organization.

It might be helpful:

Introduction to SAP Process Orchestration

A Deep Dive into SAP FICO S4 HANA

× How can I help you?