219 lines
9.6 KiB
VB.net
219 lines
9.6 KiB
VB.net
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 |