Follow

Elastic Batch Platform Configuration Properties Reference Manual

 

 

HEIRLOOM COMPUTING

Elastic Batch Platform

Configuration Reference

The definitive reference for all supported EBP configuration properties. A single, comprehensive guide covering EBP, RAC, and HSORT settings, including descriptions, default values, and usage information.

 

BUILD VERSION

26.5.31.RC2

BUILD DATE

Sun May 31 2026 (UTC)

PARAMETERS

187 documented

 

Contents

Logging & Console Messages  (7)Job Timing & Aging  (6)Data Control Block (DCB & DCBDB)  (19)
Spool & Directory Settings  (9)Dataset Naming & Catalog  (8)Security & Access Control (RAC)  (58)
Libraries & Classpath  (4)EBP-Plex (Multi-Node Cluster)  (10)Debugging  (5)
Execution Commands  (7)System & Locale  (4)Exit Handlers & Extensibility  (3)
Parameter Handling  (3)Scheduling & Cloud Service  (5)Restart & Recovery  (2)
Output Classes & Routing  (4)Batch HourGlass (Time Simulation)  (2)FAQS Automation  (2)
PARMLIB, Aliases & Symbolics  (14)HSORT (Sort Engine)  (12)Miscellaneous  (3)


How to read this reference

Every EBP configuration property carries the ebp. prefix and lives in the ebp.properties file in the Web application deployment directory (or an external directory named by the ebppropdir environment variable). Values persist until the EBP subsystem is redeployed. Numbered families such as systemlib.n accept multiple entries (systemlib.1, systemlib.2, …); named families such as output.XXXX and parmlib.XXXX use a user-defined key. Where a default is defined it appears in parentheses at the end of each description.

Upgrade note:  Updating EBP replaces ebp.properties with the version default. Use the SAVE button before upgrading and LOAD afterward to restore your settings.

Logging & Console Messages     7 settings

How EBP emits messages to the server logs and the system console, and how those logs are located, sized and archived.

 
 PropertyDescription
 ebp.errorlevelLevel of error messages reported on the application server's logs: S, E, W, I or D for severe, error, warning, informational or debugging; set to D when using rac.debug or hsortlog for detailed diagnostics (default: I)
 ebp.logebpconsolemsgControls whether the EBP Console messages are logged to a file at all (yes | no; default: no)
 ebp.loglocationLocation of the log file for EBP Console messages; specify the full path (e.g., C:\logs\ebp.output.log); if not specified, defaults to the EBP home directory with file name ebp.output.log
 ebp.loglocationpatternLocation and pattern of the archive logs (archived daily); specify the full path and archive pattern (e.g., C:\logs\app.%d{yyyy-MM-dd}.%i.log.gz); if not specified, defaults to the EBP home directory with that pattern
 ebp.logsizeLog size limit after which the log is archived and a new log file is created (default: 20MB)
 ebp.messagesWhether messages are generated on the application server's output and error logs or in the output.CONSOLE output spooler specification (yes | no; default: yes)
 ebp.msgleveloverrideForces the JCL MSGLEVEL=(statements,messages) for every job, overriding whatever each job's own JCL requests; written as two digits in the form (statements,messages), each from 0 to 4, where the first controls how much of the JCL is echoed to the log and the second how many system messages appear. Higher numbers show more detail; leave blank to let each job keep its own MSGLEVEL.

 

Spool & Directory Settings     9 settings

Locations for submitted jobs, output, temporary work and the persistent object store.

 
 PropertyDescription
 ebp.db.objectstoreChooses where EBP keeps its job bookkeeping (job inputs and outputs, catalog, operator messages, and similar). Set to yes to store this information in a database; no (the default) keeps it in XML files on disk. See also objectstore and storefilename for the file location, and persistjobiodata.
 ebp.deletescriptAn optional program or script that EBP runs whenever a job's datasets are fully cleaned up (not just its temporary files); EBP passes the job number as the only argument so you can add your own custom cleanup, and leaving it blank (the default) does nothing.
 ebp.jobspoolDefault input spool directory; holds submitted datasets (default: job_input_queue)
 ebp.keeptempfilesSet to yes to retain temp files created for a JOB run; temp files are stored in the tempspool directory (yes | no; default: no)
 ebp.objectstorePath to the directory containing the Object Store files
 ebp.outputspoolDefault output spool directory; holds output datasets associated with SYSOUT=class DD cards or standard out/error files for scripts and command line programs; referenced by output.XXXX when using the hold disposition (default: job_output_queue)
 ebp.persistjobiodataControls whether each job's input deck and output listings are stored inside the job's saved record rather than only pointed to; with yes the JCL and message output are embedded so they stay with the job, with no (the default) EBP keeps them in a separate spool file on disk and stores only a reference. Interacts with db.objectstore and jobspool.
 ebp.storefilenamePersistent object storage file
 ebp.tempspoolDefault location of temporary datasets and working directories for running programs; see also keeptempfiles to retain these files after a job completes (default: temp_spool)

 

Libraries & Classpath     4 settings

Where EBP looks for executable programs, datasets, cataloged procedures and Java classpath entries.

 
 PropertyDescription
 ebp.classlibCLASSPATH entries passed to programs such as ecobol and java that have a '-cp' option; path-separator-separated directories (containing .class files) or jar files (colon on Linux, semicolon on Windows); note: J2EE servers and servlet containers such as Tomcat often do not pass $CLASSPATH (default: $CLASSPATH)
 ebp.datalibLocation where datasets referenced on DD cards may be found; may contain environment variables; $HOME is the deployment home directory; also the default location for database-based DCB files (VDB, VSQL) (default: /data)
 ebp.jcllibLocation where system cataloged procedures referenced in EXEC PROC steps are found; may contain environment variables; $HOME is the deployment home directory (default: $HOME/jcl_system_lib)
 ebp.systemlibLocations of system library directories where main programs on the EXEC PGM= statement may be found (e.g., systemlib.9=/usr/bin allows EXEC=echo); may be directories or Java packages and may contain environment variables; $HOME is the Web server's deployment home directory; see also alias.XXXX (default: com.heirloomcomputing.pgm, /data)

 

Execution Commands     7 settings

The commands used to launch Java, Python, shell and native programs referenced on EXEC cards.

 
 PropertyDescription
 ebp.checkpointcommandSet 'checkpointcommand.A' to an external checkpoint launch command (e.g., dmtcp_launch) for Class A jobs for process-level restart
 ebp.ebpstartcommandA command that sets operating system resource restrictions before starting the Java, Python or executable on the EXEC card; CPU time from job class, JOB and STEP cards is regulated with this wrapper; specify as a relative path, e.g., ../../bin/ebpstart_Linuxx86_64 (default: none - CPU time specifications are not enforced)
 ebp.javacommandCommand to issue to start programs found ending in .class, such as standard utilities; see also classlib.n for classpath settings (default: java)
 ebp.javajarcommandCommand to issue to start programs contained in a jar file, such as the COBOL executables; see also classlib.n for the classpath available to these programs (default: java -jar)
 ebp.pythoncommandCommand issued to start scripts running under a Python interpreter class and by TSO for % Python scripts (SYSEXEC DD datasets with .PY suffix); scripts start with #!/usr/bin/python and carry job parameters on the second line (default: python)
 ebp.restartcommandSet 'restartcommand.A' to an external restart command (e.g., dmtcp_restart) for Class A jobs for process-level restart
 ebp.scriptcommandOther script interpreters for job type SCRIPT (first line #!/bin/bash may override)

 

Parameter Handling     3 settings

How JCL PARM= values and symbolic parameters are parsed and delivered to programs.

 
 PropertyDescription
 ebp.immediatesymbolreplacementReplace symbolic parameters (e.g., &DEPT) inside immediate file (DD *) data if yes; see Symbolics and the PARMLIB for the full list (default: no)
 ebp.parmcountNumber of args passed to a program from a JCL PARM= clause; parm split by spaces into UNIX-style argc/argv or kept as one large string; use 1 for IBM MVS compatibility and 256 for Linux/UNIX; see also parmempty (number 1-256; default: 256)
 ebp.parmemptyHow a PARM= evaluating to "" is passed: a single zero-length argument or no argument at all; use no for IBM MVS compatibility and yes for Linux/UNIX; see also parmcount (yes | no; default: no)

 

Output Classes & Routing     4 settings

Disposition of SYSOUT output by class, MSGCLASS combination and destination routing.

 
 PropertyDescription
 ebp.destdispatch.implementationThe Java class that handles routing spool output to a destination (POWER-style DEST/queue handling); EBP launches this class as a separate process, passing it the spool file, output class, type, destination and job details. Leave blank if you do not route output this way, in which case any routing request is rejected. See also stepexithandler, jobexithandler and vse.userprophandler, which are launched the same way.
 ebp.lstspoolfiles.fbaFor VSE (POWER) jobs, controls whether listing-queue (LST) spool files sent to a printer are treated as fixed-block ASA (FBA) format; when true, printer output that comes from an LST queue is forced into line-sequential FBA layout, false (the default) leaves it unchanged.
 ebp.msgclasscombineCombine all SYSOUT=* output into a single MSGCLASS output dataset; applies to all output classes defined in output.XXXX (yes | no; default: yes)
 ebp.outputOutput class specifiers by class name (A, B, C), DEFAULT or CONSOLE; value may be none (discard), hold (in outputspool under a job name subdirectory), log log-name (Java Logger/log4j), lpr parms (pipe to lpr) or an arbitrary command such as cat >>afile; DEFAULT covers classes not overridden; CONSOLE is the EBP system console and hold rolls the log daily into outputspool (defaults: DEFAULT=hold, CONSOLE=none, L=log, P=lpr, Y=hold, Z=none)

 

PARMLIB, Aliases & Symbolics     14 settings

User-definable symbolics available to JCL and program-name alias substitutions.

 
 PropertyDescription
 ebp.aliasReplace EXEC PGM names with aliases, such as SORT having a value SYNCSORT, to force it as the default over Linux sort; the alias is resolved before searching systemlib.n directories
 ebp.alias.DFSORTDFSORT invokes HSORT
 ebp.alias.SORTSORT invokes HSORT
 ebp.alias.SYNCSORTSYNCSORT invokes HSORT
 ebp.parmlib.DEPTOur department name (IT)
 ebp.parmlib.SYSALVLThe architecture level of the system (J for Java)
 ebp.parmlib.SYSCLONEShorthand notation for the name of the system; often used in fields that are limited to two characters (HC for Heirloom Computing)
 ebp.parmlib.SYSGIDThe current group (EBP)
 ebp.parmlib.SYSNAMEThe name of the system (HCIEBP for Heirloom Computing Elastic Batch Platform)
 ebp.parmlib.SYSPLEXThe name of the sysplex (HCIEBP for Heirloom Computing Elastic Batch Platform)
 ebp.parmlib.SYSR1The IPL Volume Serial name (HCI001)
 ebp.parmlib.SYSUIDThe current user (EBP)
 ebp.parmlib.dynamcpuCA Dynam/D @ substitution (A)
 ebp.parmlib.dynampartitionCA Dynam/D == substitution (AA)

 

Job Timing & Aging     6 settings

Inter-step, inter-job and idle polling delays plus automatic purging of completed jobs.

 
 PropertyDescription
 ebp.initiatordelayDelay up to n milliseconds while idle or quiesced initiators look for jobs; see also jobdelay and jobstepdelay (default: 30000 = 30 sec)
 ebp.jobdelayDelay up to n milliseconds between jobs within an initiator; see also jobstepdelay and initiatordelay (default: 10000 = 10 sec)
 ebp.jobstepdelayDelay up to n milliseconds between steps within a job; see also jobdelay and initiatordelay (default: 100 = 0.1 sec)
 ebp.maxjobageMaximum retention period in minutes for completed jobs before they are eligible for automatic purging; purged job output is removed from the outputspool directory; see also maxjobagefrequencyindays and maxjobagestarttime (default: 0 = never purge)
 ebp.maxjobagefrequencyindaysExecution interval in days for the automatic job-aging purge process (integer; default: 1 = daily)
 ebp.maxjobagestarttimeHour of day (0-23, 24-hour format) when the automatic job-aging purge process starts (integer; default: 2 = 2:00 AM)

 

Dataset Naming & Catalog     8 settings

How new dataset names are mapped to the file system, catalog handling, GDG rules, tape libraries and encoding.

 
 PropertyDescription
 ebp.checkbackrefTurns on an extra safety check of your JCL before a job runs. When a step looks back at an earlier step's result (for example an IF test on STEP1.RC), EBP confirms that the earlier step name actually exists in the job; set to yes to catch typos in those references up front, no (the default) skips the check.
 ebp.defaultjobencodingThe character set used to read and write submitted job files (JCL/JCS, PROCs, previews, punch output) when nothing more specific is supplied; defaults to utf-8, with iso-8859-1 the common alternative. Any valid character-set name is accepted and an unrecognized one falls back to utf-8.
 ebp.ignorevsamcatalogsControls how a CAT= catalog name on a DD statement affects the dataset name; with no (the default) the catalog name is added to the front of the dataset name as a high-level qualifier, with yes the CAT= catalog name is ignored and the dataset name is left unchanged.
 ebp.largefilesizembsThe size in megabytes above which a data file is treated as large; the shipped value is 2 MB, and if the setting is removed the built-in fallback is 10 MB.
 ebp.mainframe.gdg.protocolEnforces strict mainframe rules for Generation Data Groups (GDGs); when true a GDG base must already exist before a new generation such as (+1) can be created, and trying to create one without a base fails the step, false (the default) allows the new generation without requiring a base first. (Separate from the COBOL runtime's own MAINFRAME-GDG-PROTOCOL profile setting, which defaults to true.)
 ebp.newdsndirectoryNew DSNs created as directory hierarchies; 'A.B.C(D)' becomes 'A/B/C/D' if yes, 'A.B.C/D' if no; affects how datasets are stored within datalib.n directories; see also newdsnlowercase (default: no)
 ebp.newdsnlowercaseNew DSNs created as lower case; 'A.B.C(D)' becomes 'a/b/c/D' or 'a.b.c/D' if yes; works in combination with newdsndirectory (default: no)
 ebp.tape.IBMVTS.locationPoints a JCL UNIT name to a folder that acts as a virtual tape library; here UNIT=IBMVTS maps to the given folder, and datasets on that unit are read from and archived into it. The part after 'tape.' is the UNIT name, so several units can be defined (e.g. tape.IBMVTS.location, tape.TAPE.location); the folder should sit inside a datalib.n directory. Leave unset if you do not use tape libraries.

 

EBP-Plex (Multi-Node Cluster)     10 settings

Clustered operation across multiple nodes: node identity, peer wiring, data locking and default classes.

 
 PropertyDescription
 ebp.database.ebp.consolemsgWrite EBP console messages to the database (in addition to the server logs) so they can be searched and archived; used with EBP-Plex clustered operation (true | false)
 ebp.ebpplex.configpollintervalInterval in milliseconds at which an EBP-Plex node polls for changes to classes and initiators (default: 1000 = 1 second)
 ebp.ebpplexauthIn a multi-node EBP, the basic HTTP authentication string (before encryption) used between secure servers (e.g., myuser:mypassword); ensure ebp.properties is properly access-controlled when this value is set
 ebp.ebpplexnodeIn a multi-node EBP (EBP-Plex), the Web service location of this node (e.g., http://10.20.30.40:8080/ebp); must be set together with ebpplexpeer
 ebp.ebpplexpeerIn a multi-node EBP, the Web service location of one other node in the EBP-Plex (e.g., http://10.20.30.41:8080/ebp); must be set together with ebpplexnode
 ebp.ebpplexstatusEBP-Plex multi-node operation status
 ebp.nodeIDUnique identifier for this EBP node within an EBP-Plex; if plex is enabled and no nodeID is defined by the user, a UUID is generated automatically (e.g., ebpNode1)
 ebp.plex.defaultclassAutomatically create JCL job classes and initiators on node startup, as ebp.plex.defaultclass.JCL.<class>=<number of initiators> (e.g., ebp.plex.defaultclass.JCL.A=1); applied only if the node has no classes already configured/persisted in the db object store
 ebp.plex.enabledEnable EBP-Plex clustered operation so multiple nodes share common data/spool directories and coordinate shared/exclusive dataset access and unique job numbering; if not set, the node operates independently even if directories overlap (true | false; default: false)
 ebp.plex.enabled.datalockIn an EBP-Plex, enable inter-node data locking coordination for shared/exclusive dataset access (true | false)

 

System & Locale     4 settings

System banner name plus language, country and timezone settings that affect messages and symbolics.

 
 PropertyDescription
 ebp.countryInternational locale code for alternative EBP error message files; blank uses the server/JVM locale; works together with language (default: US)
 ebp.languageInternational locale code for alternative EBP error message language; blank uses the server/JVM locale; works together with country (default: en)
 ebp.sysnameBanner setting on console and logs; also available as the &SYSNAME symbolic (default: HCI EBP)
 ebp.timezoneTimezone for dates within MSG and SYSOUT dataset messages; also affects the local-time symbolics (LDATE, LHHMMSS, etc.) (default: GMT)

 

Scheduling & Cloud Service     5 settings

Polling the Heirloom cloud (or local) scheduler for incoming work.

 
 PropertyDescription
 ebp.applicationSchedule tasks for this application name from the hciservice portal; '*' for all tasks (default: my-scheduled-tasks)
 ebp.hciserviceRESTful service end-point for the cloud (global or local) scheduler; used by scheduler polling and application task retrieval (default: https://paas.heirloomcomputing.com/rest/2017-01-01/)
 ebp.schedulerPoll the scheduler at hciservice every few seconds (default: yes)
 ebp.schedulingCurrently polling the scheduler for incoming jobs (read only) (default: yes)
 ebp.taskscopeScope of tasks retrieved from the scheduler (user, group or all) based on subscriber ID; only relevant when scheduler is enabled (default: user)

 

Batch HourGlass (Time Simulation)     2 settings

IBM HourGlass integration for simulating the clock seen by batch jobs.

 
 PropertyDescription
 ebp.hourglass.activeControls activation of the IBM HourGlass time-simulation system for batch jobs (yes | no; default: no)
 ebp.hourglass.prefixThe two-character prefix that HourGlass dummy DD statements use as identifier (e.g., HG)

 

HSORT (Sort Engine)     12 settings

Tuning and behavior of the HSORT high-performance sort/merge engine.

 
 PropertyDescription
 ebp.fileforsort.charsetThe character set assumed for files handed to the sort subsystem, so records are read and compared using the correct alphabet; defaults to ISO-8859-1.
 ebp.hsort.abendrcControls whether a badly failed sort actually stops the job; when set to true, an HSORT sort that ends with a return code of 16 or higher is recorded as an abend so the job halts instead of continuing. Any other value, or leaving it unset (the default), lets the job carry on. Note only the literal value true works here — yes is not accepted.
 ebp.hsort.bufferSizeThe I/O buffer size, in bytes, used when reading and writing (default: 8192)
 ebp.hsort.defaultMaxMemoryDefault amount of memory used by HSORT for all jobs; overridden if the STEPMEM step parameter is set in JCS-type jobs; K, M or G unit symbols may be used (e.g., 1024K, 1024M, 1G); blank lets HSORT choose based on available memory
 ebp.hsort.initialSortInParallelWhether the initial in-memory sort of each chunk runs in parallel; set to yes to use multiple threads for the initial sort (default: no)
 ebp.hsort.maxFilesPerMergeHow many work files HSORT merges in a single pass; if a sort produces more work files than this, it merges in multiple passes (default: 100)
 ebp.hsort.maxItemsPerFileHow many records HSORT holds before writing a sorted chunk to a temporary work file; higher values use more memory but create fewer work files (default: 100000)
 ebp.hsort.statistics.reversedOrderOrder of HSORT record-written statistics; straight order follows the order of the DD file names defined in the JCL, reversed order matches the mainframe implementation (true | false; default: false)
 ebp.hsort.statistics.useSORTOFddnamesWhether to use the DDName or the output file name to identify where the records are written (true | false; default: false)
 ebp.hsort.streamingoutfilReserved HSORT setting;
 ebp.hsort.tempdirDirectory where HSORT writes its temporary work files; blank uses the JVM's default temporary directory
 ebp.hsortlogAdditional logging in HSORT such as number of records written to files periodically if true; requires errorlevel set to D for full detail (true | false; default: false)

 

Data Control Block (DCB & DCBDB)     19 settings

Default dataset attributes when no catalog entry exists, and the database-backed DCB configuration.

 
 PropertyDescription
 ebp.cobolconfigPath to the COBOL configuration file that tells the COBOL runtime where to find the DCB configuration file, avoiding sensitive credentials on the java command line (e.g., /data/system/ebp.cobolconfig)
 ebp.dcb.DEFAULTDefault DCB attributes when no .dcb file can be found; of the form 'dcb.datasetname|DEFAULT-dcbsetting=dcbvalue'
 ebp.dcb.DEFAULT-blksizeThe default dataset block size for blocked (VB, FB) record formats (none)
 ebp.dcb.DEFAULT-charsetThe default dataset character set encoding when DCB is missing and cannot be determined by the DD card (iso-8859-1)
 ebp.dcb.DEFAULT-dsorgThe default dataset organization when DCB is missing and cannot be determined by the DD card (PS)
 ebp.dcb.DEFAULT-keylenThe default dataset primary key length (for INDEXED orientation) when DCB is missing and cannot be determined by the DD card (none)
 ebp.dcb.DEFAULT-keyoffThe default dataset primary key offset (for INDEXED orientation) when DCB is missing and cannot be determined by the DD card (none)
 ebp.dcb.DEFAULT-lreclThe default dataset logical record length, but not LINESEQUENTIAL orientation (none)
 ebp.dcb.DEFAULT-orientThe default dataset orientation when DCB is missing and cannot be determined by the DD card (LINESEQUENTIAL)
 ebp.dcb.DEFAULT-protoThe default file protocol when DCB is missing and cannot be determined by the DD card (none)
 ebp.dcb.DEFAULT-proto.VFThe default file protocol for variable length files when DCB is missing and cannot be determined by the DD card (none)
 ebp.dcb.DEFAULT-recfmThe default dataset record format when DCB is missing and cannot be determined by the DD card (V)
 ebp.dcb.dcb.db.driverJDBC driver class for the database-backed DCB (DCBDB) Table DCB (e.g., org.postgresql.Driver); the driver jar must be on classlib.n or in the container lib directory
 ebp.dcb.dcb.db.jndiOptional JNDI data source name for the database-backed DCB (DCBDB) connection, used instead of an explicit driver/url
 ebp.dcb.dcb.db.passPassword for the database-backed DCB (DCBDB) database connection; secure the ebp.properties and cobolconfig files as they contain credentials
 ebp.dcb.dcb.db.tableTable name (or suffix) holding the Table DCB catalog entries for the database-backed DCB (DCBDB)
 ebp.dcb.dcb.db.urlJDBC URL of the database-backed DCB (DCBDB) database (e.g., jdbc:postgresql://localhost/mydb)
 ebp.dcb.dcb.db.userUser name for the database-backed DCB (DCBDB) database connection
 ebp.dcb.dcb.mode.dbEnable database-backed DCB (DCBDB) Table DCB mode if 'yes'/'true' (default: no)

 

Security & Access Control (RAC)     58 settings

Authentication, authorization and LDAP directory integration, roles and dataset-level access rules.

 
 PropertyDescription
 ebp.adminroleThe authenticated user's role to define job classes, start initiators, change configuration (default: EBP-admin)
 ebp.apisecurityEnable basic HTTP authentication for the EBP Console API; set to on to require authentication (on | off; default: off)
 ebp.rac.alternateurlIf a socket connection cannot be made to the provider at connectionurl, an attempt is made to use this alternateurl (none)
 ebp.rac.authenticationType of authentication to use: none, simple, strong or a provider-specific definition; the provider's default is used if no value is given (none)
 ebp.rac.cachesizeCache the most recently used resource access permissions and users (separately) up to this many entries; works in conjunction with cachetime (default: 5000)
 ebp.rac.cachetimeCache resource access permissions and user authentications for this many minutes before rechecking the directory server; works with cachesize; note some Java App Servers also cache, which may need disabling for RAC caching to take effect (default: 480 minutes)
 ebp.rac.classThe RAC module implementing com.heirloomcomputing.ecc.IRAC that is instantiated to handle authorization and authentication requests (default: com.heirloomcomputing.ecc.RAC)
 ebp.rac.classpathClasspath to a jar file used to locate rac.class if the JEE Application Server or Servlet Container classpath does not already include the RAC module (none)
 ebp.rac.commonroleA role name assigned to each successfully authenticated user in addition to the roles retrieved from LDAP; if not specified, only LDAP roles are used (none)
 ebp.rac.connectionnameThe directory distinguished name (e.g., cn=Manager,dc=example,dc=com) used when connecting to the directory for LDAP search operations; an anonymous connection is made if not specified; must be set together with connectionpassword (none)
 ebp.rac.connectionpasswordThe directory password used when connecting to the directory for LDAP search operations; an anonymous connection is made if not specified; must be set together with connectionname; ensure ebp.properties has appropriate file-system permissions when set (none)
 ebp.rac.connectiontimeoutTimeout in milliseconds when establishing the connection to the LDAP directory (default: 5000 = 5 seconds)
 ebp.rac.connectionurlConnection URL passed to the JNDI driver when establishing a connection to the directory; see also alternateurl for failover (default: ldap://localhost:389)
 ebp.rac.contextfactoryFully qualified Java class name of the factory used to acquire the JNDI InitialContext (default: com.sun.jndi.ldap.LdapCtxFactory)
 ebp.rac.dataset.accumulate.permissionsAccumulate permissions across multiple patterns; true = highest permission from all matching patterns, false = first matching pattern wins (traditional RACF) (true | false; default: true)
 ebp.rac.dataset.ldap.objectclassLDAP objectClass for dataset authorization entries; use 'group' for Active Directory, 'groupOfUniqueNames' for OpenLDAP/389 (default: group)
 ebp.rac.dataset.max.patternsMaximum number of wildcard patterns generated per dataset authorization check; prevents excessive LDAP query sizes for deeply nested dataset names (integer; default: 100)
 ebp.rac.dataset.multisearch.enabledEnables LDAP multi-search optimization and advanced pattern matching; reduces N sequential LDAP queries to 1 batch query and enables embedded-wildcard rules (e.g., CICS.*.TABLES.*); required for sidefile functionality (true | false; default: false)
 ebp.rac.dataset.prefix.patterns.enabledWhen multisearch is enabled, allows patterns ending with * to match dataset names with additional segments (e.g., YOUR.* matches YOUR.A.B.C) (true | false; default: true)
 ebp.rac.dataset.sidefile.enabledSet to yes to enable the RACF sidefile, no to disable; requires dataset.multisearch.enabled=yes (yes | no; default: no)
 ebp.rac.dataset.sidefile.pathFull absolute path to the JSON sidefile containing RACF pattern definitions; must be accessible to the EBP process (none)
 ebp.rac.dataset.sidefile.sort.racfSort sidefile patterns by specificity before matching so more specific patterns (longer prefixes, fewer wildcards) are evaluated first, giving predictable most-specific-match-first results (yes | no; default: yes)
 ebp.rac.dataset.sidefile.use.regexSet to yes for regex matching or no for the custom matcher (recommended, ~29% faster) that interprets RACF wildcards directly (yes | no; default: no)
 ebp.rac.dataset.sidefile.watcher.enabledBackground thread that monitors the sidefile for changes and reloads patterns without an EBP restart, invalidating the resource cache when a change is detected (yes | no; default: no)
 ebp.rac.dataset.sidefile.watcher.poll.intervalHow frequently (in seconds) the sidefile watcher checks for file modifications; values below 10 are clamped to 10 with a warning; only relevant when sidefile.watcher.enabled is true (default: 60, minimum: 10)
 ebp.rac.debugSet to true for detailed LDAP communication messages on the EBP log; requires ebp.errorlevel set to D (default: false)
 ebp.rac.opidattributeThe LDAP attribute within a user or role that holds the Operator ID (OPID) for that user (default: o)
 ebp.rac.protocolThe security protocol to use (default: ldap)
 ebp.rac.resourcebaseBase directory entry for resource searches; the top-level context is used if not specified; may include {0} for the resource name, {1} for the resource type and {2}..{n} for the authenticated user's DN name parts (default: cn={0},ou={1},dc=example,dc=com)
 ebp.rac.resourcememberattributeAttribute that contains group names and their permission rules; see also resourceruleattribute for the rules within those members (default: uniqueMember)
 ebp.rac.resourcenameThe attribute name that designates the name of the resource (default: cn)
 ebp.rac.resourceruleattributeAttribute on the resource and within its members defining the permission rules; works with resourcememberattribute (default: businessCategory)
 ebp.rac.resourcesearchThe directory lookup search pattern, where {0} is substituted with a resource name (default: (uniqueMember={0}))
 ebp.rac.resourcesearchasuserWhether the resource search is performed as the authenticated user; if false, connectionname and connectionpassword are used if specified, else anonymous (default: false)
 ebp.rac.resourcetypesComma-separated list of attribute names for the controlled resource types (DD dataset names, JOB input class, SYSOUT output class); used as the {1} substitution in resourcebase (default: datasets, jobclasses, outputclasses, transactions)
 ebp.rac.rgbaseBase directory entry for resource group searches; the top-level context is used if not specified; may include pattern replacements {0}..{n} from the user's DN name parts (default: ou=groups,dc=example,dc=com)
 ebp.rac.rgmemberattributeThe attribute name for the member; see also rgruleattribute for the rule attribute (default: uniqueMember)
 ebp.rac.rgnameAttribute that contains resource group names in directory entries found by a resource group search (default: cn)
 ebp.rac.rgruleattributeThe attribute name for the access rule; see also rgmemberattribute for the member attribute (default: businessCategory)
 ebp.rac.rgsearchLDAP filter expression for resource group searches; use {0} to substitute the DN of the user (default: (uniqueMember={0}))
 ebp.rac.rolebaseBase directory entry for role searches; the top-level context is used if not specified; may include pattern replacements {0}..{n} from the user's DN name parts (default: ou=groups,dc=example,dc=com)
 ebp.rac.rolenameAttribute that contains role names in directory entries found by a role search; see also userrolename for additional role names from the user's entry (default: cn)
 ebp.rac.rolenestedSet to true to nest roles into roles; role searches repeat recursively to find all roles a user belongs to directly or indirectly (default: false)
 ebp.rac.rolesearchLDAP filter expression for role searches: {0} = user DN, {1} = username, {2} = value of the userroleattribute; also used recursively when rolenested is true; if not specified, roles are taken only from userrolename (none)
 ebp.rac.rolesearchasuserWhether the role search is performed as the user currently being authenticated; if false, connectionname and connectionpassword are used if specified, else anonymous; ignored with delegated credentials (default: false)
 ebp.rac.rolesubtreeSet to true to search the entire subtree of rolebase for role entries; false searches only the top level (default: false)
 ebp.rac.sizelimitMaximum number of records to return when using the usersearch attribute (default: 0 = no limit)
 ebp.rac.timelimitTime in milliseconds to wait for records to be returned when using the usersearch attribute (default: 0 = no limit)
 ebp.rac.userbaseBase element for user searches performed with usersearch; not used with userpattern unless EBP must authorize resource access without users being authenticated first (default: ou=people,dc=example,dc=com)
 ebp.rac.userpasswordName of the attribute in the user's entry containing the user's password; if set, EBP binds using connectionname/connectionpassword and compares this attribute; if not set, a simple bind is attempted using the user's DN and presented password (none)
 ebp.rac.userpatternPattern for the user's DN, with {0} marking where the username is inserted; use instead of usersearch/usersubtree/userbase when the DN contains the username and is the same for all users; always ignored when accessing the directory with delegated credentials (default: uid={0},ou=people,dc=example,dc=com)
 ebp.rac.userroleattributeAttribute in the user's directory entry containing the value used in role searches (marked {2} in rolesearch); useful for RFC 2307; not available for nested role searches (none)
 ebp.rac.userrolenameAttribute in the user's directory entry containing zero or more names of roles assigned to the user; if not specified, all roles derive from the role search via rolesearch (none)
 ebp.rac.usersearchLDAP filter expression for searching a user's directory entry, with {0} marking the username; use (with userbase) instead of userpattern; required if EBP jobs authorize without users being authenticated with bind mode first (default: (uid={0}))
 ebp.rac.usersearchasuserWhether the user search is performed as the user currently being authenticated; if false, connectionname and connectionpassword are used if specified, else anonymous; ignored with delegated credentials (default: false)
 ebp.rac.usersubtreeSet to true to search the entire subtree of userbase for the user's entry; false searches only the top level; not used with userpattern (default: false)
 ebp.rac.wildcardThe CN name used when looking for default CN entries for resources (CN=); override to use a different CN name in resource searches (default: *)
 ebp.userroleThe authenticated user's role to submit, cancel, purge jobs (default: EBP-user)

 

Debugging     5 settings

Remote COBOL/Java debugging and extra diagnostic logging switches.

 
 PropertyDescription
 ebp.javadebughostThe host IP address Or '*' meaning all adaptors. Use 'localhost' for the same machine.
 ebp.javadebugjobstepOnly debug jobs or steps with this name
 ebp.javadebugportCOBOL/Java remote debugging port for first of concurrent executing programs (off=no debug)
 ebp.javadebugsuspendCOBOL/Java remote debug suspend execution on program start (yes | no | delayed)
 ebp.showsqlexceptionincobolAdd COBOL Runtime Option RUN_SHOW-SQL-EXCEPTION=true to log extra SQL information when a SQLException is thrown; false does not add the option at all; requires errorlevel set to D or I (true | false; default: false)

 

Exit Handlers & Extensibility     3 settings

Custom programs EBP invokes at step end, job end and on VSE user-property jobs.

 
 PropertyDescription
 ebp.jobexithandlerProgram (e.g., JOBEXIT) executed after the end of the job; must be locatable via systemlib.n; see also stepexithandler (no default; ignored if not set)
 ebp.stepexithandlerProgram (e.g., STEPEXIT) executed after the end of the step; must be locatable via systemlib.n; see also jobexithandler (no default; ignored if not set)
 ebp.vse.userprophandlerNames a Java program that EBP runs when a POWER/VSE (JCS) job finishes carrying a user-property value; EBP passes the job name, return code, user ID and user value to that program so you can act on them. Leave blank (the default) to do nothing. See also jobexithandler and destdispatch.implementation, which are launched the same way.

 

Restart & Recovery     2 settings

What happens to in-flight and pending jobs when the server is restarted.

 
 PropertyDescription
 ebp.restartjobsonserverresetControls what happens to jobs that were still pending when the server was last shut down; set to yes to put those jobs back on the input queue and continue them after a restart, no (the default) leaves them off the queue. Works together with restore.checkspoolfiles.
 ebp.restore.checkspoolfilesWhen jobs are restored after a restart, controls whether EBP first confirms that each job's saved input file still exists on disk; with true a job whose file is missing is dropped, with false (the default) jobs are re-queued without checking. Works together with restartjobsonserverreset.

 

FAQS Automation     2 settings

Console-message-driven automation subsystem that reacts to events.

 
 PropertyDescription
 ebp.faqs.enabledTurns on the FAQS subsystem, which watches console messages and automatically triggers actions in response to them (a Vitec-project integration); set to yes to enable, no to disable.
 ebp.faqs.implementationThe Java class that provides the FAQS message-handling logic used when faqs.enabled is yes; the default implementation reacts to specific console messages by releasing held jobs. Replace it with your own class to define different automatic actions.

 

Miscellaneous     3 settings

Additional settings and read-only status values.

 
 PropertyDescription
 ebp.parmlibUser-definable PARMLIB values, such as a company-wide DEPT code; these become available as symbolics (e.g., &DEPT) in JCL; see immediatesymbolreplacement for using symbolics in immediate data
 ebp.previewsizekbsMaximum file size in KB displayed in the EBP UI; large files negatively affect browser performance (default: 10 KB)
 ebp.quiescedSystem is in Quiesced state (read only)

 


Appendix — The hsort.properties File

Per-job and per-step tuning for the HSORT sort engine, kept in a separate file alongside ebp.properties.

HSORT reads an optional companion file named hsort.properties from the same directory as ebp.properties. It fine-tunes how individual sort steps behave — hexadecimal handling, padding, collation order and statistics — without touching the global HSORT settings. The file is not required for HSORT to run; when present, EBP logs its location at startup (for example “hsort.properties file found in: …” when errorlevel is set to D). All job, procedure and step names used in the keys must be written in lowercase.

Key families and what they do

Property keyWhat it doesDefault
ebp.hsort.converthex.<job>.<step>Keeps hexadecimal field values in hex form for that job step; set false to turn hex conversion off for the step so the raw bytes pass through unchanged.true
ebp.hsort.converthex.<job>.<proc>.<step>Same as above when the HSORT step runs inside a cataloged procedure — insert the procedure name between the job and step names.true
ebp.hsort.nullpadding.<job>.<step>Pads the result to the expected length using NULL (0x00) instead of spaces, for that specific job step.false
ebp.hsort.nullpaddingGlobal switch: apply NULL (instead of space) padding to every HSORT step.false
ebp.hsort.asciiorder.<job>.<step>Sorts using ASCII collation instead of EBCDIC for that job step.false
ebp.hsort.asciiorder.<job>.<proc>.<step>Same as above when the step is contained within a procedure.false
ebp.hsort.statistics.reversedOrderOrder of the record-written statistics: true reverses to match the mainframe implementation; false follows the order of the DD file names in the JCL.false
ebp.hsort.statistics.useSORTOFddnamesIdentifies where records were written by DDName rather than by the output file name.false
ebp.hsort.postgres.addbinarylengthtovarcharAdds a 2-byte binary length prefix to a VARCHAR field (PostgreSQL-backed data).false

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk