' IsOrderAvailable() ' --------------------------------------------------------- ' Überprüft, ob Auftrag noch (teilweise) offen ist ' ' Rückgabewert: OrderAvailable: Boolean ' --------------------------------------------------------- Function IsOrderAvailable(OrderNumber) Set mywin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID) Set Grid = mywin.Controls.Item(GRID_ID).Grid IsOrderAvailable = False 'Set SQL Table and Query for DocHead. Default: "T025" 'c023 - c026 = Druckstufen; c098 = Freigabeflag Angebot; c139 = Belegstufe; 'c035 = Belegart '--> Query is not complete, will be build in the script later this time! SQL = "" SQL = SQL & "(c044 = '" & OrderNumber & "') " SQL = SQL & "AND (c024 = '*' AND c025 != '*' AND c026 != '*') " SQL = SQL & "AND (c025 IN ('M', 'A', 'S')) " SQL = SQL & "AND (c115 < 900) " SQL = SQL & "AND (c139 = 2) " SQL = SQL & SQLQuery_OrderWhere Set Result = CWLStart.CurrentCompany.SearchRecord(TABLE_25, SQL) If DEBUG_ON = True Then MsgBox "SQL: ... FROM " & TABLE_25 & " WHERE " & SQL, vbOkonly, DEBUG_TITLE AddDebugLine "Checking For Order by OrderId.." & vbNewline & vbNewline AddDebugLine "Result Columns: " & Result & vbNewline AddDebugLine "Result Rows: " & Result.RowCount & vbNewline AddDebugLine "SQL: " & SQL ShowDebugBox "IsOrderAvailable" End If If Result < 0 Then If err <> 0 Then Msgbox "Fehler bei Abfrage:" & vbNewline & err.description, vbExclamation, DEFAULT_TITLE & " - IsOrderAvailable" Exit Function Else Message = "Der Auftrag [" & OrderNumber & "] wurde nicht geladen aus einem der folgenden Gründe:" & vbNewLine & vbNewLine Message = Message & "- Auftrag existiert nicht" & vbNewLine Message = Message & "- Auftrag ist durch Fibu gesperrt" & vbNewLine Message = Message & "- Auftrag wurde bereits erledigt" & vbNewLine Message = Message & "- Beleg ist kein Auftrag" MsgBox Message, vbExclamation, DEFAULT_TITLE Exit Function End If End If If Result.RowCount > 0 Then IsOrderAvailable = True End If End Function