on ‎2016 Oct 27 2:42 PM
I've looked at a ton of entries in the questions but I probably don't know enough to undersrtand what i'm reading.
So here is the issue.
We have a program that updates batch characteristics based on some business process requirements. This works.
However, we will have some numeric characteristics that have no values, (i.e. null or in SAP parlence, not not-initial) when the program runs. When the program is done, the batch values now shows as 0.00 and not null for these characteristics. The developers solution for this was to go back and delete them. But this resutls in change records showing a value of 0.00 created and a value of 0.00 deleted in the batch change records. Not good and not accurate.
I know in the underlaying tables there is an indicator flag, (initial/not-initial), that tells the system whether the value stored (0.0000000000) is really a true zero, or null.
My developers are telling me that is how BABI_OBJCL_CHANGE works. I disagree. There must be a way to use BABI_OBCJL_CHANGE to only update the characteristics you want to and not have it "default" in 0.00 for numeric characteristics that the program shouldn't even touch or know about.
Any suggestions as to what I can suggest to my developers?
Thanks!
Craig
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
There must be a way to use BABI_OBCJL_CHANGE to only update the characteristics you want to and not have it "default" in 0.00 for numeric characteristics that the program shouldn't even touch or know about.In the BAPI's documentation
The information transferred by this BAPI replaces all old information. An empty field means "delete entry!", not "no change".
If you do not pass a characteristic, it looks like a deletion and avoid the enter 0 and then delete (or not create!) the characteristic you want to keep null.
Sadly, there is no option in the characteristics' tables of this bapi to set that flag.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So are you saying that for those where we want the value to remain as null, we must delete the characteristic from the structure that is passed back? My understanding is that when the characteristics are obtained, the value shows a 0.00 (format based on charac.).
From what I understand, if I have an existing value, and fail to pass that same value back, it will be deleted.
So first I get all the characteristics via the module. When SAP provides them to me, the numeric value will show as 0.00. I'm really only talking about those characteristics in the ALLOCVALUESNUM structure.
I then have to update the ones I want to update. If I want to have a null value, I have to delete the entire characterisitc from the structure being passed back. Do I have that part right?
So the question would be, if SAP passes me 0.00 for all null characteristics when ALLOCVALUESNUM is imported, how am I to determine if that is a valid 0.00 or a null?
The FM Pablo suggested only appears to determine if classification has happened. It's not telling me about any one particular characteristic value.
Am I understanding this right?
| User | Count |
|---|---|
| 41 | |
| 25 | |
| 15 | |
| 5 | |
| 3 | |
| 3 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.