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

Share on Facebook38Share on LinkedIn11Tweet about this on TwitterShare on Google+0
Please Share!!

In our first tutorial on Adobe Form, we showed the steps to create our basic form and the driver program. One of our readers asked for configuration steps of driver program and adobe form.

Question from our reader: Can u please explain where we will configure the driver program and associated adobe form name, to trigger in any transaction?
Answer: Go to t-code NACE==>Select any application. For example : V3 ==> Press on “Output type” button ==> Select any output type. For Example : RD00 ==> Press on “Processing Routines” ==> here we can configure Medium / Program / Form Routine / Form / PDF-SmartForm Form.

Under PDF-Smartform Form, we can configure the adobe form.

In PP Module – we can configure in OPK8 Transaction.

In the previous part, we saw how we can display a variable. In actual projects, we hardly have a requirement where we need to display only one field. 🙂 . Today, we will learn how to create tables in Adobe Form. Broadly speaking there are two ways to create the tables in Adobe Form.

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

Table Object Method:
Advantages:
It is simple and easy. When we have few fields which can fit into the single line in the layout, we can use this
The designer knows that you are working with tables. Designer allows selecting rows or columns, to simultaneously resize a column.
We have a check box to repeat the table header on each page

Disadvantages:
If we deactivate the fields in the context, it will be difficult to use if needed in the form anywhere. For example in Script editor ( to have some conditional printing etc)
Difficult to handle when we want to print the nested tables
Limitation when we want to print non-standard tables

SubForm Method:
What is Subform?
The subform is part of the form which is used for organizing the different elements like input fields, tables, texts present body pages and rarely master pages.
In other words, Subform is nothing but a group of elements. If we want to group certain elements on the layout we can use subform and wrap them into it.

Advantages:
Using subforms gives us more flexibility when laying out tables.
When we want to print multiple rows of table, subform is more useful
We can rearrange cells in subform (Print wherever we want )
It is very useful when we are printing nested tables in the form.

There are no much disadvantages, because internally, tables are handled as subform structures. We can easily check this if we look at the XML source of the template in Designer.
If we want the header to be repeated in case of page breaks we have to use “Overflow Leaders” (instead of the convenient check box if we are using tables). We need to set them on the “Pagination” tab of the object palette).

So depending on what we want to achieve we might have to use subforms instead of a table. But for standard tables, the recommendation is to use the table object directly. Follow the KIS strategy. Keep It Simple (KIS). 🙂

I am sure if you have not worked in Tables before, the above advantages and disadvantages might have definitely confused you. Do not worry. Ignore the above comparison. We will do a hands-on with step by step guide and by the time you finish creating the tables using both the methods mentioned, the picture would be clear.

In this tutorial, our aim is to display Customer Data from Customer Master Table KNA1 using both the methods. Let’s 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
Enter the short description and Save.

SAP Adobe Form Tutorial

Enter the Package name and Save.

SAP 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

SAP Adobe Form Tutorial

Importing Parameter IT_KNA1 is of type CCRCTT_KNA1. CCRCTT_KNA1 is a table type of KNA1. In Adobe form interface / Function module you need to use Table Type Parameters to pass table data to the form from your program. (In Function module, Tables parameter is obsolete).

Save, Check, Activate the Interface.

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

SAP Adobe Form Tutorial

Press on create button

Provide the short description and Interface name which you have created earlier.

SAP Adobe Form Tutorial

Enter the Package name and Save.

Drag IT_KNA1 from Interface which we created earlier to the Context.

Tutorial in SAP Adobe Forms

Tutorial in SAP Adobe Forms

Interested in SAP HANA? Check this. SAP HANA for Beginners from a Beginner.

Method 1: Create Table in Adobe Form using Table Object

You should deactivate the fields from the Table which are not required to print since there are many fields in the table, it will not fit in the form.

Select the fields which are not required to be displayed.

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

Insert a text variable to have some heading on the form.

Tutorial in SAP Adobe Forms

Tutorial in SAP Adobe Forms

Change the text as required.

Tutorial in SAP Adobe Forms

You can change the font and size of the text in the marked section above.
————————————————————————————————
Ram’s Tip 1: If you do not find Font toolbar by default, you can activate it as shown below.

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 adjust the column height or width, by drag and drop option. If you want to be very precise, you can also go to the properties in the right hand side and adjust the width and height.

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

Save, Check, Activate the form.

Please note: If you have data in the IT_KNA1 table more than 1-page size, it would not flow to the next page. You have to do the following two activities if you want to see all data. 🙂

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

Some clients in some countries would like the table to have the row Layout from Right to Left.

By default, it is Left to Right Rows.

Right to Left Alignment

But, in case you want your rows from Right to Left, choose the layout from the Table properties.


End of Update on 27th February 2017

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

Execute the Driver program: YRAM_ADOBE_FORM_PROGRAM2. The code snippet is provided at the end.

The output would display the table with the Customer Master data.

Step by step Adobe Forms Tutorial

At this point, we are tempted to end this article. Reason being two. First, it is 11:20 PM in the night and second, the article is already long. But we decided to continue the post and include the Method 2 in the same post so that the readers do not lose the continuity and flow of learning. So take a quick water break and proceed to the next Method. It would be more interesting and challenging. 🙂

Also Read: GPS like Tool in SAP

Method 2: Create Table using Sub Forms

By using this method, we can display the fields in any order and the fields in multiple rows of lines.

24

Go to layout

25

Every form will have Master page and Body page by default (Untitled Subform) (page1).

In Simple definition, we can use Master page to print the header data and Body page for printing the item data.

The content area is used for printing the data in Body page. We can change the length or width of the content area in Master page.

We are keeping the header in Master page

SAP Adobe Forms

————————————————————————————————
Ram’s Tip 3: At any point of your development, if you want to see the basic output of your form, you just need to click on Preview PDF Tab.
————————————————————————————————

Go to design view

To print the Table data the Subform must be FLOWED.

SAP Adobe Forms

This is a very important step. We need to insert the SubForm.

SAP Adobe Forms

SAP Adobe Forms

You can change the height or width of the window in Layout tab. You can also drag and adjust.

This Subform can be used as the header. Please note Untitled SubForm has been renamed as Header in the left hand side.

Change the header form content to Flowed, and Flow direction to Western text, so that fields will be displayed side by side.

SAP Adobe Forms

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

SAP Adobe Forms

You need to change the properties of the text field for better display and appearance.

Select the TextField1. Change the appearance from Sunken box -> Solid 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

Now, you can reuse this TextField1.

Copy and Paste the TextField1 in Header sub from. (In this case paste 4 times because we need 5 fields to display)

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 description and Value for all the remaining fields.

39

 

We have created the Header row. Now, it is time to print the item data of the table.

Create one more Subform and name it as Items.

Change the item Subform content to Flowed, and Flow direction to Western text, so that fields will be displayed side by side.

SAP Adobe Forms

Copy the five fields Customer No, Country, Name, Street, and Telephone and paste under items subform.

Remove the default values for all the fields.

SAP Adobe Forms

Bind the data table, i.e IT_KNA1 to the Items Subform.

Binding data in Adobe Forms

Binding is a very important part of Adobe. Make sure you bind the data correctly.

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 must check the checkbox Repeat Subform for each data item.

SAP Adobe Forms

Run the Driver Program: YRAM_ADOBE_FORM_PROGRAM2

The output should be same.

48

Did you check this? 4 Versions of the same program to learn OOPs ABAP

In both the Methods above, we used the below driver program to call the Adobe Form. Snap it in your development SAP system and test your newly created tables in the Adobe.

Hopefully, you were not overwhelmed by this long long article.  The future tutorials on Adobe would not be this long. Promise!! As we keep saying, we cannot learn to swim unless we wade through the water. So try practicing the exercises in your system and I am sure you will have no issue. If any issue just shoot an email to mailsapyard@gmail.com or leave your questions in the comment section and you will definitely have a quick response.

Next Post in Series: Adobe Form Tutorial Part III : Date, Time and Floating Fields in Adobe.

If you want to get such useful articles directly to your inbox, please SUBSCRIBE. We respect your privacy and take protecting it seriously.

If you liked this post, please hit the share buttons and like us on facebook.

Do you have anything to add to this article? Have you faced any issue using Adobe Forms? Do you want to share any real project requirement or solutions? Please do not hold back. Please leave your thoughts in the comment section.

Thank you very much for your time!!

Useful Tutorials in SAPYard

1. ABAP for SAP HANA Tutorials
2. ABAP Web Dynpro Tutorials
3. GOS Tutorial
4. OOPs ABAP Tutorial
5. HANA Tutorial
6. SAP Netweaver and OData Tutorial
7. SAP Adobe Form Tutorial
8. SAP Fiori Tutorial
9. SAPUI5 Tutorial

 

Share on Facebook38Share on LinkedIn11Tweet about this on TwitterShare on Google+0
Please Share!!

About the Author

SAP Yard
SAP Yard

SAPYard is one stop page for all Technical Folks in SAP. You would find un-conventional explanations, tutorials, and tricks.

Please like our Facebook Page and also join our LinkedIn Group.

3 Comments on "SAP Adobe Interactive Form Tutorial. Part II. Tables in Adobe Form"

  1. Thanks a lot. Very nice and useful presentation.

  2. Hi,
    How to display Heading in only first page of Adobe form. As of now the heading is coming in all pages. Can you please how to restrict that to 1 page??

    • Hi Venky – The easy alternative is create two tables. 1 for only header and 2nd for the body/item table. This way, the header will only have the column description and it would not flow to the next page.

      However I will request our experts to provide a better solution. We will update our article with his solution.

      Thank you for leaving a question. This will help all our readers.

      Regards,
      Team SAPYard.

Leave a Reply to venky Cancel reply

Your email address will not be published.


*