Hi shitanshu,
If I understand correctly your issue, I've faced exactly the same.
This is how I solved it.
I've created an enhancement in the form USEREXIT_SAVE_DOCUMENT_PREPARE, and after the checks, if an error occurred, just do the following:
if call_activity = gc_activity_lord. " we're coming from LORD API (e.g. FPM screens) " so there is no dynpro processing, and we have to " raise the message to the LORD message handler message id ls_error_msg-id type ls_error_msg-type number ls_error_msg-number. message_collect_lord. return. endif.
Please note that this will probably only work if you're using Lean Order API (CL_LORD class) as a model (CL_LO_OIF_MODEL) in your FPM application.
The macro message_collect_lord is standard, so I guess it exists in your system too.
Good luck.