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: 

method check_changed_data

former_member188724
Contributor
0 Kudos
138

Hi All,

I am changing a qty value say from 1 to 2.

When it passes the method check_changed_data the value gets changed to 0,2 from 2.

I do not know how this error happens.

Please advise.

Regards,

K.S.

1 ACCEPTED SOLUTION

satyajit_mohapatra
Active Contributor
0 Kudos
92

In ALV, proper reference to Currency or Quantity type should be made as suggested.

I hope you are using LVC_S_FCAT structure. If you have multiple quantities, populate the quantity key in a separate field in internal table as well and pass the fieldname in QFIELDNAME. If you have only one quantity key, pass it directly to QUANTITY field.

6 REPLIES 6

Former Member
0 Kudos
92

hi,

what is the data type which is bound to the field that you change from 1 to 2 ?

Clemenss
Active Contributor
0 Kudos
92

... Or, in other words: Quantity fields must reference to a unit field, currency amounts must have reference to curremcy key fields.

Check online documentation on field catalog or define a dictionary structure that will force you to dive the reference fields.

Then it will work as desired. Now it works as designed.

But this is not about ABAP OBJECTS...

Regards,

Clemens

satyajit_mohapatra
Active Contributor
0 Kudos
93

In ALV, proper reference to Currency or Quantity type should be made as suggested.

I hope you are using LVC_S_FCAT structure. If you have multiple quantities, populate the quantity key in a separate field in internal table as well and pass the fieldname in QFIELDNAME. If you have only one quantity key, pass it directly to QUANTITY field.

0 Kudos
92

Hi All,

Thank you for all the suggestions.Sorry for replying late.I was on travel.

I tried referring the values as:

ls_fieldcat-fieldname = 'WORK_ACTIVITY'.

ls_fieldcat-qfieldname = 'WORK_UNIT'.

ls_fieldcat-quantity = 'H'.

I have only one quantity and I pass the values as above.But still value does not change as expected i.e., when i change the value as 10 it changes as 1.

Am I going wrong anywhere.please correct me.

Regards,

K.S.

0 Kudos
92

Hi Kandaswami,

make sure

'WORK_ACTIVITY' is a field of type Quantity.

'WORK_UNIT' is a field of type UNIT

Field WORK_UNIT is filled with a valid UNIT at runtime.

Do not specify both quantity and qfieldname at the same time.

Regards,

Clemens

0 Kudos
92

Hi Clement,

Sorry to reply late.It helped me to resolve.

Thank you.

Regards,

K.S.