on 11-17-2011 7:22 AM
Hallo zusammen!
Kann man auf einfachem Wege den Cardcode der BP ersetzen?
Wir sind noch nicht im Livebetrieb, ich möchte mir aber ersparen nochmal alles durch die DIW laufen zu lassen.
Habe hier einige BP inkl. Ansprechpartner deren alten CardCode ich durch Neuen ersetzen muss.
In einer Liste haben ich Alten + Neuen.
Weiss jemand eine elegante Lösung?
Danke
MD
Hallo,
solange ein GP (Geschäftspartner) nicht verwendet wurde, kann sein CarCode geändert werden. Einfach (mit der Hand) überschreiben - oder ein kleines Script machen, welches dies durchführt (per DI).
hdh
Andreas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hallo Marc,
dann wird es schwirig.... OK, dann mit der "Hand am Arm" (wie viele sind es denn?) - oder halt neu importieren. Die Programmierung über das DI kann ich Dir beim besten willen hier nicht erklären. Falls Du Programmieren kannst - schau Dir das DI, die Hilfe und die Beispiele dazu einmal an.
hdh
Andreas
Dann fällt mit der Hand am Arm wohl aus.
OK, hier ein kleines Skript in VB, Du musst das DI API einbinden, dann läuft es.
Function GPAendern()
Dim objCompany As SAPbobsCOM.Company
Dim objRec As SAPbobsCOM.Recordset
Dim objBP As SAPbobsCOM.BusinessPartners
Dim strErr As String, lngErr As Long
Dim strBP As String
Dim i As Long
If objCompany Is Nothing Then Set objCompany = GetSBOCompany()
Set objRec = objCompany.GetBusinessObject(BoRecordset)
Call objRec.DoQuery("Select CardCode from OCRD")
objRec.MoveFirst
objRec.MoveLast
objRec.MoveFirst
i = objRec.RecordCount
Do While Not objRec.EOF
Set objBP = objCompany.GetBusinessObject(oBusinessPartners)
strBP = objRec.Fields("CardCode").Value
If objBP.GetByKey(strBP) = True Then
objBP.CardCode = "NEU"
objBP.Update
Call objCompany.GetLastError(lngErr, strErr)
If lngErr <> 0 Then
'MsgBox (strErr & " (" & Trim(Str(lngErr)))
Debug.Print "fehler Kunde " & strBP & " " & strErr
End If
End If
objRec.MoveNext
Debug.Print "Kunde " & strBP & " Zeile " & i
i = i - 1
DoEvents
Loop
objCompany.Disconnect
End Function
und
Public Function GetSBOCompany() As SAPbobsCOM.Company
Dim vCompany As SAPbobsCOM.Company
'create company object
Set vCompany = New SAPbobsCOM.Company
'set paras for connection
vCompany.CompanyDB = DLookup("Datenbankname", "Parameter")
vCompany.Password = DLookup("Passwort", "Parameter")
vCompany.UserName = DLookup("Benutzer", "Parameter")
vCompany.Server = DLookup("Server", "Parameter")
vCompany.LicenseServer = DLookup("Lizenzserver", "Parameter")
vCompany.DbServerType = DLookup("Typ", "Parameter")
vCompany.DbUserName = DLookup("DBUser", "Parameter")
vCompany.DbPassword = DLookup("DBKennwort", "Parameter")
'connect to database server
If (0 <> vCompany.Connect()) Then
Call vCompany.GetLastError(lngErr, strErr)
MsgBox "Fehler bei Connect: " & strErr
Set GetSBOCompany = Nothing
Else
Set GetSBOCompany = vCompany
MsgBox (vCompany.CompanyName & vbCrLf & "DB-Name " & vCompany.CompanyDB & vbCrLf & "Server " & vCompany.Server & " USER " & vCompany.UserName)
End If
End Function
hdh
Andreas
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.