Creating some simple Maintain Table Screens
Objective / Overview
openPETRA contains many screens which set up data that is used all over the application and which can be customised to address the specific situation of an office or organisation. These screens are called 'Maintain Table Screens' and the objective of this Project is to create such screens. A Maintain Table screen allows CRUD (Create, Read, Update, Delete [1]) operations for a specific system table/lookup table of openPETRA.
The creation of Maintain Table Screens involves quite a few manual steps, but there is hardly any source code that needs to be written because the openPETRA WinForms Generator generates >95% of the code!
Example:
Desired Outcome
Adding a few Maintain Table screens to openPETRA and in the course of doing that
- learning about the client-side project structure
- learning about our screen definition files (YAML files)
- getting to know the openPETRA database structure documentation
- getting to know the WinForms Generator
Solution
Follow the steps on the How-To: Creating a Maintain Table screen wiki page for each of the screens.
Scope: Maintain Table Screens List
The screens below are all for the Personnel Module of openPETRA.
Screen Name | Complexity | Database Table | CacheableDataTable | Comment |
---|---|---|---|---|
AbilityLevel | 2 | pt_ability_level | AbilityLevelList | (*1) (*3) (*5) |
ProfessionalAreas | 2 | pt_qualification_area | QualificationAreaList | (*1) (*3) (*A1) |
Key to Comments
- (*1) = Screens should be listed under the 'General'-Heading in Menu Personnel->Setup.
- (*2) = Screens should be listed under the 'Application-related'-Heading in Menu Personnel->Setup.
- (*3) = Database Tables are found in the 'personnel'-DB table area.
- (*4) = Database Tables are found in the 'units'-DB table area.
- (*5) = Use the attribute '
{Format=Integer}
' for the TextBox for DB Field '*_level_i
' to restrict data entered by users to numbers only.
- (*A1) = '
pt_qualification_flag_l
' and'pt_qualification_date_d
' represent 'Unassignable' and 'Unassignable Date'. - (*A2) = '
pt_position_scope_c
' should not go on the screen. - (*A3) = Field '
pt_language_comment_c
': put its TextBox on a separate 'row'. Make it as wide as the screen. - (*A4) = '
pm_extendable_l
' should not go on the screen.
Approval of Functionality and Program Code
TODO