It would be helpful to consider how an application works with the NLS and DBCS related parameters. The following is just to give you hints and tips in designing your application.
The application program handles the data according to the environment on which it is executed (i.e. it assumes the data and environment). When there is no NLS or DBCS information in the data, or when the application program does not refer the information from the data and just handles the data by the method according to the environment, the program is system environment dependent and the user must set up the right environment for the data that need to be processed.
The application program sets up the system environment according to data which is required for handling (e.g. data is tagged with code page id). Some application programs put the code page information in their data so that they know what environment is required for the data and set up the environment for the data. DBCS OS/2 provides the application program interface to know what environments are supported. So, if the application program find the required code page is not supported by the current system, it can handle the error case.
An application program allows the user to select the environment for the data. If it is a single code page environment, like the early version of DOS, then the user has no choice and select the supported data to process. If the environment supports multiple code pages, like OS/2, then user can switch the environment to the appropriate code page.