SAP Jobsuche bei DV-Treff
LauraSAP88
vor 3 Jahre
Hallo zusammen,

ich habe eine Problem mit unseren dem Scriptings.

Unsere Rechner werden nach und nach von Excel 32-Bit auf 64 umgestellt und mit 64 bit funktionieren die Sciptings nicht mehr in denen Daten im Materialstamm geändert werden sollen. Alle Anderen funktionieren - auch Material anlegen.

Ich vermute es liegt an der Abfrage der Sichten.

Kann mir jemand vielleicht helfen, wie man die VBAs umschreiben muss?

Vielen Dank schonmal.

Grüße Laura

Hier der Code:

Set rfc = FunctionCtrl.Add("RFC_READ_TABLE")

With rfc

.exports("QUERY_TABLE") = "MARA"

.exports("DELIMITER") = "|" 'Delimiter

End With

Set T_I_Options = rfc.Tables("OPTIONS")

Set T_I_Fields = rfc.Tables("FIELDS")

Set T_E_Data = rfc.Tables("DATA")

T_I_Options.AppendRow

T_I_Options(1, "TEXT") = "MANDT EQ '500' and MATNR EQ '" & W_Material & "'""" ' Mandat = 500

T_I_Fields.AppendRow

T_I_Fields(1, "FIELDNAME") = "PSTAT" 'liefere zurück den Inhalt des Feldes MARA-PSTAT

'Aufruf des Funktionsbaustein "RFC_READ_TABLE"

ret = rfc.Call

If T_E_Data.RowCount > 0 And ret = True Then

strDataRow = T_E_Data(1, 1)

DataRow = Split(strDataRow, "|")

SAP_MSTAE = DataRow(0)

End If

Call T_E_Data.freetable

Call T_I_Fields.freetable

Call T_I_Options.freetable

W_Sicht = SAP_MSTAE 'speichere den Inhalt des Feldes MARA-PSTAT in den Variable W_Sicht

'***** Anzahl der Sichen zählen ******************

Dim Wort As String, Buchstabe As String, i As Integer

Dim W_zaehler, W_zaehler1, W_zaehler2, W_zaehler3, W_zaehler4, W_zaehler5 As Integer

W_zaehler = -1

For i = 1 To Len(W_Sicht)

Buchstabe = Mid$(W_Sicht, i, 1)

If Buchstabe = "K" Then 'Grundaten

W_zaehler = W_zaehler + 2

ElseIf Buchstabe = "C" Then 'Klassifizierung

W_zaehler = W_zaehler + 1

ElseIf Buchstabe = "V" Then 'Vertrieb

W_zaehler = W_zaehler + 5

ElseIf Buchstabe = "E" Then 'Einkauf

W_zaehler = W_zaehler + 3

ElseIf Buchstabe = "D" Then 'Disposition

W_zaehler = W_zaehler + 4

ElseIf Buchstabe = "P" Then 'Prognose

W_zaehler = W_zaehler + 1

ElseIf Buchstabe = "A" Then 'Arbeitsvorbereitung

W_zaehler = W_zaehler + 1

ElseIf Buchstabe = "L" Then 'Lagerung

W_zaehler = W_zaehler + 2

End If

Next i

W_zaehler1 = W_zaehler - 1

W_zaehler2 = W_zaehler - 3

W_zaehler3 = W_zaehler - 4

W_zaehler4 = W_zaehler - 5

W_zaehler5 = W_zaehler - 6