SAP & Oracle partner and support companies

Loading

Archives July 2025

SAP

Applying Enterprise Integration Patterns in SAP ABAP

In this article, I will attempt to make sense of how for apply Venture Combination Examples in ABAP. Applying Enterprise Integration Patterns in SAP ABAP. Try not to be frightened with the modern term. When you wrap up perusing this page you would acknowledge it is the hello fi name given to the arrangement of examples messages coming to Drain. . So kindly accompany me.

Gregor, H & Woolf, B. (2003), “Learning the technology, however, is just the first step—the real goal is to learn how to effectively apply the technology”.

Starting around 2001 in my whole expert vocation I worked in Microsoft Advancements. Yet, in 2013 the organization I work began a change venture and I got the rare chance to begin as an ABAP engineer I took the courses and did my confirmation. I was prepared in Microsoft regions however I was as yet a novice at SAP ERP world and my most memorable test was to fix an occurrence that was a high need for the organization.

The issue was that the message exchanges at SAP POS DM (Retail location Information The executives) were copying. The issue happened when the source framework for outer reasons re-sent a bunch of messages, in outcome, copying exchanges which could be envisioned in the POSDM Workbench (T-Code/POSDW/MON0) and the effect for the business was that the administration division couldn’t accommodate the marketing projections of the day. Let’s get started with Applying Enterprise Integration Patterns in SAP ABAP.

SAP POS DM (Point of Sale Data Management)

SAP POSDM expected that on occasion you would have a few exchanges copied on the grounds that it needs to resend the directive (for some business need) however only a couple of exemptions, not many copy messages consistently. So according to the perspective of joining, we can hand-off in the shipper so every message of each and every nonconcurrent connection point ought to carry out the Idempotent Collector (one that can securely get similar message on various occasions) combination design. This, obviously, was not yet carried out at the message transport administration. For our situation, the shipper was SAP PI and the collector arrangement was a RFC connector direct call that doesn’t uphold the nature of administration.

The Idempotent Collector design settle how a message beneficiary arrangements with copy messages. Another option could be at the administrations layer, for example, web administration, a solid message that could ensure Nuclear message exchange (for example a bunch of unmistakable changes as a solitary activity) however that sounds another post. Today we would see how we carried out Idempotent Example in the beneficiary connection point in SAP ABAP utilizing Venture Mix Examples.

An improvement or a custom ABAP program Idempotency as per Gregor, H and Woolf, B. (2003) can be accomplished through two essential means:

  1. Explicit “de-duping“, i.e. the removal of duplicate messages.
  2. Defining the message semantics to support Idempotency.

For our situation, e chose to utilize choice number one by monitoring messages that it previously got with the assistance of a special message identifier. For this we recognized the Remote Capability Module (RFC) that was utilized in the message stream to send messages from PI to Drain. The valued RFC was/POSDW/CREATE_TRANSACTIONS_EXT. We were searching for a choice to improve it and fortunate, at the absolute starting point of the capability we found and upgrade point. So without a second thought we carried out the upgrade direct segment toward meet our necessity.

Explicit "de-duping", i.e. the removal of duplicate messages.

Our plan approach was basic at this point viable thinking about the need of great importance. We made a straightforward table for recording the messages got with a remarkable key utilizing the GUID (Worldwide Extraordinary Identifier). This GUID was important for the approaching boundaries of the capability and it is sent and created by SAP PI for each message. The second field FECMOVTO was the timestamp that we utilized for documenting.

GUID

When we made the table we executed the example. There was no such thing as in the event that the approaching message in the table then it would be endured else it would be disposed of. Basic and sweet. Isn’t it?

implemented the pattern

As per Gregor, H and Woolf, B. (2003), an exceptional message identifier improves on this errand and recognizes those situations where two genuine messages with a similar message content show up. By utilizing a different field, the message identifier, we don’t attach the semantics of a copy message to the message content.

DATA GROWTH

There was one more worry for our IT Planner group. That is, shouldn’t something be said about the table size? With time old records ought to be filed. For this, we composed a straightforward erasure program utilizing the time stamp saved in the table.

This program gets the complete number of records characterized in the info boundaries and erase from the table for information before the date demonstrated in the choice screen.

SAP ABAP Training

Keep in mind, I was a fresher to Drain ERP and SAP ABAP. This was my most memorable task as an ABAPer. However, a terrifying one. Be that as it may, a few standards hold great across innovations. As far as I might be concerned, knowing how to involve designs gave me the arrangements in ABAP (even absent a lot of involvement). What’s more, I could choose to utilize this example again in future in some other new stages too. Simply the language structure changes, the engineer’s brain plans/creates in similar way across stages. Isn’t it?

YOU MAY BE INTERESTED IN

SAP HANA Consultant Cost, Fees, And Job

Oracle Coherence: Turbocharging Data Caching for Enhanced Performance

Oracle RAC Training

SAP

DELETING rows of the internal table within the LOOP. Is it a Taboo? A big NO NO?

Before answering DELETING rows of the internal table within the LOOP. Is it a Taboo? Know that Such an extremely long time, I was informed that Erase proclamation inside a Circle is constantly disallowed. Assuming you erase any columns inside a Circle, it is ensured that the Quality Commentator would give you a point and request that you change your code to erase the sections outside the Circle.

Subsequent to going through Naimesh’s post on execution on Erase, I considered how might erasing the passages of the table on which we are circling would act in two situations. This is an extremely pragmatic situation where we want to Erase passages of the Circling table in view of certain checks (For effortlessness, I’m checking a field of similar table, however in genuine ventures, you could check another table fields and afterward erase the driver Circling table). DELETING rows of the internal table within the LOOP. Is it a Taboo?

Since the vast majority of the designers utilize STANDARD Inward tables, I’m investigating just STANDARD inner tables (Arranged/HASHED Tables should sit tight for another day)..

The two scenario DELETEs we are talking today are:
1) Parallel Cursor Technique with DELETE w.r.t INDEX within the LOOP.
2) Parallel Cursor Technique with marking the row to be DELETED and then DELETING all at one shot outside the LOOP.

What does your legitimate psyche say? (DELETING rows of the internal table within the LOOP. Is it a Taboo?)

Allow me to tell the truth. Since my preparation days, very nearly 10 years prior, we were informed that Erase inside Circle is rarely adequate. Thus, I generally required the subsequent course. Mark by Equal Cursor procedure and Erase outside the Circle.

Later on, as I began understanding the idea of File and Table sweep, I began trusting that, Erasing inside Circle in equal cursor with the objective Record known, would be better in the perspective on Execution. Likewise, that’s what I felt assuming we mark and Erase outside circle with WHERE proviso, the entire table should be filtered for the thing to be erased and it would influence the presentation adversely. So I started to accept, Erasing inside Circle ought to be OK as well.

In any case, never before did I attempt to do the quantitative examination. At last yesterday, following quite a while of lingering, I considered wearing the analyst’s cap. I went through very nearly a day playing with the numbers. I attempted to build my example size however much I could. I ran the information on various occasions in numerous hours of the day (as framework can have variable burden in various hours of the day) to get the best typical figure for the examination.

Here is the code bit which I utilized for doing this examination. I involved similar arrangement of information for both Erase articulations so I could look at the two in unbiased scene.

PARAMETERS p_row TYPE i DEFAULT 1000.
DATA:
      i_cdpos      TYPE STANDARD TABLE OF cdpos INITIAL SIZE 0,
      i_cdpos1     TYPE STANDARD TABLE OF cdpos INITIAL SIZE 0,
      ls_cdpos     TYPE cdpos,
      ls_cdpos1    TYPE cdpos,
      lv_sta_time  TYPE timestampl,
      lv_end_time  TYPE timestampl,
      lv_diff_w    TYPE p DECIMALS 5,
      lv_no        TYPE i.
FIELD-SYMBOLS:
      <lfs_cdpos>  TYPE cdpos.

* Get entries from Change Log Item table
SELECT * UP TO p_row ROWS FROM cdpos
  INTO TABLE i_cdpos.

* Sorting for BINARY Search
SORT i_cdpos BY objectclas.
* Keeping a copy in another table
i_cdpos1[] = i_cdpos[].

1) Parallel Cursor Technique with DELETE w.r.t INDEX within the LOOP.

* Start time
GET TIME STAMP FIELD lv_sta_time.
* Scenario1: Parallel Cursor with DELETE within LOOP (The driver table rows are deleted)
LOOP AT i_cdpos INTO ls_cdpos.
  READ TABLE i_cdpos TRANSPORTING NO FIELDS
                     WITH KEY objectclas = ls_cdpos-objectclas
                     BINARY SEARCH.
    IF sy-subrc EQ 0.
      LOOP AT i_cdpos INTO ls_cdpos1 FROM sy-tabix.
        IF ls_cdpos-objectclas NE ls_cdpos1-objectclas.
          EXIT.
        ELSEIF ls_cdpos1-chngind EQ 'I'.
*   DELETING with INDEX
          DELETE i_cdpos INDEX sy-tabix.
        ENDIF.
      ENDLOOP.
    ENDIF.
ENDLOOP.
* End time
GET TIME STAMP FIELD lv_end_time.
* Time taken for LOOP and DELETE
lv_diff_w = lv_end_time - lv_sta_time.
WRITE: /(25) 'DELETE Inside Loop', lv_diff_w.
* Entries left in table
lv_no = lines( i_cdpos ).
* Number of entries DELETED
lv_no = p_row - lv_no.
WRITE:/(25) 'No of entries deleted', lv_no

2) Parallel Cursor Technique with marking the row to be DELETED and then DELETING outside the LOOP.

CLEAR: lv_no, lv_sta_time, lv_end_time, lv_diff_w, ls_cdpos.
* Start time
GET TIME STAMP FIELD lv_sta_time.
* Parallel Cursor with MARKING of rows to be DELETED
* Actual DELETE outside of the LOOP
LOOP AT i_cdpos1 INTO ls_cdpos.
  READ TABLE i_cdpos1 TRANSPORTING NO FIELDS
                      WITH KEY objectclas = ls_cdpos-objectclas
                      BINARY SEARCH.
    IF sy-subrc EQ 0.
      LOOP AT i_cdpos1 ASSIGNING <lfs_cdpos> FROM sy-tabix.
        IF ls_cdpos-objectclas NE <lfs_cdpos>-objectclas.
          EXIT.
        ELSEIF <lfs_cdpos>-chngind EQ 'I'.
* MARKING the ROW to be DELETED.
* Outside the LOOP, objectclas field would be used to identify
          CLEAR <lfs_cdpos>-objectclas.
        ENDIF.

      ENDLOOP.
    ENDIF.
ENDLOOP.
* DELETE the MARKED rows at one shot
DELETE i_cdpos1 WHERE objectclas IS INITIAL.

* End time
GET TIME STAMP FIELD lv_end_time.
* Time taken for LOOP and DELETE
lv_diff_w = lv_end_time - lv_sta_time.
WRITE: /(25) 'DELETE Outside Loop', lv_diff_w.
* Entries left in table (this should be same as above)
lv_no = lines( i_cdpos1 ).
* Number of entries DELETED
lv_no = p_row - lv_no.
WRITE:/(25) 'No of entries deleted', lv_no.

The time taken is for the complete activity set i.e. complete LOOP and DELETE in both scenarios.

The following is the result information which I gathered after various runs.

DELETE Internal Table Performance
Table 1. Multiple DELETE within LOOP comparison with respect to DELETE outside LOOP
2
Graph 1. Chart showing tables with rows 13K to 30K has better performance while DELETE within LOOP

The principal look of the information shows; for table lines with sections under 10,000; Erase outside Circle works better. Take a gander at section 6 (% change). This section is the rate change between Erase outside Circle and Erase inside Circle. Reference is Erase outside Circle.

How to interpret column 6.
Negative number means, DELETE outside LOOP is better.

Assuming you go through the above table 1 or diagram 1, it plainly portrays that Erase inside Circle utilizing List and Equal Cursor is clear champ from 13,000 to 30,000 records in interior table. In any case, again after 35,000 columns in inner table, Erase outside Circle is the victor.

So, it made me conclude (wrongly) that:
i) For small internal tables, less than 10,000 rows, one DELETE outside LOOP was good.
ii) For medium tables 10K to 30K row entries, DELETING using index within LOOP in PARALLEL cursor was good.
iii) For large tables 35K and greater, one DELETE statement outside LOOP has better performance.

Kindly note, I have referenced I wrongly closed. The over three assertions are NOT totally right.

I was as yet not persuaded with above outcome. I was pondering, on the off chance that there is whatever other element which is affecting the outcome other than the quantity of sections.

Then, at that point, I chose to run the program in an alternate client. I ran for similar quantities of records beginning from 1000 till 40,000.

Performance Tuning
Table 2. Multiple DELETE within LOOP showing negative improvement over DELETE outside LOOP

Table 2 shows the aftereffect of running a similar program in various client. The result doesn’t count with Table 1 outcomes by any means. Here one Erase proclamation outside the Circle is clear champ. The deep rooted funda passed on by seniors/coaches holds great here. Erase inside Circle is rarely prudent.

SAP ABAP internal table Performance Analysis
Graph 2. Charts showing % improvement of DELETE within LOOP even after following Parallel Cursor Technique is NEGATIVE

Take a gander at the chart, the presentation of Erase inside Circle is under nothing (i.e worse than Erase outside Circle)

However, I needed to know the explanation. WHY? For what reason is that in the other client, there was different example and in this client Erase outside Circle is better?

Then, at that point, I ended up seeing the ‘No of Lines Erased’ section 2. I started to foster my hypothesis and began questioning, is this one of the few variables which is affecting the general execution.

Referring to Table 1
Out of 1000 enteries in table, 430 were deleted. So by the time the last entry was deleted, i.e. 430th entry, there were 1000-429 = 571 rows in the table. So, when 430th was deleted, indexes were regenerated for 570 rows in the internal table.

Which method impacts the performance more?

a) Regenerating the indexes every time the internal table row is deleted in LOOP; or
b) Regenerating the indexes when it encounters the DELETE statement only once outside the LOOP.

Depending on the cost of the regeneration of indexes, probably the performance depends.

SAP Assist with reporting says: While erasing lines in an inside table, costs are caused for refreshing all current table keys and table records.

Something worth mulling over.
In Table 2, line with 30,000 records in inward table. Which technique would have better execution.
a) Erasing 1931 columns in Circle and recovering the file in each circle for limit of 29999 lines (first erase) and least of 28069 records (last erase)?

At the point when the principal column is erased, there are 29,999 lines in inside table to be re-filed. At the point when the last column for example 1931th is erased, there are 28,069 columns in interior table to be re-ordered. Altogether, the inward table is re-ordered multiple times in Circle.

b) Deleting 1931 rows at one shot outside the LOOP and re-indexing?

Erasing outside Circle appears to be unrivaled despite the fact that in the Equal cursor we are Erasing utilizing Record. Be that as it may, might be the expense of refreshing the current table keys and table lists downsize the upside of Equal CURSOR Erase utilizing Record.

I don’t have any idea, how right the above assessment is. Be that as it may, one thing is clear, internal table re-requesting cost should be seen as preceding closing which course to go.

We can safely conclude that performance of the two scenarios is dependent on:
i) The number of entries in the table
ii) The number of entries to be deleted in the table
iii) The total number of entries left after delete statement
iv) Total number of times the index of the internal table need to be regenerated

What’s more, until further notice, Erase outside Circle appears to have an Advantage.. (I’m expressing something which could draw in loads of analysis/banter from Equal Cursor Strategy sweethearts).

YOU MAY LIKE THIS

What Does a DBA Course Cover? Skills, Tools, and Career Path.

Unleashing the Power of Performance Tuning in Oracle

Database Development

SAP

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

This is the eighth post in my 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.

YOU MAY BE INTERESTED IN

BAPI_ALM_ORDER_MAINTAIN terminates with the runtime error MESSAGE_TYPE_X

ALE and IDoc: Demystifying the SAP Data Exchange Duo

ISU – 6 – Bankruptcy Overview and Write-Off Process using BAPI_CTRACDOCUMENT_WRITEOFF

SAP

SAP PO for Beginners Part 6 – Complete Overview on Integration Directory (ID)

This is the 6th post in my blog series on “SAP PO for Beginners Part 6 – Complete Overview on Integration Directory (ID)”. In this post we will see the outline on Combination Catalog and furthermore be covering on building IDoc to Record interface.

To put it plainly, underneath is the substance we will be intricate in this instructional exercise: SAP PO for Beginners Part 6 – Complete Overview on Integration Directory (ID)

  • Accessing ID
  • Common terms used in ID
  • Communication Channel Creation
  • Integrated Configuration (ICO) Creation
  • Message Monitoring

1. Accessing ID: SAP PO for Beginners Part 6 – Complete Overview on Integration Directory (ID)

To access ID, navigate to home page http://<host>:<port>/dir/start/index.jsp and click on Integration Builder link which would open using Java web start by downloading a temporary  JNLP file and clicking on it would open ID.

Assuming you investigate the dropdowns accessible in ID contrasted and ESR, where in ESR all are custom, and that implies you will make programming part and renditions in SLD and will import it, yet in ID, its steady. There are 2 fundamental dropdowns which we will utilize most.

1 – Communication component without Party

2 – Integrated Configuration

2. Common terms used in ID:

Prior to bouncing into the connection point advancement, we should see based on conditions that we utilize regularly in ID.

Correspondence Part:

Correspondence part is a typical term that alludes both source and collector frameworks. It is where we pronounce the source and beneficiary framework subtleties.

Correspondence channel:

Correspondence channel holds the design subtleties or the association subtleties of the source or beneficiary framework.

Business Framework:

Business Framework relates to the ECC/S4H framework. Here we will make the ECC framework channels.

Business Part:

Business part holds the outsider association subtleties.

Incorporated Arrangement:

Incorporated arrangement is otherwise called ICO. In ICO, we will gather the source and beneficiary channels and make up a connection point. Likewise, we will connect the ESR content in here, if material.

Connectors:

Connectors empower the runtime motors of SAP NetWeaver PI to speak with various applications. You just require a connector to speak with SAP frameworks and with outside frameworks. For eg: To speak with webservice, we have connectors like Cleanser and for interfacing with FTP, we have SFTP, FTP connectors.

  1. Correspondence Channel Creation:

Making a correspondence channel is a typical term, on the grounds that the main part in correspondence channel is the connector and it fluctuates in light of the necessity. For e.g.: Say I’m getting IDOC messages from SAP ECC and I’m changing over it into XML and putting away the items in the IDOC into Document and setting it in SFTP.

Here, in source we use IDOC connector as we get IDOC messages and in getting side we use SFTP connector. Thus, the arrangement for IDOC connector will be unique and of SFTP will be unique. It’s impractical to go through every single connector design subtleties.

We will fabricate a connection point for the situation we worked in ESR in past post.

Situation:

Shipper – ECC (moving IDOC)

Middleware – PO

Recipient – Outsider (Record sent in type of XML)

Mode – Nonconcurrent

In the first place, we will make source and beneficiary correspondence channel .

Source Channel:

There is no need of building a different association for IDOC, as we have previously designed the IDOC outbound and inbound association among ECC and PO framework in POST #4. Thus, an example IDOC point of interaction is enough only for building the coordinated setup as shipper channel is compulsory to be given.

Prior to continuing into source channel, we want to import the business framework we made in SLD. For bringing in, follow the underneath steps:

The business frameworks will get naturally enlisted in SLD. It will be finished by Premise group.

In ID, explore to Correspondence Part Without Party – > Business Framework. Right snap on Business Situation and pick Appoint Business Frameworks, which will drill down all business frameworks enlisted in SLD. Select the required and click on FINISH.

When the business situation shows up, right snap on it, and pick NEW. Make Article discourse box shows up, where pick correspondence channel under Coordinated effort Profiles.

Provide communication channel name and click on Create.

Click on the button at the end of the Adapter type field to get the list of available ADAPTERS in PO system like REST, IDOC_AAE, HTTP_AAE, File, SFTP, FTP, JDBC etc.. For our requirement, choose IDOC_AAE adapter.

Select the Source radio button, as it is a shipper channel.

TRANSPORT Convention – Transport convention implies how the messages are moved so they can be handled by the Mix Motor. Like FTP/NFS.

MESSAGE Convention – Message convention implies how the messages are being handled. like Record.

Leave the other boundaries for what it’s worth. Click on SAVE and Actuate.

Recipient Channel:

Make another business part by exploring to Correspondence Part Without Party – > Business Part. Right snap on Business Part and snap on NEW.

Naming show:

For Business framework – BS__

For Business Part – BC__

Give the business part a reasonable name and tap on Make. When made, right snap on it and snap on NEW – > Correspondence channel.

The connector type in beneficiary channel is SFTP.

Select the Receiver Radio button.

The vehicle convention is SFTP.

Message convention – Record and Document Content Change.

In this situation, we will utilize Record. Record content change will be utilized when you need to switch a level document over completely to XML. For this situation, we are getting IDOC and in planning, we are switching over completely to XML. Thus, no need of Record CONTENT Transformation.

We have three tabs in here: Objective, Handling, Progressed.

Objective:

For associating with the collector SFTP, we want IP subtleties: IP, Port, Server Unique mark, Validation System which should be filled in Objective tab.

We have three kinds of Validation System for SFTP: Secret key, SSH Key matches, Secret key + SSH key.

For SSH key matches, either get the public key from merchant or produce another sets of keys from Clay programming and introduce the confidential key in NWA and share the public key to seller.

For producing SSH key pair and transferring keys to NWA SAP PO, really look at the this connection : Create and Involve Client Endorsement Validation in SAP PI/PO – A Fast Aide

Once transferred, you will have PRIVATE KEY VIEW and Confidential KEY Passage. Enter those qualifications in the SFTP beneficiary channel.

Once done, next is the filename and file path that we need to provide.

Handling:

In Handling tab, we have two areas: Handling Boundary and operating system order

In Handling Boundary, you can determine whether the document you send ought to contain the timestamp or the message ID, in the event that Indeed, empower the checkbox.

Break and time unit boundaries will be referenced as a matter of course as 30sec. Leave all things considered.

Void document dealing with – On the off chance that any unfilled record is passed from Source, this setting will become an integral factor. You can either disregard it or toss a mistake in PO observing screen that the record is unfilled or doesn’t contain information.

Progressed:

In Cutting edge tab, we have the variable replacement and connector explicit message credits which are the central thing one need to be aware.

Variable Replacement:

Variable Replacement permits you to powerfully set the objective record name plan or target catalog area by subbing a variable placeholder with a worth from the XI message payload or XI message header.

Connector Explicit Message Credits:

ASMA or connector explicit message ascribes are extra data about the message. Every connector has set of ASMA and these are accessible in message header. This data isn’t situated in that frame of mind of the message, however in extra message header fields. You can set the qualities in the source connector and utilize the characteristics in the beneficiary connector.

Once finished, click on SAVE and Enact. Both source and collector correspondence channels are prepared at this point.

We should begin the ICO (Incorporated Setup) settings.

4. Integrated Configuration (ICO) Creation:

Explore to Incorporated Arrangement dropdown and right snap on it and pick NEW.

Select the source correspondence part name.

Note: For Connection point name and namespace, give the specific name and namespace of the source administration interface (for our situation it is IDOC name, as we didn’t make SI-Outbound), then, at that point, just the activity planning will be picked naturally. If not, it won’t show.

When name and namespace gave, click on Make.

Determine the source correspondence direct in Inbound Handling tab.

In the beneficiary tab, incorporate on the off chance that any condition is there or not. Like, on the off chance that a field is accessible or filled, just the document should be communicated, else no information ought to be sent. The message ought to be tossed as a mistake or cautioning or disregarded.

The above given XPATH articulation is:

/YLFINV/IDOC/E1EDK01/YLSINVH/OPPORTUNITY_ID ≠

On the off chance that Open door ID doesn’t equivalent to purge esteem, then continue with transmission, else don’t continue with transmission and overlook (radio button chose).

In beneficiary connection point tab, select the correspondence part and snap on the activity planning button and select the recommended OMs.

Select the receiver communication channel.

In cutting edge settings tab, empower the logs so that logs and payload will be accessible in PO Message checking screen.

5. Message Monitoring:

Explore to URL: http://:/dir/begin/index.jsp and click on Design AND Checking HOME – > Under Observing tab, Connector motor sub-tab – > click on Message Observing connection.

Click on Open Message to view the payload.

Case where OPPORTUNITY ID is not available :

As no OPPORTUNITY ID is not available, no mapping done.

Trust, you found out about Idoc to Record Point of interaction design and cycle. We attempted to cover it without any preparation and fabricated the IDoc to Record interface Start to finish. Assuming that you feel somewhat wary, go ahead and put them in the remark segment underneath.

YOU MAY LIKT THIS

What is an SAP query?

ALE – Error Handling Through Workflow

IDoc in SAP MM  (Material Management)

SAP

SAP PO for Beginners Part 4 – PI to ECC Adapter Connectivity Configuration

SAP PO for Beginners Part 4 – PI to ECC Adapter Connectivity Configuration. This is the fourth post in my blog series on “SAP PO – Cycle Arrangement for Amateurs”. In this post we will see the setup steps associated with interfacing PO and ECC framework through IDoc, RFC and Intermediary Connectors.

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

  • Proxy (SOAP XI3.0) Adapter Connectivity
  • RFC Adapter Connectivity
  • IDOC Adapter Connectivity

Prior to going into the availability arrangement between SAP ECC (ABAP) to Drain PO (Single Stack), we want to see what are the connectors engaged with interfacing with ECC ABAP framework. SAP PO for Beginners Part 4 – PI to ECC Adapter Connectivity Configuration.

IDoc

Let’s assume we really want to send the client ace data at whatever point its saved or rolled out certain improvements. All things considered, we don’t need to construct fields which should be communicated and keep up with a similar in SAP PO by making information types and message types, rather in ECC, we have standard IDocs that are accessible which can be imported in SAP PO too in ESR. To broaden the standard IDoc, they can do likewise by expanding it. In SAP PO, we have IDOC_AAE connector for association.

Proxy

Say from ECC, we want to send huge number of records and ought to be of continuous to the collector, then, at that point, Intermediary association is suggested. For intermediary association, in SAP PO we use Cleanser connector with message convention as XI 3.0. Intermediaries are mostly utilized when the size of the info information is colossal. For instance, assume in ECC we have a table where we have 1 million records, and we want to send this entire information to an outsider framework utilizing PI.

In these cases, we will make a design in PI which will contain the construction of the table records.

Then, at that point, we will have administration interface which will utilize the design we have made. When we have the assistance interface , we want to make the intermediary structure in ECC utilizing exchange SPROXY.

Thus, in ECC we will compose a program which will choose every one of the 1 million columns utilizing select question, then, at that point, the program will call the intermediary structure and sends the entire information to the coordination motor of PI. We don’t have to make a shipper correspondence channel for sending the information to PI.

RFC

RFC based connector associations are very little broadly utilized in undertakings, because of its temperament of transmission, as it is utilized exclusively for Simultaneous correspondence. One of the hindrances of RFC connector in SAP PI is that it sits on Java Motor of PI. Thus, at whatever point you should call a RFC, the solicitation goes by means of Java Motor to the pertinent SAP R/3 which is compromise.

Thus, we had an outline on when to involve which connector in SAP PO for associating with ECC ABAP frameworks. How about we begin with network arrangement.

1. Intermediary (Cleanser XI3.0) Connector network

In any case, we will see the plan that ought to be done in ECC structure.

  • Make Coherent Framework in ECC Framework for PO framework utilizing Tcode BD54.

In the above screenshot we can see that we have created logical systems for PO systems (Dev, QA & Prod).

  • Create RFC Destination in SM59 of Type G, which will point to the PO system.
    • Go to Tcode SM59 and select the Type G – HTTP Connections for External Server and click on Create icon.
  • Provide the RFC destination name and description and with two more additional details: Target Host, Service No. & Path prefix. These are the main parameters involved in connection to SAP PO system.
  • Target host – SAP PO host name

Service no – BASIS team knows it

  • Path Prefix – /XISOAPAdapter/MessageServlet?ximessage=true
  • Now go to SXMB_ADM transaction, hit “Integration Engine Configuration” and click on Configuration icon.

Category – Runtime – IS_URL –

 i.      Subparameter =

 ii.      Current Value = dest://(RFC Destination which we created in above step)

              The value should be in below format:

              dest://SAP_PO_ESR. (SAP_PO_ESR is the type G destination you created earlier)

Thus, what we have done is the association RFC objective creation for conveying from ECC to PO. One more RFC of Type G RFC objective should be made for associating the made items from SPROXY to ESR storehouse.

  • This RFC objective is utilized by exchange SPROXY to import Undertaking Storehouse protests and produce Intermediary objects. You can name the RFC objective SAP_PROXY_ESR.
    • Same way create another Type G connection.
    • Target Host – PO system

Service (port)

Path Prefix – /rep

  • Next step is to create SLD access data from ECC system via Tcode SLDAPICUST .
  • Go to transaction SLDAPICUST and add the SLD HTTP Destination name.
  • There are two ways to connect to SLD, one is via direct hostname connection and another one is via HTTP destination that has to be created separately for SLD access.
  • In our configuration, we used first method, where we entered the PO hostname  and port with required user access maintained.
  • Up until this point, we have kept up with the outbound associations, and that implies from ECC to PO. Presently we want to make one more RFC objective in PO NWA (NetWeaver Manager) which will guide the intermediary association toward ECC framework.

Navigate to PO NWA -> Configuration -> Infrastructure -> Destination

Maintain the URL as – http://<ECC_host>:<port>/sap/xi/engine?type=entry and the necessary logon credentials of ECC system.

ALL Associations Connected with Intermediary Correspondence IS Finished. Testing time. Testing should be possible in SM59 in the RFC objective you made – SAP_PO_ESR.

Click on Association Test and check whether reaction code is 200 which implies ready to interface.

2. IDOC_AAE Connectivity

For IDoc correspondences, similarly we want to make RFC objections yet of Type T.

Notice a Program ID, Passage Host as SAP PO server’s host name and Entryway Administration of PO (like sapgw00). ProgramID gave here will be utilized in foundation setups of PO framework.

Note: Go to Unicode Tab here and select radio button “UNICODE”.

Make Port in WE21 of type Value-based RFC and dole out RFC which we made in above step.

We have kept up with the essential associations and presently its in PO NWA side, where we really want to keep up with the HTTP objective to acknowledge the IDoc associations coming from ECC RFC objective. Give the Objective Host (ECC framework), framework no. also, the fundamental logon accreditations.

Note :- Another objective should be made with same settings as above for metadata XI_IDOC_DEFAULT_Destination_

  • Next step is to setup connectivity between PO to ECC, for INBOUND IDOC transmissions.
  • Navigate to PO NWA -> Configuration -> Infrastructure -> Application Resources.
    • Search for “InboundRA” of type Resource Adapter
    • Click on Properties tab
    • Give value for parameter ProgramID same as we have given in RFC destination we created in ECC system.
    • Give value for parameter “MaxReaderThreadCount” between 5 to 10.
    • Give value for parameter “Local” as “true”.

3. RFC Adapter Connectivity

  • For utilizing Shipper RFC Connector, we want to make RFC Objective of Type T in Tcode SM59. While making the ProgramID in RFC objective creation it will be utilized at Source RFC Correspondence Divert in PO.
  • For getting RFC connector, we really want to give properties of target ECC framework like Application Server, Framework Number, Client, Logon Client and secret word and so on straightforwardly in collector correspondence channel. Thus, no arrangement is required.

Trust this instructional exercise provided you with a fair thought of the various Connectors in SAP PI/PO. Assuming you have any inquiries, if it’s not too much trouble, go ahead and put it in the remarks areas underneath. Additionally, assuming that you have any ideas, criticism positive or negative, kindly put in the remarks area.

YOU MAY LIKE THIS

SAP SD (Sales & Distribution) Training Course Admission Details

ALE and IDoc in SAP ABAP: A Deep Dive

SAP ABAP Training Institute in Pune, SAP ABAP Courses Online

SAP

Using IDoc / Output Type special processing options

Before delving into the Using IDoc / Output Type special processing options. We had a particular necessity for making Deals Request from Buy Requests inside a similar SAP framework. This was to occur in situations where we had a between organization Buy Request – a Plant in say Country X raises a PO for a Material which can be delivered by one more Plant in Nation Y. Presently the two plants have a place with a similar Organization however will have different Organization Codes.

Ordinarily for a PO we have an ordinary outbound EDI 850 (IDoc Type: ORDERS05) going to an outside framework (say EDI) utilizing a middleware like SAP PI.

Then, at that point, we likewise have the inbound EDI 850 (same IDoc Type) which makes a deals request (Exchange VA01) in SAP ECC.

Using IDoc / Output Type special processing options. For this situation for Buy Request (Application ‘EF’), rather than setting off the typical EDI 850 outbound to XI (Medium – ‘6’ for EDI) for our exceptionally yield type, we can utilize medium ‘8’ (Unique Capability). Then we want to determine a program and subroutine name. The subroutine ought to be this way:

SET EXTENDED CHECK OFF.
INCLUDE rvadtabl. "Messages
INCLUDE rv56acom. "I/O-Structure
SET EXTENDED CHECK ON.


FORM sub_trigger_code_for_po USING returncode TYPE sy-subrc
                                   us_screen  TYPE c.
* Code Logic

ENDFORM. " sub_trigger_code_for_po

The worldwide construction nast is accessible in this subroutine. Here you can get the article key (objky) which will contain the PO number for this situation.

The custom rationale can be composed according to our prerequisite. The setting off of the result conditions can be characterized by the entrance successions and schedules related with it. Just when the given circumstances are fulfilled, then, at that point, the result condition is set off which then, at that point, calls the custom rationale carried out in the subroutine.

For our situation, in this construction we can get the PO information from concerned tables utilizing the PO number accessible in nast.

This information can be populated into the IDoc structures and Inbound IDoc made utilizing capability module IDOC_INBOUND_WRITE_TO_DB. Assuming you maintain that this IDoc should be posted, you can do a similar utilizing IDOC_START_INBOUND.

A decent methodology for doing this is do the IDoc populace and setting off rationale in foundation or a different undertaking.

One more very valuable stunt for populating standard outbound IDocs for express PO’s in any custom program is by calling the standard SAP capability module related with that result type/outbound cycle code. Like model for PO to populate the standard ORDERS05 outbound IDoc in your custom program, you can do the equivalent by simply calling IDOC_OUTPUT_ORDERS.

* Call the Function Module to Generate EDIDD Structure
CALL FUNCTION 'IDOC_OUTPUT_ORDERS'
EXPORTING
object = wa_nast
control_record_in = wa_edidc
TABLES
int_edidd = i_edidd
EXCEPTIONS
error_message_received = 1
data_not_relevant_for_sending = 2
OTHERS = 3.

Note that for this situation we would have to send the control information in wa_edidc and a sham (yet legitimate) PO number and different subtleties in wa_nast. The client exits related with this EDI/IDoc will likewise get set off for this case. Any further customization during populace should be possible there.

The populated IDoc can then effectively be made and sent utilizing MASTER_IDOC_DISTRIBUTE.

YOU MAY BE INTERESTED IN

SAP ABAP Material

What is EDI,ALE & IDOC ? How does it work?

SAP Launches Partner Innovation Program to Deliver Microvertical Capabilities with SAP S/4HANA Cloud

× How can I help you?