cancel
Showing results for 
Search instead for 
Did you mean: 

QUITAR CUENTA DEL DATO MAESTRO DE SN

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

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