
johndanter
Legendary Poster
SV File I/O status in NER BSFNs called via BSSV
Hi folks,
Is it possible for E1 data base exceptions in an E1 NER to throw an exception in a JAVA BSSV call? Or end up with the BSSV terminating? Or a BSSV in E1 to be thrown due to a DB error.
We have a weird issue here in work today whereby someone had recently updated an Oracle trigger on F4801 and for some reason the code in the NER that checks SV File I/O status on an update to F4801 didn't work.
A little background. An external system written in JAVA uses BSSVs to call E1 NERs and feed back info (pass or fail basically)
So the furthest most external part of the following call path:
External sys > BSSV > internal BSSV > E1 NER > Table IO > DB lock/problem
Can the DB lock/problem ever end up being seen by External sys
I've pasted the code below, it's very simple and should return 200001 if a pass and 200003 if a fail.
It returned nothing and confused the external system.
It turns out there was an error on the F4801 update due to a recent trigger deployment today.
But E1 would have known about that and SV File IO would not be SUCCESS, right?
Which means 200003 gets sent back. My colleagues who work on the external system are adamant I didn't pass back either 200001 or 200003.
What I reckon happened is yes E1 NER was executed, the F4801 couldn't update due to the trigger issue, 200003 was fed back but............
JAVA went into the throw exception code and ignored my fed back values.
Now this could happen in my BSSV or even in the external system....?
Is that possible or are they totally isolated from one another in terms of a COM error, like in C++ etc?
Here's the code which should/would have sent back 200003
F0006.Select [Index 1: Cost Center]
VA evt_CostCenterType_F0006_STYL [STYL] = TK Business Unit Type [STYL]
VA evt_Company_F4801_CO [CO] = TK Company [CO]
VA evt_AddNoManager_F4801_ANSA [ANSA] = TK Address Number [AN8]
F0006.FetchNext [Index 1: Cost Center]
VA evt_CostCenter_F0006_MCU [MCU] <- TK Business Unit [MCU]
If SV File_IO_Status is equal to CO SUCCESS
F4801.Update [Index 1: Document Number]
BF MKmnDocumentOrderNo [DOCO] = TK Document (Order No, Invoice, etc.) [DOCO]
VA evt_CostCenter_F0006_MCU [MCU] -> TK Business Unit [MCU]
VA evt_AUDIT_UserId_USER [USER] -> TK User ID [USER]
VA evt_AUDIT_ProgramId_PID [PID] -> TK Program ID [PID]
VA evt_AUDIT_WorkStationId_JOBN [JOBN] -> TK Work Station ID [JOBN]
VA evt_AUDIT_DateUpdated_UPMJ [UPMJ] -> TK Date - Updated [UPMJ]
VA evt_AUDIT_TimeLastUpdated_UPMT [UPMT] -> TK Time of Day [TDAY]
If SV File_IO_Status is not equal to CO SUCCESS
// Can not update F4801 - FAILURE
BF szLOGSourceResultOVE [RESU] = "200003"
BF szLOGDescriptionText [DTX1] = "OVEWOA00694705"
Else
BF szLOGSourceResultOVE [RESU] = "200001"
BF szLOGDescriptionText [DTX1] = "OVEWOA00000000"
End If
CNC picked up these errors
20 Oct 2016 01:07:08,883[WARN][RUNTIME]*ERROR* CallObject@1c871c87: CallObject.executeRequest(): Problem executing function [GTSWOGenericManager] lib [] TM_TRAN_CANCELLED was received from CallObject user:GTSSVCPD Env:JPD900
20 Oct 2016 01:07:08,884[SEVERE][INTEROP]Fail to execute BSFNMethod com.jdedwards.system.kernel.CallObjectSystemException: TM_TRAN_CANCELLED was received from CallObject com.jdedwards.system.connector.dynamic.ServerFailureException: Fail to execute BSFNMethod com.jdedwards.system.kernel.CallObjectSystemException: TM_TRAN_CANCELLED was received from CallObject
20 Oct 2016 01:07:08,884[SEVERE][BSSVFRAMEWORK][Context ID: 10.170.9.12:6374711476943627593:7046] System Exception occured while executing business function. Please try request again. :GTSWOGenericManager(GTS Create WO) oracle.e1.bssvfoundation.exception.BSFNServiceSystemException: System Exception occured while executing business function. Please try request again. :GTSWOGenericManager(GTS Create WO)
Hi folks,
Is it possible for E1 data base exceptions in an E1 NER to throw an exception in a JAVA BSSV call? Or end up with the BSSV terminating? Or a BSSV in E1 to be thrown due to a DB error.
We have a weird issue here in work today whereby someone had recently updated an Oracle trigger on F4801 and for some reason the code in the NER that checks SV File I/O status on an update to F4801 didn't work.
A little background. An external system written in JAVA uses BSSVs to call E1 NERs and feed back info (pass or fail basically)
So the furthest most external part of the following call path:
External sys > BSSV > internal BSSV > E1 NER > Table IO > DB lock/problem
Can the DB lock/problem ever end up being seen by External sys
I've pasted the code below, it's very simple and should return 200001 if a pass and 200003 if a fail.
It returned nothing and confused the external system.
It turns out there was an error on the F4801 update due to a recent trigger deployment today.
But E1 would have known about that and SV File IO would not be SUCCESS, right?
Which means 200003 gets sent back. My colleagues who work on the external system are adamant I didn't pass back either 200001 or 200003.
What I reckon happened is yes E1 NER was executed, the F4801 couldn't update due to the trigger issue, 200003 was fed back but............
JAVA went into the throw exception code and ignored my fed back values.
Now this could happen in my BSSV or even in the external system....?
Is that possible or are they totally isolated from one another in terms of a COM error, like in C++ etc?
Here's the code which should/would have sent back 200003
F0006.Select [Index 1: Cost Center]
VA evt_CostCenterType_F0006_STYL [STYL] = TK Business Unit Type [STYL]
VA evt_Company_F4801_CO [CO] = TK Company [CO]
VA evt_AddNoManager_F4801_ANSA [ANSA] = TK Address Number [AN8]
F0006.FetchNext [Index 1: Cost Center]
VA evt_CostCenter_F0006_MCU [MCU] <- TK Business Unit [MCU]
If SV File_IO_Status is equal to CO SUCCESS
F4801.Update [Index 1: Document Number]
BF MKmnDocumentOrderNo [DOCO] = TK Document (Order No, Invoice, etc.) [DOCO]
VA evt_CostCenter_F0006_MCU [MCU] -> TK Business Unit [MCU]
VA evt_AUDIT_UserId_USER [USER] -> TK User ID [USER]
VA evt_AUDIT_ProgramId_PID [PID] -> TK Program ID [PID]
VA evt_AUDIT_WorkStationId_JOBN [JOBN] -> TK Work Station ID [JOBN]
VA evt_AUDIT_DateUpdated_UPMJ [UPMJ] -> TK Date - Updated [UPMJ]
VA evt_AUDIT_TimeLastUpdated_UPMT [UPMT] -> TK Time of Day [TDAY]
If SV File_IO_Status is not equal to CO SUCCESS
// Can not update F4801 - FAILURE
BF szLOGSourceResultOVE [RESU] = "200003"
BF szLOGDescriptionText [DTX1] = "OVEWOA00694705"
Else
BF szLOGSourceResultOVE [RESU] = "200001"
BF szLOGDescriptionText [DTX1] = "OVEWOA00000000"
End If
CNC picked up these errors
20 Oct 2016 01:07:08,883[WARN][RUNTIME]*ERROR* CallObject@1c871c87: CallObject.executeRequest(): Problem executing function [GTSWOGenericManager] lib [] TM_TRAN_CANCELLED was received from CallObject user:GTSSVCPD Env:JPD900
20 Oct 2016 01:07:08,884[SEVERE][INTEROP]Fail to execute BSFNMethod com.jdedwards.system.kernel.CallObjectSystemException: TM_TRAN_CANCELLED was received from CallObject com.jdedwards.system.connector.dynamic.ServerFailureException: Fail to execute BSFNMethod com.jdedwards.system.kernel.CallObjectSystemException: TM_TRAN_CANCELLED was received from CallObject
20 Oct 2016 01:07:08,884[SEVERE][BSSVFRAMEWORK][Context ID: 10.170.9.12:6374711476943627593:7046] System Exception occured while executing business function. Please try request again. :GTSWOGenericManager(GTS Create WO) oracle.e1.bssvfoundation.exception.BSFNServiceSystemException: System Exception occured while executing business function. Please try request again. :GTSWOGenericManager(GTS Create WO)
Last edited: