i'm using the form data add event with actionsuccess=false to save invoice as draft.
After saving the document as draft and do a query in table odrf there will be deadlock.
The deadlock is shown in sql server. I have to kill this process in the activity monitor of the sql server to go on in business one.
Private Sub moSBOApplication_FormDataEvent(ByRef BusinessObjectInfo As SAPbouiCOM.BusinessObjectInfo, ByRef BubbleEvent As Boolean) Handles moSBOApplication.FormDataEvent 'only invoice are allowed If BusinessObjectInfo.FormTypeEx <> "133" Then Exit Sub 'no draft allowed. If BusinessObjectInfo.Type = "112" Then Exit Sub Select Case BusinessObjectInfo.EventType Case SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD Select Case BusinessObjectInfo.ActionSuccess 'before invoice is added Case False 'set id in textbox comment moSBOApplication.Forms.ActiveForm.Items.Item("16").Specific.value = "$99$" 'save as draft moSBOApplication.ActivateMenuItem("5907") 'fetch draft docentry Dim iDraftDocentry As Integer = 0 Dim oRec As SAPbobsCOM.Recordset = moSBOCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) Dim sSql As String = "SELECT isnull(docentry,0) as docentry " _ & " FROM ODRF " _ & " WHERE ObjType =13 " _ & " and charindex('$99$',comments)>0" oRec.DoQuery(sSql) ' <-- after executing this line there is a deadlock in database. If i use another table than odrf it would be all right. The odrf is locked. While oRec.EoF = False iDraftDocentry = CInt(oRec.Fields.Item("docentry").Value) oRec.MoveNext() End While 'publish draft docentry moSBOApplication.MessageBox("" & iDraftDocentry) End Select End Select End Sub
SAP Version: 8.8 PL13
Does anybody know how to prevent the deadlock? Or is this a bug?