Skip to content

MDOpen User Express Help

This is the MDOpen User Express Help for Change and Distribution Management from Midrange Dynamics. This reference document is intended for developers using MDOpen within VSCode.

Last Published: October 13, 2026

You can download a PDF version of this guide here.

This guide is comprised of these sections:

MDOpen Overview

MDOpen is an extension through VSCode used for multiplatform development for MDChange (MDCMS). Additional configuration steps pertaining to the core MDCMS product are outlined in the MDCMS Admin and User Guides and will not be covered within this manual.

The life cycle for object modification/distribution is as follows:

  1. The objects are requested for modification from the application's test or production environment. The source code is then copied to the programmer's library.
  2. The modifications are made to the source code within the programmer's library.

Or

  1. The objects are requested for migration from a delivered library.
  2. Any modifications are made within the delivered library.
  3. MDCMS compiles the source code and installs the source code/objects into the test environment. The prior source code or objects are archived.
  4. If higher-level environments exist on the system, the modification requests are automatically generated.
  5. Once testing is complete, the source code and/or objects are installed into the next environment.
  6. If working with multiple iSeries machines or partitions, the modification package can be distributed to those systems.
  7. The modification package is received on the remote system and installed into the application environments.

For instructions on installing MDOpen for VSCode or managing settings and connections, refer to the following documentation:

Installation Instructions
Manage MDOpen Connections
MDOpen Settings
Active Connection Panel

Starting MDOpen

  1. From a VSCode click the MD extension on the left navigation bar. Click on the MDOpen Active Connection to connect to the correct instance.

Create an Object Request

There are multiple ways to request an object. Depending on the workflow and situation, choose the path that is best for the situation.

Begin Object Request from MDXRef

  1. Select MDXREF Objects form the left navigation tree.
  2. Click filter at the top of the MDXREF - Objects page. The Adjust filter for MDXREF - Objects screen will appear.
  3. Input any of the following information to narrow the search for the object and press Enter or Refresh List.

    • Object Name
    • Library
    • Object Type
    • Attribute
    • Description
    • SQL Name
    • SQL Type
    • Application
    • Level
    • Source Content
  4. Click obj req next to the correct object to open the New Object Request screen. Continue with steps in Complete New Object Request.

Begin Object Request from Projects

  1. Click Projects from the navigation tree.
  2. Click the add next to the appropriate Project to open the New Object Request screen. Continue with steps in Complete New Object Request.

Begin Object Request from Tasks

  1. Click Tasks from the navigation tree.
  2. Click the add obj next to the appropriate Task to open to the New Object Request screen. Continue with steps in Complete New Object Request.

Complete New Object Request

  1. The New Object Request screen will default to the last Application, Level, Project, Task, Subtask and RFP that was worked.
    Note: The Application and Level are required fields. The Project, Task, Subtask, and RFP fields are required by the configurations set in the Developer Library Naming Template. All other fields are optional.
  2. Ensure the object request is tied to the correct tracking information with one of the following methods:
    • Manually input the Application, Level, Project, Task, Subtask and RFP
    • Select the appropriate information using the elipse next to the field(s).
    • Click the add to create a new Project, Task, Subtask or RFP to be used for the object request.
  3. From Level can be used to override the from library on an object.
  4. Click Next. The second page of the New Object Request will be received.
  5. Input the Object name or select the object from the elipse.
  6. MD Attribute can be input, but this field is optional. MDCMS will select the last used attribute for the object from MDXREF.
    Note: If the new object screen was accessed from the MDXREF-Objects screen the Request Objects screen will be received instead of the second New Object Request screen.
  7. Click Next to receive the Request Objects screen.
  8. Select one of the following options:
    • Modify
    • Recompile
    • Delete
    • Update
  9. Click Process Selections
  10. If required, the Objects Pre-Request Warnings will be received. Resolve as needed.
  11. To view and/or work with the Object Request, click Active Object Requests from the navigation tree and click edit icon next to the object request to be modified.
  12. Click the  to to receive a menu with multiple available actions to take on the object request. Use the checkbox next to the object requests to select multiple objects at once for the actions labeled (Multiselect).

    alt text

  13. Click the create obj. icon next to the object to create the object after the modifications are complete.

    Note: An Object Request may be performed without a Project, Task or Subtask value. However, an Installation is not allowed until every Object is assigned to a Project, Task or Subtask.

Migrate objects from a delivered library

If objects and/or source are delivered to your system from a vendor, and they require that they be deployed to your production application, those objects and/or source may be quickly requested for migration.

Import Object Library

  1. Click Import Object Library from navigation tree. The New Object Request screen will open.
  2. The Application, Level, Project, Task and RFP will default to the last used. Update as neeeded.
  3. Click the elipse next to Import from Library to select library to import or type the library name in the field.
  4. Click Next
  5. Select objects to migrate using the alt text beside each object or select the alt text beside the Migrate header to select all objects.
  6. Click Process Selections
  7. Status will change to 'Requested for Migration' for all objects selected. Once all objects are selected they will be added to the RFP.

Import Source Library

  1. Click Import Source Library from navigation tree. The New Object Request screen will open.
  2. The Application, Level, Project, Task and RFP will default to the last used. Update as neeeded.
  3. Click the elipse next to Import from Library to select library to import or type the library name in the field.
  4. Click Next
  5. Select source objects to migrate using the alt text beside each object or select the alt text beside the Migrate header to select all objects.
  6. Click Process Selections
  7. Status will change to 'Requested for Migration' for all source objects selected. Once all objects are selected they will be added to the RFP.

Delete an Object Request

  1. Click Active Object Request from the navigation tree.
  2. Click filter to filter the object(s) by any combination of filter options.
  3. Click checkbox next to the object(s) to select the object requests to be canceled.
  4. Click elipse next to an object that was chosen and select Delete Request.
  5. The Delete Requests screen will be received with the available delete options for the object(s) selected. Click checkbox under the appropriate delete action for the object(s) if required. Click Process Selections.

Request for Promotion (RFP)

Before requested objects can be promoted to the next level, the objects must be assigned to an RFP (request for promotion). The RFP is a number used to identify the promotion package and is used only once on a system. The Objects Requests screen shows the RFP number next to each object request. If the RFP is 0, then the object is not yet assigned to an RFP. Otherwise, the object is assigned, and the assigned RFP number is displayed. There is no limit to the number of objects in an RFP. The only restriction is that all the objects must exist in the same ASP (Auxiliary Storage Pool).

Create new RFP

RFPs can be created in multiple ways, providing flexibility in when and how objects are assigned for promotion.

Create New RFP from Active Object Request screen

If there was not an RFP assigned to the object request during creation. The RFP number will show as zero on the Object Request screen.
1. Click on Active Object Request in the navigation tree. 2. Click on the zero next to the object to be assigned to an RFP. The Assign to RFP screen will appear.
3. Click New RFP. The RFP Detail screen will appear. Continue with steps in RFP Detail.

Create New RFP during Object Request creation

A new RFP can be created during the creation of a new Object Request.

  1. On the New Object Request screen, click the add RFP next to the RFP field. The RFP Detail screen will open. Complete instructions in RFP Detail.

Create New RFP from Active RFPs screen

A new empty RFP can be created from the Active RFPs screen. Once the RFP is created, new object requests can be created directly from the new RFP by clicking add obj or by clicking the elipse and selecting New Object Request.

  1. Click Active RFPs from the navigation tree.
  2. Click New RFP. The RFP Detail screen will appear. Continue with steps in RFP Detail.

RFP Detail

  1. The Application, Level and User will auto populate. This information can be updated by typing in manuall or clicking on the elipse and selecting new information.
  2. Input all required RFP information on the RFP Details screen.
  3. The options to delete source and object from either Developer library or Import library can be selected by checking the checkbox next to these options.
  4. The RFP will default to Create Requests for next level, which will create the object requests on the RFP at the next level when the RFP is installation is complete. Uncheck this to not automatically create the next level requests.
  5. Click Save. The Assign RFPs screen will appear with the new RFP listed.
  6. If the RFP was created from the Object Request screen, click the new RFP number to assign the object request.

If the MDXREF database has been created for the application, some or all related objects can be requested to be included in installation. For example, if a physical file is modified, all logical files and programs that use the physical file may be requested for modification or recompilation. Or, if the parameters for a program are modified, all programs, commands, menus, etc. that call the program may also be requested for modification.

  1. Click Active RFPs from the navigation tree.
  2. Click obj request next to the RFP number to view all active objects in the RFP.
  3. Click elipse next to the object that need related objects requested.
  4. Click Request Dependencies or Request Linked Objects.
  5. Click checkbox next to the dependent Object(s) to include in the RFP. Click Process Selections.

Remove Objects from RFP

  1. Click Active RFPs from the navigation tree.
  2. Click alt text next to the RFP number to view all active objects in the RFP.
  3. Click checkbox next to the individual object(s) to remove, or next to "select all" to select every object in the RFP.
  4. Click elipse next to an object that was chosen and select Remove Request from RFP.
  5. The screen will refresh and the object(s) will no longer appear in the RFP. This action does not delete the object request.

Object Creation

Object Creation can be completed at the individual object level. Otherwise, the object creation will be done for all objects in an RFP when the RFP is submitted.

  1. Navigate to the Object Request screen from either Active Objects Requests in the navigation tree or clicking the obj request on the Active RFPs screen.
  2. Click create obj next to the object to create. The Create Objects screen will appear with messaging if the object created successfully or if there were create errors.
  3. The Create Status will show either 'Created' or 'Error'. Click the Create status to view the Spooled file directly.
  4. To view the entire job log, click Job Log at the top of the Create Objects screen.
  5. To navigate to all spooled files, click Job Spooled files at the top of the Create Objects screen. Select the Spooled file to view.

Submit RFP for Installation

  1. Click Active RFPs from navigation tree or by clicking on the RFP number from the Active Object Requests screen.
  2. Click submit next to the RFP.
  3. If there are missing depdendencies for a file, a Warning screen will be received with all missing dependencies listed. Select the correct option for each dependency and click Process Selections.
  4. If the program and source dependencies should not be included in the RFP, if authority is set, the Continue button will be available to click without making any selections.
  5. If an object request has been installed at the next level already, a warning screen will be received 'Objects already requested for Next Level'. The screen will list the object(s) and the RFP that exists in the next level. Select one of the following options before proceeding:

    • Cancel - to cancel the RFP submission
    • Continue and Auto-Merge using New Desc - this will continue with the RFP submission and automatically merge the contents of this RFP with the RFP that exists in the next level and use the RFP Description from this new RFP. The shared object will reference both project(s)/task(s) associated with the changes.
    • Continue and Auto-Merge using Orig Desc - this will continue with the RFP submission and automatically merge the contents of this RFP with the RFP that exists in the next level and use the RFP Description from the RFP that already exists in the next level. The shared object will reference both project(s)/task(s) associated with the changes.
    • Continue without Auto-Merge - this will continue with the RFP submission and it will only merge the shared object into the existing RFP at the next level. The shared object will reference both project(s)/task(s) associated with the changes. All other contents of this RFP will be in a new RFP.

    • Retry Validation - this will retry the RFP validation if there is a change to the objects in the RFP for submission or the RFP in the next level.

    • The Submit RFP screen will appear. The RFP Submission time will default to the current time. This can be updated to a later time if required. Verify the Job Queue and Job Queue library are correct. Click Confirm.
    • If any compiles fail during submission an error message window will display with the job information and error reason. Continue with one of the following options to research the error:
    • Click RFP to return to the Active RFPs screen
    • Click Objects to go to the Active Objects screen
    • Click Log to view the RFP Deployment log
    • Click cancel to cancel out from the error message.
    • Once the compile error(s) are corrected and the RFP is resubmitted, a message window will appear notating the compile and RFP completed successfully. If an approval is required before installation this will also be in the message. Continue to RFP approval steps.

RFP Approval

  1. Click Active RFPs in the navigation tree.
  2. The status for any RFP needing approval will show 'Waiting for Approval'.
  3. If the user has approval authority, click the approval to approve the RFP installation.
  4. The Approve RFP confirmation screen will appear. Click Confirm.
  5. The RFP status will now show 'Waiting for Installation' if auto-installation is not configured. If auto-installation is configured the RFP will disappear from the Active RFPs screen and will show 'Installed' in the Installed RFPs screen.

RFP Installation

  1. Click Active RFPs in the navigation tree or by clicking on the RFP number from the Active Object Requests screen.
  2. The RFP status should be 'Waiting for Installation'.
  3. Click install next to the RFP. The Install RFP screen will appear.
  4. Click Check Locks to check if there are any object locks prior to installation.
  5. Click Confirm to install the RFP immediately.
  6. Update the Scheduled Date and Scheduled time to schedule the RFP installation.
  7. A message window will be received with either an error message or successful completion message. Select one of the following options:
    • Click RFP to return to the Active RFPs screen
    • Click begin working with the Next RFP that was generated after the completed installation.
    • Click Cancel to cancel out of the message window
    • If the level is configured to send to a remote target, click RFP Targets to send the RFP.

Send RFP to Target System

The ability to send an RFP to a target system can be accessed by either the navigation tree or from the message window received when an RFP is successfully installed. The user must have the appropriate authority in MDSEC to send to target systems.

Merge RFPs for Sending

To avoid sending multiple RFPs to a target individually, a user has the option to merge all RFPs waiting in the Send Queue into one RFP. Merging RFPs in the send queue is the most efficient practice to prevent sending and installing RFPs out of order and helps keep installation downtime to a minimum.
1. Click RFP Send Listing under Distribution from the navigation tree. A listing of all RFPs waiting to be sent to remote targets will be received. 2. To merge multiple RFPs together before sending, click checkbox next to each RFP to merge. 3. Click elipse and select Merge. The Merge RFP Send screen will be received. 4. The Description field will default to the description from the first RFP in the list. Update the description as needed. 5. Verify all RFPs listed are correct and click Merge. 6. The RFP Send Listing screen is received with only one RFP listed.

Send RFPs to Target System

  1. Click target to select the target(s).
  2. Click ignore to ignore a specific target for an RFP.
  3. Click send to send the RFP to the target. A message window displaying the job will be displayed.
  4. Another message window will be displayed with a successful message.
  5. Click RFP Targets on the message window to view the status and schedule the installation.

Schedule Install on Target System

  1. From the RFP Targets screen, click Schedule Install.
  2. Input the date and time for the installation and click Save.

View RFP Send History

  1. Click RFP Send History under Distribution in the navigation tree.
  2. The list of all sent RFPs will be received.
  3. Click elipse to view objects, navigate to targets, Reopen the RFP or to view logs.
  4. Click object reqs to view the object requests associated with the RFP.
  5. Click target to view the targets for the RFP.

RFP Rollback

Rolling back some or all of the objects in an RFP is only possible if archiving is activated for the application level.
The new RFP generated from this process will delete any new objects, restore any deleted objects, and return all modified objects to their previous versions.
The rollback can be performed directly on a target system if needed, or on the development system and sent to all target systems.
The additional steps for the Compile, Approval, Installation, Sending and Receiving of an RFP can be found above in this document.

Rollback by Object

Specific objects can be found through the Instaled RFPs or from the Installed Objects screen.

To select the object(s) by RFP: 1. Click Installed RFPs in the navigation tree. 2. Click obj req next to the RFP to view all the objects installed with the RFP.
3. Click checkbox next one object to be rolled back.

Or

To select object(s) by Installed Object Requests:

  1. Click Installed Object Requests in the navigation tree.
  2. Click filter to filter to the object(s) to be rolled back.
  3. Click checkbox next one object to be rolled back.
  4. Click elipse and select Rollback.
  5. Continue with steps in Complete Rollback Steps.

Rollback by RFP

  1. Click Installed RFPs in the navigation tree.
  2. Click elipse next to the RFP to be rolled back.
  3. Continue with steps in Complete Rollback Steps.

Complete Rollback Steps

  1. The Select Objects for Rollback screen will be received with all objects that were installed under the RFP for the RFP or the object selected on the previous screen. The Description for the new RFP will be generated using the installed RPF Description, with the ROLLBACK added to the beginning.
  2. Click checkbox to select any additional objects to be rolled back or next to Select to choose all objects listed.
  3. Click Process Selections.
  4. The Select Objects for Rollback screen will appear with the previous object selections listed. Add additional objects if required or click Continue to confirm the selections.
  5. The Active RFPs screen will be received with the new Rollback RFP in Requests assigned status. Complete the remaining steps in Submit RFP for Installation.

Work with Logs

Multiple different logs can be accessed quickly from MDOpen under the Logs section in the navigation tree. The results from the logs can be viewed or exported.

Work with Spoolfiles

  1. Click Spoolfiles under Logs in the navigation tree.
  2. All Spoolfiles for the User will appear. Process one of the following to work with the Spoolfile:
    • Click the Spoolfile Name to view.
    • Click elipse next to the spoolfile and select delete, Export or Display.
    • Click export to export the spooled file to the IFS, email or both.

Work with Messages

  1. Click Messages under Logs in the navigation tree.
  2. All messages will be listed.
  3. Click reprompt to receive the original prompt window that was received with the message. Use the options on the prompt window to navigate as needed.

Work with Job Log

  1. Click Job Log under Logs in the navigation tree.
  2. The current job log will display for review.