' IsOrderLocked(OrderNumber : Int) ' ---------------------------------------------------------------------------- ' Gibt die UserID des Benutzers zurück, der den Auftrag sperrt. ' Wenn der Auftrag nicht gesperrt ist, wird 0 zurückgegeben. ' ' Returns: IsOrderLocked: Int ' ---------------------------------------------------------------------------- ' Copyright (c) 2021 by Digital Data GmbH ' ' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim ' Tel.: 0641/202360 • E-Mail: info-flow(at)digitaldata.works ' ---------------------------------------------------------------------------- ' Creation Date / Author: 26.04.2021 / MP ' Version Date / Editor: 26.04.2021 / MP ' Version Number: 4.0.0.0 ' Hole die interne Belegnummer ' t025.c021 = Kontonummer und t025.c022 = Laufende Nummer Function GetInternalOrderNumber(OrderNumber) GetInternalOrderNumber = "" Err.Clear If Len(OrderNumber) > 0 Then Set Conn = CWLStart.Connection Dim SQL : SQL = "" SQL = SQL & " SELECT TOP 1 c021, c022" SQL = SQL & " FROM t025 (NOLOCK) " SQL = SQL & " WHERE c044 = '"& OrderNumber & "'" SQL = SQL & SQLQuery_OrderWhere SQL = SQL & " ORDER BY c022" Set Result = Conn.Select(SQL) If Result < 0 Then If err <> 0 Then MsgBox "Fehler bei SQL-Abfrage:" & vbNewline & err.description, vbExclamation, DEFAULT_TITLE & " - GetInternalOrderNumber" Exit Function Else Message = "Den Auftrag [" & OrderNumber & "] gibt es nicht in der Datenbank" MsgBox Message, vbExclamation, DEFAULT_TITLE Exit Function End If End If GetInternalOrderNumber = result.Value("c021") & result.Value("c022") End If End Function Function IsOrderLocked(OrderNumber) Set mywin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID) Set Grid = mywin.Controls.Item(GRID_ID).Grid Err.Clear IsOrderLocked = 0 InternalOrderNumber = GetInternalOrderNumber(OrderNumber) SQL = "" SQL = SQL & " c001 = 'E" & InternalOrderNumber & "' " SQL = SQL & SQLQuery_BasicWhere Set Result = CWLStart.CurrentCompany.SearchRecord(TABLE_499, SQL) If DEBUG_ON = True Then MsgBox "SQL: ... FROM " & TABLE_499 & " WHERE " & SQL, vbOkonly, DEBUG_TITLE AddDebugLine "Checking For Order by internal OrderId [" & InternalOrderNumber & "]:"& vbNewline & vbNewline AddDebugLine "Result Columns: " & Result & vbNewline AddDebugLine "Result Rows: " & Result.RowCount & vbNewline AddDebugLine "SQL: " & SQL ShowDebugBox "IsOrderLocked" End If If Result < 0 Then If err <> 0 Then Msgbox "Fehler bei Abfrage:" & vbNewline & err.description, vbExclamation, DEFAULT_TITLE & " - IsOrderLocked" Exit Function End If End If If Result.RowCount > 0 Then IsOrderLocked = Result.Value("C002") End If End Function