Jeff Dhaene
Active Member
I am having an odd problem that maybI am having an odd problem that perhaps someone with more experience can shed some light.
I have created 2 business functions, the first calls the F4211FSBeginDoc MBF and sets up some header related information where as the second calls the F4211FSEditLine MBF and adds in detailed lines.
Now if i call these two BF in a report without transaction processing, all works fine and my information is saved in my F42UI01, F42UI11, F42UI12, F40UI74 as it should.
If i run this with transaction processing it works most of the time with the odd exception and this is where my problem lies.
So here is what I do, I call my Header BF that works great and comes back successful then for my EditLine BF I call it only once for one part number and it always comes back successful but pending the part number, when I run the commit function it fails.
Here is how our parts are set up followed whats unique to the part for it to fail.
We have no base price, our base price is the first adjustment line in Advance pricing with with a sequence number of 200.
We have our freight as an adjustment line of sequence 400. our freight has no price but instead has a free good attached to it with the freight price on that free good.
On our base price adjustment line we also have free goods attached to it.
Now the only times the commit fails is if the amount of free goods attached on the base adjustment line is an even number, so if we have 2,4,6 etc free goods on the base adjustment line then it fails, if we have 1,3, 5 free goods on it then it commits successful. I have a lot of testing to make sure this is the case, i’ve tried changing the order of the free goods, the quantity etc… and come to this result every time.
This seems to be a real odd problem and I hope someone can shed some light for me. If you require any additional info, please let me know. Maybe theres a flag on the F4211FSEditLine im passing in wrong? But on the side why does it work for the others.
So once again if theres any additional info youd like to see, let me know.
Thanks
Jeff
Oh and to further this, here is the debug text i get when the commit fails:
Apr 02 09:25:34 ** 3432/3700 Entering JDB_SetUserOption (Option No = 2 , Setting = 0)
Apr 02 09:25:34 ** 3432/3700 Entering JDB_CommitUser
Apr 02 09:25:34 ** 3432/3700 Entering JDB_PrepareToCommitUser
Apr 02 09:25:34 ** 3432/3700 Exiting JDB_PrepareToCommitUser with Failure
Apr 02 09:25:34 ** 3432/3700 Rolling Back Transaction : 202833930_3432_3700_218319224 Commit Point Number : 1
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 Starting Commit Point No : 2 for Transaction ID : 202833930_3432_3700_218319224z
Apr 02 09:25:34 ** 3432/3700 Exiting JDB_CommitUser
Apr 02 09:25:34 ** 3432/3700 Entering JDB_FreeUser
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=0AFC0BE0 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=03F85F70 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=028C3F38 conn=0B0117D8 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=0B01F220 (implicit for free connect)
*** One last note, if i have transaction processing turned off, it works 100% and saves all data in temp UI tables. ***
I have created 2 business functions, the first calls the F4211FSBeginDoc MBF and sets up some header related information where as the second calls the F4211FSEditLine MBF and adds in detailed lines.
Now if i call these two BF in a report without transaction processing, all works fine and my information is saved in my F42UI01, F42UI11, F42UI12, F40UI74 as it should.
If i run this with transaction processing it works most of the time with the odd exception and this is where my problem lies.
So here is what I do, I call my Header BF that works great and comes back successful then for my EditLine BF I call it only once for one part number and it always comes back successful but pending the part number, when I run the commit function it fails.
Here is how our parts are set up followed whats unique to the part for it to fail.
We have no base price, our base price is the first adjustment line in Advance pricing with with a sequence number of 200.
We have our freight as an adjustment line of sequence 400. our freight has no price but instead has a free good attached to it with the freight price on that free good.
On our base price adjustment line we also have free goods attached to it.
Now the only times the commit fails is if the amount of free goods attached on the base adjustment line is an even number, so if we have 2,4,6 etc free goods on the base adjustment line then it fails, if we have 1,3, 5 free goods on it then it commits successful. I have a lot of testing to make sure this is the case, i’ve tried changing the order of the free goods, the quantity etc… and come to this result every time.
This seems to be a real odd problem and I hope someone can shed some light for me. If you require any additional info, please let me know. Maybe theres a flag on the F4211FSEditLine im passing in wrong? But on the side why does it work for the others.
So once again if theres any additional info youd like to see, let me know.
Thanks
Jeff
Oh and to further this, here is the debug text i get when the commit fails:
Apr 02 09:25:34 ** 3432/3700 Entering JDB_SetUserOption (Option No = 2 , Setting = 0)
Apr 02 09:25:34 ** 3432/3700 Entering JDB_CommitUser
Apr 02 09:25:34 ** 3432/3700 Entering JDB_PrepareToCommitUser
Apr 02 09:25:34 ** 3432/3700 Exiting JDB_PrepareToCommitUser with Failure
Apr 02 09:25:34 ** 3432/3700 Rolling Back Transaction : 202833930_3432_3700_218319224 Commit Point Number : 1
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 Starting Commit Point No : 2 for Transaction ID : 202833930_3432_3700_218319224z
Apr 02 09:25:34 ** 3432/3700 Exiting JDB_CommitUser
Apr 02 09:25:34 ** 3432/3700 Entering JDB_FreeUser
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0AFC0BE0
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=03F85F70
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=028C3F38 conn=0B0117D8
Apr 02 09:25:34 ** 3432/3700 ORACLE DBRollbackCon envr=0286A4B8 conn=0B01F220
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=0AFC0BE0 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=03F85F70 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=028C3F38 conn=0B0117D8 (implicit for free connect)
Apr 02 09:25:34 ** 3432/3700 ORACLE DBCommitCon envr=0286A4B8 conn=0B01F220 (implicit for free connect)
*** One last note, if i have transaction processing turned off, it works 100% and saves all data in temp UI tables. ***