Hi Joeseph,
you can use the solution from this post:
Validation in VA01 AND VA02 and Display popup
The incomplete check can be done by Function module RV_CHECK_DOCUMENT_INPUT in USER_EXIT_CHECK_VBAP/VBAK/....
It's important to reset the XVBUV table before calling the FM like in J's solution:
Quote: <<
perform xvbuv_loeschen_vor_pruefen(sapfv45f) using rv45a_uv-posnr
etenr_low
'RV45A_UV'.
call function 'RV_CHECK_DOCUMENT_INPUT'
exporting
fehgr = tvap-fehgr
vbxx_wa = rv45a_uv
tbnam = 'RV45A_UV'
dialog = us_dialog
tables
vbuv_tab = xvbuv.
>>