Hi Surya
Saw your post on linkedin.
Does it have to be a program? Maybe try call it in a RFC as a separate process
CALL FUNCTION 'ZSD_DECLARATION_CONFORMITY' IN BACKGROUND TASK AS SEPARATE UNIT
Secondly I would put in a endless loop.
DATA: lv_flag.
WHILE lv_flag = space.
"Do nothing
endwhile.
See if the process is running in SM50 then you can debug this application. Change lv_flag to X and you can continue to step through and debug.
Hope this helps.
CHeers
Brad