SAP Adobe Interactive. Part XVIII.

SAP Adobe Interactive. Part XVIII. How to Hide a Table Column Dynamically Using JavaScript?

We’ve recently been working on a real-world use case for Interactive SAP Adobe Forms. In this post, we demonstrated a real-world project situation in which we used Java Scripts 

to hide/display a table column in a simple, hierarchical 

business model.Essentially, we will show a practical example

 of how to use Java script to conceal or display a certain

 column in an Adobe forms table. It is a frequent demand and there 

are numerous ways to fulfill it, and JavaScript is the 

lucky choice for our project. 

Business requirement:

Table Data Structure is as follow:

Requirement: At runtime,        

  • When Product is “EDITION”, column Territory should be hidden
  • When Product is “RENDITION”, column ISBN should be hidden

The expected result should be as follows:

To further understand, let’s use a basic example rather than the layered table structure described  before.

Create an Adobe form ZPB_HIDE_TABLE_COLUMN with an interface with import parameter as IV_PRODUCT and IT_DETAILS.

  • IV_PRODUCT           :               Product Type entered from driver program
  • IT_DETAILS              :               Detail table with following structure

2. In Adobe Layout, create a table from the data view using IT_DETAILS as follows:

Column Territory should be hidden if the user enters “E” as the product type. So, whenever each body row of the table is populated, we must read the product type IV_PRODUCT, and the corresponding column for the same data row should be hidden.

3. Write a driver application to invoke Adobe form functions, load test data into this table, and then pass the table into an FM that is generated by an Adobe form. The test data might look like this:

4. In the script editor, Write the below Java script code in initialization event of body row of table GT_DETAILS_SIMPLE as follow:

(For details of using scripts in Adobe form, please refer my previous article)

Let’s try to understand the highlighted script code.

Adobe’s XML Form Architecture, or XFA for short, is the foundational component of an XML file used by Adobe PDF. By providing its path as a parameter in the resolveNode method, we can gain access to a particular object in the hierarchy. The reference of the object supplied as an argument would be returned by this method, allowing us to utilize the relevant characteristics of that object.

  • We obtained the IV_PRODUCT context field reference in the highlighted script, and we used the rawValue property to obtain the product type value that the user had supplied in a local variable called product.
  • We attempted to set the visibility attribute (presence) of the corresponding columns to “hidden” based on the product value.

5. Test program creation and result of adobe form print-preview:

a. In the test driver software, create the selection parameter P_PROD that the user will supply to call the Adobe form.

b. Test the program and observe the result:

You can see that the Java script has successfully hidden the column value (Territory as Product type input as E) if you compare the above result with the actual test data from step 3. However, the column header “Territory” has not been deleted. As a result, every column has been moved one spot to the left, creating an incorrect PDF form.

How to correctly display the data?

Another Java script must be written for the table header row’s startup event since we also need to hide the matching column headers from the table header row.

6. In the script editor, Write the below Java script code in initialization event of header row of table GT_DETAILS_SIMPLE as follow:

The current object in which the event has been written will always be referenced. This would be in reference to “data.sbf_details.GT_DETAILS_simple.header” in the highlighted sentence above. Script code is built to set the presence property of territory and isbn texts because we wish to hide a particular field in the header.

  • txt_territory            :               Text field name in header in hierarchy for Territory column
  • txt_isbn                   :               Text field name in header in hierarchy for ISBN column

7. Test the program and observe the form result in “Print-Preview”:

Two important observations if we compare the above result with actual test data in step 3:

  • Since the Territory column is fully hidden and the product entered is “E,
  • ” we have met the criterion. Nevertheless, there has been a disturbance in the column width. The NET_UNITS field was not set as large as it seems in the following example. The ISBN column width has taken its place, and this also applies to any further columns that follow.

What would be the exact solution now?

We noticed that in addition to concealing a column field and header, we also need to dynamically modify the column width. This can be accomplished by writing Java Script code in one location, which will handle everything at once, as opposed to creating numerous Java Scripts on multiple objects (BodyRow, HeaderRow, Table Column Width changes).

8. After step 3, Follow this step and write the below Java script code in initialization event of table GT_DETAILS_SIMPLE as follow:

Explanation of above Script code is as follow:

  • var width = this.columnWidths   – Return the whole string as set of all column’s width
  • var array = width.split(” “)            – Split the width string by space, return an array with each column
  • array[2] = ‘”0.001mm”                    – Replace third column width with 0.001mm.
  • array.join(” “)                                    – Concatenate all the array data sets and return a string.

9. Test program creation and result of adobe form print-preview same as step 5 above:

  • Now that the product entered is “E,” the Territory column is suppressed and all column widths are shown correctly.
  • However, the height of the column header is now automatically changed A “Text” UI’s layout properties cannot be changed dynamically, thus we must change its type to “Text Field” and double-check the outcomes.

10. Change the type of the Header columns to “Text Field” as follow:

a. Select column header and go to Object palattes:

b. Set the default column header text as follow:

c. Follow the above steps for all column headers.

11. Repeat step 9 and check the result in print-preview:

a. When Product = E

b. When Product = R

Conclusion:

Using Java Script code, we have now seen numerous methods for hiding or displaying a certain column in Table UI in Adobe forms. The most effective and straightforward method is to use Table’s Property 

column Width. The aforementioned straightforward table use case allows us to apply the same guidelines to intricate corporate settings.

We will now learn how to handle a nested Table columns controlled by Java Script.

12. a. Extend the above Adobe form with new context created in form interface:

IT_NESTED  :   Detailed Product structure with Table type as follow:

b. Create a table from data view using IT_NESTED in Adobe layout as follow:

c. Set the PRODUCT_TYPE column in table IT_NESTED as invisible        

We must now read the Product field for each DATA record in IT_NESTED and modify the columnWidth property of the DETAILS Table in order to conceal or display the matching columns in the details table.

13. Write the below Java script code in initialization event of table DETAILS as follow:

14. Check the result in print-preview:

As you can see, we can quickly accomplish complex business scenarios with just one Java Script code block. That is Adobe Forms’ Java Script’s strength. These days, SAP Adobe makes extensive use of JavaScript. JavaScript is crucial to SAPUI5. It’s imperative that ABAP engineers understand JavaScript for their career advancement. 😛`

YOU MAY BE INTERESTED IN

Is SAP ABAP a High Paying Job?

IDoc to EDI Mapping: Bridging the Gap

Your Definitive Guide to Becoming a SAP ABAP Developer

Free

SAP SD S4 HANA

SAP SD (Sales and Distribution) is a module in the SAP ERP (Enterprise Resource Planning) system that handles all aspects of sales and distribution processes. S4 HANA is the latest version of SAP’s ERP suite, built on the SAP HANA in-memory database platform. It provides real-time data processing capabilities, improved…
₹25,000.00

SAP HR HCM

SAP Human Capital Management (SAP HCM)  is an important module in SAP. It is also known as SAP Human Resource Management System (SAP HRMS) or SAP Human Resource (HR). SAP HR software allows you to automate record-keeping processes. It is an ideal framework for the HR department to take advantage…
₹25,000.00

Salesforce Administrator Training

I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
₹25,000.00

Salesforce Developer Training

Salesforce Developer Training Overview Salesforce Developer training advances your skills and knowledge in building custom applications on the Salesforce platform using the programming capabilities of Apex code and the Visualforce UI framework. It covers all the fundamentals of application development through real-time projects and utilizes cases to help you clear…
₹25,000.00

SAP EWM

SAP EWM stands for Extended Warehouse Management. It is a best-of-breed WMS Warehouse Management System product offered by SAP. It was first released in 2007 as a part of SAP SCM meaning Supply Chain Management suite, but in subsequent releases, it was offered as a stand-alone product. The latest version…
₹18,000.00

Oracle PL-SQL Training Program

Oracle PL-SQL is actually the number one database. The demand in market is growing equally with the value of the database. It has become necessary for the Oracle PL-SQL certification to get the right job. eLearning Solutions is one of the renowned institutes for Oracle PL-SQL in Pune. We believe…
Free

Pega Training Courses in Pune- Get Certified Now

Course details for Pega Training in Pune Elearning solution is the best PEGA training institute in Pune. PEGA is one of the Business Process Management tool (BPM), its development is based on Java and OOP concepts. The PAGA technology is mainly used to improve business purposes and cost reduction. PEGA…
₹27,000.00

SAP PP (Production Planning) Training Institute

SAP PP Training Institute in Pune SAP PP training (Production Planning) is one of the largest functional modules in SAP. This module mainly deals with the production process like capacity planning, Master production scheduling, Material requirement planning shop floor, etc. The PP module of SAP takes care of the Master…
₹24,999.86

SAP Basis Training in Pune

SAP BASIS Module Course Content (1) Hardware and Software Introduction (i) Hardware (a) Hardware Introduction (b) Architecture of different Hardware devices (ii) Software (a) Software Introduction (b) Languages and Software Development (c) Introduction to OS (d) Types of OS (iii) Database Concepts (a) Introduction (b) Database Architecture and concepts (c)…
₹30,000.00

Courses For Sap HANA Administration Training

Curriculum Details  SAP HANA Administration SAP HANA Introduction SAP HANA Introduction SAP HANA Information Sources Installation Preparation SAP HANA Sizing   Linux Operating system requirements SAP HANA Installation Introduction to SAP HANA Lifecycle Management tools Describing Advanced Installation options Explaining a Distributed system SAP HANA Architecture SAP HANA Architecture and Technology…
₹30,000.00

Courses For Sap BW On HANA Training

Business Warehouse (BW) is SAP’s data warehousing application; it uses an SAP NetWeaver application server, but can run on many different databases. Improvements come with each version of Courses for sap BW on HANA training, but a really big jump in functionality comes when SAP BW is installed on the…
₹30,000.00

Courses For Sap Hana Simple Logistics Training

SAP SAP HANA simple logistics is also known as HANA enterprise management. Different area of business is combined in this suit itself like HANA enterprise-management helps in faster and efficient processing of business data in the area of logistics, supply chain, procurement, user experience, sales, partner management. So Course for…
₹30,000.00

Courses For Sap ABAP On HANA Training

ABAP remains a key language as many SAP business applications and custom developments are written in ABAP, with Courses for sap ABAP on HANA training there are numerous improvements. The ABAP language, which allows writing streamlined ABAP code and benefit from SAP HANA. SAP HANA is a relational DBMS in SAP…
₹30,000.00

Courses For Sap Hana Training

SAP HANA is the latest ERP Solution from SAP, which is a combination of Hardware and Software. HANA has unprecedented adoption by the SAP customers. courses for SAP HANA training institutes. SAP HANA is the latest, in-memory database, and platform which can be deployed on-premises or cloud. SAP HANA is a…
₹25,000.00

Oracle HRMS (Human Resource Management System) Course Details, Syllabus and Fees

Oracle Applications R12 HRMS is one of the most demanded applications by most organizations. It is the core application possess by the ERP system. The core objective of the organization to implement Oracle R12 HRMS is to organize the entire activates of human resources management. An Elearning solution is well…
₹25,000.00

Oracle Apps SCM (Supply Chain Management) Training & Certification Courses

Elearning solutions provide training suit for Oracle Apps R12 SCM with training from industry experts. The organizations are adopting Oracle’s supply chain management cloud as they deliver the insights, visibility, and capabilities for organizations’ management. Oracle Apps R12 SCM allows the industry to create own intelligent supply chain. Hence, it…
₹25,000.00

Oracle Apps R12 Technical Training Course and Module Overview

Oracle Apps R12 Technical Course Elearning solutions is the best Oracle Apps R12 technical course in Pune owned by well trained and certified trainers. The training is conducted by the best experienced IT professionals with skilled resources. The course structure is based on the real-time scenario so that it will…
FICO & FICO HANA
₹25,000.00

SAP FICO ( Financial Accounting) Online Training And Certification in Pune

Elearning solutions is the best SAP FICO training institute in Pune. SAP FICO is the Finance and Cost controlling module is one of the most important and widely used SAP ERP modules among organizations. As it is very robust and encounter almost all the business processes. In SAP FICO, FI…
₹25,000.00

SAP SD (Sales & Distribution) Training Course Admission Details

Elearning solutions provide SAP SD training. The tutorials are designed for the students who desired to understand SAP SD concepts and implement them in practice. The SAP SD training is delivered by industry experts, who are aware of the real-time scenarios. Hence, supporting students understand, what will be there on…
₹25,000.00

Be an Certified Professional in SAP WM (Warehouse Management)

SAP WM training is offered by Elearning solutions provides 100% hands-on practical classes. The primary focus of training is getting placement for all the students. The tutorials are designed for the students who wished to work on live projects for the organizations. The syllabus of SAP WM training is crafted…
₹25,000.00

Training for SAP MM (Material Management) Course Modules

Elearning solutions are the best SAP MM training institute in Pune. SAP MM (material management system) is one of the important models of the SAP ERP system, which is particularly designed for business processes. SAP MM deals with the entire material and inventory management of the organization. The module is…
₹25,000.00

SAP ABAP Training Institute in Pune, SAP ABAP Courses Online

Elearning Solutions best SAP ABAP training institute in Pune provides real-time training for students. SAP ABAP (Advanced Business Application Programming) is a programming language for building SAP applications such as SAP R/3 which runs in the SAP ABAP runtime environment. (SAP ABAP online course) SAP ABAP is used by organizations…

WhatsApp WhatsApp us
Call Now Button