Frequently Asked Questions

This document covers the following topics:


Best Practice

How do I get started with NaturalONE?

When you start the Software AG Designer for the very first time, you will see a so-called "Welcome" page. If this page is not visible, you can open it by choosing the Welcome command from the Help menu of Eclipse.

From the welcome page, you can switch to the NaturalONE perspective, you can invoke the NaturalONE documentation, and you can install sample applications.

For further information on the NaturalONE sample applications which are available from the welcome page, see Sample Applications.

What is Software AG’s recommended way of developing Natural applications with NaturalONE?

NaturalONE provides two different ways of developing Natural applications:

  • the local mode, and

  • the Natural server mode.

Software AG recommends that you use the local mode for developing Natural applications with NaturalONE. The local mode is related to the Eclipse workspace. The workspace is the "API" between different plug-ins you may get from Software AG or from the web. This fact requires that your application sources have been offloaded to the workspace from the Natural environment. This is a major difference regarding how applications have been developed in the past. Natural developers may work in parallel on the same application part without interfering with other developers. This paradigm shift requires a version control system in order to support code migration of the different developers.

In case you are going to version your application with a version control system, you will move your sources to the repository of the version control system. The repository becomes the origin of your application and acts practically as the FUSER. From that point on, you will gain all the advantages of a versioning repository. But you have to keep in mind that you should not modify the sources directly in the Natural server environment. If you do this, the sources in the versioning repository and the sources on the Natural server will be out of sync.

The Natural server mode is intended as a possibility to quickly change sources on the server or to get server configuration information rapidly. For Natural Studio users, it is meant as a "migration path" to the Eclipse environment. But it is not the preferred way of working with NaturalONE.

For further information, see Different Modes for Developing Natural Applications in the Introduction.

Which build settings are recommended for the very beginning?

It is recommended that you enable the Build Automatically command in the Project menu of Eclipse and that you make sure that the option Build Natural projects automatically is disabled in the Natural preferences. The reason is explained below.

Whenever a modification occurs in the workspace, the builder is informed about this fact. This is common Eclipse functionality which is available for Natural projects, and also for other types of projects such as Java projects. The project-specific builder is responsible for triggering project-specific actions, depending on the modification within the workspace. For Java, for example, the builder is responsible for triggering (building) the appropriate package. Using the Build Automatically command in the Project menu of Eclipse, the notification of the builder about workspace changes can be switched off.

For Natural projects, switching off the notification about workspace changes would not be beneficial. Other than typical Java projects, Natural projects may be huge in terms of the number of objects. For this reason, an optimization was introduced in NaturalONE which would be circumvented if the builder would not be notified about workspace changes. Therefore, regardless of the setting of the Build Automatically command, the Natural builder is always informed about workspace changes. This command does not initiate any activities on the Natural server.

The option Build Natural projects automatically in the Natural preferences should initially be disabled (this is the default setting). Whenever a change in the workspace occurs, the setting of this option defines whether a Natural server action is to be initiated. If disabled, no server action is initiated. If enabled, saving a source using a Natural editor automatically initiates an immediate stow action in the Natural server environment. This may take some time, for example, if a copycode has been changed which is used in several thousands of other Natural objects. In this case, all dependent objects are re-cataloged. As soon as another change occurs in the workspace, this task may start again. Therefore, disable the option Build Natural projects automatically in the Natural preferences and initiate the appropriate server action using the Build Natural Project command as soon as you have reached a certain development step.

See also Updating the Objects in the Natural Environment and Understanding the Behavior of the Natural Builder in Using NaturalONE.

How are NaturalONE developers supported when working on the same application in parallel?

There is the possibility to switch between the shared mode, which is similar to the Natural Studio way of developing, and the private mode.

The private mode can be switched on in the properties of a Natural project. This is the preferred mode for developing in parallel. See Different Modes for Developing Natural Applications in the Introduction.

Development Environment

How is the Natural builder influenced by the Natural preferences and the Eclipse build commands?

See Understanding the Behavior of the Natural Builder in Using NaturalONE.

How do the views fit together?

Views provide specific representations of your data.

The content of the Outline view is determined by the Natural object in the active editor. In general, the Outline view enables you to navigate within the active object by selecting the relevant item in this view. Because the Outline view is associated with the active Natural object, it is not possible to open another Natural object from this view; this is possible from the Dependencies view.

The content of the Dependencies view is established by the Natural builder. This view shows the dependencies between the Natural objects in the Eclipse workspace.

Why is the Dependencies view empty?

If you cannot see any entries in the Dependencies view, make sure that Build Automatically is enabled in the Project menu. In order to see the entries, you then have to proceed as follows:

  • clean the project (using the corresponding command in the Project menu), or

  • close the project and open it once more, or

  • restart Eclipse.

Why are the relevant fields empty in the new object wizard?

In some cases, the wizard which appears when you want to create a new object does not use the appropriate project and library information on its first page. This happens when the focus was not set to the appropriate library in the Navigator view. This may happen, for example, if the Natural Server view is currently active and you choose File > New > object-type.

Why are certain views or editors not available?

NaturalONE makes use of a licensing mechanism. When you install NaturalONE, you specify a path to your license file. The installer will then copy the license file to the common/conf directory of your NaturalONE installation. If the license has expired or no license file is found in the common/conf directory, some NaturalONE functionality is disabled. This affects in particular the source editor, the DDM editor and the Natural Server view.

How can I configure the Natural Server view functionality?

With Natural Security, which runs on the Natural server, you are able to control the functions that a developer is allowed to use in the Natural Server view.

The basic idea of working with the Eclipse workspace is that the developer is able to do whatever he wants to do locally (Navigator view): there is no limitation of functionality. However, as soon as a server-related command is issued (for example, for uploading sources or building the Natural project on the server), the defined Natural Security rules apply. As a result of the security settings, the upload or build of the Natural project might be denied. This behavior ensures a proper distinction between working in a local workspace and changing the sources or the application on the server.

For information on the appropriate Natural Security settings, see the Natural Security documentation, which is part of the Natural documentation.

Can I drag objects to the NaturalONE workspace?

This is only possible to some degree.

Data areas, for example, are represented in NaturalONE using a DEFINE DATA statement (see also Editing Data Areas in Using NaturalONE). In this case, the appropriate source format will not be generated when you drag and drop the file from the Windows Explorer into the NaturalONE workspace in Eclipse.

All NaturalONE sources have specific header information, etc. If the file meets the specific source-format requirements, it is possible to drag and drop it in the NaturalONE workspace. For detailed information, see Copying Objects from the File System in Using NaturalONE.

Why is the font for Natural output from the mainframe so small?

On mainframes, TMODEL=0 is defined by default, which results in a very small font in the Natural I/O window. When you map to a mainframe environment, it is therefore recommended that you specify the session parameter TMODEL=2 in the Map Environment dialog box. Or when you have already created a project in your Eclipse workspace, it is recommended that you specify this session parameter on the Runtime page of the project properties.

Why is the Variables view of the debugger empty?

To display variable names in the Variables view, the debugger requires symbolic information which is stored in the executable Natural object. On mainframes, this information is automatically generated and stored in the executable. On Windows, UNIX and OpenVMS, it is required to catalog or stow the Natural objects with SYMGEN set to "ON" in order to generate the symbolic information. See Using Symbol Tables in the description of the debugger, which is part of Using NaturalONE.

Why does the progress indicator show a wrong value?

When a Natural mainframe environment has been mapped and a library is being added to the NaturalONE workspace, it may happen that the progress indicator (NaturalONE status line in the right corner) already displays 100% but the download has not yet been finalized. The reason may be that the statistics record on the mainframe is not correct. This may happen, for example, if the Natural system file is write-protected via Adabas security or marked as a read-only system file via the RO option of the profile parameter defining the corresponding system file. Therefore, make sure that the system file has read/write permissions.

Why am I not able to add Natural objects to the NaturalONE workspace?

NaturalONE functionality can by controlled by Natural Security on the Natural server. If the security settings are not set appropriately for NaturalONE, some functionality may not be available. For detailed information, see Protecting the Natural Development Environment in Eclipse in the Natural Security documentation, which is part of the Natural documentation.

Why has my data area grown tremendously after uploading it to the Natural server?

Check whether the Check time stamp on server option is enabled in the Natural preferences. See Natural > Builder in Setting the Preferences, which is part of Using NaturalONE.

When this option is enabled, the uploaded data area will be approximately twice as large as before the upload, even if you did not apply any changes to the data area. See also General Information on Time Stamp Checking in Using NaturalONE.

How can several users work with NaturalONE?

If several users have access to NaturalONE on the same PC or if NaturalONE is installed on a terminal server, it is important that each user has an individual workspace. You assure this by specifying the string indicated below.

On Windows, add the following string to the shortcut that is used to start the Software AG Designer:

-data "%USERPROFILE%\workspace" -showlocation

On Linux, add the following string to the start script that is used to start the Software AG Designer:

-data "$HOME/workspace" -showlocation

The first part of the string (-data) makes sure that each user uses an individual workspace. In this example, the workspace name is "workspace". If you want, you can also specify a different workspace name, for example, a name which contains a version number.

The second part of the string (-showlocation) makes sure that the path to the workspace is shown in the title bar of Eclipse.

See also Starting the Software AG Designer in Using NaturalONE.

Natural-Specific Issues

Which Natural functionality is not supported?

The Eclipse workplace just contains the Natural sources, error messages etc. Therefore, commands such as NATBPMON, which require a Natural server environment, are not available.

Are all Natural object types supported?

The following Natural object types are not supported with NaturalONE (they cannot be created via File > New):

  • Dialog (provide GUI functionality on Windows platforms)

  • Class

  • Command processor

  • ISPF macro

The following Natural object type is generated by Natural for Ajax (it cannot be created via File > New):

  • Adapter

See also Viewing Dialogs, Classes and Adapters in Using NaturalONE.

Is it possible to edit Natural dialogs with NaturalONE?

When Natural Studio is installed on the same machine as NaturalONE, you can invoke Natural Studio from the Natural Server view and then edit the dialog directly in Natural Studio, using the dialog editor. In order to use this functionality, special prerequisites apply. For detailed information, see Working with Dialogs in Using NaturalONE.

Internationalization

How can I avoid that a code page is defined when uploading a source to a server?

The SRETAIN profile parameter (set on the Natural server) is not evaluated when uploading a source to a Natural server. You have to define a suitable project encoding in the Natural project properties or a suitable server encoding in the object properties of the individual Natural objects. For example, if you leave the text box for the project encoding blank in the project properties, a code page will not be assigned to all newly created Natural objects. This is also true for a temporary project which is created when you edit a source in the Natural Server view.

In the Natural Server view (on UNIX, Windows and OpenVMS servers only), you can reset the code page definition in the object properties: on the Object Details page, select the Other option button under Encoding and select the blank entry from the drop-down list box.

Performance Issues

How can I analyze the performance of my Natural application?

Use the Natural Profiler which collects Natural event data while the application is executed. The resulting performance data is presented in a Hot Spots page. It shows how the CPU and elapsed time is distributed over the programs, statements and even program lines of the application and how often a statement was executed. Additionally, the event trace is provided.

See also Performance Analysis of Natural Applications in the NaturalONE in a Nutshell documentation and Using the Natural Profiler in the Using NaturalONE documentation.

How can I improve the performance in the Natural Server view?

Define filters for the system files and libraries so that only the libraries and objects are shown with which you are currently working. See Filtering Libraries and Objects, which is part of Using NaturalONE.

Why is the access to the mainframe so slow?

If your project is mapped to Natural on a mainframe, the appropriate Natural library is opened each time the project is built, a source is uploaded or a Natural object is updated. In these cases, NaturalONE requests information from the Natural server. The retrieval of this information requires some load on the server. To reduce the amount of CPU usage, make sure that a library statistical record is associated with each library. The same is true if you are working directly in the Natural Server view. See also Library Statistical Records on Mainframes in the Installation documentation.

Why is the first start of NaturalONE so slow?

When you start NaturalONE for the very first time and you open the NaturalONE perspective, some configuration steps are required so that NaturalONE is able to work properly. Especially the process of copying the Tomcat-related files and establishing the Tomcat environment takes some time. The next start of NaturalONE will be much quicker.

NaturalONE as Compared to Natural Studio

What is the difference between NaturalONE and Natural Studio?

NaturalONE and Natural Studio make use of the same base technology, namely the Single Point of Development (SPoD) concept. This means that from a single GUI development environment, you are able to develop Natural applications for mainframes, UNIX, Linux, Windows and OpenVMS.

NaturalONE is based on the open source project Eclipse. Eclipse tools mainly work on a workspace, which is a specific place in the file system where the application data is stored. This is the major difference between Natural Studio and NaturalONE. For Natural, this fact requires that applications are offloaded to the workspace and are versioned in a version control system. The local NaturalONE parser provides independence from the Natural server during source development and supports the developer with content assist; context-sensitive source code completion is available upon request. Furthermore, the Natural builder knows the dependencies between the Natural objects and automatically recatalogs (very similar to the Natural system command CATALL) the dependent Natural objects in case of a server update.

NaturalONE enables Natural developers to work in parallel on the same Natural application. Using the versioning capabilities, the migration of the different source changes from several developers are done using the version control system. Owing to the possibility to work in parallel, you gain productivity during the development process.

NaturalONE stores the Natural sources in the workspace. For execution or debugging of the application, a Natural server is required on which the Natural object is executed.

Natural Studio (which is part of Natural for Windows) is "just" a graphical user interface for the different Natural servers. Any changes done in the editor are stored directly on the Natural server. All involved developers can see these changes because there is no separate development environment, unless it has been set up by the developers. This functionality is also available with the Natural Server view of NaturalONE. However, in order to make the most of NaturalONE, it is strongly recommended that you offload your application into the Eclipse workspace as mentioned above. Any benefits (such as those provided with the Dependencies view) depend on the availability of the application-related sources in the workspace.

Can I work in parallel with NaturalONE and Natural Studio?

Since NaturalONE and Natural Studio make use of the Single Point of Development (SPoD) concept, it is possible that users of both application development environments can work on the same Natural server in parallel. Locking of the sources on the Natural server prevents that one user overwrites source changes made by another user. However, it is recommended that you work with only one development environment (either NaturalONE or Natural Studio) with one FUSER.

Due to the fact that NaturalONE and Natural Studio have the same directory structure in the file system, it is possible to import a Natural Studio project which is under the control of a version control system (CVS or SVN) into the NaturalONE workspace.

NaturalONE stores additional information about the project in the files .natural and .project. These files do not exist in the Natural Studio environment.

NaturalONE as Compared to Natural for Eclipse Version 4.1

How do I migrate from Natural for Eclipse Version 4.1?

Natural projects which have been created with Natural for Eclipse have to be enabled for NaturalONE usage. For further information, see Enabling a Natural Project for NaturalONE in Using NaturalONE.