1

我正在为 SAP B1 创建一个插件,我需要知道在数据库上创建插件表的最佳位置是什么?

对于下一个版本,我需要检查并更新表格列。

4

2 回答 2

2

我建议您使用 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 表。

于 2016-07-26T17:30:09.037 回答
1

开发了一个框架,该框架控制插件内表和字段的创建,还映射事件并使处理异常等。该框架仍在开发中,并且已经在许多插件中使用。

以下是如何使用框架创建表和字段的示例

用户表

[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; }




    }

如果你有兴趣我可以提供

于 2016-08-05T14:24:07.723 回答