cancel
Showing results for 
Search instead for 
Did you mean: 

CardCode der BP austauschen

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Hallo Andreas!

Vielen Dank für die Antwort.

Bisher ist noch jeder BP unberührt.

Meine Tabelle sieht so aus

A (alt) B (neu)

424242 4711

Dann wären da noch die Ansprechpartner je Kunde, aber auch hier: gleiches wie zuvor.

Wie setzt mal so ein script auf(bin absoluter Neuling).

Danke

Marc

Former Member
0 Kudos

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

Former Member
0 Kudos

Wir reden von einer Zahl im niedrigen 6 stelligen Bereich.

Former Member
0 Kudos

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

Former Member
0 Kudos

Hallo Andreas!

Vielen Dank für Deine Mühe und das erstellte Skript!

Woher zieht es sich die neuen CardCodes?

VIelleicht liegt das auch meiner mangelden Erfahrung, nur konnte ich keine Quelldatei ersehen.

Gruß

Marc

Former Member
0 Kudos

Hallo Marc,

DAS müsstest Du schon noch selber in den Code einfügen - woher soll ich wissen, wo Deine neuen GP-Codes stehen? Alternativ (Du scheinst eine Lösung zu suchen, keinen Lösungsansatz) kann ich Dir das gerne kostenpflichtig erstellen.

hdh

Andreas

Former Member
0 Kudos

Hi Andreas!

Ich war nur etwas verwirrt, weil ich das nicht gefunden hatte ö)

Kann man hier zum Kontaktaustausch private Mails senden?

Former Member
0 Kudos

[Hier|http://www.unirez.de/index.php/kontakt/unirezteam] sind meine Kontaktdaten.

Answers (0)