S++Business systems language
DEMO SOURCE · SPP / APP / PHYRead the book

petshop-scene-reviseShopGoodsPrice.spp

petshop/catalogue/petshop-scene-reviseShopGoodsPrice.spp

Download original file · Petstore source contents

1domain petshop;23Contract GoodsPriceRevisionAgreement {4    Goods goods;5    BigDecimal(19, 2) unitPrice;6}78atomic check checkGoodsPriceRevision(GoodsPriceRevisionAgreement) {9    require(GoodsPriceRevisionAgreement.unitPrice >= 0, "INVALID_GOODS_PRICE");10}1112atomic calculate applyGoodsPriceRevision(Goods, GoodsPriceRevisionAgreement) {13    Goods.price = GoodsPriceRevisionAgreement.unitPrice;14    GoodsPriceRevisionAgreement.goods = Goods;15}1617Scenario serial reviseShopGoodsPrice(Goods, GoodsPriceRevisionAgreement) {18    findGoods;19    identify(Goods);20    checkGoodsPriceRevision;21    applyGoodsPriceRevision;22    transaction {23        updateGoods;24    }25}