‎2007 Sep 24 4:54 PM
Hi,
In transaction OBZN(FI substitution callup point 5: cost of sales accounting) we already had a step 10 in subsitution named FUNCT05 as follows:
ACCIT-FKBER = '' AND
( ACCIT-HKONT = '530710' OR
ACCIT-KOSTL IN VAR OR
ACCIT-KOSTL IN PROD
OR ACCIT-AUFNR IN PROD-ORD OR ACCIT-AUFNR IN REP-ORD
OR VBAK-AUART = 'ZPSO' OR
ACCIT-HKONT = '530101' OR VBAK-AUART = 'ZAYS' OR
VBAK-AUART = 'ZSD' )
Our FI BA just modified this existing step by adding a new order type VBAK-AUART = 'ZFEO' at the end of this rule and transported the changes to TST & PRD and now we are seeing that the condition ACCIT-AUFNR IN PROD-ORD is evaluating to "False" which was evaluating to "true" before we made any change. Now all orders are NOT getting the "functional area" subsitution value of 800(constant).
As the changes did not make to QA2 system luckily, I (the ABAP programmer) debugged why orders starting in number range after 1 million(example - 1137541) work fine in QA system and not in production system. I see that when we simulate the subsitution, SAP calls a subroutine in production system
PERFORM S_0103PROD-ORD(GBSAASET)
USING
ACCIT-AUFNR
RES010.
The number ranges inside this routine are between '000000200000' and '000000404999' . The same routine in QA system has number ranges between 000000200000' and '000009999999'.
My question is we did not change the number ranges anywhere. I double checked the number ranges - they are same in both systems. This is SAP generated code and the variables being used are different in QA and PRD - how did this happen. I also ran the program RGUGBR00 but no change. I also removed the last change made by the BA, but still it did not take anything back to where it was. Can someone throw some light on this issue. Month end is approaching and thousands of orders have screwed up in production...::)
Thanks in advance
‎2007 Sep 24 7:09 PM
Anyone want to add their 2 cent. I would like to mention one more thing that now when i changed the step, SAP created another new program GBSC2* and calls the code inside this now...but the variables for number ranges are same.
‎2007 Sep 24 7:17 PM
Is PROD-ORD the name of a range table? It looks like a field in a table.
Rob
‎2007 Sep 24 7:21 PM
In OBZN transaction when you try to create a prerequisite rule there is a button name "set directory". You get PROD-ORD from that - that is what i know
‎2007 Sep 24 10:18 PM
OK, I see - does the set PROD-ORD have values in both production and QA?
Rob
‎2007 Sep 24 10:23 PM
Yes the same order (1137541) exists in both the QA2 and PRD systems. In QA2 this evaluates to true and the functional area is returned as 800 what we have set in subsitutution rule but in PRD it evaluates to false and does not return the substitution.
I am going thru all SAP notes, but no luck. The variables used to check the number range of order are different and anytime i try to change the step; SAP generates a new program but with the same old number range.
Thnx