Interactive Adobe. Part XVII. How to Execute URL Dynamically by Button Click Event?

Button click event triggering a dynamic URL execution in Adobe Forms.

Interactive Adobe. Part XVII. How to Execute URL Dynamically by Button Click Event?

Numerous multiple times, we have a business prerequisites where we might want to have editable structure or fastens/check encloses the adobe structure which client can click and wanted activity ought to be executed. Now and then we additionally might want to communicate with SAP utilizing activities performed by intuitive structures.

These sorts of business prerequisites can be satisfied utilizing IFBA (SAP Intelligent Structures By Adobe). Or on the other hand essentially Intelligent Structure By Adobe.

IFBA can be used in 2 scenarios:

  • Offline
  • Online

Online situations are significantly utilized in Web Dynpro Applications where IFBA can be coordinated as UI component of web dynpro part.

Offiline situations can be perceived as IFBA utilizing email connection shipped off a client, client opens the pdf connection, top off the information in the structure and submit it.

Prerequisites:

Most significant essential is to empower intelligent highlights on Promotions. Naturally, printed Adobe structures can be made and worked upon however for IFBA, Adobe peruser privileges certifications ought to be arranged on Promotions. These peruser privileges would be given in “.pfx” record by SAP itself. Kindly go through the accompanying SAP Notes and solicitation your Premise group for this setup:

How to test configuration of SAP ADS?

You can always check if Adobe reader rights credentials are configured correctly by executing a test report provided by SAP: FP_TEST_IA_01.

  1. In the event that adobe structure shows in the wake of executing above report, you can alter the structure and save then your SAP Adobe Advertisements design is turned out totally great.
  1. Information on making Adobe shapes and prearranging.
  2. Fundamental information on ABAP.

Business requirement:

In Receipt Structure, a button for installment connect page ought to be accessible so clients with substantial email locations can get the receipt on their letter drop and can pay the due sum utilizing that button.

Solution:

We will make a basic Adobe Structure with some text fields and a button. In structure interface, we will make an import boundary IV_URL. From driver program, we can give the URL data and utilizing JavaScript, we can peruse this URL in Structure and predicament to Fasten click activity.

Step 1 – Create an Adobe Form and the corresponding Interface

Create an Adobe form ZPB_DISPLAY_DYNAMIC_URL and interface with import parameter IV_URL as follow:

Step 2 – Design your form as per the requirement

For our case, we are making a straightforward text for guidelines and a button for installment as observe:

Now, we need to provide the URL which should be executed as soon as payment button is clicked.

In the event that we have a static URL (for example organization site), we don’t have to pass it from driver program/structure interface. We can straightforwardly deal with it in the Adobe Structure itself. Simply change the “Control Type” quality of Button object to “Submit” and give the URL there.

Step 3 – Choose the Button Control Type as Submit

Select button “btn_payment” from Hierarchy. Go to toolbar, select Palettes and select Object -> Control Type -> Submit.

Step 4 – Assign the URL to Button

Select “Submit” tab in Object palates and provide the static URL:

Step 5 – Test the Button with URL Hyperlink

To test the usefulness, go to “Review PDF” and click on Installment Button:

You can see the result as below:

That is very simple with next to no ABAP code and Java Content code. In any case, life isn’t that simple in genuine undertakings. Recall our business prerequisite?

We need to pass this URL powerfully from driver program. URL for each and every other client would be unique and not entirely set in stone at run-time. All in all, the installment connect URL would be produced distinctively for each request. So it’s a precarious part and indeed, Java Contents can assist us with accomplishing it.

Step 6 – Go to Script Editor of Adobe

Select button and go to script editor (I think with my previous blog, you must know how to access script editor in Adobe forms. If not, please refer that for better understanding about scripting in Adobe forms )

Step 7 – Write JavaScripts code on Click Event

We have to write our script on “Click” event of button. Select “Click” event from available events drop down:

Did you notice? “Click” event is disabled and can’t be selected for this payment button.

Reason: Since we chose Control Kind of button as “Submit”, framework would expect the activity statically and that is the reason “click” occasion is crippled.

To empower it, we want to change the Control Kind of button as “Customary”.

Step 8 – Change the Button Control Type to Regular

Go to object palates of payment button and select control type “Regular”.

Repeat step 7 and try to select “edit” event, it will be available this time.

Step 9 – Insert the JavaScript code

Select “click” event for button “btn_payment”, language as formcalc  and run at client.

Write the below JavaScript code in script editor:

var valueUrl = xfa.resolveNode("$record.IV_URL").value;
xfa.host.gotoURL(valueUrl);

We are done with Form development. Now, another tricky part is passing control parameters for interactive forms.

Step 10 – Call Adobe Form from Driver Program

Make a driver program and call all the Structure handling FMs with required control boundaries and create the result.

Assuming you see intently, there is NO interactive feature enabled on button and it wouldn’t permit tapping on button. What might be the issue then? We previously checked Promotions arrangement in essentials area and its turned out great.

Reason:

There is a banner in structure boundaries structure SFPDOCPARAMS called Usable.

As a matter of course it’s clear so adobe structures are shown as a print structure naturally.

On the off chance that we believe that structure should have intelligent highlights, this banner ought to be set.

Step 11 – Set the FILLABLE Form Parameter to ‘X’

Set the form parameter before calling Form Function Module as follow :

Step 12 – Re-test the driver program

Now execute the driver program again and check the output.

If you check the highlighted section on button, you can see a cursor and button is enabled to be clicked. Here we go and get the access to URL which was passed from driver program:

This is an actual real project development. I have used this option in my project where we are sending invoices with due amount to our digital customers. For each invoice, payment landing page URL is generated dynamically so that when customers will click on payment button, they just need to enter their Credit Card details and payment will be captured against that invoice.

A sample of the invoice with payment button sent to customers is as follow:

In my next blog, I will share a business situation in intuitive Adobe structures where end clients can top off subtleties in an editable structure and submit it to Drain information base tables. All in all, you are playing out a Muck activity in SAP from an Adobe Structure. Along these lines, kindly stay tuned.

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