Magic.ini File (Magic xpa 3.x)

« Go Back


Created ByKnowledge Migration User
Approval Process StatusPublished

Magic.ini File (Magic xpa 3.x)

The Magic.ini file contains all Magic xpa’s variable configuration information. The Magic.ini file must be present in the Magic xpa working directory for Magic xpa to start up. Magic xpa provides various facilities for editing the Magic.ini parameters, in the form of the Settings Menu repositories. The Magic.ini file is a free format text file that can be edited using any external text editor. Magic xpa also provides the INIPut and INIGet functions for access to the Magic.ini file from within a project.


When using the Studio, the Magic.ini file should not be read only and should not be resident.

The Magic.ini file is split into sections. Each section contains a group of related settings. Some Magic.ini file sections are used by Magic xpa and some contain User information. The sections of the Magic.ini file are:

The User sections of the Magic.ini file can contain any information that you see fit to store in it. Typical uses are:

  • Storage of intermediate values the project produces, such as last positions in different files and programs (for example, Last customer processed) without the overhead of using Database tables.

  • Storage of Global Variables, values that may be shared by different programs within the project.

  • Specific end-user applications, such as General Ledger -[ GENERAL_LEDGER]

The Magic.ini file contains both installation-specific information, and User sections with user-specific information. Therefore, in Multi-user installations of Magic xpa, each end user should have a separate copy of a Magic.ini file in a separate directory.

There are no concurrency controls when accessing the Magic.ini file. If in a Multi-user installation the Magic.ini file is shared by several end users, it should be used for read-only purposes during deployment. An attempt to write to a shared Magic.ini file by more than one user at the same time will result in one user overwriting the updates of the other.

Related Topics