Application Development 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: 

Ditalog Programming / Table Control

Former Member
0 Kudos

hi,

How do i know that <b>user has changed something</b> on a dialog screen?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

HI,

by validating the fields u might know the user changed or not... use CHAIN.....ENDCHAIN FOR VALIDATION IN PAI MODULE.

MARA-MATNR = ' '.

IF USER CHANGED ANYTHING...

IF NOT MARA-MATNR IS INITIAL.

  • USER CHANGED..

ENDIF.

Regards

SAB

3 REPLIES 3

Former Member
0 Kudos

HI,

by validating the fields u might know the user changed or not... use CHAIN.....ENDCHAIN FOR VALIDATION IN PAI MODULE.

MARA-MATNR = ' '.

IF USER CHANGED ANYTHING...

IF NOT MARA-MATNR IS INITIAL.

  • USER CHANGED..

ENDIF.

Regards

SAB

Former Member
0 Kudos

Hi,

Try this..

IF SY-DATAR = 'X'.

    • User has changed something

ELSE.

    • User didn't change ..

ENDIF.

OR

Before displaying the screen..Store the values in temporary work area..

Then in the user command check compare the temporary work area with the current screen values..

Thanks,

Naren

Former Member
0 Kudos

In your Process After Input use "ON CHAIN-REQUEST" using the fields that you want to check for a change. Inside the "CHAIN", include the fields you want to check for a change after input then specify a module to be triggered.

Example:


PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0100.
 LOOP AT MY_TABLE.
    CHAIN.
        FIELD MY_TABLE-FIELD1.
        FIELD MY_TABLE-FIELD2.
        MODULE VALIDATE_INPUT on CHAIN-REQUEST.
    ENDCHAIN.
  ENDLOOP.

In the example above, you are checking for two fields of a table control. If either of them are changed/input, a module is called.