Skip to Content
author's profile photo Former Member
Former Member

QUITAR CUENTA DEL DATO MAESTRO DE SN

Estimados,

Necesito quitar cuenta definida en dato maestro del Socio de Negocio, NO modificar sino quitar definitivamente.

Ej. Con template se cargo definicion de SN y se envio cuenta para compensacion anticipos en pestaña finanzas/general, ahora necesitamos quitar esa cuenta en todos los proveedores (1600 aprox), he intentado con template dejando el campo en blanco pero no me funciona.

Alguien sabe como hacerlo ?

JAMS

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Posted on Jan 03, 2014 at 03:21 PM

    Bueno

    Tampoco me resulto por el DTW por lo que hice un código que hará lo que requieres, sigue estos pasos.

    1.- Abre SAP y conectate a la sociedad (Base de pruebas primero).

    2.- Abre excel

    3.- En la primera columna coloca hacia abajo los CardCode que quieres modificar (desde la A1 hacia abajo)

    4.- Haz clic derecho en el nombre de la hoja y selecciona "Ver Codigo".

    5.- Haz clic en Herramientas\Referencias y busca la SAP UI API y SAP DI API (de tu versión de SAP), marcalas y selecciona OK.

    6.- Una vez hecho todo eso, pega este codigo y correlo:

    Sub QuitarCuentasSN()
    
      Dim SboGuiApi     As New SAPbouiCOM.SboGuiApi
      Dim SBO_App       As SAPbouiCOM.Application
      Dim oCompany      As New SAPbobsCOM.Company
      Dim row           As Long
      Dim lRetCode      As Integer
    
      SboGuiApi.Connect ("0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056")
      Set SBO_App = SboGuiApi.GetApplication()
    
      Set oCompany = SBO_App.Company.GetDICompany()
      
      row = 1
      
      Dim oSN As SAPbobsCOM.BusinessPartners
      Set oSN = oCompany.GetBusinessObject(oBusinessPartners)
      
      Do While ActiveSheet.Cells(row, 1) <> ""
      
        If (oSN.GetByKey(ActiveSheet.Cells(row, 1)) = True) Then
            oSN.DownPaymentClearAct = ""
            lRetCode = oSN.Update()
            
            If (lRetCode <> 0) Then
                ActiveSheet.Cells(row, 2) = oCompany.GetLastErrorDescription()
            Else
                ActiveSheet.Cells(row, 2) = "Actualizado"
            End If
        End If
        row = row + 1
      Loop
    
      oCompany.Disconnect
      
    End Sub
    

    Con eso debería funcionar, ya hice la prueba.

    Saludos

    Felipe Loyola

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.