a DSL for fastest datamodeling in uniface with customer participation
Author: ulrichmerkel@web.de (ulrich-merkel)
datamodel sprint_taric "sprint_taric is " entity TBL_Abg_Art "TBL_Abg_Art is a" { field ABG_SATZ_KOMP_ID "Abgabenart-Id (TARIC2)" format=CHAR(2) field DAT_START "Datum Gültigkeitsbeginn (TARIC2)" format=DATE field DAT_END "Datum Gültigkeitsende (TARIC2)" format=DATE field ABG_SATZ_KOMP_ANW_CODE "Code der Anwendbarkeit eines Abgabensatzes (TARIC2)" format=CHAR(1) field MASS_EINH_ANW_CODE "Anwendbarer Code der Maßeinheit (TARIC2)" format=CHAR(1) field WAEHR_EINH_ANW_CODE "Anwendbarer Code der Währungseinheit (TARIC2)" format=CHAR(1) field AKRONYM "Abkürzung (TARIC2)" format=CHAR(5) field KURZ_BESCHR "Kurztext (TARIC2)" format=VARCHAR2(100) keyfields="ABG_SATZ_KOMP_ID" } It occurs in most cases only at the beginning of a new (sub-)system implementation, but datamodeling in uniface is not the most liked job for uniface developers. It's just silly typing what is somewhere printed into IDF forms times and times again. With the use of a specific "domain specific language" (DSL) we specify the model into an easy-to-read textfile which will later generate the necessary artifacts to work with the uniface repository. With the DSL, we get an editor with a state-of-the-art support like "online error check", "text template support", "content assistant". These easy to understand textfiles can be maintained even by the customers themself saving the developers a lot of time. They can proof-read what is done and do their corrections in the same document. All the developer has to do is to process this document against the uniface repository which does not cost too much time. A short real-world use case with screencasts will demonstrate how we can boost datamodel generation in uniface and how the customers can play a more important role in maintaining the datamodel in the uniface repository. you can download the documentation and the screencasts of the sprint from www.uli-merkel.de as "130624 umeCIF1-Sprints-doc-and-screencasts.zip" (some 10 MB)



