estimados,
esto es mas bien una pregunta es posible crear tablas de usuario por código y a su vez verificar si ya existen cada vez que inicie el sistema?
muchas gracias
1 me gusta
Hola!
Para crear UDT y UDFs debes usar la DI-API por medio del objeto SAPbobsCOM.UserTablesMD y SAPbobsCOM.UserFieldsMD
Usa las siguientes funciones:
public static string CreateUDT(string tableName, string tableDesc, SAPbobsCOM.BoUTBTableType tableType)
{
SAPbobsCOM.UserTablesMD oUdtMD = null;
try
{
oUdtMD = (SAPbobsCOM.UserTablesMD)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables);
if (oUdtMD.GetByKey(tableName) == false)
{
oUdtMD.TableName = tableName;
oUdtMD.TableDescription = tableDesc;
oUdtMD.TableType = tableType;
int lRetCode;
lRetCode = oUdtMD.Add();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUdtMD);
oUdtMD = null;
GC.Collect();
if ((lRetCode != 0))
{
if ((lRetCode == -2035))
{
return "-2035";
}
return oCompany.GetLastErrorDescription();
}
return "";
}
else
{
return "";
}
}
catch (Exception ex)
{
return ex.Message;
}
}
public static string CreateUDF(string tableName, string fieldName, string desc, SAPbobsCOM.BoFieldTypes fieldType, int Size, string LinkTab, SAPbobsCOM.BoFldSubTypes SubType = SAPbobsCOM.BoFldSubTypes.st_None)
{
try
{
SAPbobsCOM.UserFieldsMD oUserFieldsMD;
oUserFieldsMD = (SAPbobsCOM.UserFieldsMD)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields);
oUserFieldsMD.TableName = tableName;
oUserFieldsMD.Name = fieldName;
oUserFieldsMD.Description = desc;
oUserFieldsMD.Type = fieldType;
if (Size != 0)
{
oUserFieldsMD.EditSize = Size;
}
oUserFieldsMD.SubType = SubType;
int lRetCode;
lRetCode = oUserFieldsMD.Add();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD);
GC.Collect();
oUserFieldsMD = null;
if (lRetCode != 0)
{
if ((lRetCode == -2035 | lRetCode == -1120))
{
return lRetCode.ToString();
}
return oCompany.GetLastErrorDescription();
}
return "";
}
catch (Exception ex)
{
return ex.Message;
}
}
}
Saludos!
3 Me gusta
muchas gracias Gabriel, es exacto lo que buscaba, gracias.
1 me gusta
Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.