cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Strange problem by updating characterstic Value

Former Member
0 Likes
506

Hi,

   We have a requirement that a Characterstic has to be updated in Valuation of Specification . This update should only happen when user makes a specific status change in specification with new change number.

     we have used C1F5_SPECIFICATIONS_READ to read the valuation with change number and C1F5_SPECIFICATIONS_MODIFY with change number to update Valuation.

This logic has been implemented in Method AT_SAVE_CHECK of Exit EHSS_SPEC_CHECKS .

   This solution is working in most of the cases( 98 % of cases ). But in one or two cases valuation is not getting updated and it has still old value.

Update failure is happening irrespective of users and it happens only 1 time when user tries 10 times. ( for example )

I have checked AUSP table. AUSP has an Entry for new change number.( RECN & ACTN Combination ).

  But this entry contains old Value. ( ATWRT Field ).

Thanking you,

Regards,

  Satya

Accepted Solutions (0)

Answers (2)

Answers (2)

christoph_bergemann
Active Contributor
0 Likes

Dear Satya

can you explain more on this:

". This update should only happen when user makes a specific status change in specification with new change number.

     we have used C1F5_SPECIFICATIONS_READ to read the valuation with change number and C1F5_SPECIFICATIONS_MODIFY with change number to update Valuation."

Let us assume this;

- you use change numbers

- change numbers are valid for a day (e.g. 17.03.2016)

iN CONTEXt OF. "we have used C1F5_SPECIFICATIONS_READ to read the valuation with change number"

if have sime questions. Normally you would read the data with "current" date (called key date in CG02). You should not read with change number (I have some doubts here).

If you write now the change data back to databas using e.g. C1F5_SPECIFICATIONS_MODIFY

Then this should happen:

a "record" split should happen. At least on ESTVA level. The old data record should be valid until "yesterday" and the new data record should be valid starting today. Can you detect that the plit is done?

I did not check this mechanism that deep but a split for "AUSP" is not needed (in theory) but if this is SAP design: it is ok.

What is your defintion of  "new change number"? My definition would be: the change number is valid for "today" (you can use this change number for "today" very often to change data on many specs).

The use of the "Status" on specificaiotn header is only useful for very experienced users (who really know what they do) and you need a very good (clever) concept in using the Status on spec header level.

If you e.g. buy content. I am not sure if this is a clever use of EHS... But clearly: "Status" can help to manage data maintenance

in context of "This update should only happen when user makes a specific status change in specification with new change number. " Here you need to check. What should be achieved? What is the business reason? Pay attention. Status does have a "usage".  What is your definition of "specific status change"?

IN any case. SAP has delivered as well a "big" framework for "Status". You can implementthere a lot of customer specific logic (if needed and required). In most cases it is used as "check" and not used in context to "write" something to database (but it it possible according to my knowledge)

C.B.

PS: check e.g.

christoph_bergemann
Active Contributor
0 Likes

Dear Satya

first: approach you have used seems to be a good one

second: any solution here is 100% customer specific, Without knowing your ABAP code there is nearly no chance to help you

It is recommended to use "Change numbers" only ! if there is really no other option in place.

VERY IMPORTANT: a Change number is in most cases valid on a "day"; but the day does have 24 h. DO NOT DO more than one UPDATE within the 24 h. This will give rise to many issues

On top; not knowing the details of your implementation: if the user is in "editmode" he/she "locks" the specification etc.

So "  We have a requirement that a Characterstic has to be updated in Valuation of Specification . This update should only happen when user makes a specific status change in specification with new change number."

This is not clear to me. This would be my "high level" understanding:

1.) you are using the "Status" on specification header

2.) you are changing the content of the status using a "change number"

3.) During save there should be an update on one value assignment type (and there in a specific characteristic)

Can you explain the business reason?

May be check:

and

C.B.