Quantcast
Channel: SCN : All Content - Process Integration (PI) & SOA Middleware
Viewing all 7030 articles
Browse latest View live

SOAP sender to SFTP receiver aknowledgements?

$
0
0

We have ABAP proxy sender --> SFTP receiver scenarios in place that have an acknowledgement coming back on the CENTRAL_BACK pipeline.  How do I get this same acknowledgement functionality to work on a SOAP sender-->SFTP receiver scenario?  Is it possible?  We have Seeburger SFTP adapter.  PI 7.1.


Error occurred while connecting to the ftp server: 451 UnExpected reply code Failure writing to local file

$
0
0

Hi,

 

   I am trying to write a file into legacy system from SAP through PI(File Adapter). Got the given below error message, please suggest where would be the problem. I checked with unix team who takes care of ftp server. They confirmed that user account can do remote logins, and no it is not an admin account. Also they are able to ftp files too.

 

Error message: " Error occurred while connecting to the ftp server : severname

                                  Error during STOR/APPE epilogue:

                                  451 UnExpected reply code Failure writing to local file". 

 

In communication channel, tried to test "Ping Channel". It gives me "FTP Connection test error {0} and {1} cannot be created"

 

Error_Message.png

Thanks in advance.

 

Regards

Rupa   

why set channel in Automatically control without Availability Time Planning

$
0
0

Dear experts,

 

I understand that we can set channels in Automatically control mode when we have specific time planning for the channels, but why I find some channels are set in Automatically mode without any Time Planning for them?

 

Such channels are configured for MDM and SOAP adapter as far as I met.

 

Could anyone suggest what is the meaning of Automatically control mode in such case? And if we change it to Manually, will anything get wrong?

 

Thanks a lot.

How to use SOAP Action ?

$
0
0

Hi All,

 

In SAP PI, i need to use the SOAP action in the receiver communication channel..

From the webservice, i need to use the method: getEncryptedHexDataFromString

 

SOAP action given in the webservice is as below:

<soap:operation soapAction="getEncryptedHexDataFromStringAction"/>

 

This SOAP action does not have URL.. it has only method name.. Whether this is sufficient or URL is needed...Please suggest on this..

 

Thanks,'

Shyam Sundar

Problem in stored Procedure to make database consistance.

$
0
0

Hi Experts,

I am facing an issue when trying to post data in database table by stored procedure. Suppose in one message the stored procedure is calling for 5 times as it has five repeated segment for StatementName and first call is inserting data in header table and next four calls are inserting data in detail table. Now in the four records insertion in detail table, one has bad data(say the last segment), so the stored procedure has failed. But what is happening, the stored procedure is inserting one record in header table and three records in detail table and for fourth it is failing in communication channel. And with a time interval again the whole message is trying to execute in database side and again inserting one record in header table and three records in detail table and for fourth it is failing in communication channel. and so on. What I need to do to make the database consistent, I need to fail the whole message, means either insert all the records in header and detail table or not a single record should be inserted in database.

 

How I can achive this?

 

Thanks,

Anirban Dutta.

SAP PI

$
0
0

Hi Experts,

 

I am working as SAP ABAP Consultant,now i want to shift to SAP PI. Could you please give me some suggestions regarding Process Integration(PI),How was the demand for SAP PI in the market.is it possible to learn SAP PI through google...

 

Thanks & Regards,

Chinni

SAP Netwever 7.3 EHP 1 Installation

$
0
0

Hi Friends,

I am planning to install netweaver PI 7.3 EHP 1 Java only stack.But When I launch the installation, I am getting confused as it is giving many  options like advanced adapter engine,AEX,processorchestration .Please suggest me the right option to select for installing netweaver PI 7.3 EHP1(JAVA only). Thank in advance

 

 

Best regards

keerthan

Usage of Mapping Runtime Constants

$
0
0

Usage of Mapping Runtime Constants

 

APPLIES TO :

 

SAP Process Integration 7.1 and Above Versions.

Accessing Mapping Runtime Constants through SAP PI graphical maps.

 

 

 

SYNOPSIS :

 

In many of the SAP PI scenarios it is required to send certain SAP PI Runtime Constant to the target system. These are mainly Mapping Runtime Constants those are present in the XI Message Header. These parameters and their values can be accessed by mapping programs. The mapping runtime saves the fields as key-value pairs. Some Mapping API’s provide string constants to access mapping runtime constants.

 

Author: Shreya Sen Gupta

Company: IBM Global Business Services, India.

Created on: 22nd May 2013

 

 

Shreya Sen Gupta is a SAP Technical Consultant in IBM Global Business Services. She is working with IBM since 2010 and presently involves with pharma- based project, which is one of the biggest implementation projects in IBM. Her technical expertise includes SAP Process Integration,JAVA/J2EE and MDM. She has experience of working in diverse SAP Landscapes and with different integrations.

 

 

TABLE OF CONTENTS :

1 INTRODUCTION............................................................................................... 3

2 ACCESSING CONTAINER OBJECTS................................................................... 3

3 KEY - VALUE PAIRS........................................................................................... 4

4 SCENARIO DESCRIPTION................................................................................. 5

5 STEP BY STEP PROCESS................................................................................... 6

6 TESTING THE SCENARIO.................................................................................. 9

7 SUMMARY...................................................................................................... 11

 

INTRODUCTION :

 

Sometimes it may be necessary to access fields in message header (mapping runtime constants) into mapping programs.  This is required either to populate the value to the target field or just to change the value at runtime. Mapping runtime constants can be used to get access to those values. The mapping constants are saved as key-value pairs.  The message header of an XI message contains values for a particular attributes that can be used to write additional information or changed at runtime.

 

This article describes one way of using mapping runtime constants “TimeSent” and usage of Dynamic Configuration. This scenario will populate file name with timestamp dynamically in the message header for one interface, along with that populating a target field with the same filename with timestamp in a different mapping for other interface.

 

ACCESSING CONTAINER OBJECTS

When using the container object, one do not just temporarily save values for a user-defined function, one can also access the following objects as well:

           MappingTrace object to write messages to the trace. 

           GlobalContainer object to exchange values between different user-    defined functions.

           Map object to access mapping runtime constants.

The following figure shows how the GlobalContainer and Container objects access mapping runtime constants.

                                Capture.PNG

                              

KEY/VALUE PAIRS :

In XI Message Header, Runtime Constants are stored as key-value pairs. Examples of Key-Value Pairs in the Map for Runtime Constants

Key

Value

MessageClass

ApplicationMessage

ProcessingMode

synchronous

ReceiverNamespace

http://com.sap/xi/example

The keys are derived from the field names of the fields in the message header. To be able to read the fields of the message header at runtime, one must access the map for the runtime constants. However, if one has to access the map by using the keys specified above and one of the keys were to change, the program code would be rendered invalid. For this reason, the mapping API provides string constants that can be used to access the map in place of the keys.

 

 

 

 

 

SCENARIO DESCRIPTION :

 

Simple example is taken for demonstration of accessing mapping values.

Two Message mappings in two different Operation Mapping will be triggered at the same time, first is a SOAP to File scenario and the second is SOAP to Idoc scenario.

First mapping will populate the file name (at a particular timestamp, specifically at the time the message is sent) in Runtime at message header via Dynamic Configuration.

Second mapping, will populate the same file name (at a particular timestamp, specifically at the time the message is sent) in a target field of Idoc.

 

Diagrammatic Representation:

 

                                                                        Capture.PNG

STEP BY STEP PROCESS :

 

 

 

 

Message Mapping 1                                                                    Capture.PNG

 

 

 

Accessing mapping constants in message mapping is done by “Container” object (“getTransformationParameters” method).

This UDF will populate the file name with a timestamp (when the message is sent by the sender) at the Message Header during runtime.

 

Code for UDF : dyncon_filename

 

public String dyncon_filename(Container container) throws StreamTransformationException{

try {

 

String filename    = "";

 

//String timestamp = "";

 

DynamicConfiguration conf1 = (DynamicConfiguration) container

 

    .getTransformationParameters()

 

.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

 

DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http:/"+"/sap.com/xi/XI/System/File","FileName");

 

 

String  time;

// get runtime constant map

  1. java.util.Map map;

map = container.getTransformationParameters();

 

// get value of header field by using variable key

 

time = (String) map.get("TimeSent");

time=time.replaceAll("-","");

time=time.replaceAll(":","");

time=time.replaceAll("T","");

time=time.replaceAll("Z","");

filename="spotqoute_"+time+".txt";

conf1.put(key1,filename);

//filename1 = filename;

return "";

}

 

catch(Exception e)

 

{

 

     String exception = e.toString();

 

      return exception;

 

}

}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Message Mapping 2

                                                                              Capture.PNG

 

 

 

In the second mapping populating a target field from a UDF, containing the file name with the exact time stamp (when the message is sent by the sender).

 

Code for UDF : Populate_FileName

 

public String Populate_FileName(Container container) throws StreamTransformationException{

 

try {

 

String  time;

// get runtime constant map

  1. java.util.Map map;

map = container.getTransformationParameters();

 

// get value of header field by using variable key

 

time = (String) map.get("TimeSent");

time=time.replaceAll("-","");

time=time.replaceAll(":","");

time=time.replaceAll("T","");

time=time.replaceAll("Z","");

String filename="spotqoute_"+time+".txt";

return filename;

 

}

 

catch(Exception e)

 

{

 

     String exception = e.toString();

 

      return exception;

 

}

}

 

 

 

 

 

TESTING THE SCENARIO :

 

Message is triggered from RWB.

 

Integration Engine Monitor:

                                                                                 Capture.PNG

 

 

As per requirement, interface will branch to two separate messages for two different receiver interfaces.

First one is SOAP to File scenario, populating file name dynamically.

File name: spotqoute_20130427190415.txt

 

Execution after First operation Mapping:


 

 

 

                                                                    Capture.PNG

 

Second one is SOAP to Idoc scenario, populating file name at the particular time in a target field.

File name: spotqoute_20130427190415.txt

 

Execution after Second operation Mapping:

                                                 Capture.PNG

SUMMARY :

 

In this scenario I have tried to explain the usage of mapping runtime constant those are available in the XI Message Header. Here I have used runtime constant TimeSent to achieve the business requirement. This parameter returns the time stamp specifying the message was sent by the sender. The format of the time stamp is as follows : YYYY-MM-DDTHH:MM:SSZ. The letter ‘T’ separates the Time from the Date.


In our code we have removed the characters ‘-’, ‘:’, ‘T’ and ‘Z’ because we do not require them in our file name.

There are other runtime constant available as well which can be use for different requirements.


How to Handle ABAP parsing error in Server Proxy .

$
0
0

Hi Experts,

 

     In server proxy (async), PI makes the call to ECC, Proxy would be invoked then abap code execution work continues.

Once the soap/xi adapter makes a call to ecc, message status would be set to 'successful'.

 

Suppose 'data type' is changed in PI and regeneration of Proxy is not done at ECC.

 

if we execute this scenario, it will leads to an exception.

 

How to handle these kind of exception in pi 7.31?

 

waiting for your inputs.

 

BR,

Avinash M

After trying everything, still getting "Business Server Page (BSP) error"

$
0
0

Hi,

 

My system is PI 7.0. I need to go to RWB -> Alert Inbox, but I am keep getting error as

 

 

I tried things below and still getting the same error, I am just what else I can do?

 

1. Applied SAP Notes 1677095

2. Ran program BSP_ACTIVATE_LONG_APP for BSP_NAME as UWS_FORM_SERVICE, ALERTPERSONALIZE_RULES and ALERTSUBSCRIPTION to unlock them.

 

 

Really appreciate your help.

Error while sending message: java.io.IOException: invalid http response: 220-This is the SANDBOX/DEV/QA MOVEit FTPS Server

$
0
0

Hi Experts,

 

This error happened when I am in "RWB -> Component Monitoring -> Adapter Engine -> Test Messages" , I am trying to use File adapter FTP a file to a server, the server name is such as "abc.ca", the port number is "5000", so in the field "Send Message To" of  "Test Messages" page, I put it as "http://abc.ca:5000", I am just wondering is this correct? Apparently something is wrong here, since I am getting the error message:

 

 

Would be greatly appreciated if any clues.

XI 3.0 Migration to a new Data Center

$
0
0

Hi All,

 

We are currently migrating the XI 3.0 system from an existing Data center to our data center. Before GO-LIVE, we are conducting a DRY RUN on our New XI 3.0 Production system.

 

The challenge we are facing here is how the communication channels can be deactivated before or as soon as the system is up for dry run?

 

Client has asked to carry out the dry run without impacting the current production files. Now, when our XI 3.0 Production system is started, it would automatically start all communication channels which means our XI 3.0 Production system will try to establish connections with Vendor systems(Internal and Data Center Systems) before we manually shut them down.

 

In such a situation, there is a very high possibility that some production files may be fetched into NEW SERVER before the communication channels are shut down manually.

 

If such a thing would occur, it may impact the current Production Environment (we are assuming, the impact would be severe, hence it’s a high RISK factor task).

Kindly suggest.

Regards,

Rajesh

 

IDOC AEX and messages in Delivering and "To Be Delivered"

$
0
0

Hi

 

We are on a dual stack PI 7.3.1 sp6 and we have seen lately that some messages are placed in the status "To Be Delivering" and Delivering.

Currently the only way we have to restart the messages is to restart the J2EE server. Which is not a good way to get messages processed on in a productive system.

 

Any pointer to how We can get the messages restarted?

Error starting integration builder from client pc

$
0
0

Hi,

 

After logged in to pi 7.3 server I am trying to launch integratin builder but getting this error

 

#6 11:32:44 [AWT-EventQueue-2] WARNING com.sap.aii.utilxi.swing.framework.personalization.persist.MuffinResourcePersistor: No muffin found - probably this is the first run after a WebStart cache refresh or the first run at all.

Thrown:

java.io.FileNotFoundException: http://****************:57600/dir/ibdirCLIENT_SIDE_AutoCompleteUser_preferences.xml

 

 

I have tried with serveral version of jre 1.6,1.7 but nothing seems to work . Any suggestions what is wrong with my pc?

 

reagrds,

 

7Z

SOAP EJB Exception: : java.lang.NullPointerException

$
0
0

Dear All,

 

We are working on a IDOC to SOAP asynchronous scenario. i imported the WSDL file in PI and mentioned the URL in SOAP communication Channel.

My WSDL structure is like this.

 

Untitled3.png

I used the same WSDL for other scenario as well and used only Employee structure and it is working fine.

In current scenario im using Dependent structure.


i can see the messages in the moni and RWB as well.

In moni the messages are successfully processed. no data is going to webservice and the acknowledgement got ailed.

i did not use any acknowledgement.

 

Untitled.png

It is giving the response message and the status of message is system error in RWB.

Untitled1.png

If i click on the acknowledgement msg ID.

Untitled2.png

 

Exception caught by adapter framework: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: EJB Exception: : java.lang.NullPointerException

 

-              <Trace level="1" type="B" name="CL_IDX_IDOC_SERVICE-ENTER_PLSRV">

 

               <Trace level="1" type="T">Pipeline Service ID: PLSRV_CALL_ADAPTER</Trace>

 

              <Trace level="1" type="T">Get Information from IS-Header Objekt</Trace>

 

               <Trace level="1" type="T">Get Information from SD-IDoc-Endpoint</Trace>

 

                <Trace level="1" type="T">Sender and Receiver after Header-Mapping</Trace>

 

                <Trace level="1" type="T">Sender service BS_HIS_System</Trace>

 

                <Trace level="1" type="T">Receiver service BS_erpdev2_R3</Trace>

              </Trace>

              </Trace>

            <Trace level="1" type="System_Error">Error exception return from pipeline processing!</Trace>

               <Tracelevel="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />

 

Help me to resolve this issue.

 

Regards

Bhargava krishna


Proxy to SOAP with file attachment

$
0
0

Hi,

 

Before I describe the requirement I would like to say that I did search on scn before posting this query

 

I have a scenario where in an ABAP Proxy with File Name and Date_Time in it's structure would send a flat file as an attachment.

PI is required to drop this flat file in target server using SOAP adapter.

For some reasons FTP or SFTP connectivity is not recommended.

 

Kindly suggest how to proceed with this design.

 

Regards,

Vishal

SOAP sender to SFTP receiver aknowledgements?

$
0
0

We have ABAP proxy sender --> SFTP receiver scenarios in place that have an acknowledgement coming back on the CENTRAL_BACK pipeline.  How do I get this same acknowledgement functionality to work on a SOAP sender-->SFTP receiver scenario?  Is it possible?  We have Seeburger SFTP adapter.  PI 7.1.

integration builder not working after pi7.3 ehp upgrde >PI 7.31

$
0
0

Hi Guys,

 

Need urgent help,

 

after ehp upgrade of PI 7.3 (abap+_java) > PI 7.31

we  are not able to access integration link builder,

 

Cannot connect to server using message server: ms:/<host>:8103/P4 See error logs for details

 

checked -

notes on relevant error and respective entries in configuration are correct,

post config -upgrade wizard executed

sld-and cmi update with latest support pack

 

kindly suggest on this asap,

---------------------------log and trace below--------------------------

 

application log -


#2.0 #2013 06 28 12:10:11:125#+0530#Error#/Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/File#

com.sap.SOA.apt_file.0001#BC-XI-CON-AFW#com.sap.aii.af.lib#C000AC10824101CD0000000000001634#22924050000007380##com.sap.aii.adapter.file.File2XI.invoke()#Guest#0##BF92A359DFA811E2C8F8001999E131BE#bf92a359dfa811e2c8f8001999e131be#bf92a359dfa811e2c8f8001999e131be#0#XI File2XI[CC_File_Sender/PI_Service/*]_146#Plain##

Channel CC_File_Sender: No suitable sender agreement found#

 

 

default trace -

 

#2.0 #2013 06 27 23:16:51:506#+0530#Error#com.sap.aii.af.service.sld.SLDRegistrationJob#

#BC-XI-CON-AFW#com.sap.aii.af.lib#C000AC108241002F0000000200001914#22924050000002111##com.sap.aii.af.service.sld.SLDRegistrationJob.SLDRegistrationJob.invoke()#Guest#0##17DAFD98DF5111E29E47001999E131BE#17dafd98df5111e29e47001999e131be#17dafd98df5111e29e47001999e131be#0#SAP_AFScheduler.Worker#Plain##

SLD Registration Job: No access to SLD. Waiting for next retry. Error: SldProxy.pingCimClient() did not succeed.#

 

notes on  pi 7.31 checked for post configuration-,

 

which log to paste again,

 

Regards,

Prashun

HTTP Error code 404 in SAP PI.

$
0
0

Dear All,

 

We have a synchronous scenario from Legacy to ECC thru PI. The issue now is for few

synchronous message (may be < 1% of messages) we are getting "HTTP Error: Receiving Message"

in MONI. Please find the detailed error below:

 

  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  Call Adapter
  -->
- <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SAP:Category>XIServer</SAP:Category>
  <SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
  <SAP:P1>400</SAP:P1>
  <SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>
  <SAP:P3>(See attachment HTMLError for details)</SAP:P3>
  <SAP:P4 />
  <SAP:AdditionalText />
  <SAP:Stack>Error while receiving by HTTP (error code: 400 , error text: ICM_HTTP_CONNECTION_FAILED) (See attachment HTMLError for details)</SAP:Stack>
  <SAP:Retry>A</SAP:Retry>
  </SAP:Error>

***************************************************************************

 

Error: -20
Version: 7200
Component: ICM
Date/Time: Tue Mar 12 13:46:00 2013 
Module: icxxconn.c
Line: 2271
Server: HOSTNAME_XXX_10
Error Tag: {001b5d55}
Detail: Connection request from (43/22524/0) to host: XXXXXX, service: 8100 failed (NIECONN_REFUSED) EX-T43, U22524, 950 PIAFMIP, 10.XX.XX.XX, 13:45:55, M0, W5, , 1/0


FYI:     This happens only for few sync messages.
            IE config in SXMB_ADM is fine. 
            All other setting are working correctly.
           This is not a data issue. The same messages can be sent back again.

            is this the problem with the ECC Server of PI. If its a PI/ECC issue,  Please let us know to resolve this issue.

 

Thanks in Advance.

Use temporary file in Receiver file channel

$
0
0

Hi Experts,

 

Is there any advantage of using "use temporary file" in receiver file adapter?

The file is written as temporary file and would be deleted only after its written completely.

 

Is there any special cases/exceptions/inconsistencies?

 

Please advise.


Thanks,

Sushama

Viewing all 7030 articles
Browse latest View live




Latest Images