Skip to Content
Author's profile photo Vinita Kasliwal

Adobe form debugging

I have found many including myself struggling with debugging an Adobe form . I have found some easy ways on how you could do that . I have also separated for 2 cases one where the Print button is in the portal and when you open the document it triggers the code again which is easier to debug. However in some cases the document gets generated in background and makes it a difficult task to be able to debug.

Please read more below:

1. Go to the adobe form interface in transaction SFP and enter the adobe form name.

In the interface section you would see that the details for the program would be maintained . Please click on the interface object and it will navigate you to the interface.

2. Put the debug point for the user in the initialization and Code initialization section this will trigger the breakpoint everytime the adobe form is printed with that specific user ID

However if the document is printed in the background it would NOT trigger this as the user could be a batch user or a WF user which is why the user specific breakpoing does not get triggered.

3. Please note the above way is only useful when you click on print from the portal it will come up and trigger the code using the same ID with which the external or hard coded breakpoints were put as can be seen below for a PO when the print preview is clicked it would be stopped as the system actually captures User 1 doing the task

 

4. For most of the documents you would see that the documents have been generated in the backend . These documents may also be seen as  ‘Own spool request’ which is also accessible from Tcode SP02. Now if the user clicks on the already generated PDF from here it would not be helpful as this would not be going back to the code hence is just a local copy of the PDF and is not created by the specific user but created using a batch or workflow user in background and they are not a dialog user so external or hard coded debug points do not work in such cases.
Also there may be a case where the code is not actually written in Adobe form but just comes as an input to adobe form from the runtime generated FM . So the steps below would help you to find out how the correct debug point can be found and triggered.


5. To be able to regenerate the PDF so that it calls the code again you need to check via Tcode CORRHIST   which is used for seeing the documents printed in the system specifically for the FI module

 

Select the ICON as highlighted in yellow which is a print with changed parameters options

And then you should select the Reprint option. This retriggered the entire code again of your user Id.

Here it will also first stop on your user specific break point at seen below which was hard coded in Adobe interface section

Once this gets triggered now search for the relevant function modules which gets triggered before that by going through the entire stack  and put a session breakpoint which will now directly trigger the code which actually generates the form.

Also another way to find the technical details of the form is;

Using Tcode EFRM. This gives you all details in one place the attributes , interface , generate function module etc. Most of the information provided in here is that provided in the Transaction SFP but all in one place and makes it much more easier to locate.

 

One of the feature I use mostly in here is of the form class which you can see the below screen. To be able to check the code inside click on coding display.

This should hopefully allow you to debug the forms. Please let me know if you have a better way of doing it and I will include that in the post as well

Thanks for taking time to read .

Regards
Vinita

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Vijay Chintarlapalli
      Vijay Chintarlapalli

      Very useful Information 🙂

      Author's profile photo Daniel St-Jacques
      Daniel St-Jacques

      Here is another easy way to launch the debug.

       

      Tcode:SE16N

      Table FPCONTEXTI - search for your form table display

      Table%20display

      Result - Take note of the number field

      Number%20field

      Tcode: SE37

      Function

      Add break point at the GLOBAL_INIT line.

      GlobalInit

      When the form will be generated, SAP will break just before calling the Initialisation code section of the interface.

       

      Author's profile photo Mayura N P
      Mayura N P

      Thanks for the tip.

      I have also tried another way, after setting the background job to immediate, I went to SM37, selected the job, typed JDBG in command field, where it takes me to the debugger, in the interface I have set sy-uname equals my id, on doing F8 in debugger, it's triggering my breakpoint in the interface of the adobe form and also adobe form driver program as well.

      Cheers,

      Mayura.

      Author's profile photo Annegret Baumann
      Annegret Baumann

      Please notice that TCode CORRHIST can only be used for printing documents from FI-CA contract accounting.

      Regards,
      Annegret