After quite a while I felt resentful (if I can say so) every time I got issue related with form and the logic I would like to check is hardcoded inside the smartforms.
I just recently felt joyful when I found how to debug smartforms without explicitly put syntax ‘BREAK-POINT’ inside the smartform itself. Furthermore, using the explicit way I used to do is only be possible in development client, not to be applicable in quality or productive client.
So I just documented this, in case I need in the future. Well, I’m not a technical guy, so I just simply happy when I found useful stuff like this.
First thing, you must know first what is your smartforms program name.
To find the smartforms name, normally you can go to Output Type setup to get the pair or program name together with the smartforms.
For example, in my case, I got to know the smarforms name and I need to check this part of code as I assumed it got wrong somewhere.

To be able to put debugger point inside the smartforms without need to put explicit syntax, here are the steps to follow.
1. Go to t-code SMARFORMS, and enter the smarform name, followed click on icon as shown in the picture below.

2. Once you clicked, you will be brought to SE37 screen alongside with function module name to call your smartform. Continue by clicking on Display.

3. Open the tab Source Code and followed by clicking on binocular icon in the toolbars.

4. When a dialog box is opened, enter the chunk of code you want to investigate and choose option “In main program”.

5. Now the program that call that smartform is displaying and you can set your breakpoint to initiate the debugging.

6. After this, you can call your output as per normal, and the debugging screen will be called so that you can run in the debug mode.
