Wojciech Eichert, Author at INT4 Your soft landing in SAP API testing Mon, 04 Jan 2021 12:09:29 +0000 en-GB hourly 1 https://wordpress.org/?v=6.0.8 SAP AIF Interface Monitor (/AIF/IFMON) – useful features you might have overlooked https://test11988.futurehost.pl/sap-aif-interface-monitor-aif-ifmon-useful-features-you-might-have-overlooked Thu, 03 Dec 2020 15:46:17 +0000 https://int4.com/?p=7857 Introduction The topic of initial setup or SAP AIF Interface Monitor (/AIF/IFMON) was covered by my colleague Mateusz Nowak in his blog. As a follow up I wanted to give a brief introduction to the SAP AIF Interface Monitor and a few of its features that are easily overlooked. Oftentimes, SAP AIF Interface Monitor feels […]

The post SAP AIF Interface Monitor (/AIF/IFMON) – useful features you might have overlooked appeared first on INT4.

]]>

In this article you will learn:

  • SAP AIF Interface Monitor features
  • Managing SAP AIF errors


Reading time: 4 minutes

Introduction

The topic of initial setup or SAP AIF Interface Monitor (/AIF/IFMON) was covered by my colleague Mateusz Nowak in his blog. As a follow up I wanted to give a brief introduction to the SAP AIF Interface Monitor and a few of its features that are easily overlooked. Oftentimes, SAP AIF Interface Monitor feels less useful then SAP AIF Monitoring and Error (/AIF/ERR) handling tool especially when looking for a quick way to troubleshoot an interface problem. However in the long run it may be beneficiary to spend some time familiarizing yourself with SAP AIF Interface Monitor and treat it as your starting point for SAP AIF activities. It helps organize monitoring and error handling process as a whole and better manage day-to-day interface maintenance tasks among team members.

I won’t be getting into details on every element of the SAP AIF Interface Monitor, instead I will focus on certain features which usefulness can be easily overlooked.

Dates selection

  • Calendar with color cues (marking days when error occurred and those error-free) and easy date range selection with select-and-drag feature.

IFMON-Date-Selection-Calendar

 

 

Mail notification management

  • The Mail icon serves as a button to switch between three different modes of mail notifications for alerts. It can be either “Mail for next alert” (default), “Mail for every single error” or “No mail”. Especially the last option may be useful when you set up alerts based on a role shared by multiple users. Thanks to “No mail” some of them may opt out from receiving email notifications.

IFMON-Mail

 

Message Summary report

  • “Message Summary” button redirects you to another screen with overview of all log messages. Here at a glance you can see the most frequent errors or search through the log messages. This feature also helps if you need to export error log information for reporting purposes. You also have the option to “Mass Restart” or “Mass Cancel” messages with a given error. Lastly you can assign log messages to users using the “Processors” button (more on that in next paragraph).

IFMON-Message-Summary

 

Details and Processor Assignment

  • Here you can assign selected log messages to a user (from users defined as recipients) that will supervise further handling of the given error. To track solution progress you can also set processing status for give messages. This will indicate if someone is already looking into the error, a solution proposal or the final action taken.

IFMON-Details-and-Processor-Assignment

 

My Messages report

  • The assigned messages are available for quick overview using the “My Messages” button from the SAP AIF Interface Monitor main screen.

IFMON-My-Messages

 

Read also:

1. Set up interface in SAP AIF Interface Monitor (/aif/ifmon)

2. /AIF/ERR ? AIF Monitoring and Error handling

3. SAP AIF – How to create Interface Variants

 

The post SAP AIF Interface Monitor (/AIF/IFMON) – useful features you might have overlooked appeared first on INT4.

]]>
Speed up Int4 IFTT test case creation using Message Selector https://test11988.futurehost.pl/speed-up-int4-iftt-test-case-creation-using-message-selector Tue, 01 Sep 2020 10:06:31 +0000 https://int4.com/?p=7024 Challenges in test case creation To aid test case creation process Int4 IFTT provides Message Selector – an enhanced search help utility built into Int4 IFTT Cockpit. It facilitates the often difficult task of picking the right messages for the test cases. Directly from the Int4 IFTT cockpit, you get to search for messages on […]

The post Speed up Int4 IFTT test case creation using Message Selector appeared first on INT4.

]]>

In this article you will learn:

  • What is the Int4 IFTT Message Selector
  • How to efficiently find messages for your test cases

Challenges in test case creation

To aid test case creation process Int4 IFTT provides Message Selector – an enhanced search help utility built into Int4 IFTT Cockpit. It facilitates the often difficult task of picking the right messages for the test cases. Directly from the Int4 IFTT cockpit, you get to search for messages on your SAP PI system including advanced selection based on message content. So how does it work?

 

Step-by-step guide

We start in Int4 IFTT Cockpit with a template row for a new test case. We fill in Interface Type, Test Case Description (optional), and Int4 IFTT Automation Object.  We now launch the Message Selector either by hitting F4 or the search help button in the Document Number field. For our example, we’ve picked up ‘PI GUID E2E Inbound’ as the Interface Type and ‘PO_DELIVERY_INB’ as Int4 IFTT Automation Object.


Int4_IFTT_message_selector_create_test_case


The Message Selector displays a new selection screen. The first field is already set to the Int4 IFTT Automation Object (‘PO_DELIVERY_INB’) based on what we’ve specified in the previous screen (otherwise it can be entered here). We can now set the rest of the selection fields according to our requirements.


Int4_IFTT_message_selector_selection_screen


  • Int4 IFTT Automation Object – object relevant for the interface we want to test. It’s populated with the value used when adding new test case row or can be selected here
  • Environment – Int4 IFTT environment indicating which PI system will be searched for messages
  • From/To Date/Time – time frame when the message we are looking for arrived into the PI
  • Max. results – for performance reasons there is a limitation on how many messages may be searched
  • Interface name – interface defined in Int4 IFTT Automation Object (auto-populated)
  • Interface namespace – interface namespace defined in Int4 IFTT Automation Object (auto-populated)
  • Sender name – selection filter for PI Sender Name
  • Sender party – selection filter for PI Sender Party
  • Receiver name – selection filter for PI Receiver Name
  • Receiver Party – selection filter for PI Receiver Party
  • Purchase Order (PO_NUMBER) – content-based search using variables configured in Int4 IFTT
  • Automation Object definition (will be described in more details later on)

Once the filters are specified we execute the search and are presented with a list of messages matching our criteria.


Int4_IFTT_message_selector_result_list


To further help with picking up the right message their payload can be displayed using the “Content” button.

Int4_IFTT_message_selector_result_list_content


We can select one or more messages from the list and hit the “Transfer selected” button to use them as new test cases (in the example 3 messages were selected).

Int4_IFTT_message_selector_result_list_selection


This brings us back to the main Int4 IFTT Cockpit screen. Depending on how many messages we’ve selected for transfer, many new rows are added to the Test Case list in the Int4 IFTT Cockpit. The Test Case Description is assigned a sequential number to distinguish each case.

Int4_IFTT_message_selector_new_test_cases


Finally, we hit the “Save” button to confirm the creation of new test cases and we are ready to start testing.

 

Searching by business data (message payload)

As mentioned before I’ll elaborate briefly on the message content-based search provided by the Message Selector. If the Int4 IFTT Automation Object has variables referring to message content defined, these variables can be used to narrow down search results to specific documents. The example below for ‘PO_DELIVERY_INB’ Automation Object defines ‘PO_NUMBER’ as a variable referencing Purchase Order Number for the delivery. The variable specifies a path pointing to a field in the message content where Purchase Order Number is stored.


Int4_IFTT_message_selector_object_definition_variable


When in the Message Selector we enter a Purchase Order Number in the ‘Purchase Order’ selection field our results will include only delivery messages referencing this particular purchase order.

Int4_IFTT_message_selector_selection_screen_content


Int4_IFTT_message_selector_selection_screen_content_reult

 

Read also

1. Bank Communication Management (BCM) – Collective Payment Order Notification In (CPON) mapping

2. Int4 IFTT crawler for robotic test case creation

The post Speed up Int4 IFTT test case creation using Message Selector appeared first on INT4.

]]>
Bank Communication Management (BCM) – Collective Payment Order Notification In (CPON) mapping https://test11988.futurehost.pl/bank-communication-management-bcm-collective-payment-order-notification-in-cpon-mapping Wed, 19 Aug 2020 13:03:57 +0000 https://int4.com/?p=6893 Introduction When working with Bank Communication Management (BCM) you want to efficiently handle the confirmations for your payments. It’s vital to have up to date information about the status of your payment at various steps of it’s processing as quickly as possible. And usually you’ll receive multiple status updates. Was it processed correctly? Has its […]

The post Bank Communication Management (BCM) – Collective Payment Order Notification In (CPON) mapping appeared first on INT4.

]]>

In this article you will learn:

  • How to process payment batch confirmations in Bank Communication Management (BCM)
  • How to set up quick mapping for CollectivePaymentOrderNotification enterprise service

Reading time: 4 minutes

Introduction

When working with Bank Communication Management (BCM) you want to efficiently handle the confirmations for your payments. It’s vital to have up to date information about the status of your payment at various steps of it’s processing as quickly as possible. And usually you’ll receive multiple status updates. Was it processed correctly? Has its delivery failed or maybe it was rejected by the bank for some other reason? That’s where the BCM payment confirmations come into play. SAP offers two ways to handle confirmations listed below – you can decide to use only one approach or a combination of the two, depending on the requirement.

  • A report RBNK_IMPORT_PAYM_STATUS_REPORT that can load a confirmation file from a system directory

a) PROS:

– No PI/PO involvement needed

– PAIN.002 (v2 & v3) format works out-of-the-box

b) CONS:

– Dedicated file system storage required

– Runs as background job

– XSLT transformation development required for non-PAIN.002 formats

a) PROS:

– No background job – quicker execution

– No dedicated storage space required

– More flexibility with mapping (e.g. from legacy formats)

b) CONS:

– PI/PO required for mapping

– No pre-delivered mapping

As you can see, both solutions have their pros and cons. The RBNK_IMPORT_PAYM_STATUS_REPORT report is potentially easier to get it running. However, it is better to put the initial effort into setting up the CollectivePaymentOrderNotification_In for quicker status updates and a more streamlined message flow based on proxy engine processing.

I present below a simple mapping that will help you quickly start off with your interface. For the PAIN.002 format you could reuse pre-delivered transformation PAIN002_V2_TO_CPON or PAIN002_V3_TO_CPON however that’s not the scope of this article.

 

CollectivePaymentOrderNotification

Important elements:

  • CollectivePaymentOrderNofitication/ID

– Data medium reference number

  • CollectivePaymentOrderNofitication/ExecutionStatusCode

– General batch execution status

  • CollectivePaymentOrderNofitication/ExecutionStatusNote

– General batch execution note

  • CollectivePaymentOrderNofitication/RejectionReason

– General batch rejection reason

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/ID

– Document Number of the Payment Document

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/ExecutionStatusCode

– Payment item execution status code

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/ExecutionStatusNote

– Payment item execution note

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/RejectionReason/Code

– Payment item rejection code

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/RejectionReason/Note

– Payment item rejection reason (text description)

  • CollectivePaymentOrderNofitication/PaymentOrderNotification/PaymentReference

– Document Number of the Payment Document

The status code and note elements are being concatenated and mapped using the table  TBNK_XST_2_IST to Payment business transaction (e.g. “Accepted by Bank”).

Example message:

<n0:CollectivePaymentOrderNotification_async xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
  <MessageHeader>
    <ID/>
    <CreationDateTime>2020-01-30T14:55:03</CreationDateTime>
    <TestDataIndicator/>
    <BusinessScope>
      <TypeCode/>
      <InstantID/>
      <ID>SAA</ID>
    </BusinessScope>
  </MessageHeader>
  <CollectivePaymentOrderNotification>
    <ID>2012768126</ID>
    <ExecutionStatusCode>PAIN</ExecutionStatusCode>
    <ExecutionStatusNote>ABCD</ExecutionStatusNote>
    <PaymentOrderNotification>
      <ID>3000039647</ID>
      <ExecutionStatusCode>PAIN</ExecutionStatusCode>
      <ExecutionStatusNote>ACCP</ExecutionStatusNote>
      <PaymentReference>
        <ID>3000039647</ID>
      </PaymentReference>
    </PaymentOrderNotification>
  </CollectivePaymentOrderNotification>
</n0:CollectivePaymentOrderNotification_async>

Summary

Although the message structure for CollectivePaymentOrderNotification_In is pretty complex only a few elements are actually required to start using this enterprise service. Some specifics (like status mappings) will of course differ from case to case, but I hope the general approach is clear now.

 

Read also

1. PGP (Pretty Good Privacy) in SAP PI/PO using Secure Connectivity Add-on

 

The post Bank Communication Management (BCM) – Collective Payment Order Notification In (CPON) mapping appeared first on INT4.

]]>
PGP (Pretty Good Privacy) in SAP PI/PO using Secure Connectivity Add-on https://test11988.futurehost.pl/pgp-pretty-good-privacy-in-sap-pi-po-using-secure-connectivity-add-on https://test11988.futurehost.pl/pgp-pretty-good-privacy-in-sap-pi-po-using-secure-connectivity-add-on#comments Wed, 23 Oct 2019 12:12:50 +0000 https://www.int4.com/?p=2845 SAP PGP in SAP PI/PO When developing SAP PI/PO interfaces, one might come across a requirement to provide a more secure way of sending messages back and forth. Especially, when setting up communication with banks, you want to ensure files send to bank reach their destination with original content. We want to be sure nobody […]

The post PGP (Pretty Good Privacy) in SAP PI/PO using Secure Connectivity Add-on appeared first on INT4.

]]>

In this article Wojciech Eichert explains:

  • How to increase communication security by implementing PGP encryption into SAP PI/PO configuration
  • SAP PGP in SAP PI/PO
  • How to use Sender Communication Channel
  • How does the Receiver Communication Channel work

SAP PGP in SAP PI/PO

When developing SAP PI/PO interfaces, one might come across a requirement to provide a more secure way of sending messages back and forth. Especially, when setting up communication with banks, you want to ensure files send to bank reach their destination with original content. We want to be sure nobody modified details of our payment. This requirement can be met with use of PGP (Pretty Good Privacy) software, provided with SAP PGP module and adapter modules it provides. The idea behind PGP is to encrypt the message in such a way that only the intended recipient can decrypt it’s content. This is achieved using shared keys.

 

In the example below, we use Secure Store feature to store encryption/decryption keys, however, SAP PI/PO file system can be used as well.

 

B2B Integration Cockpit

On the screenshot above we can see three keys imported into PGP Secure Store:

  • Own pair of keys (they can be generated with publically available software)
  • Public key that we share with third party (‘LOCAL_PUBLIC’)
  • Private key we keep to ourselves (‘LOCAL_PRIVATE’)
  • Public key provided by the third party (‘3rdParty_PUBLIC’)

Sender Communication Channel

Now we can configure our communication channels to implement PGP security with provided adapter modules.

First, let’s set up decription for messages we receive from third party. For this purpose, we use ‘localejbs/PGPDecryption’ module in our sender communication channel:

  • ownPrivateKey – name of our private key in Secure Store
  • partnerPublicKey – name of third party public key as maintained in Secure Store
  • pwdOwnPrivateKey – password to our private key (the password is set as part of key generation process)
  • useSecureStore – indicates if we use Secure Store or file system

 

Sender Communication Channel

Receiver Communication Channel

In order to send out encrypted messages to third party, use ‘localejbs/PGPEncryption’ adapter module in our receiver channel and configure following parameters:

  • applyEncryption
  • applySignature- true if recipient expects the message to be signed
  • encryptionAlgo – algorithm used for encryption
  • format – text or binary
  • ownPrivateKey – name of our private key in Secure Store
  • partnerPublicKey – name of third party public key as maintained in Secure Store
  • pwdOwnPrivateKey – password to our private key (the password is set as part of key generation process)
  • useSecureStore – indicates if we use Secure Store or file system for the keys

 

Receiver Communication Channel

Learn more!

For more details on additional parameters and allowed values, you can visit website below: https://help.sap.com/viewer/5336c62e683348a8886ff7ef4b15c40f/1.0.5/en-US/08d47f0c5abd4f4f9d0b167ff693b1a7.html

The post PGP (Pretty Good Privacy) in SAP PI/PO using Secure Connectivity Add-on appeared first on INT4.

]]>
https://test11988.futurehost.pl/pgp-pretty-good-privacy-in-sap-pi-po-using-secure-connectivity-add-on/feed 3