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

Table maintenance events

Former Member
0 Likes
354

my req is 2 fields in z table & have to validate.

i have done in 01 and 05 events.but after error msg when entry is incorrect it is not directly showing table control instead of that first its showin error msg and if i enter then its showing table control and also i'm loosing the values what i enter..and some time code is not working if i enter wrong values..basically when i create entry without saving if i change it , the values are not refelecting inside code... any ideas.i have pasted my code

FORM new_entry.

DATA lw_datbi TYPE datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-zoldprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'OLD PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

MESSAGE 'OLD PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

CLEAR lw_datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-znewprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'NEW PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

  • To make table control editable.

LOOP AT SCREEN.

screen-input = 1.

MODIFY SCREEN.

ENDLOOP.

MESSAGE 'NEW PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

ENDFORM. "NEW_ENTRY

&----


*& Form BEFORE_SAVE

&----


  • text

----


FORM before_save.

LOOP AT extract.

IF extract+23(1) = 'U'.

DATA lw_datbi TYPE datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-zoldprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'OLD PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

MESSAGE 'OLD PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

CLEAR lw_datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = extract+13(10)

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'NEW PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

  • To make table control editable.

  • LOOP AT SCREEN.

  • screen-input = 1.

  • MODIFY SCREEN.

  • ENDLOOP.

MESSAGE 'NEW PROFIT CENTER NOT VALID' TYPE 'E'.

  • sy-subrc = 4.

  • EXIT.

ENDIF.

total3(10) = extract3(10).

total13(10) = extract13(10).

MODIFY total FROM total INDEX sy-tabix.

ENDIF.

ENDLOOP.

ENDFORM. "BEFORE_SAVE

my req is 2 fields in z table & have to validate.

i have done in 01 and 05 events.but after error msg when entry is incorrect it is not directly showing table control instead of that first its showin error msg and if i enter then its showing table control and also i'm loosing the values what i enter..and some time code is not working if i enter wrong values..basically when i create entry without saving if i change it , the values are not refelecting inside code... any ideas.i have pasted my code

FORM new_entry.

DATA lw_datbi TYPE datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-zoldprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'OLD PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

MESSAGE 'OLD PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

CLEAR lw_datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-znewprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'NEW PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

  • To make table control editable.

LOOP AT SCREEN.

screen-input = 1.

MODIFY SCREEN.

ENDLOOP.

MESSAGE 'NEW PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

ENDFORM. "NEW_ENTRY

&----


*& Form BEFORE_SAVE

&----


  • text

----


FORM before_save.

LOOP AT extract.

IF extract+23(1) = 'U'.

DATA lw_datbi TYPE datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = zprctr-zoldprctr

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'OLD PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

MESSAGE 'OLD PROFIT CENTER NOT VALID' TYPE 'E'.

sy-subrc = 8.

EXIT.

ENDIF.

CLEAR lw_datbi.

SELECT SINGLE datbi

FROM cepc

INTO lw_datbi

WHERE prctr = extract+13(10)

AND kokrs = ‘RTKA’.

IF sy-subrc = 0.

IF lw_datbi < sy-datum.

MESSAGE 'NEW PROFIT CENTER IS OBSOLETE' TYPE 'E'.

ENDIF.

ELSE.

  • To make table control editable.

  • LOOP AT SCREEN.

  • screen-input = 1.

  • MODIFY SCREEN.

  • ENDLOOP.

MESSAGE 'NEW PROFIT CENTER NOT VALID' TYPE 'E'.

  • sy-subrc = 4.

  • EXIT.

ENDIF.

total3(10) = extract3(10).

total13(10) = extract13(10).

MODIFY total FROM total INDEX sy-tabix.

ENDIF.

ENDLOOP.

ENDFORM. "BEFORE_SAVE

1 REPLY 1
Read only

Former Member
0 Likes
329

Any body can help me?