Advanced Topics

Chapter 1

Advanced Features

As mentioned earlier, a functional screen can be developed within 5 minutes using our standard features. More sophisticated developers, however, may want further customization. For example, users may want to change button names, hide or show buttons, add business rules, etc. In this chapter, we will address functionality more suitable for developers who have more advanced programming knowledge and experience, to better handle situations where business rules require understanding of standard programming languages, such as SQL, C# or JavaScript.

Using this program, sophisticated developers may perform some of the following advanced functions:

•   Screen criteria setting
•   Screen layout grouping
•   Button characteristic override
•   Server rule setup
•   Web rule setup
•   Client rule setup
•   Advanced rule setup
•   Message center maintenance
•   Automatic human language translation

Chapter 2

Screen Criteria Setting

In order to streamline data transfer between the data server and the web server, developers may specify a range of commonly used criteria for a desired screen. Users can filter based on the specified criteria, and only data that meets those criteria will be retrieved from the database. This feature significantly reduces unnecessary traffic, improving performance without sacrificing quality.

There are two types of screen criteria:

  1. User Defined Criteria: Users create and name their own SQL.
  2. Mapped Criteria: Users can map criteria (one-to-one) to a column on the table specified for that screen.

User Defined Criteria

This is most useful for complex criteria that may involve some hard-coded constants to be specifically filtered. Users write their own SQL, and attach a culture-dependent name to it. Each name specified will be listed on the drop-down at the top of the screen (to the right of the criteria section), and can be ordered in any sequence the user desires.

Command: Client Tier -> Screen Filters

Solidity logo

The latter criteria type consists of a two-steps process. First, a screen criterion is defined (as shown below), which is then mapped to the appropriate screen column with the appropriate operator.

Screen Criteria Defined

Command: Client Tier -> Screen Criteria

Solidity logo

To add new criteria to a screen, first select the appropriate screen from the criteria section. Notice that this dropdown selection is actually a screen criteria defined by the same action. This is the power of self-generation as Rintagi is also built from this meta-data.

One built-in service worth mentioning is that the application generated will always memorize each user’s last selection for each individual screen or report and will be filtered accordingly next time the screen or report is invoked by the same user.

If the selected screen already has some criteria, the search list below the criteria section will list all existing criteria. As with all other screens, the user may choose from a blank row to add a new row or copy an existing row to be modified. Some rows may not accept exact duplicate. In which case the unique column should be identified and modified prior to duplicating to the database.

Schema Characteristics Description
Screen This is the screen this criterion applies.
Criteria Group This is the criteria group this criterion belongs; all groups should root from the same default group. This will be covered in details in the following topic.
Criteria Column The column that this criteria should influence. This will be used to determine the data type of this criterion.
Tab Index This is the tab order of this criterion at a default interval of 10. If and when not assigned a value or the last digit is not zero, an automatic reorder will take place.
Display Mode This is the display type of this criteria column.
Justify This is the justification of column display (Left, Right or Center).
Column Size (px) The column size of this criterion in pixels.
List Row Size The number of rows to show if this criterion is a list-box. Most of the time this is empty.
Dropdown Key Column The key column of the dropdown, combo-box, list-box, radio-button.
Dropdown Ref Column The display column of the dropdown, combo-box, list-box, radio-button.
Dropdown Sort Column When not specified, the reference column will be used for sorting.
Require Validation When checked, this criterion becomes mandatory.
Culture The culture for this criteria label, default culture should present on one of the rows.
Column Header The heading for this criteria column is 50 characters or less.
Width The width of this heading in pixels if default is not applicable.

Chapter 4

Button Characteristic Override

Action buttons can be styled and characterized at two levels. These buttons are predefined to serve any screen, report or wizard. The “ Button Defaults” screen allows the button names and tool tips to render in the human language desired as the default. The “Button Overrides” screen can then override these button characteristics.

It is strongly advised not to add more buttons or make changes to this screen as next Rintagi upgrade may remove any modification made to this screen.

Solidity logo

These become basic default characteristics for action buttons if there is no override. Overrides display using a desired image, text, etc. Many buttons from the above are not visible as default. Grid import is one of them. You may elect those buttons to override and assign web-rules to these buttons with your desired characteristics.

Overrides display using a desired image, text, etc. Many buttons from the above are not visible as default. Grid import is one of them. You may elect those buttons to override and assign web-rules to these buttons with your desired characteristics.

Solidity logo

Schema Characteristics Description
Culture The culture this button override represents.
Screen The screen this button characteristic will override, if appropriate.
Report The report this button characteristic will override, if appropriate.
Wizard The wizard this button characteristic will override, if appropriate.
Button Type The button type this override should apply.
Alternate Name The alternate name to be displayed on this button type. (Blank means no change to the default.)
Alternate Tool Tip The alternate tool tip for this button type. (Blank means no change to default.)
Visible Check this if button type should be visible.
Image Check this if button type should be an image.
Image URL The relative path to an alternate image if the previous checkbox is checked.

Chapter 5

Server Rule Setup

Server Rule Setup is among the most commonly used of all business rules. Any rule defined in this layer will affect only the data. The developer may code rules in this layer using standard SQL as stored procedures. Rules in this layer can be categorized into one of the following:

1.Constraints: Conditions required for successful data entry or user-defined 
               error message will be prompted.

2.Computation: Typical “A + B = C” scenarios, all mathematical formulae can be 
               entered in this format.

3.Inference:  Typical “IF A THEN B” scenarios, if a user-defined condition is 
              met then change designated data accordingly.

4.Action Enabler: Any action that cannot be classified as one of the above. 
                  Typically used to initiate an external action.

Solidity logo

The above rules are mutually exclusive, comprehensive and can be initiated by any combination of “Update”, “Insert or “Delete” actions. Developers may even choose to fire individual rules immediately before or after these standard actions or select a single rule as the final rule to be fired.

Server Rule: Tab #1

Solidity logo

Server Rule: Tab #2

Solidity logo

To use any server rule effectively, users must first create the stored procedure, and then use the Query Analyzer feature to assure that the stored procedure functions properly. The “Synchronize to Db” icon will alert the user to any syntax error.

Solidity logo

The stored procedure created will be called from within the Data Access layer.

Schema Characteristics Description
Rule Name The unique name for a server rule (100 characters or less).
Description The detail description for the server rule.
Rule Name The unique name for a server rule (100 characters or less).
Rule Type The rule type (constraint, computation, inference or action enabler) for the server rule.
Screen The screen to apply this server rule to.
Master Check if this server rule applies to each row of the master table; uncheck if rule applies to detail table.
Exec Order The order of execution for this server rule. A re-order is automatic if last digit is non-zero or ignored.
Procedure Name The procedure name of this server rule (20 characters or less).
Parameter Names The parameter names used in the stored procedure (comma-delimited, if needed.)
Parameter Types The data types describing the above parameters (comma-delimited, if needed.)
Calling Parameters The matching calling parameters with trailing table ID and comma-delimited, if any. LUser.?, LCurr.? and Config.? can be used.
On Add Check if this initiates when adding a row.
On Update Check if this initiates when updating a row.
On Delete Check if this initiates when deleting a row.
Before CRUD This s.proc will be run before CRUD and before any Skip-CRUD
Skip CRUD This s.proc will be run after all the Before-CRUD and the CRUD operation will be skipped.
After CRUD This s.proc will be run after CRUD; The Add scenario must be handled when CRUD is skipped.
Last Rule This s.proc runs after all the After-CRUD and just before Commit transaction
Modified By Identifies the user that last modified this.
Modified On Captures the date and time of last modification for tracking purposes.
Last Generated This stored procedure was last generated on this date.
Synchronize from Db Click here to obtain the stored procedure from the physical database.
Synchronize to Db Click here to synchronize this stored procedure immediately to the physical database.

Business rules written on this layer are documented and are readily accessible as web services via standard database operations (Add, Update, Delete) by other applications.

Server Rule Listing

Command: Reports -> Server Rule Listing

Solidity logo

Chapter 6

Web Rule Setup

The Web Rule Setup feature is one of the most dynamic rule layers. Developer may choose to define a rule to affect data, user interface or workflow, offering a nearly limitless range of functionality. Here the user can call web services from other systems. Developers may code rules in this layer using Microsoft C# language. The only caution is because it is coded in C# and sometimes developer may code framework dependent code that may not execute properly upon update of operating system or dot net framework. When one of the following available events occurs, the user-defined business rules defined on this layer will be executed upon post-back to the web server. See qualifying events below:

Available Events:

Solidity logo

Event Description
Criteria Trigger(Before) The ascx.cs program will initiate code written for this event after the criteria is triggered.
Custom Function/Procedure This written code is expected to be a well-formed function or procedure in C# code. It will initialize as an independent method inside the corresponding ascx.cs.
Default Value (Folder) This written code will be generated to the end of the method called ClearMaster (which is called to set all the default values for all the columns of a new record on the tab folder).
Default Value (Grid) This written code will be generated to the end of the method called Grid_AddNew (which is called to set all the default values for all the columns of a new grid row).
Delete Grid Row (before) This written code will be executed before any Rintagi-generated code when a grid row is deleted.
Delete Grid Row (replace) This written code will be executed instead of the Rintagi-generated code when a grid row is deleted.
GridItemDataBound (after) This event is executed in the middle of loading a data grid. The written code will be executed at the end of this event.
GridItemDataBound (before) This written code will be executed before this data grid-loading event.
GridItemDataBound (replace) This written code will replace all Rintagi-generated code in this event.
List Selection (End of) This written code will be executed after any Rintagi-generated code when one or more records are selected.
On Change/ On Click Most often used event applies to all screen columns:
  • For dropdown, list-box, combo-box and radio-button column. This written code to be executed before Rintagi-generated code within a SelectedIndexChanged event.
  • For checkbox. This written code to be executed before Rintagi-generated code within a CheckedChanged event.
  • For calendar. This written code to be executed before Rintagi-generated code within a SelectionChanged event.
  • For button and image-button. This written code to be executed before Rintagi-generated code within a Clicked event.
  • For other types of columns. This written code to be executed before Rintagi-generated code within a TextChanged event.
  • Page Init (End of) This written code will be executed after all Rintagi-generated code is executed
    Page Load (End of) This written code will be executed after all Rintagi-generated code is executed but before the page is fully loaded.
    System Button Click (after) The ascx.cs program will initiate code written for this event after any Rintagi-generated code associated with this button is executed.
    System Button Click (before) The ascx.cs program will initiate code written for this event before any Rintagi-generated code associated with this button is executed.
    System Button Click (replace) The ascx.cs program will initiate code written for this event replacing any Rintagi-generated code associated with this button is executed.

    Command: Rule Tier -> Web Rule

    Web Rule Screen:

    Solidity logo

    Schema Characteristic Description
    Rule Name The unique name for this web rule (100 characters or less).
    Description The detailed description for this web rule.
    Rule Type The rule type (constraint, computation, inference or action enabler) for this web rule.
    Screen The screen to apply this web rule to.
    Screen Column The screen column to apply this web rule, if applicable.
    Screen Button The screen button to apply this web rule, if applicable.
    Event The event to fire this web rule as listed above.
    Rule to Apply The well-tested rule to be generated onto the program.

    Business rules on this layer will be generated to the modules/*.ascx.cs in the web tier as shown below:

    Solidity logo

    Chapter 7

    Client Rule Setup

    The Client Rule Setup is used most often to define constraint rules such as “Input Mask”, “User “Interface” or “Workflow”. Although stock rules are readily available, developer may code custom rules in this layer using JavaScript language. There is no post-back when firing these rules. Code generation is not required for any changes made to these client rules and the result is immediate and dynamic.

    Command: Rule Tier -> Client Rule

    Solidity logo

    Schema Characteristic Description
    Rule Name The unique name for this client rule (100 characters or less).
    Description The detailed description for this client rule.
    Rule Type The rule type (constraint, computation, inference or action enabler) for this client rule.
    Screen The screen to apply this client rule to, if applicable.
    Report The report that this client side rule applies, if applicable.
    Screen Column The screen column this client rule applies to, if applicable.
    Screen Criteria The screen criteria to apply this client rule to, if applicable.
    Report Criteria The report criteria to apply this client rule to, if applicable.
    Stock Script The stock script to apply, if applicable.
    Event Override This shall override the default event of the stock script, if applicable.
    Script Override Overrides the stock script. Use () only for function that has parameters. (Must end with ";", if applicable.) This function should already be tested and declared in UserRule.js.
    Parameters Identifies the column by the "@" sign followed by the ScreenObjId, ScreenCriId or ReportCriId separated by comma, if applicable. Alternatively this can be any ClientID on the page that is enclosed by single quotes.

    Chapter 8

    Message Center Maintenance

    Errors can be trapped on three distinct tiers:

    1.Client tier: Achieved via Client Rule from above.  
                   An error message will be prompted before the data reaches 
                   the web tier.
    
    2.Web tier: Errors are trapped based on the strongly-typed data and input masks 
                that are defined when defining the screen columns.An error message 
                will be prompted before data reaches the data tier.
    
    3.Data tier: Errors are trapped when data reaches the database.
    

    While creating the stored procedure for a server rule, there are two ways to create an error message to be displayed when needed. One method is to code it directly within the stored procedure (in English). This message may not be accessible to other business rules, however.

    The other method defines an error message in the “Message Center,” where various human translations for the message are available automatically, and can be referenced by numerous stored procedures.

    Solidity logo

    In order to reference this error message the user must enclose the Message ID (numeric) within curly brackets. For example “{1}” references the error message whose ID is “1” within the database. When defining the message, use {%S}…{%S}…{%D} to refer to first parameter, second parameter, etc. Use the convention “S” for string, “D” for numeric without decimal, etc. However, the positioning digit when referencing this error message is not necessary.

    Chapter 9

    Language Translation

    Rintagi generated enterprise applications are multilingual. Once the application is built in English then labels, tool tips, messages, etc. in many other human languages can be automatically generated with Rintagi. Human translators may inspect and change to preferred phrases and wordings without involving technical staff. For those languages not provided automatically, translation into any Unicode supported language can be accomplished via Rintagi’s user-friendly interface.

    Each human language can be translated within minutes by the press of a button.

    Each user is designated one or more user-defined user groups and a specific human language with a country-specific locale. Although each user may belong to many user groups, he/she may only choose one human language at a time.

    User Management

    Solidity logo

    Human language in Rintagi is identified by culture. Each culture code is made up of 2 letter language codes (lower case) derived from the ISO 639 standard, followed by a hyphen, then a country codes (upper case) from ISO 3166. For example, “en-US” represents United States English while “en-UK” represents United Kingdom English. Aside from differences in expression, the country code also determines date and numeric formats, as well as currency representation.

    Two Letter Language Codes

  • aa Afar
  • ab Abkhazian
  • af Afrikaans
  • am Amharic
  • ar Arabic
  • as Assamese
  • ay Aymara
  • az Azerbaijani
  • ba Bashkir
  • be Byelorussian
  • bg Bulgarian
  • bh Bihari
  • bi Bislama
  • bn Bengali
  • bn Bangla
  • bo Tibetan
  • br Breton
  • ca Catalan
  • co Corsican
  • cs Czech
  • cy Welsh
  • da Danish
  • de German
  • dz Bhutani
  • el Greek
  • en English
  • eo Esperanto
  • es Spanish
  • et Estonian
  • eu Basque
  • fa Persian
  • fi Finnish
  • fj Fiji
  • fo Faroese
  • fr French
  • fy Frisian
  • ga Irish
  • gd Scots Gaelic
  • gl Galician
  • gn Guarani
  • gu Gujarati
  • ha Hausa
  • he Hebrew
  • hi Hindi
  • hr Croatian
  • hu Hungarian
  • hy Armenian
  • ia Interlingua
  • id Indonesian
  • ie Interlingue
  • ik Inupiak
  • is Icelandic
  • it Italian
  • iu Inuktitut
  • ja Japanese
  • jw Javanese
  • ka Georgian
  • kk Kazakh
  • kl Greenlandic
  • km Cambodian
  • kn Kannada
  • ko Korean
  • ks Kashmiri
  • ku Kurdish
  • ky Kirghiz
  • la Latin
  • ln Lingala
  • lo Laothian
  • lt Lithuanian
  • lv Latvian
  • lv Lettish
  • mg Malagasy
  • mi Maori
  • mk Macedonian
  • ml Malayalam
  • mn Mongolian
  • mo Moldavian
  • mr Marathi
  • ms Malay
  • mt Maltese
  • my Burmese
  • na Nauru
  • ne Nepali
  • nl Dutch
  • no Norwegian
  • oc Occitan
  • om (Afan) Oromo
  • or Oriya
  • pa Punjabi
  • pl Polish
  • ps Pashto
  • ps Pushto
  • pt Portuguese
  • qu Quechua
  • rm Rhaeto-Romance
  • rn Kirundi
  • ro Romanian
  • ru Russian
  • rw Kinyarwanda
  • sa Sanskrit
  • sd Sindhi
  • sg Sangho
  • sh Serbo-Croatian
  • si Sinhalese
  • sk Slovak
  • sl Slovenian
  • sm Samoan
  • sn Shona
  • so Somali
  • sq Albanian
  • sr Serbian
  • ss Siswati
  • st Sesotho
  • su Sundanese
  • sv Swedish
  • sw Swahili
  • ta Tamil
  • te Telugu
  • tg Tajik
  • th Thai
  • ti Tigrinya
  • tk Turkmen
  • tl Tagalog
  • tn Setswana
  • to Tonga
  • tr Turkish
  • ts Tsonga
  • tt Tatar
  • tw Twi
  • ug Uighur
  • uk Ukrainian
  • ur Urdu
  • uz Uzbek
  • vi Vietnamese
  • vo Volapuk
  • wo Wolof
  • xh Xhosa
  • yi Yiddish
  • yo Yoruba
  • za Zhuang
  • zh Chinese
  • zu Zulu
  • Two Letter Country Codes




      Country or Area Name ISO "ALPHA-2 Code ISO ALPHA-3 Code ISO Numeric Code
    UN M49 Numerical Code
             
    Afghanistan AF AFG 004
    Aland Islands AX ALA 248
    Albania AL ALB 008
    Algeria DZ DZA 012
    American Samoa AS ASM 016
    Andorra AD AND 020
    Angola AO AGO 024
    Anguilla AI AIA 660
      Antarctica AQ ATA 010
    Antigua and Barbuda AG ATG 028
    Argentina AR ARG 032
    Armenia AM ARM 051
    Aruba AW ABW 533
    Australia AU AUS 036
    Austria AT AUT 040
    Azerbaijan AZ AZE 031
    Bahamas BS BHS 044
    Bahrain BH BHR 048
    Bangladesh BD BGD 050
    Barbados BB BRB 052
    Belarus BY BLR 112
    Belgium BE BEL 056
    Belize BZ BLZ 084
    Benin BJ BEN 204
    Bermuda BM BMU 060
    Bhutan BT BTN 064
    Bolivia BO BOL 068
    Bosnia and Herzegovina BA BIH 070
    Botswana BW BWA 072
    Bouvet Island BV BVT 074
    Brazil BR BRA 076
    British Virgin Islands VG VGB 092
    British Indian Ocean Territory IO IOT 086
    Brunei Darussalam BN BRN 096
    Bulgaria BG BGR 100
    Burkina Faso BF BFA 854
    Burundi BI BDI 108
    Cambodia KH KHM 116
    Cameroon CM CMR 120
    Canada CA CAN 124
    Cape Verde CV CPV 132
    Cayman Islands KY CYM 136
    Central African Republic CF CAF 140
    Chad TD TCD 148
    Chile CL CHL 152
    China CN CHN 156
    Hong Kong, SAR China HK HKG 344
    Macao, SAR China MO MAC 446
    Christmas Island CX CXR 162
    Cocos (Keeling) Islands CC CCK 166
    Colombia CO COL 170
    Comoros KM COM 174
    Congo (Brazzaville) CG COG 178
    Congo, (Kinshasa) CD COD 180
    Cook Islands CK COK 184
    Costa Rica CR CRI 188
    Côte d'Ivoire CI CIV 384
    Croatia HR HRV 191
    Cuba CU CUB 192
    Cyprus CY CYP 196
    Czech Republic CZ CZE 203
    Denmark DK DNK 208
    Djibouti DJ DJI 262
    Dominica DM DMA 212
    Dominican Republic DO DOM 214
    Ecuador EC ECU 218
    Egypt EG EGY 818
    El Salvador SV SLV 222
    Equatorial Guinea GQ GNQ 226
    Eritrea ER ERI 232
    Estonia EE EST 233
    Ethiopia ET ETH 231
    Falkland Islands (Malvinas) FK FLK 238
    Faroe Islands FO FRO 234
    Fiji FJ FJI 242
    Finland FI FIN 246
    France FR FRA 250
    French Guiana GF GUF 254
    French Polynesia PF PYF 258
    French Southern Territories TF ATF 260
    Gabon GA GAB 266
    Gambia GM GMB 270
    Georgia GE GEO 268
    Germany DE DEU 276
    Ghana GH GHA 288
    Gibraltar GI GIB 292
    Greece GR GRC 300
    Greenland GL GRL 304
    Grenada GD GRD 308
    Guadeloupe GP GLP 312
    Guam GU GUM 316
    Guatemala GT GTM 320
    Guernsey GG GGY 831
    Guinea GN GIN 324
    Guinea-Bissau GW GNB 624
    Guyana GY GUY 328
    Haiti HT HTI 332
    Heard and Mcdonald Islands HM HMD 334
    (Vatican City State) VA VAT 336
    Honduras HN HND 340
    Hungary HU HUN 348
    Iceland IS ISL 352
    India IN IND 356
    Indonesia ID IDN 360
    Iran, Islamic Republic of IR IRN 364
    Iraq IQ IRQ 368
    Ireland IE IRL 372
    Isle of Man IM IMN 833
    Israel IL ISR 376
    Italy IT ITA 380
    Jamaica JM JAM 388
    Japan JP JPN 392
    Jersey JE JEY 832
    Jordan JO JOR 400
    Kazakhstan KZ KAZ 398
    Kenya KE KEN 404
    Kiribati KI KIR 296
    Korea (North) KP PRK 408
    Korea (South) KR KOR 410
    Kuwait KW KWT 414
    Kyrgyzstan KG KGZ 417
    Lao PDR LA LAO 418
    Latvia LV LVA 428
    Lebanon LB LBN 422
    Lesotho LS LSO 426
    Liberia LR LBR 430
    Libya LY LBY 434
    Liechtenstein LI LIE 438
    Lithuania LT LTU 440
    Luxembourg LU LUX 442
    Macedonia, Republic of MK MKD 807
    Madagascar MG MDG 450
    Malawi MW MWI 454
    Malaysia MY MYS 458
    Maldives MV MDV 462
    Mali ML MLI 466
    Malta MT MLT 470
    Marshall Islands MH MHL 584
    Martinique MQ MTQ 474
    Mauritania MR MRT 478
    Mauritius MU MUS 480
    Mayotte YT MYT 175
    Mexico MX MEX 484
    Micronesia, Federated States of FM FSM 583
    Moldova MD MDA 498
    Monaco MC MCO 492
    Mongolia MN MNG 496
    Montenegro ME MNE 499
    Montserrat MS MSR 500
    Morocco MA MAR 504
    Mozambique MZ MOZ 508
    Myanmar MM MMR 104
    Namibia NA NAM 516
    Nauru NR NRU 520
    Nepal NP NPL 524
    Netherlands NL NLD 528
    Netherlands Antilles AN ANT 530
    New Caledonia NC NCL 540
    New Zealand NZ NZL 554
    Nicaragua NI NIC 558
    Niger NE NER 562
    Nigeria NG NGA 566
    Niue NU NIU 570
    Norfolk Island NF NFK 574
    Northern Mariana Islands MP MNP 580
    Norway NO NOR 578
    Oman OM OMN 512
    Pakistan PK PAK 586
    Palau PW PLW 585
    Palestinian Territory PS PSE 275
    Panama PA PAN 591
    Papua New Guinea PG PNG 598
    Paraguay PY PRY 600
    Peru PE PER 604
    Philippines PH PHL 608
    Pitcairn PN PCN 612
    Poland PL POL 616
    Portugal PT PRT 620
    Puerto Rico PR PRI 630
    Qatar QA QAT 634
    Réunion RE REU 638
    Romania RO ROU 642
    Russian Federation RU RUS 643
    Rwanda RW RWA 646
    Saint-Barthélemy BL BLM 652
    Saint Helena SH SHN 654
    Saint Kitts and Nevis KN KNA 659
    Saint Lucia LC LCA 662
    Saint-Martin (French part) MF MAF 663
    Saint Pierre and Miquelon PM SPM 666
    Saint Vincent and Grenadines VC VCT 670
    Samoa WS WSM 882
    San Marino SM SMR 674
    Sao Tome and Principe ST STP 678
    Saudi Arabia SA SAU 682
    Senegal SN SEN 686
    Serbia RS SRB 688
    Seychelles SC SYC 690
    Sierra Leone SL SLE 694
    Singapore SG SGP 702
    Slovakia SK SVK 703
    Slovenia SI SVN 705
    Solomon Islands SB SLB 090
    Somalia SO SOM 706
    South Africa ZA ZAF 710
    South Georgia and the South Sandwich Islands GS SGS 239
    South Sudan SS SSD 728
    Spain ES ESP 724
    Sri Lanka LK LKA 144
    Sudan SD SDN 736
    Suriname SR SUR 740
    Svalbard and Jan Mayen Islands SJ SJM 744
    Swaziland SZ SWZ 748
    Sweden SE SWE 752
    Switzerland CH CHE 756
    Syrian Arab Republic (Syria) SY SYR 760
    Taiwan, Republic of China TW TWN 158
    Tajikistan TJ TJK 762
    Tanzania, United Republic of TZ TZA 834
    Thailand TH THA 764
    Timor-Leste TL TLS 626
    Togo TG TGO 768
    Tokelau TK TKL 772
    Tonga TO TON 776
    Trinidad and Tobago TT TTO 780
    Tunisia TN TUN 788
    Turkey TR TUR 792
    Turkmenistan TM TKM 795
    Turks and Caicos Islands TC TCA 796
    Tuvalu TV TUV 798
    Uganda UG UGA 800
    Ukraine UA UKR 804
    United Arab Emirates AE ARE 784
    United Kingdom GB GBR 826
    United States of America US USA 840
    US Minor Outlying Islands UM UMI 581
    Uruguay UY URY 858
    Uzbekistan UZ UZB 860
    Vanuatu VU VUT 548
    Venezuela (Bolivarian Republic) VE VEN 862
    Viet Nam VN VNM 704
    Virgin Islands, US VI VIR 850
    Wallis and Futuna Islands WF WLF 876
    Western Sahara EH ESH 732
    Yemen YE YEM 887
    Zambia ZM ZMB 894
    Zimbabwe ZW ZWE 716

    Chapter 10

    Document Imaging

    Document imaging cannot be easier because it is a built-in feature for Rintagi generated enterprise applications. It has been tested that on average it would only a second to add this capability to attach to any column or entity. The user-friendly interface Rintagi generated allows users to add unlimited number of pictures, images and documents of any types with version management capability. Each user only may also delete his/ her imported pictures, images and documents.