Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

In VA01 using user -exit

Former Member
0 Likes
989

Hi,

Inculde MV45AFZZ.

In FORM USEREXIT_SAVE_DOCUMENT I am writting my logic for checking duplicate PO ..and in the screen it self I want to change the PO but getting error ''item 00010 doesnot exit ''with stop symbol pop up.

Can somebody let me know why i am unable to change PO in sales order screen. ??Need help

program.

TABLES:tvarvc.

TYPES:BEGIN OF t_vbak,

vbeln TYPE vbeln,

bstnk TYPE vbak-bstnk,

erdat TYPE vbak-erdat,

END OF t_vbak.

DATA:gt_vbak TYPE TABLE OF t_vbak,

gs_vbak LIKE LINE OF gt_vbak.

TYPES:BEGIN OF t_vbkd,

vbeln TYPE vbkd-vbeln,

bstkd TYPE vbkd-bstkd,

END OF t_vbkd.

DATA:gt_vbkd TYPE TABLE OF t_vbkd,

gs_vbkd LIKE LINE OF gt_vbkd.

DATA: gv_scrno TYPE sy-dynnr.

DATA:p_date TYPE sy-datum.

DATA:w_durdd TYPE psen_duration.

*Ranges

RANGES:gs_date FOR sy-datum.

DATA:l_nd TYPE i.

DATA:t_tvarvc TYPE TABLE OF tvarvc,

w_tvarvc LIKE LINE OF t_tvarvc.

DATA:t_vbkd TYPE STANDARD TABLE OF vbkd,

w_vbkd LIKE LINE OF t_vbkd.

check sy-tcode = 'VA01'.

*CLEAR vbak-vbeln.

SELECT SINGLE *

FROM tvarvc

WHERE name = 'Z_DOC_TYPE_NO_OF_DAYS'

AND low = vbak-auart.

IF sy-subrc NE 0.

EXIT.

ENDIF.

l_nd = tvarvc-high .

MOVE l_nd TO w_durdd-durdd .

*FM used for calculation from current date minus number of days

CALL FUNCTION 'HR_99S_DATE_ADD_SUB_DURATION'

EXPORTING

im_date = sy-datum

im_operator = '-'

im_duration = w_durdd

IMPORTING

ex_date = p_date.

*Range from calculated date

CLEAR gs_date.

gs_date-sign = 'I'.

gs_date-option = 'BT'.

gs_date-low = p_date .

gs_date-high = sy-datum.

APPEND gs_date .

CLEAR gv_scrno.

gv_scrno = sy-dynnr.

SELECT vbeln bstnk erdat

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE

gt_vbak

WHERE auart = tvarvc-low

AND erdat IN gs_date

AND bstnk = vbkd-bstkd.

IF sy-subrc = 0.

MESSAGE w180(zv).

LEAVE TO SCREEN gv_scrno.

CLEAR gv_scrno.

ELSE.

EXIT.

ENDIF.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
889

Are you using USEREXIT_SAVE_DOCUMENT for checking duplicate PO? Please consider using USEREXIT_SAVE_DOCUMENT_PREPARE...

Are you using USEREXIT_SAVE_DOCUMENT for checking duplicate PO? Please consider using USEREXIT_SAVE_DOCUMENT_PREPARE...

4 REPLIES 4
Read only

eduardo_hinojosa
Active Contributor
0 Likes
889

Hi,

Try to replace the error message by the call of function module TH_POPUP.

Regards

Eduardo

Read only

Former Member
0 Likes
890

Are you using USEREXIT_SAVE_DOCUMENT for checking duplicate PO? Please consider using USEREXIT_SAVE_DOCUMENT_PREPARE...

Read only

0 Likes
889

Hi Kris,

Exactly you are right .It slolved my probleam.

Thanks very much ...

Read only

0 Likes
889

You are welcome.. you can also consider any of the CHECK subroutines in MV45AFZB (if you want to check before saving)...