difference between at new and on change of
pl its urgent
Answers were Sorted based on User's Feedback
Answer / balakrishna
When we use At new for a field, it will trigger whenever
there is any change in al lthe fields from the left to that
of the particular field. But when we use On change of it
triggers only when there is any change in the particular
field.
At new can only be used inside loop. On change of can used
outside the loop.
No logical Expressions can be added with at new. Logical
expressions like AND OR can be used with on change of.
When AT NEW occurs, the alpha-numeric fields have * in
their value,where as in case of On Change, the alphanumeric
fields have their Corresponding value, of that particular
record, where the Event gets fired.
On Change of executes for the first value of field too,
this is not the case with At New.
On change of cannot be used in ABAP objects At new can be
used in this
Is This Answer Correct ? | 15 Yes | 1 No |
Answer / moazam khan
1.It can be used in any loop construct, not just loop at.
For example, it can be used within select and endselect, do
and enddo, or while and endwhile, as well as inside get events.
2. A single on change of can be triggered by a change within
one or more fields named after of and separated by or. These
fields can be elementary fields or field strings. If you are
within a loop, these fields do not have to belong to the loop.
3.When used within a loop, a change in a field to the left
of the control level does not trigger a control break.
4.When used within a loop, fields to the right still contain
their original values; they are not changed to contain zeros
or asterisks.
5.You can use else between on change of and endon.
6.You can use it with loop at it where . . ..
7. You can use sum with on change of. It sums all numeric
fields except the one(s) named after of.
8.Any values changed within on change of remain changed
after endon. The contents of the header line are not
restored as they are for at and endat
Is This Answer Correct ? | 9 Yes | 2 No |
Answer / suresh kumar
When we use At new for a field, it will trigger whenever
there is any change in all the fields from the left to that
of the particular field. But when we use On change of it
triggers only when there is any change in the particular field.
At new can only be used inside loop. On change of can used
outside the loop.
No logical Expressions can be added with at new. Logical
expression like OR can be used with on change of.
When AT NEW occurs, the alpha-numeric fields have * in their
value, where as in case of On Change, the alphanumeric
fields have their Corresponding value, of that particular
record, where the Event gets fired.
In the below code it matters with structure sequence.
If 1st column to be BUKRS and 2nd column to be F1 in ITAB
Structure then the At New event will show F1 column values
as '*' asterisks.
REPORT ZGSK.
*..........AT NEW Vs ON CHANGE OF EVENTs.............. *
DATA : BEGIN OF ITAB OCCURS 0,
F1(10) TYPE C,
BUKRS LIKE T001-BUKRS,
END OF ITAB.
ITAB-BUKRS = '1000'.
ITAB-F1 = 'ababcbcb'.
APPEND ITAB.
ITAB-BUKRS = '1100'.
ITAB-F1 = '1233333'.
APPEND ITAB.
ITAB-BUKRS = '1100'.
ITAB-F1 = '3333333'.
APPEND ITAB.
ITAB-BUKRS = '1200'.
ITAB-F1 = '555555'.
APPEND ITAB.
*AT NEW
LOOP AT ITAB.
AT NEW BUKRS.
WRITE :/ ITAB-BUKRS , ITAB-F1.
ENDAT.
ENDLOOP.
ULINE.
*AT ONCHANGE
LOOP AT ITAB.
ON CHANGE OF ITAB-BUKRS.
WRITE :/ ITAB-BUKRS , ITAB-F1.
ENDON.
ENDLOOP.
ULINE.
*AT ONCHANGE with Logical Expression "OR"
LOOP AT ITAB.
ON CHANGE OF ITAB-BUKRS or ITAB-F1.
WRITE :/ ITAB-BUKRS , ITAB-F1.
ENDON.
ENDLOOP.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / sekar
.It can be used in any loop construct, not just loop at.
For example, it can be used within select and endselect, do
and enddo, or while and endwhile, as well as inside get
events.
2. A single on change of can be triggered by a change within
one or more fields named after of and separated by or. These
fields can be elementary fields or field strings. If you are
within a loop, these fields do not have to belong to the
loop.
3.When used within a loop, a change in a field to the left
of the control level does not trigger a control break.
4.When used within a loop, fields to the right still contain
their original values; they are not changed to contain zeros
or asterisks.
5.You can use else between on change of and endon.
6.You can use it with loop at it where . . ..
7. You can use sum with on change of. It sums all numeric
fields except the one(s) named after of.
8.Any values changed within on change of remain changed
after endon. The contents of the header line are not
restored as they are for at and endat
Is This Answer Correct ? | 2 Yes | 1 No |
Answer / anup
The Major difference between the two is that AT NEW can be
used ONLY for INTERNAL TABLES, while on change of can be
used for any loop processing i.e do..enddo, while..endwhile
and loop..endloop also.
Is This Answer Correct ? | 5 Yes | 9 No |
Answer / manoj kumar
at new is controlbreak statment and on change of is not and
we can use onchange of out side the loop
and on at nnwe the left side feild change the event
trigers and the values become 0 and *
Is This Answer Correct ? | 6 Yes | 16 No |
Is function module is client dependent or client independent.
Difference between MACRO and SUBROUTINE ?
Modes in Call Transaction?
What is the transaction code to modify the hr form
What is a view in sap? : abap data dictionary
30) What is a text table?
What are the functional areas? User groups?
WHAT IS DOCUMENTATION?WHY IT IS USED?
what is two domain level concept in abap
How can we upload a text file having delimiters in to legacy system? : abap bdc
Hi, How to do sub totals in classical reports?
Difference between Occurs0,occurs10 and occurs100?