SAP CAP篇十七:写个ERP的会计系统吧,Part IV

本系列文章

SAP CAP篇一: 快速创建一个Service,基于Java的实现
SAP CAP篇二:为Service加上数据库支持
SAP CAP篇三:定义Model
SAP CAP篇四:为CAP添加Fiori Elements程序(1)
SAP CAP篇五:为CAP添加Fiori Elements程序(2)
SAP CAP篇六:为CAP添加Fiori Elements程序(3)
SAP CAP篇七:为CAP添加Fiori Launchpad入口 (Sandbox环境)
SAP CAP篇八:为CAP添加App Router并支持Fiori Launchpad (Sandbox环境)
SAP CAP篇九:升级为SAP CDS 7.0, CAP Java 2以及Spring Boot 3
SAP CAP篇十:理解Fiori UI的Annoation定义
SAP CAP篇十一:支持Media Object:图片、附件等
SAP CAP篇十二:AppRouter 深入研究
SAP CAP篇十三:拥抱TypeScript
SAP CAP篇十四:写个ERP的会计系统吧,Part I
SAP CAP篇十五:写个ERP的会计系统吧,Part II
SAP CAP篇十六:写个ERP的会计系统吧,Part III

目标

基于前一篇的基础继续开发ERP系统。

本篇侧重于会计凭证,会计凭证是会计事务在系统的承载。

会计凭证的创建——需要符合基本的会计等式,即“有借必有贷,借贷必相等”。从业务意义上来说,会计凭证是企业各种报表的基础。

开发步骤

数据库表设计

从数据库层面来定义会计凭证。

借贷

借贷的定义DebitCreditIndicator如下:

type DebitCreditIndicatorEnum : String(1) enum { 
    debit = 'D';
    creidt = 'C';
}

@cds.odata.valuelist
entity DebitCreditIndicators: sap.common.CodeList {
    key DebitCreditIndicator: DebitCreditIndicatorEnum;
}
初始化数据

db文件夹下,创建DebitCreditIndicator.csv用以在初始化数据。

DebitCreditIndicator;name
D;Debit
C;Credit

会计凭证

会计凭证的如下:

entity Documents: managed {
    key ID: Int32;
    Company: Association to one dbcompany.Companies not null;
    PostingDate: Date @cds.on: {insert: $now, update: $now };    
    Description: String(100);

    Items    : Composition of many {
        key ID:   Int16;
        DebitCreditIndicator: Association to one DebitCreditIndicators not null;
        Account: Association to one dbaccount.Accounts not null;
        Amount: Decimal(15, 2) not null;
        Currency: Currency not null;
        Description: String(100);
    };
}

Service 定义

更新FinanceService,添加如下Entities。

@readonly
entity DebitCreditIndicators as projection on dbdocument.DebitCreditIndicators;

这里,用@readonly限制借贷定义为只读。

entity Documents as projection on dbdocument.Documents;

同时,需要指定DocumentsOdata.draft.enabled,这样,Fiori Elements会自动启用编辑功能:Create, Update。

annotate FinanceService.Documents with @odata.draft.enabled;

生成Fiori App

通过Fiori: Open Application Geneator来创建Fiori App。

Entity Selection

查看生成的App的Information:

Application Information

更新CDS Annotation

annotate service.Documents with @(
    UI.SelectionFields: [
        Company_ID,
        PostingDate
    ],
    UI.LineItem : [
        {
            $Type : 'UI.DataField',
            Label : 'ID',
            Value : ID,
        },
        {
            $Type : 'UI.DataField',
            Label : 'Company',
            Value : Company_ID,
        },
        {
            $Type : 'UI.DataField',
            Label : 'Posting Date',
            Value : PostingDate,
        },
        {
            $Type : 'UI.DataField',
            Label : 'Description',
            Value : Description,
        },
    ]
);
annotate service.Documents with @(
    UI.FieldGroup #GeneratedGroup1 : {
        $Type : 'UI.FieldGroupType',
        Data : [
            {
                $Type : 'UI.DataField',
                Label : 'ID',
                Value : ID,
            },
            {
                $Type : 'UI.DataField',
                Label : 'Company',
                Value : Company_ID,
            },
            {
                $Type : 'UI.DataField',
                Label : 'PostingDate',
                Value : PostingDate,
            },
            {
                $Type : 'UI.DataField',
                Label : 'Description',
                Value : Description,
            },
        ],
    },
    UI.Facets : [
        {
            $Type : 'UI.ReferenceFacet',
            ID : 'GeneratedFacet1',
            Label : 'General Information',
            Target : '@UI.FieldGroup#GeneratedGroup1',
        },
    ]
);

App运行

App Running

后续的文章里面,将开始定义凭证。

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle、SAP、金蝶和用友是当前市场上比较知名的四大ERP系统厂商。这四个系统都可以实现企业资源规划(ERP)的功能,但是它们各自的特点和优劣势不同。下面是它们的对比: 1. Oracle ERP系统 Oracle是一个非常大的软件公司,其ERP系统主要针对大型企业,具有高度的可扩展性和可定制化。Oracle ERP系统的优势在于其强大的数据管理和分析能力,能够帮助企业更好地管理和利用数据资产。 2. SAP ERP系统 SAP是全球最大的ERP系统公司之一,其系统在全球范围内广泛应用。SAP ERP系统具有完整的功能模块,覆盖了采购、销售、库存、财务等各个方面,同时也具备高度的可定制性,可以根据企业的不同需求进行定制。 3. 金蝶ERP系统 金蝶是中国本土的ERP系统公司,在中国市场占有很大的份额。金蝶ERP系统具有易用性和易学性,适合中小企业使用。其系统功能齐全,包括采购、销售、库存、财务等各个方面,同时也提供了丰富的行业解决方案。 4. 用友ERP系统 用友是中国本土的ERP系统公司,其系统在中国市场也占有很大的份额。用友ERP系统具有易用性和易学性,适合中小企业使用。其系统功能齐全,包括采购、销售、库存、财务等各个方面,同时也提供了丰富的行业解决方案。 总的来说,Oracle ERP系统适合大型企业,SAP ERP系统适合中大型企业,金蝶和用友ERP系统适合中小型企业。企业在选择ERP系统时,应根据自身的规模、行业、业务模式和需求来进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值