Micro Focus 390 Assembler
Compile & Execute on a Windows System
  Table of Contents  v-24.01.01 - asmmf101.htm 
  Introduction
  Execute
  Test Case for Simple Options
  Test Case using System WTO Macro
  Prepare
  Directory Structure
  Scripted Build for Assembler Members
  Micro Focus Assembler Command Line
  Command Line Syntax for MF370CHK
  Environment Variables
  User Defined Scripted Builds for Assembler
  Executable Load Members
  Non-Executable Load Members
  Object Members
  Configure a Server for EBCDIC
  Test Cases
  Executable Programs
  A Very Simple Program
  Various Formats of the WTO Macro
  Macro Files, Maintain Unique Labels
  Non-Executable ASCII Members
  Technical Details
  The MF370CTL Configuration File
  Ancillary Commands and Programs
  Set Common Environment Variables
  Display and Log Messages
  Summary
  Software Agreement and Disclaimer
  Downloads and Links
  Current Server or Internet Access
  Internet Access Required
  Glossary of Terms
  Contact or Feedback
  Company Overview
The SimoTime Home Page 

Table of Contents Previous Section Next Section Introduction

This document provides an introduction to the installation, configuration and usage of the mainframe assembler capability on a Windows System using Micro Focus technology and Enterprise Developer. An Assembler sub-system is created within a larger, Mainframe-Oriented sub-system that executes Batch Jobs using JCL Members.

Item Description
1 Create an Automated and Unattended Process for Compiling and Linking Assembler Source code into Executable Load Members.
2 Create an Automated and Unattended Process for Compiling and Linking Assembler Source code into non-Executable Load Members for use with the EXEC CICS LOAD function.
3 Provide an example for setting the environment variables for the Compile and Link Processes
4 Create, Document and Execute a Suite of Test Programs.
5 Review the Results and Document Expected Results
  Objectives for the Micro Focus Assembler Development and Test Projects

Note:  The Assembler Function is provided for the Development and Test environments that are configured for EBCDIC encoding.


We have made a significant effort to ensure the documents and software technologies are correct and accurate. We reserve the right to make changes without notice at any time. The function delivered in this version is based upon the enhancement requests from a specific group of users. The intent is to provide changes as the need arises and in a timeframe that is dependent upon the availability of resources.

Copyright © 1987-2025
SimoTime Technologies and Services
All Rights Reserved

Table of Contents Previous Section Next Section Execute

The section assumes the tasks outlined in the "Prepare" section of this document have been successfully completed. The following command is used to start a Server that is capable of accepting and executing submitted jobs (JCL Members). The following is the command used to set the environment and start a Batch Server that supports an EBCDIC encoded environment.

C:\SIMOSAM1\DEVL\SYS1\LOADLIB>SYS1START SIMOBATE

Table of Contents Previous Section Next Section Test Case for Simple Options

The following are the commands used to submit or schedule the job to be executed under control of a Batch Server.

C:\SIMOSAM1\DEVL\LOADLIB>EZSUB SIMOBATE ASMR14J1
or
C:\SIMOSAM1\DEVL\LOADLIB>EZSCHEDULE SIMOBATE ASMR14J1

The following is the JES SPOOL information for a successful completion of the ASMR14J1 Job.

     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     *-*-*  Micro Focus ESJCL  EBCDIC JES2 Version ED20.00.00_012                              *-*-*
     *-*-*  Copyright (C) 1997-2012 Micro Focus. All rights reserved.                          *-*-*
     *-*-*  Job: 03690 Name: ASMR14J1 User: mfuser   Date: 07/23/12 Time: 17:26:41             *-*-*
     *-*-*  File: $TXRFDIR/MFUSER17264098.T                                                    *-*-*
     *-*-*  DSN:                                                                               *-*-*
     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

   1 //ASMR14J1 JOB SIMOTIME,ACCOUNT,CLASS=1,MSGCLASS=O,NOTIFY=LRSP1
   2 //* *******************************************************************
   3 //*       This JCL Member is provided by: SimoTime Enterprises        *
   4 //*           (C) Copyright 1987-2012 All Rights Reserved             *
   5 //*             Web Site URL:   http://www.simotime.com               *
   6 //*                   e-mail:   helpdesk@simotime.com                 *
   7 //* *******************************************************************
   8 //*
   9 //* Text   - 370 Assembler, Return to Caller with Zero Return Code
  10 //* Author - SimoTime Enterprises
  11 //* Date   - January 01, 1997
  12 //*
  13 //* *******************************************************************
  14 //* Step   1 of 1  This is a single step job.
  15 //*
  16 //ASMR14S1 EXEC PGM=ASMR14A1
  17 //STEPLIB  DD  DSN=SIMOTIME.DEMO.LOADLIB1,DISP=SHR
  18 //*
**** JCLCM0180I Job ready for execution.
**** Execution on Server SIMOBATE  Process       3872

     17:26:41 JCLCM0188I JOB  STARTED

     17:26:41 JCLCM0190I STEP STARTED   ASMR14S1
     17:26:42 JCLCM0199I Program ASMR14A1 is z/OS HLASM  EBCDIC Big-Endian    AMODE31.
     SIMOTIME.DEMO.LOADLIB1                                            STEPLIB
                                                                        DEFERRED
---> 17:26:42 JCLCM0191I STEP ENDED     ASMR14S1 - COND CODE 0000

---> 17:26:42 JCLCM0182I JOB  ENDED   - COND CODE 0000

Table of Contents Previous Section Next Section Test Case using System WTO Macro

The following are the commands used to submit or schedule the job to be executed under control of a Batch Server.

C:\SIMOSAM1\DEVL\LOADLIB>EZSUB SIMOBATE ASMWTOJ1
or
C:\SIMOSAM1\DEVL\LOADLIB>EZSCHEDULE SIMOBATE ASMWTOJ1

The following is the JES SPOOL information for a successful completion of the ASMWTOJ1 Job. This job is used as a regression test for the WTO Macro functions. Also, it is used as a reference or learning tool.

     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
     *-*-*  Micro Focus ESJCL  EBCDIC JES2 Version ED20.00.00_012                              *-*-*
     *-*-*  Copyright (C) 1997-2012 Micro Focus. All rights reserved.                          *-*-*
     *-*-*  Job: 03696 Name: ASMWTOJ1 User: mfuser   Date: 07/23/12 Time: 17:55:38             *-*-*
     *-*-*  File: $TXRFDIR/T000000020.T                                                        *-*-*
     *-*-*  DSN:                                                                               *-*-*
     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

   1 //ASMWTOJ1 JOB SIMOTIME,ACCOUNT,CLASS=1,MSGCLASS=O,NOTIFY=LRSP1
   2 //* *******************************************************************
   3 //*       This JCL Member is provided by: SimoTime Enterprises        *
   4 //*           (C) Copyright 1987-2012 All Rights Reserved             *
   5 //*             Web Site URL:   http://www.simotime.com               *
   6 //*                   e-mail:   helpdesk@simotime.com                 *
   7 //* *******************************************************************
   8 //*
   9 //* Text   - 370 Assembler, Write-To-Operator or WTO macro
  10 //* Author - SimoTime Enterprises
  11 //* Date   - January 01, 1997
  12 //*
  13 //* This 370 Assembler program provides different techniques for
  14 //* using the Write-To-Operator (WTO) macro.
  15 //*
  16 //* This set of programs will run on a mainframe under MVS or on a
  17 //* Personal Computer with Windows and Micro Focus Mainframe Express.
  18 //*
  19 //* Micro Focus Mainframe Express, version 2.5 or later (MFE) with
  20 //* the Assembler Option should be used to Animate or visualize the
  21 //* execution of the sample program.
  22 //*
  23 //* The Animator or Debugger is an excellent tool for visualizing the
  24 //* execution of the individual instructions as they execute.
  25 //*
  26 //* This is a very effective way to become familiar with the 370
  27 //* instruction set.
  28 //*
  29 //* *******************************************************************
  30 //* Step   1 of 1  This is a single step job.
  31 //*
  32 //ASMWTOS1 EXEC PGM=ASMWTOA1
  33 //STEPLIB  DD  DSN=SIMOTIME.DEMO.LOADLIB1,DISP=SHR
  34 //*
**** JCLCM0180I Job ready for execution.
**** Execution on Server SIMOBATE  Process       1032

     17:55:39 JCLCM0188I JOB  STARTED

     17:55:39 JCLCM0190I STEP STARTED   ASMWTOS1
     17:55:39 JCLCM0199I Program ASMWTOA1 is z/OS HLASM  EBCDIC Big-Endian    AMODE31.
     *MSG * ASMWTOA1 An Example of using the WTO macro  v03.01.24 http://www.simotime.com
     *MSG * ASMWTOA1 Copyright 1987-2009  SimoTime Enterprises, LLC   All Rights Reserved
     *MSG * ASMWTOA1 is STARTING, Hello Mainframe World...
     *MSG * ASMWTOA1 Message Text, No Label...
     *MSG * ASMWTOA1 Message Text, with Label...
     *MSG * ASMWTOA1 List Message One from WTOLIST...
     *MSG * ASMWTOA1 List Message Two from WTOLIST...
     *MSG * ASMWTOA1 WTO with user-coded buffer...
     *MSG * ASMWTOA1 User message number one...
     *MSG * ASMWTOA1 User message number two...
     *MSG * ASMWTOA1 is FINISHED...
     SIMOTIME.DEMO.LOADLIB1                                            STEPLIB
                                                                        DEFERRED
---> 17:55:41 JCLCM0191I STEP ENDED     ASMWTOS1 - COND CODE 0000

---> 17:55:41 JCLCM0182I JOB  ENDED   - COND CODE 0000

Table of Contents Previous Section Next Section Prepare

This section describes the tasks that need to be completed before the test cases can be executed successfully.

Table of Contents Previous Section Next Section Directory Structure

The following shows the directory structure for a Development environment.

               
SIMOSAM1
See Note-1
   
   
 
 
DEVL
See Note-2
   
   
 
 
ADM1
 
 
and MORE
Administrative and Support functions
   
   
 
 
ASM
 
 
and MORE
Mainframe Assembler Source and Sub-Directories
   
   
 
 
BMS
Contains Basic Mapping Support Member
   
   
 
 
COBCPY1
Contains COBOL Copy Members
   
   
 
 
COBCPY6
Contains COBOL Copy Members from a BMS GEN
   
   
 
 
COBOL
Contains COBOL Source Members
   
   
 
 
COBOLUT1
Contains COBOL Source Members, see Note-3
   
   
 
 
COBOLUT2
Contains COBOL Source Members, see Note-4
   
   
 
 
COBOLUT3
Contains COBOL Source Members, see Note-5
   
   
 
 
DATA
Contains the catalog and data files
   
   
   
   
 
 
APPL
Contains non-Relational data files for Application
   
   
   
   
 
 
SPOOL
Contains the JES and SYSOUT files
   
   
   
   
 
 
and MORE
Link to additional sub-Directories
   
   
 
 
DIRS
Contains compiler directives files
   
   
 
 
DOCS
Contains user or application documentation
   
   
 
 
HOLD
 
 
and MORE
Contains new load members from Scripted Builds
   
   
 
 
IMSLIB
Contains the IMS Members for execution-time
   
   
   
   
 
 
DBD
Source Members for the IMS DBD
   
   
   
   
 
 
PSB
Source Members for the IMS PSB
   
   
 
 
JAVA
Contains JAVA Source Members
   
   
 
 
JCL
Contains the JCL Source Members
   
   
 
 
JCLINC
Contains the Include Members for JCL
   
   
 
 
LOADLIB
Contains the executable members
   
   
   
   
 
 
GNTS
Contains COBOL Load Members
   
   
   
   
 
 
simpacks
Contains Java Class Members
   
   
 
 
LOGS
Contains the log files for the application
   
   
 
 
PARMLIB
Contains the parameter or control files
   
   
 
 
PROCLIB
Contains the Procedures (or PROC's) for JCL
   
   
 
 
REXXLIB
Contains the REXX Program Members
   
   
 
 
SIMOGENS
 
 
and MORE
Contains the Program Generation Members
   
   
 
 
SYS1
Systems directory, not exposed to users
   
   
 
 
CONFIG
System configuration specifications
   
   
 
 
and MORE
Link to additional sub-Directories?
 
Note-1: This is the primary directory for the SimoTime Driver Programs and Test Cases
Note-2: This is the Development, Production or Test directory, for this example it is set to DEVL.
Note-3: Utility programs using a mainframe dialect, not part of application business functions
Note-4: Utility programs using a Micro Focus dialect, not part of application business functions
Note-5: Utility programs with specialized or unique requirements
The Directory Structure used in the in the SimoTime Development Environment

Table of Contents Previous Section Next Section Scripted Build for Assembler Members

Assembler Load members are created by compiling and linking Assembler Source Members that may include additional copy or macro files. This section describes and demonstrates the process for compiling and linking Executable or non-Executable Assembler members. Each approach uses two (2) command files. The primary command files set the environment at the global level and then calls the second command to do the actual compile and link.

Table of Contents Previous Section Next Section Micro Focus Assembler Command Line

This document will focus on the functionality required to do the basic tasks of compiling and linking Assembler Load Members (programs and/or non-executable load members). For additional details and advance functionality refer to the Micro Focus Product documentation.

Table of Contents Previous Section Next Section Command Line Syntax for MF370CHK

The following shows the command line syntax for the Micro Focus command that is used to compile and link the Assembler Source members into object members or load members.

             
  Command Source Name Output Listing Debugger
  MF370CHK sourcename OMF(390) NOLIST ANIM
  OMF(OBJ) LIST NOANIM
  OMF(MOD)
 
The Command Line Syntax for the Micro Focus Assembler

Table of Contents Previous Section Next Section Environment Variables

The following provides a quick reference for the environment variables used by the Micro Focus Assembler. Their primary purpose is to define the directory structure for the user environment.

Environment
Variable
Description
SYSLIB This environment variable may define multiple concatenated directories separated by a semi-colon (;). It is used to define the directory that contains the Macro and Copy files used by the Micro Focus Assembler (.MAC and .CPY).
SYSLIST This environment variable defines a single directory. It is used to define the directory for the Assemble and Link listing files (.MAT .PRN .LST).
SYSLIN This environment variable defines a single directory. It is used to define the directory that contains the input members for the Micro Focus Linker (.LIN and .OBJ).
SYSLMOD This environment variable defines a single directory. It is used to define the directory that contains the output member for the Micro Focus Linker (.390 and .MOD).
SYSPARM This environment variable defines a single parameter that is used by the Micro Focus Macro Processor as a substitution parameter for SYSPARM.
MACROEXT This environment variable defines extensions to be used for 370 Macro Files. Multiple extensions may be specified using a comma to separate the extension values. The following is an example for defining multiple extensions.
SET MACROEXT=CPY,MAC
  Environment Variables for Micro Focus Assembler

Table of Contents Previous Section Next Section User Defined Scripted Builds for Assembler

This section is divided into three categories that are described in the following three sub-sections of this documents. The input for each category is Assembler source code. The output for each category will be a load member (executable or non-executable) or an object member. Each category has the capability of compiling and possibly linking multiple source members by reading a file containing a list of source member names.

Table of Contents Previous Section Next Section Executable Load Members

The following member (ASM390W1.cmd) will setup the environment and read a list file of program names. For each name in the list file the ZASM2390.CMD is called to do the actual compile and link of an executable program.

@echo OFF
     set CMD_NAME=ASM390W1
echo *********************************************************************
echo * This Job Script is provided by SimoTime Technologies and Services *
echo *           (C) Copyright 1987-2022 All Rights Reserved             *
echo *             Web Site URL:   http://www.simotime.com               *
echo *                   e-mail:   helpdesk@simotime.com                 *
echo *********************************************************************
rem  *
rem  * This command will read a file that contains a list of HLASM source
rem  * members and call ZASM2390 to compile each member.
rem  * The output is an executable load member and listings produced by
rem  * the compile and link process.
rem  *
rem  * This procedure calls the following Windows Command Files.
rem  * 1. Env1Base.CMD - this provides a single point for setting commonly
rem  *                   used environment variables.
rem  * 2. SimoNOTE.CMD - this provides a consistent process for displaying
rem  *                   messages to the screen and writing to a journal
rem  *                   or log file.
rem  * 3. ZASM2390.CMD - this will do the compile and link of the user
rem  *                   specified executable program
rem  *
rem  * *******************************************************************
     setlocal
     call ..\ENV1EBC1 %CMD_NAME%
rem  *
     call SIMONOTE "*******************************************************************************%CmdName% "
     call SimoNOTE "* Starting HLASM Compile to create executable load members"
     call SimoNOTE "* --------------------------------------------------------------------------- *01 of 03"
     call SIMONOTE "* Job_Step 1 of 3, Preparing the System and Job Environment"
     set EXTFH=%BASESYS%\CONFIG\EXTFHTAB.CFG
rem  *
rem  * Allow different extensions for 370 Assembler Macro Files.
rem  * Note: if this value is set in the MF370CTL.CFG file it will be
rem  *       over-ridden by the following environment variable.
     set MACROEXT=CPY,MAC
rem  *
rem  * ----------------------------------------------------------------- *
rem  * The following four statements are for the Assembler sub-system.
     set SYSLIST=%BaseLib1%\ASM\LIST
     set SYSLIN=%BaseLib1%\ASM\OBJS
     set SYSLMOD=%BaseLib1%\HOLD\ASME
     set SYSLIB=%BaseLib1%\ASM\ASMPATCH;%BaseLib1%\ASM\ASMMAC1;%BaseLib1%\ASM\ASMCPY1;%MIFOBASE%\include
     call SimoNOTE "* SYSLIB IS %SYSLIB%"
rem  *
     call SimoNOTE "* --------------------------------------------------------------------------- *02 of 03"
     call SimoNOTE "* Job_Step 2 of 3, Execute the HLASM Compile Processing"
rem  * Read the list file and pass the contents of each record to the
rem  * command file that does the actual compile. Each record in the file
rem  * contains an eight character program name.
     set AOK_Count=0
     set NOK_Count=0
     set MBR_LIST=%BaseLib1%\Adm1\CNTL\ASM390T1.LST
     for /F "eol=; tokens=1,2* delims=." %%i in (%MBR_LIST%) do call zASM2390 %%i
rem  *
:EOJTAG
     call SimoNOTE "* --------------------------------------------------------------------------- *03 of 03"
     call SimoNOTE "* Job_Step 3 of 3, End of Job processing"
     call SimoNOTE "* AOKcount Compile Count for AOK is %AOK_Count% "
     call SimoNOTE "* NOKcount Compile Count for NOK is %NOK_Count% "
     if %NOK_Count% == 0 goto EOJAOK
     goto EOJAOK
:EOJNOK
     call SimoNOTE "* ABENDING JobName %CMD_NAME%.CMD"
     goto EOJEND
:EOJAOK
     call SimoNOTE "* Finished JobName %CMD_NAME%.CMD"
:EOJEND
     if not "%SimoGENS%" == "BATCH" pause
     endlocal

The following member (ZASM2390.cmd) will do the actual compile and link based upon the parameters set by the calling command (ASM390W1.CMD) and create an executable program.

rem  * ************************************************************************
rem  * It is the callers reponsibility to set the following environment
rem  * variables prior to calling this command.
rem  * 1. BaseLib1 - point to the base directory. This procedure uses various
rem  *               sub-directories under the base directory.
rem  * 2. SYSLIST  - directory for the Compile and Link List files
rem  * 3. SYSLIN   - directory for the Link files
rem  * 4. SYSLMOD  - directory for the linker output members
rem  * 5. SYSLIB   - directory for Macro and Copy Files
rem  *
rem  * The following parameters are received from the calling command file.
rem  * Parameter  Description
rem  * ---------  ------------------------------------------------------------
rem  *    1.      Name of source member
rem  * ************************************************************************
rem  * Startup statements...
rem  *
     set CompileLinkStatus=0000
     call SimoNOTE "Starting ZASM2390, RC=%CompileLinkStatus%, PGM=%1"
rem  *
rem  * ************************************************************************
rem  * Do the compile to create the .390 executable using Micro Focus compiler.
     run MF370CHK %BASELIB1%\ASM\%1 NOANIM LIST AMODE(31)
     if not "%ERRORLEVEL%" == "0" set CompileLinkStatus=0010
     if not "%CompileLinkStatus%" == "0000" goto :CompileLinkNOK
rem  *
     if exist %SYSLMOD%\%1.390 goto :CompileLinkAOK
     set CompileLinkStatus=0020
     goto :CompileLinkNOK
rem  *
rem  * ************************************************************************
:CompileLinkAOK
     set /A AOK_Count=%AOK_Count% + 1
     call SimoNOTE "Complete ZASM2390, RC=%CompileLinkStatus%, PGM=%1"
     goto :End
rem  *
rem  * ************************************************************************
:CompileLinkNOK
     set JobStatus=%CompileLinkStatus%
     set /A NOK_Count=%NOK_Count% + 1
     call SimoNOTE "ABENDING ZASM2390, RC=%CompileLinkStatus%, PGM=%1, !!!ABENDING!!!"
     echo %1 - Error during Compile, refer to %SYSLIST%\%1.***>%BaseLib1%\LOGS\%1.ERR
     goto :End
rem  *
rem  * ************************************************************************
:End

Table of Contents Previous Section Next Section Non-Executable Load Members

The following member (ASM390W2.cmd) will setup the environment and read a list file of program names. For each name in the list file the ZASM2MOD.CMD is called to do the actual compile and link of a non-executable load member.

@echo OFF
echo *********************************************************************
echo *              ASM390W2.CMD - a Windows Command File                *
echo *        This program is provided by SimoTime Technologies          *
echo *           (C) Copyright 1987-2016 All Rights Reserved             *
echo *             Web Site URL:   http://www.simotime.com               *
echo *                   e-mail:   helpdesk@simotime.com                 *
echo *********************************************************************
rem  *
rem  * This command will read a file that contains a list of Assembler
rem  * programs without CICS and call ZASM2MOD to compile each member.
rem  * The output is a non-executable load member and listings produced
rem  * by the compile and link process.
rem  *
rem  * This procedure calls the following Windows Command Files.
rem  * 1. Env1Base.CMD - this provides a single point for setting commonly
rem  *                   used environment variables.
rem  * 2. SimoNOTE.CMD - this provides a consistent process for displaying
rem  *                   messages to the screen and writing to a journal
rem  *                   or log file.
rem  * 3. ZASM2MOD.CMD - this will do the compile of the user specified
rem  *                   non-executable load member.
rem  *
rem  * *******************************************************************
     setlocal
     call ..\Env1Base
     set CmdName=ASM390W2
rem  *
     call SimoNOTE "*******************************************%CmdName%.CMD"
     call SimoNOTE "Starting JobName %CmdName%.CMD"
     call SimoNOTE "Function Compile to create a non-executable load member"
     set EXTFH=%BASESYS%\CONFIG\EXTFHTAB.CFG
rem  * ----------------------------------------------------------------- *
rem  * The following four statements are for the Assembler sub-system.
     set SYSLIST=%BaseLib1%\ASM\LIST
     set SYSLIN=%BaseLib1%\ASM\OBJS
     set SYSLMOD=%BaseLib1%\HOLD\ASME
     set SYSLIB=%BaseLib1%\ASM\ASMMAC1;%BaseLib1%\ASM\ASMCPY1;%MIFOBASE%\include
rem  * ----------------------------------------------------------------- *
rem  * Read the list file and pass the contents of each record to the
rem  * command file that does the actual compile. Each record in the file
rem  * contains an eight character program name.
     set AOK_Count=0
     set NOK_Count=0
     set MemberList=%BaseLib1%\Adm1\CNTL\ASM390T2.LST
     for /F "eol=; tokens=1,2* delims=." %%i in (%MemberList%) do call zASM2MOD %%i
rem  *
     call SimoNOTE "AOKcount Compile Count for AOK is %AOK_Count% "
     call SimoNOTE "NOKcount Compile Count for NOK is %NOK_Count% "
     if %NOK_Count% == 0 goto EOJAOK
     goto EOJNOK
rem  * ----------------------------------------------------------------- *
:EOJNOK
     call SimoNOTE "ABENDING JobName %CmdName%.CMD"
     goto EOJEND
:EOJAOK
     call SimoNOTE "Finished JobName %CmdName%.CMD"
:EOJEND
     if not "%SimoGENS%" == "BATCH" pause
     endlocal

The following member (ZASM2MOD.cmd) will do the actual compile and link based upon the parameters set by the calling command (ASM390W2.CMD) and create the non-executable load member.

rem  * ************************************************************************
rem  * It is the callers reponsibility to set the following environment
rem  * variable prior to calling the command.
rem  * 1. BaseLib1 - point to the base directory. This procedure uses various
rem  *               sub-directories under the base directory.
rem  * 2. SYSLIST  - directory for the Compile and Link List files
rem  * 3. SYSLIN   - directory for the Link files
rem  * 4. SYSLMOD  - directory for the linker output members
rem  * 5. SYSLIB   - directory for Macro and Copy Files
rem  *
rem  * The following parameters are received from the calling command file.
rem  * Parameter  Description
rem  * ---------  ------------------------------------------------------------
rem  *    1.      Name of source member
rem  * ************************************************************************
rem  * Startup statements...
rem  *
     set Compile2MODStatus=0000
     call SimoNOTE "Starting ZASM2MOD, RC=%Compile2MODStatus%, PGM=%1"
     echo Source Member ........ %1
rem  *
rem  * ************************************************************************
rem  * Do the compile to create the .390 executable using Micro Focus compiler.
     run MF370CHK %BASELIB1%\ASM\%1 OMF(MOD) NOANIM LIST
     if not "%ERRORLEVEL%" == "0" set Compile2MODStatus=0010
     if not "%Compile2MODStatus%" == "0000" goto :Compile2MODNOK
rem  *
     if exist %SYSLMOD%\%1.MOD goto :Compile2MODAOK
     set Compile2MODStatus=0020
     goto :Compile2MODNOK
rem  *
rem  * ************************************************************************
:Compile2MODAOK
     set /A AOK_Count=%AOK_Count% + 1
     call SimoNOTE "Complete ZASM2MOD, RC=%Compile2MODStatus%, PGM=%1"
     goto :End
rem  *
rem  * ************************************************************************
:Compile2MODNOK
     set JobStatus=%Compile2MODStatus%
     set /A NOK_Count=%NOK_Count% + 1
     call SimoNOTE "ABENDING ZASM2MOD, RC=%Compile2MODStatus%, PGM=%1, !!!ABENDING!!!"
     echo %1 - Error during Compile, refer to %BaseLib1%\LIST\%1.LST>%BaseLib1%\LOGS\%1.ERR
     goto :End
rem  *
rem  * ************************************************************************
:End

Table of Contents Previous Section Next Section Object Members

The following member (ASM390W3.cmd) will setup the environment and read a list file of program names. For each name in the list file the ZASM2OBJ.CMD is called to do the actual compile of an object member.

@echo OFF
echo *********************************************************************
echo *              ASM390W3.CMD - a Windows Command File                *
echo *        This program is provided by SimoTime Technologies          *
echo *           (C) Copyright 1987-2016 All Rights Reserved             *
echo *             Web Site URL:   http://www.simotime.com               *
echo *                   e-mail:   helpdesk@simotime.com                 *
echo *********************************************************************
rem  *
rem  * This command will read a file that contains a list of Assembler
rem  * programs without CICS and call ZASM2OBJ to compile each member.
rem  * The output is an object member and listings produced by the
rem  * compile process.
rem  *
rem  * This procedure calls the following Windows Command Files.
rem  * 1. Env1Base.CMD - this provides a single point for setting commonly
rem  *                   used environment variables.
rem  * 2. SimoNOTE.CMD - this provides a consistent process for displaying
rem  *                   messages to the screen and writing to a journal
rem  *                   or log file.
rem  * 3. ZASM2MOD.CMD - this will do the compile of the user specified
rem  *                   non-executable load member.
rem  *
rem  * *******************************************************************
     setlocal
     call ..\Env1Base
     set CmdName=ASM390W3
rem  *
     call SimoNOTE "*******************************************%CmdName%.CMD"
     call SimoNOTE "Starting JobName %CmdName%.CMD"
     call SimoNOTE "Function Compile to create an OBJECT member"
     set EXTFH=%BASESYS%\CONFIG\EXTFHTAB.CFG
rem  * ----------------------------------------------------------------- *
rem  * The following four statements are for the Assembler sub-system.
     set OBJ370=%BaseLib1%\ASM\OBJS
     set SYSLIST=%BaseLib1%\ASM\LIST
     set SYSLIN=%BaseLib1%\ASM\OBJS
     set SYSLMOD=%BaseLib1%\HOLD\ASME
     set SYSLIB=%BaseLib1%\ASM\ASMPATCH;%BaseLib1%\ASM\ASMMAC1;%BaseLib1%\ASM\ASMCPY1;%MIFOBASE%\include
rem  * ----------------------------------------------------------------- *
rem  * Read the list file and pass the contents of each record to the
rem  * command file that does the actual compile. Each record in the file
rem  * contains an eight character program name.
     set AOK_Count=0
     set NOK_Count=0
     set MemberList=%BaseLib1%\Adm1\CNTL\ASM390T3.LST
     for /F "eol=; tokens=1,2* delims=." %%i in (%MemberList%) do call zASM2OBJ %%i
rem  *
     call SimoNOTE "AOKcount Compile Count for AOK is %AOK_Count% "
     call SimoNOTE "NOKcount Compile Count for NOK is %NOK_Count% "
     if %NOK_Count% == 0 goto EOJAOK
     goto EOJNOK
rem  * ----------------------------------------------------------------- *
:EOJNOK
     call SimoNOTE "ABENDING JobName %CmdName%.CMD"
     goto EOJEND
:EOJAOK
     call SimoNOTE "Finished JobName %CmdName%.CMD"
:EOJEND
     if not "%SimoGENS%" == "BATCH" pause
     endlocal

The following member (ZASM2OBJ.cmd) will do the actual compile based upon the parameters set by the calling command (ASM390W3.CMD) and create an object member.

rem  * ************************************************************************
rem  * It is the callers reponsibility to set the following environment
rem  * variables prior to calling the command.
rem  * 1. BaseLib1 - point to the base directory. This procedure uses various
rem  *               sub-directories under the base directory.
rem  * 2. SYSLIST  - directory for the Compile and Link List files
rem  * 3. SYSLIN   - directory for the Link files
rem  * 4. SYSLMOD  - directory for the linker output members
rem  * 5. SYSLIB   - directory for Macro and Copy Files
rem  *
rem  * The following parameters are received from the calling command file.
rem  * Parameter  Description
rem  * ---------  ------------------------------------------------------------
rem  *    1.      Name of source member
rem  * ************************************************************************
rem  * Startup statements...
rem  *
     set Compile2OBJStatus=0000
     call SimoNOTE "Starting ZASM2OBJ, RC=%Compile2OBJStatus%, PGM=%1"
     call SimoNOTE "Source Member ........ %1"
rem  *
rem  * ************************************************************************
rem  * Do the compile to create the .390 executable using Micro Focus compiler.
     run MF370CHK %BASELIB1%\ASM\%1 OMF(OBJ) NOANIM LIST
     if not "%ERRORLEVEL%" == "0" set Compile2OBJStatus=0010
     if not "%Compile2OBJStatus%" == "0000" goto :Compile2OBJNOK
rem  *
     if exist %SYSLIN%\%1.OBJ goto :Compile2OBJAOK
     set Compile2OBJStatus=0020
     goto :Compile2OBJNOK
rem  *
rem  * ************************************************************************
:Compile2OBJAOK
     set /A AOK_Count=%AOK_Count% + 1
     call SimoNOTE "Complete ZASM2OBJ, RC=%Compile2OBJStatus%, PGM=%1"
     goto :End
rem  *
rem  * ************************************************************************
:Compile2OBJNOK
     set JobStatus=%Compile2OBJStatus%
     set /A NOK_Count=%NOK_Count% + 1
     call SimoNOTE "ABENDING ZASM2OBJ, RC=%Compile2OBJStatus%, PGM=%1, !!!ABENDING!!!"
     echo %1 - Error during Compile, refer to %SYSLIST%\%1.***>%BaseLib1%\LOGS\%1.ERR
     goto :End
rem  *
rem  * ************************************************************************
:End

Table of Contents Previous Section Next Section Configure a Server for EBCDIC

The following provides the "How To" information for creating a batch server that will process jobs that are a mix of JCL, COBOL and Assembler.

The server used by the batch applications will be called SIMOBATE. At the bottom of the home page for Enterprise Server Administration select the "ADD" button. The following describes the primary configuration options needed to submit, execute and review jobs that have been defined (or scripted) using the Job Control Language (JCL Members and Procedures).

Server Name:
SIMOBATE
 . . .
 
 Cancel 
 
 Next>> 
   

Enter a Server Name, select the Working Mode and Click the" Next" button. Click the Radio button for Micro Focus Enterprise Server with Mainframe Subsystem Support and Click the" Next" button a second time.

The following shows the next group of configuration options. For items not shown take the default entry options.

Note: For the following and if not required then un-check the TN3270 and ISC listener boxes

Server Name:
SIMOBATE
System Directory:
C:\SIMOSAM1\DEVL\SYS1\LOGS\SIMOBATE
 . . .
Creation Options:
Create TN3270 listener 
  
 using port 
  
 
Create ISC listener 
  
 using port 
  
 
Configuration Information:
[ES-Environment]
BASEAPP=C:\SIMOSAM1\DEVL
MFSYSCAT=$BASECAT\CATALOG.DAT
MF_CHARSET=E
Description:
JES Sub-Sytem with EBCDIC encoding
 
 Cancel 
 
 <<Back 
 
 Add 

Click the" Add" button.

The "SIMOBATE" server should be added to the Enterprise Server. When the home screen is redisplay click on the "Edit" button, select the "MSS" tab, select the "JES" tab and then enter the following configuration options for the JES or Job Entry Subsystem.

Note: For the following remember to check the box for the "Job Entry Sub-system enabled".

Job Entry Subsystem enabled: 
 
JES Program Path:
$BASEAPP\LOADLIBE;$BASEAPP\SYS1\LOADLIBE;C:\SimoLIBR
System Catalog:
$BASECAT\CATALOG.DAT
Default Allocated Dataset Location:
$BASECAT\APPL
System Procedure Library:
SIMOTIME.PDS.JCLINC;SIMOTIME.PDS.PROCLIB1
 
 Apply 
 

Click the "Apply" button.

Note: Some environment variables are set prior to starting the server. This needs to be done since some environment variables will be used by ES/MSS and other third-party technologies. The decision was made to define the shared environment variables in one place rather than replicate in the two separate environments.

The next step in the configuration of the JES sub-system is to define the JES initiators and have them start automatically when the JES Server (or sub-system) is started. To do this select the "Initiators" tab then click the "Add" button to add an initiator. The following should be displayed.

Add Initiator...
Name:
Class001
 
Class:
1
 
Description:
Initiator for Class 1 Jobs
 
 
 Cancel 
 
 Add 

Fill in the required information and click the "Add" button.

Table of Contents Previous Section Next Section Test Cases

This section provides a brief description with links to additional information of the critical test cases. The test cases start with very simple requirements and then progress to the more advanced functions and levels of complexity.

Table of Contents Previous Section Next Section Executable Programs

The following test cases will execute jobs that increase in resource access and usage. The process starts with a validation of basic functions and progresses through access capabilities for system and macro libraries. The final testing validates the COBOL calling interface and access to data files.

Table of Contents Previous Section Next Section A Very Simple Program

This is the first test case. It is a very simple program that is used to test the basic configuration options of the Assembler sub-System for a Micro Focus environment. Successful execution will validate the User environment can access the basic Assembler functions provided by Micro Focus.

Link to Internet   Link to Server   Explore a Very Simple Assembler Program that sets a return code to zero and does a return to the calling program. This program performs the same functions of IEFBR14.

Table of Contents Previous Section Next Section Various Formats of the WTO Macro

This test case is used to test the various formats of the Write-To-Operator Macro. Successful execution will validate the function provided by the Macro and confirm the configuration for the Macro Libraries (or Directories) provided by Micro Focus is correct.

Link to Internet   Link to Server   Explore the Formats for the WTO Macro that will display a message to the console or perform a Write-To-Operator.

Table of Contents Previous Section Next Section Macro Files, Maintain Unique Labels

This test case is used to test the techniques of creating a user macro file that maintains unique labels. Successful execution will validate the function provided by the Macro and confirm the configuration for the User-Defined Macro Libraries (or Directories) is correct.

Link to Internet   Link to Server   Explore the Formats and Guidelines for using Macro Files. The task of maintaining unique labels when using macro files to generate code that includes branch instructions can be a challenge. There are various techniques used to solve this problem and each has its own advantages and disadvantages.

Table of Contents Previous Section Next Section Non-Executable ASCII Members

The Micro Focus Assembler has the capability of producing non-executable load members. It is supported in an EBCDIC-encoded Development environment running on a Windows System. If an application is being moved to an ASCII-encoded environment the following may be required.

Link to Internet   Link to Server   Explore The technology to Generate Non-Executable Load Members from Mainframe Assembler Source Code for use with Micro Focus Enterprise Server on a Windows, Linux or UNIX System. This technology has the ability to generate a non-executable member for the EBCDIC or ASCII encoded environment.

Table of Contents Previous Section Next Section Technical Details

This section provides additional details about the Assembler sub-System and information about functionality and capabilities used in support of the Assembler sub-System.

Table of Contents Previous Section Next Section The MF370CTL Configuration File

The following(ASMMFCTL.cfg) is an example of a MF370CTL.cfg file that is provided by Micro Focus. This example contains some typical "user" modifications. It has been renamed to avoid overlaying the original MF370CTL.cfg file.

* *********************************************************************
*  ASMMFCTL.cfg - a Configuration File is for Micro Focus Assembler   *
*       This CFG Member is provided by SimoTime Technologies          *
*           (C) Copyright 1987-2015 All Rights Reserved               *
*             Web Site URL:   http://www.simotime.com                 *
*                   e-mail:   helpdesk@simotime.com                   *
* *********************************************************************
*
*  A copy of an MF370CTL.cfg Configuration File.
*  The parameters specified with the equal sign (=) may be submitted
*  as environment variables. Anything set as an environment variable
*  will overwrite the setting in this file.
*
*----------------------------------------------------------------------
[GLOBAL]
* GLOBAL-FLAGS:
* Flag-01  Y=32bit and Windows call SVC remapping N=don't call
* Flag-02, Y=Convert draw, graphics, color attributes, N=don't convert
* Flag-03, Y=use old MAC370, SYSPARM, OBJ370, WRK370 variables
*          N=use new Global section SYSIN, SYSOUT, SYSLIST etc
* Flag-04, Y=use Advanced emulator version of MFASM
* Flag-05, Y=user offered choice of continue/cancel job on user abends
*          N=job cancelled on user abends
GLOBAL-FLAGS N1NYNNNNNN
*         HORZ   ;WE-S   ;WE-N   ;VERT   ;SE     ;SW     ;NE     ;NW     ;NS-E   ;NS-W   ;PLUS
DRAW370-1 196=045;194=045;193=045;179=124;218=047;191=092;192=092;217=047;195=124;180=124;197=043
*
*----------------------------------------------------------------------
* The following environment variables take a single directory:
* SYSIN - Macro input .MLC files
SYSIN=.
*
* SYSLIST  - Assemble and Link listing files .MAT .PRN .LST
SYSLIST=.
* SYSWORK  - Assemble, Link and Animator/370 work files .BAL .IDF/.IDX
SYSWORK=.
* SYSPUNCH - Assemble output .PCH files for PUNCH statements
SYSPUNCH=.
* SYSMPC   - Assemble input precompiled macros .MPC
SYSMPC=.
* SYSLIN   - Link input .LIN files and Assemble output .OBJ files
SYSLIN=.
* SYSLMOD  - Link output load-member .390 files
SYSLMOD=.
*
* The following environment variables take multiple directories
* SYSLIB   - Assemble input macro and copy files .MAC .CPY
SYSLIB=.;C:\Program Files (x86)\Micro Focus\Enterprise Developer\include
MAC370=.;C:\Program Files (x86)\Micro Focus\Enterprise Developer\include
* OBJ370   - Link input .OBJ files (must contain SYSLIN)
OBJ370=.;C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0\base\lib
* STEPLIB  - Loader input load-members .390 files (must contain SYSLMOD)
STEPLIB=.;C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0\base\bin
*
* The following environment variable takes a single parameter
* SYSPARM  - Macro input SYSPARM value
SYSPARM=MF370
*
* The following environment variable allows the use of additional
* extensions for MACRO filename.ext
MACROEXT=CPY,MAC
*
*----------------------------------------------------------------------
* ANIM-FLAGS:
* Flag-01, Y=reset GO-mode to STEP-mode for each new member, N=No-reset
* Flag-02, 0-9, Default value for Go-Speed
* Flag-03, through Flag-09, reserved for future use
* Flag-10, Micro Focus use only, A=Anim/MVS, N=Noanim/MVS, T=TRanim/MVS
ANIM-FLAGS Y5YYNYNNNN
*
*----------------------------------------------------------------------
* CICS TRANSLATOR VARIABLES
* CICSRUN-FLAGS:
* Flag-01, Y=Null addresses from CICS are =x'FF000000'
*          N=Null addresses from CICS are =x'00000000'
CICSRUN-FLAGS NNNNNNNNNN
MCO-CMD-IN EPILOG PROLOG OPTIONS       ; default CICS Translator params
*
*----------------------------------------------------------------------
* COMPILER VARIABLES
SET-CMD-IN REPLACE ANIMATE OMF(390)    ; default Compiler params
CON370=-L                              ; set screen display off in Linker
*
*----------------------------------------------------------------------
* RUN TIME VARIABLES
MFPM=ON                   ; mainframe pointer manager is on by default
SVC370=MFI                ; set engine to MFI-mode
MEMSIZE=00000000,7FFFFFFF ; set valid address range
*
* THE FOLLOWING RUN TIME VARIABLES ARE OVERRIDDEN BY THE SETTINGS IN
* THE MAINFRAME EXPRESS IDE PROJECT, PROJECT OPTIONS PULLDOWN.
VM370=3000                ; set SQA size to 3Meg
AMODE370=31               ; run in 31-bit mode

Table of Contents Previous Section Next Section Ancillary Commands and Programs

This section describes the commands and/or programs that are used and/or shared with systems other than the Assembler sub-System.

Table of Contents Previous Section Next Section Set Common Environment Variables

The following(ENV1BASE.cmd) is the command that is used to set the common environment variables. This approach defines a single point where environment variables can be managed, changed and quickly implemented.

@echo OFF
rem  * *******************************************************************
rem  *               ENV1BASE.cmd - a Windows Command File               *
rem  *        This program is provided by SimoTime Technologies          *
rem  *           (C) Copyright 1987-2021 All Rights Reserved             *
rem  *             Web Site URL:   http://www.simotime.com               *
rem  *                   e-mail:   helpdesk@simotime.com                 *
rem  * *******************************************************************
rem  *
rem  * Text   - Provide a single point to set common environment variables.
rem  * Author - SimoTime Technologies
rem  * Date   - January 24, 1996
rem  *
rem  * Set the commonly used environment variables. This is used to provide
rem  * a single point for managing the commonly used environment variables.
rem  *
     set SimoLIBR=c:\SimoLIBR
     set BASELIB1=c:\SIMOSAM1\DEVL
     set BASELIB8=c:\SimoSAM8
     set BaseWIP1=c:\SimoSAM1\WIP1
     set DATAZERO=c:\SIMODATA\DEVL\DATA\ZERO
     set BASEAPP=%BaseLib1%
     set BASESYS=%BaseLib1%\SYS1
     set BASECAT=%BaseLib1%\DATA
     set UMAPALIB=%BASECAT%\ASC1
     set UMAPELIB=%BASECAT%\EBC1
     set SYSLOG=%BASESYS%\LOGS\SYSLOG_USER.DAT
     set SYSOUT=%BASEAPP%\LOGS\SYSOUT_SIMSAM01.txt
     set SLZMSG=%BASEAPP%\LOGS\SLZMSG_USER.TXT
     set PostNOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.TXT
     set SIMONOTE=%BASEAPP%\LOGS\JOBLOG_SIMONOTE.txt
     set USERPOST=%BASEAPP%\LOGS\ASSIGNED_USER_POST_FILE.txt
     if [%1]==[] goto NO_POST
     set SYSOUT=%BaseLib1%\LOGS\SYSOUT_%1.txt
     call SIMONOTE "+ ENV1BASE *"
     call SIMONOTE "+ ENV1BASE ********************************************************************%1"
     call SIMONOTE "+ ENV1BASE is preparing the System Environment..."
     call SIMONOTE "+ SIMOLIBR is %SIMOLIBR%"
     call SIMONOTE "+ MIFOSYS1 is %MIFOSYS1%"
     call SIMONOTE "+ BASELIB1 is %BASELIB1%"
:NO_POST
     call SIMONOTE "+ SIMONOTE Job Log File is %SIMONOTE% "
rem  *
     set MQBASE=C:\Program Files\IBM\WebSphere MQ
rem  *
rem  * Set the location for the Apache-Tomcat Server...
     set CATALINA_HOME=C:\APACHETC\apache-tomcat-7.0.52
rem     set CATALINA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_112
rem  *
rem  * Set the Environment for the Java Environment...
rem     set JAVABASE=C:\APACHETC\apache-tomcat-7.0.52
     set JAVABASE=C:\Program Files (x86)\Java\jdk1.8.0_112
     set JAVASDK="%JAVABASE%\bin"
     set JAVA_HOME=%JAVABASE%
     set JRE_HOME=%JAVABASE%
     set SIMOTCAT=%CATALINA_HOME%\webapps\simotcat
     set SIMPACKS=%CATALINA_HOME%\webapps\simotcat\WEB-INF\classes\simpacks
rem  *
rem  * Set the environment for the Micro Focus technology...
     set MIFOEDEV=C:\Program Files (x86)\Micro Focus\Enterprise Developer
     set MIFOVCBL=C:\Program Files (x86)\Micro Focus\Visual COBOL Build Tools
     set MIFOESTU=C:\Program Files (x86)\Micro Focus\Studio Enterprise Edition 6.0
     set MIFOEMFE="C:\Program Files (x86)\Micro Focus\Mainframe Express"
rem  *
rem  * Large file support, performance tuning and record locking of the File Handler
     set EXTFH=%BASESYS%\CONFIG\EXTFHBIG.CFG
rem  *
rem  * For IMS Support
     set ES_IMSLIB=%BASEAPP%\IMSLIB
     set ES_ACBLIB=%BASEAPP%\IMSLIB
rem  *
rem  * EZASOKETS Check EZASOKETS Enabled box or set ES_EZASOKET_SUPPORT=YES
     set EZACONFG=BASESYS1\CONFIG\EZACONFG.dat
rem  *
rem  * Resource Allocation and Performance for SORT and non-Relational Data
rem  set MFJSENGINE=SYNCSORT
     set SORTSCHEME=1
     set SORTSPACE=750000000
     set TMP=C:\SORTWORK
rem  *
     set ES_ALLOC_OVERRIDE=%BASESYS%\CONFIG\CATMAPA1.cfg
rem  * For CORE_ON_ERROR function, ABEND Dump
rem  *     set COBCONFIG_=%BASESYS%\CONFIG\diagnose.cfg
rem  *
rem  * Consolidated Trace Facility (CTF)
rem  *     set MFTRACE_CONFIG=%BASESYS%\CONFIG\ctf.cfg
rem  *     set MFTRACE_LOGS=c:\ctflogs
rem  *
rem  * For Job Restart, ABEND Recovery
     set MF_UCC11=Y
     set ES_JES_RESTART=Y
rem  *
rem  * Set environment for MFBSI (Micro Focus Batch Scheduling Interface)
     set ES_EMP_EXIT_1=mfbsiemx
     set MFBSI_DIR=%BASESYS%\LOGS\%JESSERVERNAME%
     set MFBSIEOP_CMD=ENABLE
     set MFBSIEOP_CSV=ENABLE
     set MFBSIEOP_HTM=ENABLE
     set MFBSIEOP_XML=ENABLE
rem  *
rem  * Set Behavior and Trace Flags for GETJOBDD
rem  *   Position=12345678/12345678
     set JDDFLAGS=nnnWnnnn/YYnnnnnn
rem  *
rem  * If not already set then set the PATH for Micro Focus Directories
     if "%SIMOPATH%" == "Y" goto JUMPPATH
     if "%MIFOSYS1%" == "EDEV" goto JUMPEDEV
     if "%MIFOSYS1%" == "VCBL" goto JUMPVCBL
     if "%MIFOSYS1%" == "ESTU" goto JUMPESTU
     if "%MIFOSYS1%" == "EMFE" goto JUMPEMFE
:JUMPEDEV
     set path=%BASESYS%\LOADLIB;%MIFOEDEV%\bin;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOEDEV%\CPYLIB
     set MIFOBASE=%MIFOEDEV%
     goto JUMPPATH
:JUMPVCBL
     set path=%MIFOVCBL%\bin;%MIFOVCBL%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set MIFOBASE=%MIFOVCBL%
     goto JUMPPATH
:JUMPESTU
     set MIFOBASE=%MIFOESTU%\Base
     set MIFOBIN=%MIFOBASE%\bin
     set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
     goto JUMPPATH
:JUMPEMFE
     set MIFOBASE=%MIFOEMFE%\Base
     set MIFOBIN=%MIFOBASE%\bin
     set path=%BASESYS%\LOADLIB;%MIFOBASE%;%MIFOBIN%;%JAVASDK%;%BASEAPP%\JAVA;%PATH%;
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%;%MIFOBASE%\SOURCE
     goto JUMPPATH
rem  *
:JUMPPATH
     set SIMOPATH=Y
rem  *
     set MAINFRAME_FLOATING_POINT=true
     set COBIDY=%BASEAPP%\COBIDY
     set COBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
     set LIBPATH=.;%BASEAPP%\LOADLIB;%BASEAPP%\LOADLIB\GNTS;%BASESYS%\LOADLIB;%SimoLIBR%
     set TXDIR=%BASESYS%\LOADLIB;%MIFOBASE%
     set CobCpy=%BASEAPP%\CobCpy1;%BASEAPP%\CobCpy2;%BASEAPP%\CobCpy6;%SimoLIBR%
rem  *
     set USERCLASS=%BASELIB1%\LOADLIB
     set CLASSPATH=.
     set CLASSPATH=%CLASSPATH%;%JAVABASE%
     set CLASSPATH=%CLASSPATH%;%JAVABASE%\lib
     set CLASSPATH=%CLASSPATH%;\%USERCLASS%\simpacks
     set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes
     set CLASSPATH=%CLASSPATH%;C:\APACHETC\apache-tomcat-7.0.52\webapps\simotcat\WEB-INF\classes\simpacks
rem  *
     if "%MIFOSYS1%" == "ESTU" set CLASSPATH=%CLASSPATH%;%MIFOBIN%
     if "%MIFOSYS1%" == "EDEV" set CLASSPATH=%CLASSPATH%;%MIFOEDEV%
     if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%
     if "%MIFOSYS1%" == "VCBL" set CLASSPATH=%CLASSPATH%;%MIFOVCBL%\bin\mfcobol.jar
rem  *
     set JobStatus=0000
     call SIMONOTE "+ ENV1BASE is returning to caller"


Table of Contents Previous Section Next Section Display and Log Messages

The following(SIMONOTE.cmd) is the command that is used to display and log messages in a consistent manner. The display function provides a system user with quick visual feedback while the logging facility provides support and management with review and after the fact information.

@echo OFF
rem  * *******************************************************************
rem  *               SIMONOTE.cmd - a Windows Command File               *
rem  *         This program is provided by SimoTime Technologies         *
rem  *            (C) Copyright 1987-2019 All Rights Reserved            *
rem  *              Web Site URL:   http://www.simotime.com              *
rem  *                    e-mail:   helpdesk@simotime.com                *
rem  * *******************************************************************
rem  *
rem  * Text    - Display message on screen and write to a log file.
rem  * Author  - SimoTime Technologies
rem  *
rem  * This script may be called from other scripts and expects a single
rem  * parameter enclosed in double quotes. The double quotes will be
rem  * removed. Before writing to the log file a date and time stamp
rem  * will be inserted in front of the message text.
rem  *
rem  * Note: The tilde (~) removes leading/trailing double-quotes.
rem  *
if "%SimoNOTE%" == "" set SimoNOTE=c:\SimoLIBR\LOGS\SimoTime.LOG
echo %date% %time% %~1>> %SimoNOTE%
echo %~1

Table of Contents Previous Section Next Section Summary

This document provides an introduction to the installation, configuration and usage of the mainframe assembler capability on a Windows System using Micro Focus technology and Enterprise Developer. This document may be used to assist as a tutorial for new programmers or as a quick reference for experienced programmers.

In the world of programming there are many ways to solve a problem. This documentation and software were developed and tested on systems that are configured for a SIMOTIME environment based on the hardware, operating systems, user requirements and security requirements. Therefore, adjustments may be needed to execute the jobs and programs when transferred to a system of a different architecture or configuration.

SIMOTIME Services has experience in moving or sharing data or application processing across a variety of systems. For additional information about SIMOTIME Services or Technologies please contact us using the information in the  Contact or Feedback  section of this document.

Table of Contents Previous Section Next Section Software Agreement and Disclaimer

Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Technologies. Once the fee is received by SimoTime the latest version of the software, documentation or training material will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Technologies.

SimoTime Technologies makes no warranty or representations about the suitability of the software, documentation or learning material for any purpose. It is provided "AS IS" without any expressed or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Technologies shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software, documentation or training material.

Table of Contents Previous Section Next Section Downloads and Links

This section includes links to documents with additional information that are beyond the scope and purpose of this document. The first group of documents may be available from a local system or via an internet connection, the second group of documents will require an internet connection.

Note: A SimoTime License is required for the items to be made available on a local system or server.

Table of Contents Previous Section Next Section Current Server or Internet Access

The following links may be to the current server or to the Internet.

Link to Internet   Link to Server   Explore the Assembler Connection for more examples of mainframe Assembler programming techniques and sample code.

Link to Internet   Link to Server   Explore The ASCII and EBCDIC Translation Tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.

Link to Internet   Link to Server   Explore The File Status Return Codes that are used to interpret the results of accessing VSAM data sets and/or QSAM files.

Table of Contents Previous Section Next Section Internet Access Required

The following links will require an internet connect.

A good place to start is The SimoTime Home Page for access to white papers, program examples and product information. This link requires an Internet Connection

Explore The Micro Focus Web Site for more information about products (including Micro Focus COBOL) and services available from Micro Focus. This link requires an Internet Connection.

Table of Contents Previous Section Next Section Glossary of Terms

Link to Internet   Link to Server   Explore the Glossary of Terms for a list of terms and definitions used in this suite of documents and white papers.

Table of Contents Previous Section Next Section Contact or Feedback

This document was created and is maintained by SimoTime Technologies. If you have any questions, suggestions, comments or feedback please use the following contact information.

1. Send an e-mail to our helpdesk.
1.1. helpdesk@simotime.com.
2. Our telephone numbers are as follows.
2.1. 1 415 763-9430 office-helpdesk
2.2. 1 415 827-7045 mobile

 

We appreciate hearing from you.

Table of Contents Previous Section Next Section Company Overview

SimoTime Technologies was founded in 1987 and is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. Our customers include small businesses using Internet technologies to corporations using very large mainframe systems.

Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. We specialize in preparing applications and the associated data that are currently residing on a single platform to be distributed across a variety of platforms.

Preparing the application programs will require the transfer of source members that will be compiled and deployed on the target platform. The data will need to be transferred between the systems and may need to be converted and validated at various stages within the process. SimoTime has the technology, services and experience to assist in the application and data management tasks involved with doing business in a multi-system environment.

Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com


Return-to-Top
Micro Focus 390 Assembler, Compile and Execute in a Windows Environment
Copyright © 1987-2025
SimoTime Technologies and Services
All Rights Reserved
When technology complements business
http://www.simotime.com