Ms10052016
This commit is contained in:
219
app/DD-Record-Organiser/frmSAP_FuBa.vb
Normal file
219
app/DD-Record-Organiser/frmSAP_FuBa.vb
Normal file
@@ -0,0 +1,219 @@
|
||||
Imports ERPConnect
|
||||
Imports System.Data.SqlClient
|
||||
|
||||
Public Class frmSAP_FuBa
|
||||
|
||||
Private Sub TBPMO_SAP_FUBABindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles TBPMO_SAP_FUBABindingNavigatorSaveItem.Click
|
||||
Try
|
||||
Me.TBPMO_SAP_FUBABindingSource.EndEdit()
|
||||
If DD_ECMAdmin.TBPMO_SAP_FUBA.GetChanges Is Nothing = False Then
|
||||
Me.CHANGED_WHOTextBox.Text = Environment.UserName
|
||||
Me.TBPMO_SAP_FUBABindingSource.EndEdit()
|
||||
Me.TBPMO_SAP_FUBATableAdapter.Update(DD_ECMAdmin.TBPMO_SAP_FUBA)
|
||||
lblSave.Visible = True
|
||||
Else
|
||||
lblSave.Visible = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Fuba:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmSAP_FuBa_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_ECMAdmin.TBPMO_SAP_FUBA". Sie können sie bei Bedarf verschieben oder entfernen.
|
||||
Refresh_Fubas()
|
||||
End Sub
|
||||
Sub Refresh_Fubas()
|
||||
Try
|
||||
Me.TBPMO_SAP_FUBATableAdapter.Connection.ConnectionString = MyConnectionString
|
||||
Me.TBPMO_SAP_FUBATableAdapter.Fill(Me.DD_ECMAdmin.TBPMO_SAP_FUBA)
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Load Fubas:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub btnERPConnect_Click(sender As Object, e As EventArgs) Handles btnERPConnect.Click
|
||||
Dim con As New R3Connection
|
||||
Try
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
ClassLogger.Add("", False)
|
||||
ClassLogger.Add(">> SAP Connect started:", False)
|
||||
ERPConnect.LIC.SetLic("W86DWC992C")
|
||||
con.Host = HostTextBox.Text
|
||||
con.SystemNumber = SystemNumberTextBox.Text
|
||||
con.UserName = UserNameTextBox.Text
|
||||
con.Password = PasswordTextBox.Text
|
||||
con.Client = ClientTextBox.Text
|
||||
con.Language = LanguageTextBox.Text
|
||||
ClassLogger.Add(">> HOST: " & HostTextBox.Text & " |SystemNumber: " & SystemNumberTextBox.Text & " |UserName: " & UserNameTextBox.Text & " |Password: " & PasswordTextBox.Text & " |Client: " & ClientTextBox.Text & " |Language: " & LanguageTextBox.Text, False)
|
||||
con.Open(False)
|
||||
ClassLogger.Add(">> SAP-Connection erfolgreich aufgebaut!", False)
|
||||
ClassLogger.Add("", False)
|
||||
lblConnectionopen.Visible = True
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected Error in SAP Connect: " & ex.Message, MsgBoxStyle.Critical)
|
||||
lblConnectionopen.Visible = False
|
||||
Me.Cursor = Cursors.Default
|
||||
lblResult.Visible = False
|
||||
Exit Sub
|
||||
End Try
|
||||
Try
|
||||
Dim table As New ERPConnect.Utils.ReadTable(con)
|
||||
'Dim cWhereClause = "SAP_OBJECT EQ '<ObjectType>' AND AR_DATE GE '<AR_DATE>'"
|
||||
'Dim sSearchDate1 = "20160101"
|
||||
'cWhereClause = Replace(cWhereClause, "<ObjectType>", Objekttyp.Text)
|
||||
'cWhereClause = Replace(cWhereClause, "<AR_DATE>", sSearchDate1)
|
||||
If WHERE_CLAUSETextBox.Text <> "" Then
|
||||
table.AddCriteria(WHERE_CLAUSETextBox.Text)
|
||||
End If
|
||||
|
||||
'ClassLogger.Add(">> cWhereClause: " & cWhereClause, False)
|
||||
'table.AddField("MATNR")
|
||||
'table.AddField("MAKTX")
|
||||
|
||||
' table.AddCriteria("SPRAS = 'DE'")
|
||||
|
||||
table.TableName = TableNameTextBox.Text
|
||||
table.RowCount = 1000
|
||||
|
||||
table.Run()
|
||||
|
||||
Dim resulttable As DataTable
|
||||
resulttable = table.Result
|
||||
Try
|
||||
GridControl2.DataSource = resulttable
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bei GridControl2 >> DataTable: " & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
Dim i As Integer
|
||||
|
||||
'For Each row As DataRow In resulttable.Rows
|
||||
' ClassLogger.Add(">> " & row.Item(0).ToString & "|" & row.Item(1).ToString & "|" & row.Item(2).ToString)
|
||||
'Next
|
||||
con.Close()
|
||||
lblResult.Visible = True
|
||||
Me.Cursor = Cursors.Default
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected Error in SAP Table Result: " & ex.Message, MsgBoxStyle.Critical)
|
||||
lblResult.Visible = False
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub TBPMO_SAP_FUBABindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBPMO_SAP_FUBABindingSource.AddingNew
|
||||
DD_ECMAdmin.TBPMO_SAP_FUBA.ADDED_WHOColumn.DefaultValue = Environment.UserName
|
||||
End Sub
|
||||
|
||||
Private Sub TBPMO_SAP_FUBABindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TBPMO_SAP_FUBABindingSource.CurrentChanged
|
||||
lblSave.Visible = False
|
||||
GridControl2.DataSource = Nothing
|
||||
lblConnectionopen.Visible = False
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
If TempTableNameTextBox.Text <> "" Then
|
||||
Dim con As New R3Connection
|
||||
Try
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
ClassLogger.Add("", False)
|
||||
ClassLogger.Add(">> SAP Connect started:", False)
|
||||
ERPConnect.LIC.SetLic("W86DWC992C")
|
||||
con.Host = HostTextBox.Text
|
||||
con.SystemNumber = SystemNumberTextBox.Text
|
||||
con.UserName = UserNameTextBox.Text
|
||||
con.Password = PasswordTextBox.Text
|
||||
con.Client = ClientTextBox.Text
|
||||
con.Language = LanguageTextBox.Text
|
||||
ClassLogger.Add(">> HOST: " & HostTextBox.Text & " |SystemNumber: " & SystemNumberTextBox.Text & " |UserName: " & UserNameTextBox.Text & " |Password: " & PasswordTextBox.Text & " |Client: " & ClientTextBox.Text & " |Language: " & LanguageTextBox.Text, False)
|
||||
con.Open(False)
|
||||
ClassLogger.Add(">> SAP-Connection erfolgreich aufgebaut!", False)
|
||||
ClassLogger.Add("", False)
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected Error in SAP Connect: " & ex.Message, MsgBoxStyle.Critical)
|
||||
Me.Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End Try
|
||||
Dim resulttable As DataTable
|
||||
Try
|
||||
Dim table As New ERPConnect.Utils.ReadTable(con)
|
||||
'Dim cWhereClause = "SAP_OBJECT EQ '<ObjectType>' AND AR_DATE GE '<AR_DATE>'"
|
||||
'Dim sSearchDate1 = "20160101"
|
||||
'cWhereClause = Replace(cWhereClause, "<ObjectType>", Objekttyp.Text)
|
||||
'cWhereClause = Replace(cWhereClause, "<AR_DATE>", sSearchDate1)
|
||||
If WHERE_CLAUSETextBox.Text <> "" Then
|
||||
table.AddCriteria(WHERE_CLAUSETextBox.Text)
|
||||
End If
|
||||
|
||||
'ClassLogger.Add(">> cWhereClause: " & cWhereClause, False)
|
||||
'table.AddField("MATNR")
|
||||
'table.AddField("MAKTX")
|
||||
|
||||
' table.AddCriteria("SPRAS = 'DE'")
|
||||
|
||||
table.TableName = TableNameTextBox.Text
|
||||
table.Run()
|
||||
|
||||
resulttable = table.Result
|
||||
ClassLogger.Add(">> resulttable created!", False)
|
||||
ClassLogger.Add("", False)
|
||||
|
||||
Catch ex As Exception
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("Unexpected Error in Get SAP Table Result: " & ex.Message, MsgBoxStyle.Critical)
|
||||
Exit Sub
|
||||
End Try
|
||||
Dim i = 0
|
||||
Dim tablename = "TPPMO_SAPFUBA_ " & TempTableNameTextBox.Text
|
||||
Dim createtablesql = "CREATE TABLE TPPMO_SAPFUBA_ " & TempTableNameTextBox.Text & " ("
|
||||
|
||||
|
||||
For Each col As System.Data.DataColumn In resulttable.Columns
|
||||
If i = 0 Then
|
||||
createtablesql += "[" & col.ColumnName & "] [varchar](100)"
|
||||
Else
|
||||
createtablesql += ", [" & col.ColumnName & "] [varchar](100)"
|
||||
End If
|
||||
i += 1
|
||||
Next
|
||||
createtablesql += ")"
|
||||
Dim check = String.Format("SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='{0}'", tablename)
|
||||
|
||||
If ClassDatabase.Execute_Scalar(check) = 1 Then
|
||||
ClassDatabase.Execute_non_Query("DROP TABLE " & tablename)
|
||||
End If
|
||||
|
||||
'Die Tabelle anlegen
|
||||
ClassLogger.Add(">> Create Table: " & createtablesql, False)
|
||||
If ClassDatabase.Execute_non_Query(createtablesql) = False Then
|
||||
Me.Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End If
|
||||
Try
|
||||
Dim SQLconnect As New SqlClient.SqlConnection
|
||||
SQLconnect.ConnectionString = MyConnectionString
|
||||
SQLconnect.Open()
|
||||
' Note that the column positions in the source DataTable
|
||||
' match the column positions in the destination table,
|
||||
' so there is no need to map columns.
|
||||
Using bulkCopy As SqlBulkCopy = _
|
||||
New SqlBulkCopy(SQLconnect)
|
||||
bulkCopy.DestinationTableName = tablename
|
||||
|
||||
Try
|
||||
' Write from the source to the destination.
|
||||
bulkCopy.WriteToServer(resulttable)
|
||||
|
||||
Catch ex As Exception
|
||||
Console.WriteLine(ex.Message)
|
||||
End Try
|
||||
End Using
|
||||
SQLconnect.Close()
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected Error in Get SAP Table Result: " & ex.Message, MsgBoxStyle.Critical)
|
||||
Me.Cursor = Cursors.Default
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user