cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PO backup communication channel.

arturtarabula
Explorer
0 Kudos

Dear Community,

I am still learning the PO system, currently I am trying to set up configuration with backup's communication channel. What I mean is, when the main communication channel is not avaiable (e.g. the SFTP server is down), the backup communication channel should be used (backup SFTP server). Is there any possibility to achieve such a scenario on the PO?

Currently I am thinking about writing Java module which will be executed in Sender Communication Channel after CallSapAdapter, and the module will check if the timeout has been reached, based on this, the message will be put to the "Error" directory.

There will be another communication channel which will read the "Error" directory and will forward the messages to the backup SFTP sever.

What do you think about this? Is there any simplest way to achieve this?

Best regards,

Artur

Accepted Solutions (1)

Accepted Solutions (1)

former_member190293
Active Contributor

Hi Artur!

Maybe you could take a look at sendNoOp() method of Apache Commons FTPClient class.

For example, in Extended Receiver determination you use this method in java code to "ping" the server and set receiver accordingly. And for each receiver you set its own communication channel.

It's just a thought at first sight.

Regards, Evgeniy.

Answers (3)

Answers (3)

weberpat
Contributor

I 'm aligned with Evgeniy that it would probably be a better idea to check availability of the endpoint before finalizing the receiver determination step so that the final receiver can easily be determined from your monitoring tools. Besides the option to ping the receiver from an enhanced receiver determination step, you could think of doing it straight from your sender system. We've had a scenario at one of my previous clients where we implemented a ping functionality in ECC to determine whether the main endpoint was up and raised an alert to support in case it wasn't. Instead of raising and alert, the message could automatically be flagged with a routing criterion that would prompt PI to select an alternate receiver.

arturtarabula
Explorer
0 Kudos

Hello Patrick and Evgeniy,

Many thanks both of you for the advises, I have used enchanced receiver determination. I have created message mapping from IDoc to message type "Receivers" from Basis 7.50, and as a "Service" I am returning my Business Component which is related with correct Communication Channel.

In the UDF I have used the SocketAddress class, and then socket.connect to check if the IP:PORT is reachable.

Best regards,

Artur

former_member190293
Active Contributor
0 Kudos

Hi Artur!

Wouldn't you please clarify how will your module check for timeout? And what do you mean saying "timeout" when the target server is down?

Regards, Evgeniy.

arturtarabula
Explorer
0 Kudos

Hi,

This is just my idea, so far I have no idea if there is a possibility to check the communication channel timeout from the Java.

That is why I am searching for some better idea 🙂

Best regards,

Artur