cancel
Showing results for 
Search instead for 
Did you mean: 

Pasar Una Tabla Definida por Usuario (UDT) de una Sociedad a Otra

former_member183397
Participant
0 Kudos

Hola a Todos.

He creado Una Tabla Definida por el Usuario (UDT), con sus respectivos campos (UDF), esto lo he realizado en una empresa de pruebas, ¿Como hago para exportar o pasar esta UDT a la Base de Datos de otra empresa(Sociedad)?

Saludos y Muchas Gracias.

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes.

Para realizar lo que necesitas debes seguir los siguientes pasos (te aseguro que es más rápido hacerlo por el cliente)

1.- Conectarse a la compañía que tiene la tabla de usuario:


SAPbobsCOM.Company oCompany = new SAPbobsCOM.Company();

int lRetCode;

oCompany.Server = "sap9";

oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;

oCompany.DbUserName = "sa";

oCompany.DbPassword = "S****";

oCompany.CompanyDB = "SBO_DemoCL";

oCompany.UserName = "manager";

oCompany.Password = "bes****";

          

try

{

     lRetCode = oCompany.Connect();

}

catch

{

     MessageBox.Show(oCompany.GetLastErrorDescription());

}

2.- Declarar, seleccionar y exportar el objeto de tu tabla en XML


oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode;

SAPbobsCOM.UserTablesMD oUserTablesMD = (SAPbobsCOM.UserTablesMD)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);

if (oUserTablesMD.GetByKey("ZSCH1"))

{

     oUserTablesMD.SaveToFile("C:\\" + oUserTablesMD.TableName + ".xml");

}

3.- Debes recuperar la lista de ID campos de usuarios desde la tabla CUFD y exportarlos en XML


SAPbobsCOM.UserFieldsMD oUserFieldsMD = (SAPbobsCOM.UserFieldsMD)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields);

string UDTName = "ZSCH1";

int UDF_ID = 5;

if (oUserFieldsMD.GetByKey(UDTName, UDF_ID))

{

  oUserTablesMD.SaveToFile("C:\\" + oUserFieldsMD.FieldID + ".xml");

}

4.- Luego de exportar todo, te conectas a la nueva compañia

{Codigo paso 1}

5.- Cargas los XML en el orden que los exportaste


oCompany.GetBusinessObjectFromXML("C:\\MyXML.xml");

Saludos

former_member183397
Participant
0 Kudos

Muchas Gracias por tu detallada respuesta Felipe!

Este código me resulta super útil y con eso he aprendido mas sobre el SDK.

Saludos.

Answers (2)

Answers (2)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

yo la crearía en la empresa nueva y copiaría los datos mediante SQL (INSERT INTO TABLA FROM ORIGEN,DBO.TABLA).

Un saludo

Agustín Marcos Cividanes

former_member183397
Participant
0 Kudos

Esa es una opción Agustin, pero en este caso es muy necesario pasar toda la estructura de la tabla y ademas sus datos, precisamente quiero evitar crear todos los campos en la empresa nueva (son muchos).

Muchas Gracias.

Former Member
0 Kudos

puedes replicarla por medio de DTW con los templetes que están en la carpeta User Defined Data, Meta Data.

saludos.