SAP & Oracle partner and support companies

Loading

SAP

SAP Adobe Interactive Form Tutorial Part V Images Graphics and Logo in Adobe Forms

oday, we will learn how to incorporate a logo into an Adobe Form output in “SAP Adobe Interactive Form Tutorial Part V: Images, Graphics, and Logo in Adobe Forms.”

Pre-requisite: We need to upload the required logo or image as shown below in T-code SE78, similar to the process we follow for Smartforms.

When you transfer the image to SAP from your PC or local machine, please remember to validate it in T-code SE78. This step ensures that the logo or image is properly stored in the SAP system. For more detailed steps, you can refer to SAP Form Tutorial Part V: Images, Graphics, and Logo in Adobe Forms to understand how to work with images and graphics in Adobe Forms.

Prepare the Form Interface

Transaction Code: SFP. Enter the interface name and create (interface is mandatory for Adobe Form). In this SAP Adobe Interactive Form Tutorial Part V: Images, Graphics, and Logo in Adobe Forms, we will explore how to incorporate visual elements such as images, graphics, and logos into your Adobe Forms to enhance the user experience and provide a polished look to your outputs.

SAP Adobe Form Tutorial

Enter the short description and Save.

SAP ABAP Training

Enter the Package name and Save.

Free SAP ABAP Training

Allow us to add our own custom Boundary Name for the picture/logo. Select the Import choice under Structure Connection point (left side) and press the Make button (right side) to add a Bringing in Boundary.

se78

Please note: IV_LOGO is of type XSTRING (Data Type).
Save, Check and Enact the Connection point.

Design the Form Layout
Go to back SFP Exchange principal screen. Make the structure.

What is SAP Adobe Form?

Press on make button. Give the short depiction and point of interaction name that you have made before.

SAP Training

Enter the bundle name and save.
Drag IV_LOGO from the point of interaction that we made before and drop them to the setting region.

Logo in SAPScript

Right-click on the YRAM_ADOBE_FORM5 under the specific circumstance and create a graphic.

create a graphic
Printing in SAP


Important step: Change the Graphic type from Graphic Reference to Graphic content

Configure Adobe Forms in SAP

Hit return key/enter key.

Select Yes option.

Enter Field as IV_LOGO (or whatever name you have given above)
And MIME Type as ‘IMAGE/BMP’.

Save.

Go to Design. Pick the Information View Tab. Simplified the Realistic on the design.

You can expand or accumulate your logo as per your need. You ought to dispense with the logo engraving for instance the default Picture Field text. This Image Field text is a respectable spot to make the motto out of the association/logo if you have any. Else we can leave it clear.

We have added one more text component beneath the logo for showing reason.

Check, Save and Actuate. Our Design with a Realistic and Structure Point of interaction is finished. Did you notice, we have two components in our format. The logo field and the realistic substance. It tends to be contrasted with the variable name and the real satisfied.

Driver Program to call the Adobe Form
You can use the below code as a reference to plug and play for printing the logo.

*&---------------------------------------------------------------------*
*======================================================================*
* YRAM_ADOBE_FORM_PROGRAM5 *
*======================================================================*
* Project : SAP Adobe Forms Tutorial *
* Author : Varad (www.elearningsolutions.co.in) *
* Description : Printing a logo in the adobe form *
*======================================================================*
REPORT yram_adobe_form_program5.

*======================================================================*
* Selection Screen
*======================================================================*
PARAMETERS : p_logo TYPE rstxt-tdname.
*======================================================================*
* Data Objects
*======================================================================*

DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams,
gv_name TYPE tdobname,
gv_logo TYPE xstring ,
gv_bmp TYPE xstring.
*======================================================================*
* Constants
*======================================================================*
CONSTANTS : gc_btype TYPE tdbtype VALUE 'BCOL',
gc_id TYPE tdidgr VALUE 'BMAP',
gc_object TYPE tdobjectgr VALUE 'GRAPHICS',
gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM5'.

*======================================================================*
* START of Calling the Form
*======================================================================*
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = gv_form_name
IMPORTING
e_funcname = gv_fm_name.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.

*  Passing the logo name
gv_name = p_logo.

*  Get the image/logo graphic information
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = gc_object " GRAPHICS
p_name = gv_name " Name of the Logo
p_id = gc_id " BMAP
p_btype = gc_btype " BCOL for color, 'BMON' for Black & White
RECEIVING
p_bmp = gv_bmp
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.

gv_logo = gv_bmp.

*&---------------------------------------------------------------------*
**&&~~ Take the FM name by execuing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
**&&~~ Call the Generated FM
CALL FUNCTION gv_fm_name
EXPORTING
/1bcdwb/docparams = gs_fp_docparams
* iv_name = p_name
* iv_flag = p_flag
iv_logo = gv_logo
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* <error handling>
ENDIF.

Let us Test our baby 
Execute Program : YRAM_ADOBE_FORM_PROGRAM5

Give the picture/logo name which we transferred in SE78 or some other logo name which is now accessible in SAP framework. We would use ELS Logo.

If it’s not too much trouble, actually take a look at the program above. The logo property is powerfully acquired from the picture name and took care of to the SAP Adobe Structure. You can include any picture you need from your SAP Adobe Interactive framework. The program would deal with it consequently to acquire the mark of the picture and pass it accurately to the Adobe Structure.

Press on Print see and view the result with your picture.

YOU MAY BE INTERESTED IN

ABAP Development Environment in the Cloud

SAP ABAP on HANA

SAP PO Orchestra Optimizing for future

SAP

SAP Adobe Interactive Form Tutorial. Part IV

Adobe Form Based on Conditions

SAP ABAP SAP UI5 SAP HANA SAP FIORI
As of now, we have learned the basics of SAP Adobe Forms. We learned how to create our first Adobe layout and trigger it from the Driver program, played with static and dynamic tables. We also made our hands dirty dealing with Date, Time and Floating Fields. always believe in presenting the small tweaks and tips which are useful in real project scenarios. In the same line of our thought process, let us start another really useful feature of Adobe forms which every Adobe Programmer should know.

Conditions (IF-ENDIF, CASEs, WHILE etc) are an integral part of our programs and in fact any programming language. After all, everything is not in black and white. There would be exceptions and developers would be asked to handle those exceptions. For example, all employees of your client have to print the time zone as GMT – 6 in the form signature they print from their office. So, 98% of your clients would use GMT – 6 hours as their time but there would be 2 % users who live in another state and they use time as GMT – 7 hours. So for those particular users, you need to put special logic so that their signature would show GMT – 7. Here you have to handle the conditions and print the values according to the conditions.

For demonstration purpose:
Say, in your driver program you have identified the employee’s time zone and you have set the flag v_regular_employee = ‘X’ or blank depending where they work from.

PS: There might be many ways to achieve the above scenario. We have kept it simple for the sake of clarity.

I think, we have provided enough teaser for our today’s tutorial. Let’s watch the full movie now.

We assume that you have been following our series step by step. That is the reason we have specified the Part number in each tutorial title so that you can study and learn systematically, part by part. If you are a novice in the field of Adobe forms and you have not checked our earlier series, we would suggest you pause here. Go back to our earlier tutorials and refresh your Adobe skills. At least know the t-codes and Form, Interface, Context and Driver program concepts.

Transaction Code: SFP.

Enter the Interface name and Create (Interface is mandatory for Adobe form).

Enter the short description and Save.

sap adobe form for beginners

Enter the Package name and Save.

Step by Step tutorial on SAP Adobe Form

Let us add our own custom Parameter Name. Select the Import option under Form Interface (left side) and press the Create button (right side) to add an Importing Parameter.

Tutorial on SAP Adobe Form

IV_NAME is of type NAME1 (Data Element). IV_FLAG is of type CHAR1. Save, Check and Activate the Interface.

Go to back SFP Transaction main screen. Create the form.

Adobe Forms for Beginners

Press on create button
Provide the short description and Interface name which you have created earlier.

Step by step to Adobe Form

Enter the Package name and Save.

Drag IV_NAME and IV_FLAG from Interface which we created earlier and drop them to the Context area.

drag from interface to layout

Go to Layout

Go to Data View and Drag and drop the field IV_NAME.

Select the field IV_NAME and go to Palettes->Script Editor.

You will see below screen.

Javascript in SAP Adobe Form

Go to Show option and select form: ready from the drop down list.

Javascript in SAP ABAP

Here you will get a chance to write Javascript or Form Calc Code.

We will go with Javascript for now. Lucky ABAPer!!

if($record.IV_FLAG.value != “X”)
{
this.presence = “hidden”;
}

Check, Save and Activate.


Adobe Form example with Javascript

Case 1 : When IV_FLAG = ‘X’.

Execute the Form or Press F8 which is at the top of your screen. Enter values against IV_NAME and IV_FLAG.

stand alone test of Adobe Form

Press F8. Press on Print Preview button.

How to use Javascript in Adobe Form
Since the script to hide the elements did not get triggered as we passed IV_FLAG = X. Therefore the elements are not hidden in the output.

Case 2 : When IV_FLAG = ‘ ’.


Press F8. Enter values against IV_NAME and pass blank value to IV_FLAG.

Press F8. Press on Print Preview button.

This time the Javascript code gets triggered to hide the element. So the Output is a blank page this time.

You can call the above Form from driver program and get the same output. Please check the below-working code.

Selection Screen of the Program:

Try this short hands on Adobe Form and Driver program in your system and have fun.

&———————————————————————
======================================================================

  • YRAM_ADOBE_FORM_PROGRAM4 *
    ======================================================================
  • Project : SAP Adobe Forms Tutorial *
  • author name: Varad (www.elearningsolutions.co.in)
  • Description : Dynamically Hiding & Displaying a field on the Adobe Form
  • Layout based on Condition *
    ======================================================================
    REPORT yram_adobe_form_program4.

======================================================================

  • Selection Screen
    ======================================================================
    PARAMETERS: p_name TYPE name1,
    p_flag TYPE char1.

**&&~~ Data Objects
DATA: gv_fm_name TYPE rs38l_fnam, ” FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams.

CONSTANTS : gv_form_name TYPE fpname VALUE ‘YRAM_ADOBE_FORM4’.

======================================================================

  • START of Calling the Form
    ======================================================================
    &———————————————————————
    **&& Form Processing: Call Form – Open * CALL FUNCTION ‘FP_JOB_OPEN’ CHANGING ie_outputparams = gs_fp_outputparams EXCEPTIONS cancel = 1 usage_error = 2 system_error = 3 internal_error = 4 OTHERS = 5. IF sy-subrc <> 0. ” Suitable Error Handling ENDIF. &——————————————————————— **&& Get the Function module name based on Form Name
    *
    CALL FUNCTION ‘FP_FUNCTION_MODULE_NAME’
    EXPORTING
    i_name = gv_form_name
    IMPORTING
    e_funcname = gv_fm_name.
    IF sy-subrc <> 0.
    ” Suitable Error Handling
    ENDIF.
    &———————————————————————
    **&& Take the FM name by execuing the form – by using Pattern- **&& call that FM and replace the FM Name by gv_fm_name
    **&&~~ Call the Generated FM
    CALL FUNCTION gv_fm_name
    EXPORTING
    /1bcdwb/docparams = gs_fp_docparams
    iv_name = p_name
    iv_flag = p_flag
    EXCEPTIONS
    usage_error = 1
    system_error = 2
    internal_error = 3
    OTHERS = 4.
    IF sy-subrc <> 0.
  • Implement suitable error handling here
    ENDIF.
    &———————————————————————

&———————————————————————
*&—- Close the spool job
CALL FUNCTION ‘FP_JOB_CLOSE’
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.

YOU MAY LIKE THIS

SAP ABAP Checkpoint Group – Chase the Mysterious SAP Issues with a Smile

Best Practices for SAP ABAP Development: A Comprehensive Guide

4 Useful Tips on ABAP and ABAP on HANA

SAP

SAP Adobe Interactive Form Tutorial. Part III. Date Time and Floating Fields

We have previously explored simple layouts and tables individually. In “SAP Adobe Interactive Form Tutorial. Part III. Date Time and Floating Fields, we will delve into essential elements like Date, Time, and various system fields, including Floating Fields (dynamic/changing). While these concepts are fundamental, they remain somewhat elusive until explicitly explained. Let’s embark on this brief journey to uncover these crucial aspects of Interactive Adobe Forms.

Exchange Code: SFP. Trust at this point you have embraced this t-code very much like SAPScript and Smartforms ( and can recall it even in your fantasies).

Make sure to create the interface (which is essential for Adobe forms). Although the tutorial is titled “SAP Adobe Interactive Form Tutorial. Part II. Date Time and Floating Fields,” the interface is the backbone of any interactive Adobe form. The integration of Date Time and Floating Fields is covered extensively in this part to ensure a comprehensive understanding.

Step by Step Tutorial on SAP Adobe Form

Enter the short description and Save.

step by step tutorial on Adobe

Enter the Package name and Save.

Interactive Adobe Form Tutorial

Let us add our own custom Parameter Name. Select the Import option under Form Interface (left side) and press the Create button (right side) to add an Importing Parameter.

Working with date

NAME is of type NAME1 (Data Element). Save, Check, Activate the Interface.

Go to back SFP Transaction main screen. Now is the time to create the Form.

Difference between Smart Form and Adobe

Hit Make and give the short depiction and Interface name which you have made previously.

Enter the Package name and Save.

Drag NAME from Connection point to the Context area. Trust you recall that, we made sense of the term Setting in past posts. Basically recollect it as the Worldwide/Top Incorporate whose factors are apparent/accessible to the entire application. If we have any desire to show a few fields in the Adobe from the Connection point, then, at that point, the field must be there in the Setting region.

CONTEXT in SAP Forms

Intuitive the DATE and TIME fields to Setting. These are framework created factors.

Presently the time has come to play in our Format Region. You can plan your format as perfectly as could be expected and as intricate you need. Be that as it may, for our learning, we will Keep It Basic and Sweet(KISS).

i. A practical example of “How to use a Floating Field in Adobe?”.

Go to Layout

Insert a Standard text field.

Grow/Stretch (as you do in ms paint) the message field limits with the goal that you can compose a sentence in it.

Enter the underneath text or any line you need. In any case, pick single word which you need to keep as drifting field. Drifting means, it very well may be printed anything according to the limiting. It relies upon the runtime worth of the bound variable.

For our model, we maintain that NAME should be dynamic. Select the text (NAME), Right-click on it and pick it as Drifting Field. The word NAME changes to {TextField}.

Do I have to let you that know if you see anything in wavy supports in Adobe Structure, they are Drifting Field?

Bind the drifting field with NAME field which we hauled to the Setting region.

The Field {Text Field} will have dynamic length (most extreme up to bound NAME field from setting). It would extend and gather in size as per your feedback. Name “Smash” is just 3 person, yet name “Wolfeschlegelsteinhausenbergerdorff” has in excess of 30 characters, however your {TextField} would in any case acknowledge it. All things considered, that is the utilization of a Drifting Field.

ii. How to work with Date and Time in Adobe?

Go to Data view:

Date and Time

Intuitive Date and Time fields to Design.


—————————————————————————————–

Ram’s Tip 1: Choosing the right Date/Time Pattern (format).

Select the Date Field and Press on Examples.

Patterns in SAP Adobe

You can change the date design, By Choosing the Date Example under the select sort.

Format date and time

You can choose the example in view of country, under Area, by choosing the expected country.

We can likewise organize the Time utilizing similar advances referenced above for the Date field.

Ram’s Tip 2: Know the standard system fields in Adobe.

In Adobe Forms, the beneath are the framework fields accessible.

—————————————————————————————–

Check, Save and Activate.

Stand Alone Test of Adobe Form in T-code SFP:

Press F8 or raise a ruckus around town button on the highest point of your Adobe Structure. Pass your worth to NAME Field.

Press F8 (Execute). Give you neighborhood printer name and hit Print See

You will get your Date, Time and Floater Fields (dynamic runtime esteem) printed.

Allow us to call the Structure from our Driver Program.

Do we need to show the output again? Trust us, it would be precisely as above in the independent test. 

Ideally, at this point, you know how to compose a driver program to call your Adobe structure. Do you actually require it? Alright. Check the functioning driver program underneath. Try to appropriately deal with the special cases.

*&---------------------------------------------------------------------*
*======================================================================*
* YRAM_ADOBE_FORM_PROGRAM3 *
*======================================================================*
* Project : SAP Adobe Forms Tutorial *
* Author : Varad (www.elearningsolutions.co.in) *
* Description : Driver Program for Printing Floating Field, Date & Time *
*======================================================================*
REPORT yram_adobe_form_program3.

* Selection Screen
PARAMETERS: p_name TYPE name1.

**&&~~ Data Objects
DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams.

CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM3'.

*======================================================================*
* START of Calling the Form
*======================================================================*
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = gv_form_name
IMPORTING
e_funcname = gv_fm_name.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Take the FM name by execuing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
**&&~~ Call the Generated FM
CALL FUNCTION gv_fm_name "'/1BCDWB/SM00000176'
EXPORTING
/1bcdwb/docparams = gs_fp_docparams
name = p_name
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* <error handling>
ENDIF.

This post might seem straightforward, but trust us, if there’s no one to guide you in your team, even finding the Floating Field option in Adobe can be time-consuming. Not to mention configuring the date and time according to the end user’s preferences. Someone needs to show you for the first time, and then you can do it on your own. In “SAP Adobe Interactive Form Tutorial. Part III. Date Time and Floating Fields, we’ll cover these aspects in detail.

Thank you kindly for your time!!

YOU MAY BE INTERESTED IN

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

ABAP Evolution: From Monolithic Masterpieces to Agile Architects

Calculator in SAP using New ABAP Syntax

SAP

SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form

In SAP Adobe Interactive Form Tutorial. Part I, we demonstrated the steps to create our basic form and the driver program. One of our readers requested the configuration steps for the driver program and Adobe form. In SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form, we will cover how to set up tables within the Adobe form and configure the driver program accordingly.

Question from our peruser: Might u at any point if it’s not too much trouble, make sense of where we will arrange the driver program and related adobe structure name, to set off in any exchange?
Reply: Go to t-code NACE==>Select any application. For instance : V3 ==> Proceed “Result type” button ==> Select any result type. For Instance : RD00 ==> Go ahead “Handling Schedules” ==> here we can arrange Medium/Program/Structure Routine/Structure/PDF-SmartForm Structure.

Under PDF-Smartform Structure, we can arrange the adobe structure.

In PP Module – we can arrange in OPK8 Exchange.

In the previous part of the SAP Adobe Interactive Form Tutorial. Part I, we explored how to display a variable. In real-world scenarios, it’s rare to have a requirement where only a single field needs to be displayed. Today, in “SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form,” we will learn how to create tables in Adobe Forms. Generally, there are two methods for creating tables in Adobe Forms.

1. Normal Table Method using Table Object
2. Create Table using Sub Forms in Adobe

Table Object Method:
Benefits:
It is basic and simple. At the point when we have not many fields which can squeeze into the single line in the design, we can utilize this
The originator realizes that you are working with tables. Creator permits choosing lines or segments, to resize a section at the same time.
We have a really look at box to rehash the table header on each page

Hindrances:
On the off chance that we deactivate the fields in the specific circumstance, it will be hard to utilize if necessary in the structure anyplace. For instance in Content manager ( to have some contingent printing and so on)
Challenging to deal with when we need to print the settled tables
Restriction when we need to print non-standard tables

SubForm Strategy:
What is Subform?
The subform is essential for the structure which is utilized for sorting out the various components like info fields, tables, messages present body pages and seldom ace pages.
At the end of the day, Subform is only a gathering of components. To bunch specific components on the design we can utilize subform and wrap them into it.

Benefits:
Utilizing subforms gives us greater adaptability while spreading out tables.
At the point when we need to print different columns of table, subform is more valuable
We can revise cells in subform (Print any place we need )
It is extremely helpful when we are printing settled tables in the structure.

There are no much impediments, in light of the fact that inside, tables are dealt with as subform structures. We can undoubtedly take a look at this on the off chance that we take a gander at the XML wellspring of the format in Planner.
In the event that we believe that the header should be rehashed in the event of page breaks we need to utilize “Flood Pioneers” (rather than the advantageous really take a look at box in the event that we are utilizing tables). We want to set them on the “Pagination” tab of the article range).

So contingent upon what we need to accomplish we could need to utilize subforms rather than a table. Yet, for standard tables, the suggestion is to straightforwardly utilize the table item. Follow the KIS procedure. Keep It Straightforward (KIS).

I’m certain in the event that you have not worked in Tables previously, the above benefits and weaknesses could have most certainly befuddled you. Sit back and relax. Disregard the above correlation. We will complete an involved with bit by bit guide and when you wrap up making the tables utilizing both the strategies referenced, the image would be clear.

In this instructional exercise, our point is to show Client Information from Client Expert Table KNA1 utilizing both the techniques. We should Adobe.

Building the Interface which would be common for both methods.

Transaction Code: SFP.

Enter the Interface name and Create (Interface is mandatory for Adobe form).

Tables in Adobe

the short description and Save.

SAP Adobe Form Tutorial

the Package name and Save.

SAP Adobe Form Tutorial

Allow us to add our own custom Boundary Name. Select the Import choice under Structure Connection point (left side) and press the Make button (right side) to add a Bringing in Boundary

SAP Adobe Form Tutorial

Bringing in Boundary IT_KNA1 is of type CCRCTT_KNA1. CCRCTT_KNA1 is a table sort of KNA1. In Adobe structure interface/Capability module you want to utilize Table Sort Boundaries to pass table information to the structure from your program. (In Capability module, Tables boundary is old).

Save, Check, Actuate the Connection point.

Go to back SFP Exchange fundamental screen. Make the structure.

SAP Adobe Form Tutorial

Press on create button

Give the short portrayal and Connection point name which you have made before.

SAP Adobe Form Tutorial

Enter the Bundle name and Save.

Drag IT_KNA1 from Connection point which we made before to the Specific situation.

Tutorial in SAP Adobe Forms
Tutorial in SAP Adobe Forms

Method 1: Create Table in Adobe Form using Table Object

You ought to deactivate the fields from the Table which are not expected to print since there are many fields in the table, it won’t fit in the structure.

Select the fields which are not expected to be shown.

Tutorial in SAP Adobe Forms

Right click and select deactivate.

Tutorial in SAP Adobe Forms

Then it looks like below.

Tutorial in SAP Adobe Forms

We have only 6 active fields.

Go to layout tab

Tutorial in SAP Adobe Forms
Tutorial in SAP Adobe Forms

Embed a text variable to make them head on the structure.

Tutorial in SAP Adobe Forms
Tutorial in SAP Adobe Forms

Change the text as required.

Tutorial in SAP Adobe Forms

You can change the text style and size of the text in the obvious area above.————————————————————————————————
Ram’s Tip 1: In the event that you don’t find Text style toolbar naturally, you can enact it as displayed underneath.

Go to Palettes -> Press on Font.

SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form


————————————————————————————————

Now go to Data view.

SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form
19

Select IT_KNA1, Drag and drop it into the layout.

SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form

You can change the section level or width, by intuitive choice. If you have any desire to be exceptionally exact, you can likewise go to the properties in the right hand side and change the width and level.

SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form

Save, Check, Activate the form.

Kindly note: On the off chance that you have information in the IT_KNA1 table more than 1-page size, it wouldn’t stream to the following page. You need to do the accompanying two exercises to see all information.

The subform must be Flowed.

a1

Select IT_KNA1 And check the check box ‘Allow Page Breaks within Content’.

a2

————————————————————————————————————————

Begin of Update on 27th February 2017

A few clients in certain nations would like the table to have the line Design from Right to Left.

As a matter of course, correcting Rows is Left.

Right to Left Alignment

Be that as it may, in the event that you need your columns from Right to Left, pick the format from the Table properties.


————————————————————————————————————————

Execute the Driver program: YRAM_ADOBE_FORM_PROGRAM2. The code scrap is given toward the end.

The result would show the table with the Client Expert information.

Step by step Adobe Forms Tutorial

Method 2: Create Table using Sub Forms

By utilizing this strategy, we can show the fields in any request and the fields in numerous columns of lines.

24

Go to layout

25

Each structure will have Expert page and Body page as a matter of course (Untitled Subform) (page1).

In Straightforward definition, we can utilize Expert page to print the header information and Body page for printing the thing information.

The substance region is utilized for printing the information in Body page. We can change the length or width of the substance region in Expert page.

We are keeping the header in Expert page

SAP Adobe Forms

————————————————————————————————
Ram’s Tip 3: Anytime of your turn of events, to see the fundamental result of your structure, you simply have to tap on See PDF Tab.
————————————————————————————————

Go to configuration view

To print the Table information the Subform must be FLOWED.

SAP Adobe Forms

This is a vital stage. We want to embed the SubForm.

SAP Adobe Forms
SAP Adobe Forms

You can change the level or width of the window in Design tab. You can likewise drag and change.

This Subform can be utilized as the header. If it’s not too much trouble, note Untitled SubForm has been renamed as Header in the left hand side.

Change the header structure content to Streamed, and Stream course to Western text, so that fields will be shown next to each other.

SAP Adobe Forms

Select your header Subform go to insert -> 0 – Standard -> Text field.

SAP Adobe Forms

You want to change the properties of the text field for better presentation and appearance.

Select the TextField1. Change the appearance from Indented box – > Strong box.

SAP Adobe Forms

Change the position from left -> none.

SAP Adobe Forms

Value entered from user entered from -> Read-only.

SAP Adobe Forms

Select the Border as the solid color.

SAP Adobe Forms

Presently, you can reuse this TextField1.

Reorder the TextField1 in Header sub from. (For this situation glue multiple times since we want 5 fields to show)

SAP Adobe Forms

You can Change the name of the field.

SAP Adobe Forms

You can pass hard coded text to these fields.

SAP Adobe Forms

You can change the depiction and An incentive for every one of the excess fields.

39

We have made the Header column. Presently, the time has come to print the thing information of the table.

Create one more Subform and name it as Items.

Change the thing Subform content to Streamed, and Stream course to Western text, so that fields will be shown next to each other.

SAP Adobe Forms

Duplicate the five fields Client No, Nation, Name, Road, and Phone and glue under things subform.

Eliminate the default values for every one of the fields.

SAP Adobe Forms

Tie the information table, i.e IT_KNA1 to the Things Subform.

Binding data in Adobe Forms

Restricting is a vital piece of Adobe. Ensure you tie the information accurately.

SAP Adobe Forms

Bind the fields as:
CustomerNo to KUNNR,
Country to LAND1,
Name to NAME1
Street to STRAS
Telephone to TELF1

44
Binding in Adobe Forms
46

You should check the checkbox Rehash Subform for every information thing.

SAP Adobe Forms

Run the Driver Program: YRAM_ADOBE_FORM_PROGRAM2

The result ought to be same.

48

In both the Techniques above, we utilized the underneath driver program to call the Adobe Structure. Snap it in your advancement SAP framework and test your recently made tables in the Adobe.

*&---------------------------------------------------------------------*
*======================================================================*
* YRAM_ADOBE_FORM_PROGRAM2 *
*======================================================================*
* Project : SAP Adobe Forms Tutorial *
* Author : Varad (www.elearningsolutions.co.in) *
* Description : Driver Program for Printing the Customer data *
*======================================================================*
REPORT yram_adobe_form_program2.

**&&~~ Data Objects
DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams,
gt_kna1 TYPE STANDARD TABLE OF kna1.

CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM2'.

*======================================================================*
* START of TREATMENT *
*======================================================================*
START-OF-SELECTION.
SELECT * FROM kna1 INTO TABLE gt_kna1 UP TO 50 ROWS.
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = gv_form_name
IMPORTING
e_funcname = gv_fm_name.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Take the FM name by execuing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
*
**&&~~ Call the Generated FM
CALL FUNCTION gv_fm_name "'/1BCDWB/SM00000176'
EXPORTING
/1bcdwb/docparams = gs_fp_docparams
it_kna1 = gt_kna1
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_CLOSE'.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* <error handling>
ENDIF.
*&---------------------------------------------------------------------*

Do you have anything to add to this article? Have you encountered any issues while using Adobe Forms? Would you like to share any real-world project requirements or solutions? Feel free to share your thoughts. Please leave your comments in the section below and let us know how SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form has helped you or if you have additional insights to offer.

Many thanks for your time!!

YOU MAY BE INTERESTED IN

Applying Enterprise Integration Patterns in SAP ABAP

Objects of Data Dictionary in SAP ABAP

SAP LUW in ABAP Cloud

SAP

SAP Adobe Interactive Form Tutorial. Part I. First Adobe Form

Spice of this part: Many of us ABAPers may not realize that Adobe Forms can be tested independently in transaction SE37, much like Smart Forms. This tip might not be found in every SAP Adobe Interactive Form Tutorial. Part I. First Adobe Forms you come across.

So clasp your safety belts and prepare for this delightful excursion on SAP Adobe Structure with our experience Pilot, Slam Daruru.

Tutorial 1: Our First Adobe Form

Pre-requisites: Adobe life cycle designer in your system and it should be configured in the Sever as well.

Transaction code: SFP. In the previous article, we told a trick to remember this. Smart Form PDF. 

Enter the Point of interaction and Make (Point of interaction is required for Adobe structure).

Step by step SAP Adobe

What are the uses of Form Interface?

  1. In the structure interface, you determine the information that is traded with the application program (like tables, structures, workspaces).
  2. Under Worldwide Definitions, you characterize your own fields, factors and so on.
  3. The framework fields contain information with a predefined meaning (like the date).

Give the Depiction and Press on Save.

SAP Adobe Form Tutorial

Give the Bundle name and Save.

Getting started with Adobe Forms with a simple exercise

Really look at the Connection point properties. Examine the left side and the right half of the board. Check the Boundary Name which was created consequently.

Hands on SAP Adobe

Allow us to add our own custom Boundary Name. Select the Import choice under Structure Point of interaction (left side) and press the Make button (right side) to add a Bringing in Boundary IV_TEXT.

SAP Adobe Forms Online Training

For this instructional exercise, IV_TEXT is of type CHAR30 and actually look at the discretionary Banner.

Check, Save and Initiate the Structure Point of interaction.

6

Return or go to t-code SFP once more. This time we want to make the Structure.

Ideally, we don’t have to educate you again to Press on Make button.

SAP Adobe Form Tutorial

Give the Portrayal of the Structure and the Point of interaction name which we made before.

Step by step SAP Adobe

Enter the Bundle name and Save.

Adobe Forms

This is the main look of our Structure. Left side we have the Connection point and right side the Specific situation.

Getting started with Adobe Forms with a simple exercise

Extend the Import Boundary and Simplified the expected variable to Setting

11

What is the significance of the Context in Form Builder?

In the unique circumstance (otherwise called the structure setting), you determine which information is replicated from the connection point to the structure. You can likewise remember this information as a hub for a pecking order structure. In this pecking order, you can likewise conclude the structure rationale by determining conditions for handling the hubs.

The setting capability in Structure Developer is the connection that ties the point of interaction to the design. You develop the structure setting from the current connection point.

In the event that the above clarification is excessively unclear for you. Disregard it.

Essentially recollect Setting as information announcement at the Worldwide Region, might be very much like TOP Incorporate program.

To put it plainly, assuming you need your boundaries i.e inner tables, workspaces or variable and so forth to be passed from your driver program to Connect and afterward to the Structure then you want to characterize that interior table, workspaces or factors at the Setting of the Structure. Does it appear to be legit? Or on the other hand did I befuddle you more?

Anything characterized in Setting of the Structure is accessible in the Structure to be shown or controlled. Assuming you characterized a variable in the Structure Connection point yet didn’t make it in the Unique situation, then that Point of interaction variable could never be accessible in the Structure.

Basic simplified the boundaries from Connection point to the Structure Setting (as displayed in the figure underneath). All the limiting between Connection point boundaries and Structure setting would happen naturally.

On the off chance that you could do without alternate routes (simplified) or on the other hand assuming you need the setting boundary name to be not quite the same as that in Structure Connection point, then, at that point, you really want to determine the Information Field in the properties of the Setting component without help from anyone else. For instance, if you need to make a setting P_TEXT however you need to tie it with IV_TEXT, then, at that point, the Information Field ought to be IV_TEXT as displayed underneath.

Tip: Simplified from Connection point to the Unique circumstance and afterward change the name/portrayal of the Setting component. This will save your time and you don’t have to unequivocally keep up with the properties.

12

Allow us to actually look at the Format Tab.

13

Left side we have Progressive system, Tab Request, Information View and so on and Right side we have Plan, Mater and PDF Review choices.

14
15

Let us picked Information View and Simplified the Field which we need to print on the structure to Configuration view. You can put this recorded anyplace in the design. For our model, we have only one component IV_TEXT. The explanation being basic. We made only one component in the Unique circumstance. You can add several additional background information components and they would be accessible here to be passed to the design. In next posts, we will add greater intricacy to our necessity and you would have the option to perceive how we can deal with numerous components.

16

You can change the Inscription from IV_TEXT to required subtitle. For instance: Text. Click on the component and change the properties of the Article on the right hand side.

Check, Save and Initiate the Structure.

Stand Alone Testing of Adobe Form by using Interface:

To see yield for test reason even before your calling project or driver program is prepared, you can press F8 and again F8 and input a worth to the Connection point and really take a look at the result.

17
18

note: Ideally, at this point you have understood that like Smartform, Adobe structure additionally produces a capability module in the back end.

Execute (F8)

19

Press on Print review button. Check the info boundary is effectively passed from connection point to the design.

20

Like SAP Script and Smartform, Adobe Form also need a Driver Program. Forms have no utility if they are alone. They need a partner to be complete.  Let us take a look at the other side of the coin.

If you have worked in Smartform earlier, you would find no difference. We just need to pass the data to the Form using the Interface parameters. And debugging is also similar as Smartform.

*&---------------------------------------------------------------------*
*======================================================================*
*                     YRAM_ADOBE_FORM_PROGRAM1                           *
*======================================================================*
* Project     : SAP Adobe Forms Tutorial                               *
* Author      : Varad                                *
* Description : Driver Program to Print Adobe form                     *
*======================================================================*
REPORT yram_adobe_form_program1.

TABLES : apb_lpd_otr_keys.

**&&~~ Data Objects
DATA: gv_fm_name         TYPE rs38l_fnam,      " FM Name
      gs_fp_docparams    TYPE sfpdocparams,
      gs_fp_outputparams TYPE sfpoutputparams.

CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM1'.

**&&~~ Selection Screen
*
PARAMETERS : p_text TYPE char30.
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
  CHANGING
    ie_outputparams = gs_fp_outputparams
  EXCEPTIONS
    cancel          = 1
    usage_error     = 2
    system_error    = 3
    internal_error  = 4
    OTHERS          = 5.
IF sy-subrc <> 0.
  " Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
  EXPORTING
    i_name     = gv_form_name
  IMPORTING
    e_funcname = gv_fm_name.
IF sy-subrc <> 0.
  " Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Take the FM name by executing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
*
**&&~~ Call the Generated FM
CALL FUNCTION gv_fm_name   "'/1BCDWB/SM00000176'
  EXPORTING
    /1bcdwb/docparams = gs_fp_docparams
    iv_text           = p_text
* IMPORTING
*   /1BCDWB/FORMOUTPUT       =
  EXCEPTIONS
    usage_error       = 1
    system_error      = 2
    internal_error    = 3
    OTHERS            = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_CLOSE'
* IMPORTING
*   E_RESULT             =
* EXCEPTIONS
*   USAGE_ERROR          = 1
*   SYSTEM_ERROR         = 2
*   INTERNAL_ERROR       = 3
*   OTHERS               = 4
  .
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------END----------------------------------*

Let us test the Output using the Driver Program:

22

Execute the Driver Program and picked the Print Review choice. The info field is accurately shown in the Structure Format.

How to execute Adobe Driver Program

Do you have anything to add to this article? Have you faced any issues while using Adobe Forms? Would you like to share any real project requirements or solutions? If so, please feel free to share your thoughts. For more detailed guidance, refer to our SAP Adobe Interactive Form Tutorial. Part I. First Adobe Forms. Kindly leave your comments in the section below.

Much thanks for your time!!

YOU MAY BE INTERESTED IN

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

Transport ABAP Report Variants into a Work Bench Request

Use of data elements in SAP ABAP

SAP

SAP PO for Beginners Part – 20 – BPMN 2.0 in a Nutshell

This blog will show you BPMN 2.0 in a nutshell and guide you on how to design a business process model using the BPMN 2.0 graphical representation language.

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

  • What is BPMN?
  • Need for BPMN in SAP PO
  • Types of shapes in BPMN

1. What is BPMN ?

BPMN 2.0 in a Nutshell: BPMN stands for Business Process Model and Notation. It is a standard developed by the Object Management Group (OMG). The primary goal of BPMN is to provide graphical documentation that is understandable to all business users. Since it is based on flowchart principles, it is straightforward and easy to grasp. BPMN is widely used to standardize the language for describing business processes. It is easy to learn and can be utilized by both IT and business users. Although many symbols are available for various use cases, only a handful are commonly used to represent most processes.

At an undeniable level, BPMN assists partners with figuring out the interaction through a visual portrayal, since graph can make complex cycle more clear.

2. Need for BPMN in SAP PO?

In the event that you have perused the past post, you would realize BPM process. To lay out the BPM cycle in SAP NWDS device, we really want to plan the business cycle utilizing a language called BPMN. Variant of BPMN is 2.0. BPMN2.0. We have two sorts of PO establishment. One is Single Stack Java based and another is double stack ABAP + Java based. In double stack engineering, we also have BPM, however its ccBPM which isn’t similar to NW BPM. Likewise, the language used to make ccBPM process is BPEL (Business Interaction Execution Language) though for NW BPM, its BPMN2.0.

3. Types of shapes in BPMN: BPMN 2.0 in a Nutshell

BPMN is made of specific components or shapes that contains visual language. BPMN has 4 fundamental gatherings of shapes.

– Flow Objects -> Events / Activities / Gateways

– Connecting Objects -> Sequence / Message Flow / Association

– Swimlanes -> Pool / Lane

– Artifacts -> Data / Group / Annotation

1) Flow Objects – Events:

The primary sort of stream object is Occasion. Occasions trigger a beginning/change or finishes an interaction. There are 3 kinds of occasions:

Begin – Each cycle in a BPMN chart should start with starting occasion called Start occasion. Many beginning occasions contain a symbol in the center to characterize the occasions trigger. For e.g., a Beginning occasion that contains the envelope symbol in the center shows that the message shows up and triggers the beginning of a cycle.

Halfway – This component has two circles with some offset.

End – An End occasion implies the finish of a specific cycle or way inside an interaction. At the point when you see an end occasion, you can affirm that there could be no further cycle should be added or will be accessible after that. End occasions have a thick boundary.

Begin, Halfway and End Occasions can be additionally assigned into a few images. Recall your BPMN graph, regardless of the cycle, will essentially have one beginning occasion and one end occasion.

2) Flow Objects – Activities:

Exercises then again are the structure blocks of BPMN graph. They address a particular undertaking performed by an individual or framework and their shown by square shape with adjusted corners. In exercises, you can add symbols in the action to outwardly show significant traits like message send or get, client undertakings, manual errands and so on.

There are 4 main types of activities:

Task – An undertaking is a solitary activity in a cycle. Like Altering the receipt, mailing to business.

Subprocess – A Subprocess make out of different stream objects. Subprocess will come convenient assuming your BPMN graph is tremendous with many BPMN components and you don’t maintain that less significant cycle should mess the chart. In this way, its smarter to put it inside sub-process. A Sub-process has an Or more image in center which signifies that the sub-process holds youngster components inside itself.

Transaction – A transaction activity represents a payment process.

Call – A call movement calls and starts up another cycle and the parent interaction will go on just when the other cycle is done.

3) Flow Objects – Gateways:

The last kind of stream objects are Passages. Entryways are addressed by precious stone shape and goes about as a choice point that concludes the interaction way or stream in light of specific circumstances or occasions. For e.g., in light of the mail content, the door will send the mail body to the beneficiary.

There are a few sorts of doors with a precious stone shape, with various images inside to recognize the kind of Entryway.

A portion of the principal passages are: Selective, Occasion based, Equal, Comprehensive, Complex choice entryways.

Selective Passage – Jewel Shape with X imprint inside it. Additionally called as XOR entryway. In the underneath BPMN scrap, we have utilized elite passage, where client needs to pick which spiderman they like and in view of that choice, the restrictive entryway will decide and continues with the following assignment, which is Decision in favor of top picks. The contrast among selective and rest of the entryway is, in elite, all friendly arrangement streams are assessed, and any one activity should be picked.

Occasion Based Passage – Occasion based entryway is like Selective door, where just a single branch will be initiated, rest of the branches will get deactivated. In select entryway, a condition articulation is assessed, however in occasion based passage, the condition will be founded on occasions. For e.g., When a client makes a credit demand, it is important to request a few records. In the event that client doesn’t bring the archives till 2 days, we will contact the client mentioning for same nevertheless not gave, then end the cycle. Assuming records got, check it and interaction will end. Here, occasion based entryway will have 2 parts, where first split is hanging tight for 2 days for records and second split is getting reports.

Equal Passage – Precious stone with an or more sign inside it. In equal passage, all branches will get enacted. Like, on the off chance that we utilize equal door in above model, the two branches, trusting that 2 days for client will bring the endlessly archives got branch will get actuated parallelly. On the off chance that there is what is going on, where all split branches ought to be executed, favor equal entryway. Equal door is likewise called AND entryway.

For a legitimate model on equal passage is, purchasing staple things in general store.

In above general store model, till you purchase all referenced things (milk, bread rolls, food) the door will not execute the following stage of installment. It will stand by till all things are bought.

Comprehensive Door – Circle inside a jewel. Comprehensive Door is likewise called OR entryway. We should straight away go with the model.

In the above piece, comprehensive passage will pick something like 1 branch to get chosen or all branches. Like, assuming we purchase Marie gold bread roll, OR door will sit tight for the reaction of the other two branch status. On the off chance that Oreo branch is chosen, it will be added and same for good day. Until it gets reaction from all branches, the OR entryway will not get finished. It is generally a decent practice to have a default branch which would execute on the off chance that the bread rolls are not really purchased. For determining default branch, there will be change in bolt, with a strike toward the beginning of bolt.

4) Connecting Objects – Sequence Flow:

Exercises, doors, and curios don’t have a lot of significant worth all alone in the event that they can’t be associated with one another. This is the explanation we are utilizing Associating objects. We will utilize different association objects in view of the transmission. The first is Grouping.

Succession stream interfaces different stream articles like occasions, exercises and passages.

5) Connecting Objects – Message Flow:

A message stream is utilized to show the progression of messages between two members that are ready to send and get them. In BPMN, each pool addresses one member. Trade of data between members can be signified in Message stream connector.

6) Connecting Objects – Association:

An affiliation associates extra data, like a note, to individual components in the process model, for example, stream objects, Swimlanes, and information objects.

7) Swimlanes – Pools:

Swimlanes are only compartment to bunch the BPM processes. A swimlane addresses a utilitarian element or obligation simultaneously and can be demonstrated either upward or on a level plane contingent upon the direction of the whole BPD. Swimlanes will show us who are responsible for each interaction. In the event that you are having at least one donor, it will result in different swimlanes.

Pool swimlane addresses a cycle member and fills in as a holder for single interaction. Paths can be utilized to sort the division into numerous parts, as in client care administration pool we can have 2 paths, Programming frameworks and Programmed replying mail.

8) Artifacts – Data:

There are numerous data ancient rarities for Information Article. Fundamentally, all data antiquities address information, either information, result or assortment of information/yield. Assuming there are numerous records that is sent as an info, we use Information Assortment and same goes to Result.

You could feel a little uncertain on how this information object situated in BPMN graph. See the underneath piece.

This arrangement of information object doesn’t have an effect in the BPM cycle while executing. It is an extra data to the client that an information that is being utilized and yield record is produced. There are a lot more images like information store, where we can utilize it in the event that we are bringing the information from a data set.

9) Artifacts – Annotation:

Explanations are extra data gave to an undertaking or an action on what’s the errand reason. It is a greater amount of like giving remarks to exercises in BPMN graph.

There are two different ways we can give extra data, one is to explicit movement and another is to gathering of interaction.

In this way, we have finished the nuts and bolts on grasping the BPMN images. In next post, we will test the comprehension with different business experiments.

I trust you were able to learn about this fascinating topic, BPMN 2.0 in a Nutshell If you feel a little unsure or have any questions or suggestions, please leave your comments below.

YOU MAY LIKE THIS

Core Data Services in ABAP for HANA

Understanding the Role of an SAP Application Support Specialist

A Comprehensive Guide to SAP ABAP Training Online

SAP

SAP PO for Beginners Part – 19 – Introduction to NW BPM and NW BRM in SAP PO

This blog will provide an Introduction to NW BPM and NW BRM in SAP PO, offering a general understanding of these concepts in a single stack environment with a relevant business use case.

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

  • What is NW BPM in SAP PO?
  • Need for NW BPM in SAP PO
  • Real Life example using NW BPM
  • Composite Environment
  • BPM & BPMN
  • What is NW BRM in SAP PO?

1) What is NW BPM in SAP PO?

BPM represents Business Interaction The executives and NW implies NetWeaver which says like BPM runs on SAP NetWeaver Java Based Application server. BPM gives the command over the course of a business application like planning, execution and observing. It permits associations to adjust their business situations and cycles to new business procedures and fulfill the needs of the present business climate constantly.

SAP gave one Extra part called NWBRM, and that implies NetWeaver Business Rules The executives. Process Coordination is a combo item.

SAP PO = SAP PI (AEX) + BPM + BRM

NWBPM is a different layer in PO, where the point of interaction creation or transmission can occur without BPM’s assistance. There may be a few situations where improvement of standard SAP Business Suite processes with web and rule-based process steps.

Frequently for a few client’s standard cycles ought to be upgraded to help a consistent reconciliation of infrequent clients (e.g., directors, outer colleagues, … ) through online UIs. Likewise, portable situations for individual interaction steps are required. Consequently, SAP Interaction Arrangement offers numerous specialized choices. With BPM such necessities can be executed effectively and proficiently, similar to execution of endorsement processes.

2) Need for NW BPM in SAP PO?

BPM is expected in circumstances where the circumstances are not satisfied by basic methodology. There are sure circumstances where we require BPM usefulness:

  • Handling of different messages for example Converging of two documents into one or of single record and sending it to numerous collectors parallelly or successively.
  • Trust that a message will be shown up.
  • Complex business process which includes embedding information into a few framework and getting reaction on specific condition structure every one of the collector.
  • Correspondence between a coordinated and a nonconcurrent framework which is finished with BPM.

3) Real life example using NW BPM:

Envision the business cycle included when you are structure a thing in an eatery. The initial step is that you submit a request, second, passed to kitchen for readiness and afterward once request is prepared, it will be served. Furthermore, finally, you will make installment. In the above use case, we can see that the request data is passed to a few frameworks and individuals and with heaps of coordination, requested thing is conveyed.

Likewise, associations made processes in view of their current administrations and applications. Also, there will be individuals included who will deal with the administrations and the applications. Just to finish one responsibility like convey the arranged thing, organizations could go through or incorporate with various administrations. Organizations would try and make another interaction by consolidating different innovation, data, and applications.

Additionally, we must have clear start to finish process perceivability and quicker completion time to run the cycle. That is the explanation organizations embrace instruments that help such sort of work process devices or BPM apparatuses. So that organizations would have unlimited authority on their administrations.

4) Composite Environment:

How about we check the Composite Climate out. It is a biological system where you join things together. SAP NetWeaver gives composite climate which is Java based climate where we can foster work processes and join various administrations together. CE has apparatuses, servers, and observing dashboards to fabricate and maintain our business cycles and NW BPM is one of them which can be planned, created, conveyed, tried, and executed behind the scenes server is SAP NetWeaver AS. Aside from improvement, it gives start to finish perceivability on the interaction device. The PO is combo item which has AEX, BPM, BRM. So AEX needs to correspondence with NW BPM for it to utilize BPM highlight in the composite climate.

AEX will deal with the network. BPM BRM deals with the running/handling of the cycle. In the above outline, it is apparent that B2B/A2A applications will contact AEX, for availability. Thus, the stream will be SAP ECC – > PO – > BPM – > PO – > outsider. SAP NWDS instrument is utilized for process demonstrating. NWDS is based on top of Obscuration apparatus by upgrading a few highlights to it needs. Composite applications can get to Big business Administration Library.

5) BPM & BPMN:

There are two sorts of cycles: Framework Driven Cycles and Human Driven Cycles. In Framework driven process, there will be no manual mediation required, similar to trade of receipt information from shipper to collector framework. While human driven process, human mediation is expected to finish the interaction, such as booking a flight ticket.

It is critical to comprehend framework driven and human driven, on the grounds that when we foster BPM process, we should have the option to separate it.

At the point when you fabricate communicate with AEX, you really want to assemble some part in AEX, and you want to change back to Composite climate and foster BPM and return to AEX to finish the connection point, as displayed in above outline.

So AEX handles Information change, directing, availability, and informing framework which implies all associations in source and target just occurs from AEX. Likewise, AEX deals with the information transformation yet in addition it can handover the obligation to BPM for information change/handling.

You can arrange in PO, as, when you get the message from shipper framework, it can give that obligation of dealing with the message to BPM. Whenever message is shipped off PO to BPM, BPM will get enacted and it will begin executing the means in view of framework driven or human driven process. When BPM process is finished, the reaction will be shipped off PO and note that BPM doesn’t send the reaction straightforwardly to collector or outsider framework.

Presently for fostering the BPM cycle, you want to learn BPMN language. Variant of BPMN is 2.0. BPMN2.0. BPMN represents Business Interaction Model and Documentation.

As said in past posts, we have two sorts of PO establishment. One is Single Stack Java based and another is double stack ABAP + Java based. In double stack design, we also have BPM, however its ccBPM which isn’t similar to NW BPM. Likewise, the language used to make ccBPM process is BPEL (Business Cycle Execution Language). In this way, in the event that you are moving from Double Stack to Single stack, you should update or re-gain the NW BPM process without any preparation.

Business Cycle Model and Documentation (BPMN) is a graphical portrayal for business process demonstrating that gives a graphical documentation to determining business processes in a Business Interaction Outline (BPD). It isn’t like programming, rather it depends on flowcharting procedure however used to address business process model.

We will have one nitty gritty post on portraying the BPMN2.0 language linguistic structure, occasions, passages, and association graphs. Test BPM stream:

6) What is NW BRM in SAP PO?

NW BRM represents NetWeaver Business Rules The board. BRM is about rules. In BPM, when you have some business rules, you will characterize that in BRM. For example, in the event that you request a thing, we can set a condition on request sum limit and keeping in mind that setting up the thing in eatery kitchen, the planning time shouldn’t surpass 30mins or somewhere in the vicinity. These sorts of rules can be set in NW BRM.

The justification for why the NW BRM is given independently as opposed to remembering it for NW BPM is on the grounds that the business rules could change much of the time, and the expert shouldn’t contact or change the business interaction thus. Thus, SAP has added another part in Composite Climate, so business rules can be adjusted without upsetting BPM.

In this post, we will provide an Introduction to NW BPM and NW BRM in SAP PO and demonstrate how to model a BPM process using the industry-standard BPMN 2.0 language.

YOU MAY LIKE THIS

Cracking the Code: Your Earning Potential as a SAP ABAP Developer with 5 Years of Experience

Application Development Life Cycle in Cloud Computing: A Comprehensive Guide

A Comprehensive Guide to SAP ABAP Training Online

SAP

SAP PO for Beginners Part – 18 – Bridges in SAP PO

This blog will provide a general understanding of bridges in SAP PO with a business use case. Additionally, we will explore the different types of bridges with examples.

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

  • What is a Bridge in SAP PO?
  • Async-Sync Bridge Scenarios
  • Sync-Async Bridge Scenarios

1. What is a Bridges in SAP PO?

Say, you are sending data from an async framework (Document) to outer framework (Web-administration/RFC – Sync). The beneficiary can return reaction message, however source is offbeat. Subsequently, the association from source side will be shut whenever it is sent, as it is nonconcurrent.

There are two types of bridges:

1. Async – Sync Bridge

2. Sync – Async Bridge

Two answers for these issues:

  1. Utilizing ccBPM/BPM
  2. Utilizing standard connector modules

Using ccBPM/BPM:

Advantage:

  • Complex cycles with various frameworks

Disadvantage:

  • Improvement and testing time.
  • Observing and investigating intense
  • ccBPM not accessible in Single stack establishment, subsequently BPM should be utilized.

Using standard adapter modules:

Advantage:

  • Simple observing and troubleshooting, testing, creating

Disadvantage:

  • Clear comprehension of module boundaries required. Could get confounded.

2. Async – Sync Bridge Scenarios:

Scenario:

Record will be shipped off PI and message change/planning will happen, post that, message will be communicated to RFC which is a simultaneous BAPI made in ECC which returns reaction, and it will be put away in a Document.

Adapters – Sender File, Receiver RFC, and Receiver File

  • Source framework – Async
  • Recipient framework – Sync
  • Thus, sending a solicitation and getting reaction in the source connector/channel will be two free errands.
  • Target framework, as it is sync, will send reaction in which the solicitation came.

Connector modules to be utilized in Shipper Correspondence Channel:

  • RequestResponseBean – Converts Async message to Match up message and moves it to next module chain.
  • ResponseOnewayBean – Converts Sync message to Async message and diverts it to beneficiary.
MODULE NAMETYPEMODULE KEY
AF_Modules/RequestResponseBeanLocal Enterprise BeanReq
CallSAPAdapterLocal Enterprise Beansap
AF_Modules/ResponseOnewayBeanLocal Enterprise BeanResp

Boundaries for RequestResponseBean (in Source CC):

passthrough – Valid (Next module in the chain)/Bogus (PI message handling subsystem) – Default (Misleading)

timeout – Response holding up time (in ms) – Default 300000ms

Parameters for ResponseOnewayBean (in Sender CC):

receiverParty/receiverService – Name of comm. Component/Party – Optional

receiverChannel – Receiver Comm. Channel name – Optional

adapterType (FILE)/adapterNamespace (http://sap.com/xi/XI/System) – type and namespace of connector to associate with beneficiary framework – Discretionary.

HANDLING ERROR SCENARIOS:

receiverChannelOnFault – Communication Channel name to receive error messages

replaceInterfaceOnFault – true -> change interface and namespace

                                                false -> keep original interface provided earlier

interfaceOnFault / interfaceNamespaceOnFault

Steps in processing:

  • Getting async message from source framework – > Module RequestResponseBean

-> module changes the message type from async to adjust by changing the message header.

  • In view of the boundary Passthrough Valid, module passes the message to next module chain, in the event that Misleading, it will skirt the following module chain and straightforwardly goes through informing framework.
  • Next is CALL SAP Connector (standard) module, moving it to PI informing framework.
  • Sending a solicitation to match up correspondence channel.
  • Coordinated call to the outside framework, getting the reaction.
  • Getting reaction from sync correspondence channel.
  • Return reaction to ResponseOnewayBean changing the message type from sync to async and deciding the recipient framework which is set in MODULE Boundaries.
  • Sending reaction to channel.
  • Conveyance of message to source framework as async correspondence.

3. Sync – Async Bridge Scenarios:

Sender – Sync

Receiver – Async

Modules to be used:

RequestOnewayBean – Converts sync messages to async messages

WaitResponseBean – leaves sync comm channel OPEN and waits for the response. Upon receiving response from async system, it will convert it to SYNC and send it to original system. If no response came, then error message is returned.

NotifyResponseBean – this module used instead of standard adapter module in response async sender channel to transfer the response message directly to WaitResponseBean

——————-

WE HAVE AN ISSUE HERE:

Envision that few messages are going through the extension all the while. Along these lines, eventually couple of questions are sitting tight for reactions. Some reaction is coming from the objective framework – yet the way that we know which of forthcoming channels should be utilized to send a particular response?

CORRELATION ID – this is the saviour

It is the identifier/key, which holds the special worth between reaction message and the anticipating demands.

THE SOLUTION SHOULD BE:

While communicating the solicitation message, some novel identifier that ought to be recalled by the solicitation message and check this identifier with the got reaction message.

We can involve MessageID for this, which is extraordinary for each message. For getting this messageID we can help it through another standard module – > DynamicConfigurationBean

Steps in processing:

  • Getting a sync message from outer framework, sending it to RequestOnewayBean which converts message type from sync to async.
  • In the event that passThrough is set to Valid, module passes it to next chain of modules.

Else, module passes it to informing framework.

  • Standard connector module moves it to PI informing framework.
  • Demand moved to async recipient channel
  • Async call to outside framework
  • Async reaction to source comm channel from outside framework
  • Return the reaction to NotifyResponseBean, which sends the async reaction message to WaitResponseBean.
  • WaitResponseBean changes over async reaction message to match up reaction message and sends to source framework.

Parameters for RequestOnewayBean (in Sender CC):

passthrough – True (Next module in the chain) /False (PI message processing subsystem) – Default (False)

Parameters for WaitResponseBean (in Sender CC):

timeout – Response waiting time (in ms) – Default 300000ms

Parameters for NotifyResponseBean (in response Sender CC):

timeout – Response waiting time (in ms) – Default 300000ms

fault – Name of an error message

faultNamespace – Namespace of an error message

Next is solicitation and reaction relationship.

We should send messageID in the solicitation message header and pass it to target framework. In returning the reaction, we should fill the correlationID in the reaction header.

This is the manner by which we can deal with the solicitation and reaction of a sync to async span situation. Trust you enjoyed it. On the off chance that you feel somewhat doubtful, inquiries or ideas for us, kindly put your remarks underneath.

YOU MAY BE INTERESTED IN

ABAP on SAP HANA. Part III. Debugging in ADT

Building Cloud-Native ABAP Applications: A Guide to Modern SAP Development

SAP ABAP future in next coming years

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

× How can I help you?