Thema Datum  Von Nutzer Rating
Antwort
22.11.2006 15:27:47 Marie K.
NotSolved
23.11.2006 11:34:24 Rasta
NotSolved
23.11.2006 13:38:25 Marie K.
NotSolved
23.11.2006 15:51:32 Marie K.
NotSolved
27.11.2006 08:45:40 Marie K.
NotSolved
Blau FERTIG!!!!!!!!!!!!!!!!!!!!!!!!!!
23.11.2006 16:35:26 Marie K.
NotSolved
23.11.2006 21:27:21 Rasta
NotSolved

Ansicht des Beitrags:
Von:
Marie K.
Datum:
23.11.2006 16:35:26
Views:
1183
Rating: Antwort:
  Ja
Thema:
FERTIG!!!!!!!!!!!!!!!!!!!!!!!!!!
Halllo ihr bzw. hallo Rasta!!!


ICH BIN FERTIG - KAUM ZU GLAUBEN ABER WAHR ^^

DANKE DANKE DANKE nochmal für deine Hilfe!!!!!


Hier mein fertiger Code:


'Deklarationszwang
Option Explicit

'*********************************************************************************
'Deklaration der benötigten Variablen
'*********************************************************************************

Dim objBAPIControl As Object
Dim objConnection As Object
Dim objDisplay As Object
Dim login As Boolean
Dim objTable As Table

'Parameter
Dim oParam1 As Object
Dim oParam2 As Object
Dim oParam3 As Object
Dim oParam4 As Object
Dim oParam5 As Object
Dim oParam6 As Object
Dim oParam7 As Object

'Zur Ausgabe
Dim i As Integer
Dim n As Integer
Dim strTeilstring()
Dim Cont As String
Dim Entry As String
Dim EAN As String
Dim Name As String
Dim Num As String

'*********************************************************************************


'Cancel-Button
Private Sub cmdCancel_Click()
MatNrQuery.Hide
End Sub


'Okay-Button
Private Sub cmdOK_Click()

If login = False Then

'********************************************************
' Verbindungsaufbau
'********************************************************

Set objBAPIControl = CreateObject("SAP.Functions")
Set objConnection = objBAPIControl.Connection
objConnection.System = "***"
objConnection.HostName = "****"
objConnection.SystemNumber = "****"
objConnection.client = "***"
objConnection.User = ""
objConnection.Password = ""
objConnection.Language = "DE"
If objConnection.Logon(0, False) Then
login = True
MsgBox "Verbunden"
End If

'********************************************************

'********************************************************
' Auslesen der Daten über den Baustein
' ZL_LESEN_DISPLAY_STUECK (aus der Tabelle TABENTRY)
'********************************************************

Set objDisplay = objBAPIControl.Add("ZL_LESEN_DISPLAY_STUECK")


'***************************
' EXPORTS
'***************************

'Materialnummer
Set oParam1 = objDisplay.exports("I_MATNR")
'Werksnummer
Set oParam2 = objDisplay.exports("I_WERKS")
'Stücklistennummer
Set oParam3 = objDisplay.exports("I_STLTY")

'***************************

'***************************
' IMPORTS
'***************************

'Returncode (muss 0 sein, sonst Fehler!)
Set oParam4 = objDisplay.imports("RC")
'Materialbezeichnung (Display)
Set oParam5 = objDisplay.imports("E_MAT_BEZ")
'EAN-Nummer (Display)
Set oParam6 = objDisplay.imports("E_EANNR")
'Display-Bezeichnung
Set oParam7 = objDisplay.imports("E_DIS_BEZ")

'***************************

'Tabelle
Set objTable = objDisplay.Tables("TABENTRY")

'Wertzuweisung
oParam1.Value = txtMatNr
oParam2.Value = "3030"
oParam3.Value = "5"

'Aufruf
objDisplay.Call

'********************************************************


'********************************************************
' Ausgabe der Daten
'********************************************************

'Anzahl der Einträge (Zeilen der SAP-Tabelle)
Entry = objTable.RowCount

If oParam4 <> "0" Then
MsgBox ("Ein Fehler ist aufgetreten. Der Returncode muss NULL sein (RC = " & oParam4 & "). Bitte überprüfen Sie Ihre Eingabe!")
Else
'Schleifendurchlauf von Eintrag 1 bis n
For i = 1 To Entry
'Tabelle zeilenweise auslesen
Cont = objTable.Cell(i, 1)
'Letzten 3 Zeichen entfernen - werden nicht benötigt
Cont = Replace(Cont, " EA", "")
'EAN Nummer ausschneiden und Leerzeichen davor und danach entfernen
EAN = Left(Cont, "15")
EAN = LTrim(EAN)
'Anzahl ausschneiden und Leerzeichen....
Num = Right(Cont, "10")
Num = LTrim(Num)
'Packungsbezeichnung ausschneiden und Leerzeichen....
Name = Mid(Cont, "15", "50")
Name = LTrim(Name)

'Wenn weniger als oder genau 10 und mehr als 0 Einträge vorhanden sind -> Ausgabe in A5
If Entry "0" Then
Sheets(2).Cells(i * 2 + 5, 2) = Num
Sheets(2).Cells(i * 2 + 5, 4) = Name
Sheets(2).Cells(i * 2 + 5, 8) = Num
Sheets(2).Cells(i * 2 + 5, 10) = EAN
'Wenn weniger als oder genau 20 und mehr als 10 Einträge vorhanden sind -> Ausgabe A4 -A
ElseIf Entry "10" Then
Sheets(3).Cells(i * 2 + 5, 2) = Num
Sheets(3).Cells(i * 2 + 5, 4) = Name
Sheets(3).Cells(i * 2 + 5, 9) = Num
Sheets(3).Cells(i * 2 + 5, 11) = EAN
'Wenn weniger als oder genau 30 und mehr als 20 Einträge vorhanden sind -> Ausgabe A4 -B
ElseIf Entry "20" Then
Sheets(4).Cells(i * 2 + 5, 2) = Num
Sheets(4).Cells(i * 2 + 5, 4) = Name
Sheets(4).Cells(i * 2 + 5, 9) = Num
Sheets(4).Cells(i * 2 + 5, 11) = EAN
End If
Next i



If Entry "0" Then
Sheets(2).Range("D1") = oParam5
Sheets(2).Range("D2") = oParam7
Sheets(2).Range("J2") = oParam1
Sheets(2).Range("F27") = oParam6
MsgBox ("Die Daten wurden in ""Etikett A5"" eingetragen")
ElseIf Entry "10" Then
Sheets(3).Range("D1") = oParam5
Sheets(3).Range("D2") = oParam7
Sheets(3).Range("J2") = oParam1
Sheets(3).Range("F47") = oParam6
MsgBox ("Die Daten wurden in ""Etikett A4 Variante A - 20"" eingetragen")
ElseIf Entry "20" Then
Sheets(4).Range("D1") = oParam5
Sheets(4).Range("D2") = oParam7
Sheets(4).Range("K2") = oParam1
Sheets(4).Range("F67") = oParam6
MsgBox ("Die Daten wurden in ""Etikett A4 Variante B - 30"" eingetragen")
Else
MsgBox ("Fehler! Entweder sind 0 oder mehr als 30 Einträge vorhanden. Es wurden keine Daten eingetragen.")
End If
End If

'********************************************************

Else
login = False
objConnection.Logoff
Set objConnection = Nothing
Set objBAPIControl = Nothing
End If

End Sub









LG
Marie

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.11.2006 15:27:47 Marie K.
NotSolved
23.11.2006 11:34:24 Rasta
NotSolved
23.11.2006 13:38:25 Marie K.
NotSolved
23.11.2006 15:51:32 Marie K.
NotSolved
27.11.2006 08:45:40 Marie K.
NotSolved
Blau FERTIG!!!!!!!!!!!!!!!!!!!!!!!!!!
23.11.2006 16:35:26 Marie K.
NotSolved
23.11.2006 21:27:21 Rasta
NotSolved