2020 Jan 24 7:53 AM
Hi,
I am using cl_gui_frontend_services=>execute to open a few pdf files in my program.
However, I noticed a small bug which I am not able to resolve.
In my interactive report, on clicking on a pdf file, the file is opening in adobe reader as expected.


But the issue is that, when I get back to the output, the program is still running.

In the debugger , I can see the pointer is still pointing at the beginning of the call method:

Once I close the pdf file, only then the pointer completes executing the method and the program stops running.

As a result, I cant open multiple pdf files in separate tabs in adobe reader (in case there are more files in the report output). I can only open another pdf file AFTER the opened pdf file is closed.
So what can I do in this case to make sure that the program executes completely after the pdf file is opened ?
Regards,
Manish
Hi,
I am using cl_gui_frontend_services=>execute to open a few pdf files in my program.
However, I noticed a small bug which I am not able to resolve.
In my interactive report, on clicking on a pdf file, the file is opening in adobe reader as expected.


But the issue is that, when I get back to the output, the program is still running.

In the debugger , I can see the pointer is still pointing at the beginning of the call method:

Once I close the pdf file, only then the pointer completes executing the method and the program stops running.

As a result, I cant open multiple pdf files in separate tabs in adobe reader (in case there are more files in the report output). I can only open another pdf file AFTER the opened pdf file is closed.
So what can I do in this case to make sure that the program executes completely after the pdf file is opened ?
Regards,
Manish
2020 Jan 24 8:27 AM
execute method just run the program that exists in your pc so...i think to close what you opened, program should have command support that action then use fm 'SXPG_COMMAND_EXECUTE' to execute it.
2020 Jan 24 8:53 AM
That's what the parameter SYNCHRONOUS = 'X' of CL_GUI_FRONTEND_SERVICES=>EXECUTE is for, waiting for the application to finish.
With SYNCHRONOUS = ' ' (default), it executes asynchronously and EXECUTE terminates immediately.
2020 Jan 24 9:07 AM
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |