我正在为 SAP B1 创建一个插件,我需要知道在数据库上创建插件表的最佳位置是什么?
对于下一个版本,我需要检查并更新表格列。
我建议您使用 SAP UserTables,这是 SAP 推荐的,您可以在 SAP Application Tools --> Customization Tools --> User-Defined Tables - Setup 中创建它们
如果您想进行编码,则必须使用 UserTablesMD 对象。您可以在 SAP 官方论坛http://scn.sap.com/community/business-one-sdk中找到有关附加组件的更多信息
如果要检查表是否存在,可以通过 GeyByKey 方法使用相同的对象,或者使用 Recordset 查询 OUTB 表。
开发了一个框架,该框架控制插件内表和字段的创建,还映射事件并使处理异常等。该框架仍在开发中,并且已经在许多插件中使用。
以下是如何使用框架创建表和字段的示例
用户表
[Tables(nome: "SZACONFIG", descricao: "Configurações plugins", tipo: BoUTBTableType.bott_NoObject, tabelaSistema: false)]
public class Configuracoes : TableBase
{
[Fields("NomeUsu", "Nome de Usuário", 150, true, BoFldSubTypes.st_None)]
public string NomeUsuario { get; set; }
[Fields("NomePlg", "Nome do Plugin", 200, true, BoFldSubTypes.st_None)]
public string NomePlugin { get; set; }
[Fields("Ativo", "Ativo", 1, false, BoFldSubTypes.st_None)]
[ValoresValidos("N", "Não")]
[ValoresValidos("Y", "Sim")]
public string Ativo { get; set; }
}
表系统
[Tables("OUSR", "Cadastro de Usuários", true)]
public class OUSR : TableBase
{
[Fields("AdmPlg", "Administrar Plugin", 1, "N", false, BoFldSubTypes.st_None)]
[ValoresValidos( "N", "Não")]
[ValoresValidos( "S", "Sim")]
public string AdmPlg { get; set; }
}
如果你有兴趣我可以提供