What is the API DBENTRY ?
Our "DBENTRY" emulator is a set of tools and libraries whose goal is to replace "on the fly" an MVS CA-DATACOM database (formely DATACOM-DB) by a DB/2 MVS, DB2 UDB or PostgreSQL UNIX
It is designed :
- to keep without any modification Legacy DATACOM-DB COBOL programs running on MVS without DATACOM/DB:
a single link-edit to our DBEntry API transparently forwards "DBENTRY" calls to DB2 (z/OS or UNIX) or PostgreSQL (UNIX). - to port Datacom-DB COBOL programs from MVS to UNIX, with few or no changes at all

It allows migration time and costs optimization:
API DBEntry vs Re-engineering man-days ratio for 1000 COBOL programs
The DBEntry API runs on z/OS (MVS)
Supported database platforms are:
- z/OS avec DB/2
- AIX (32 bits) with DB/2-UDB V9, or PostGreSql
- Linux 386 (32 bits) with DB/2-UDB V9, or PostGreSql
- z/Linux (32 bits), with DB/2-UDB V9, or PostGreSql
The Library
The library 'DBENTRY' entry point, when linked to a COBOL program, interprets the parameters of the 'CALL DBENTRY' statements, and dynamically transforms DATACOM requests into SQL Statements.
It generates dynamically the 'SELECT', 'UPDATE', 'INSERT' and 'DELETE' SQL statements with their corresponding ''where'" and "order by" clauses, and analyses or rebuilts exactly the COBOL record that is passed along with the DATACOM parameters.
The Tools
In UNIX, the COBOL program (as is) is viewed as an external module, and is called by a small 'C' main routine, dealing with all the "connection to the DATABASE" stuff, then calling the COBOL module.
Currently supported DATACOM DBENTRY commands are :
ABEND | Abnormal Termination Command | ![]() |
ADDIT | Add Record | ![]() |
CLOSE | Close User Requirements Table | ![]() |
CNTKR | Count For Key Value Range | ![]() |
CNTKY | Count For Equal Key Value | ![]() |
CNTTN | Count For Table | ![]() |
COMIT | Commit Transaction | ![]() |
DELET | Delete Record | ![]() |
GETIT | Retrieve Next Sequential Record | Must review code before confirm |
GETPS | Get Next Physical Sequential Record | n/a |
GSETL | Set To Starting Key | n/a |
GSETP | Set Physcal Sequential Record | n/a |
INQIN | Inquire CA | n/a |
LOCBR | Locate Backwards | Must review code before confirm |
LOCKG | Locate Key Greater or Equal | ![]() |
LOCKI | Test For Logical Intersections of Two Keys | ![]() |
LOCKL | Locate Key Less or Equal | ![]() |
LOCKR | Locate a Record in a Specified Range | ![]() |
LOCKX | Locate Key Exact | ![]() |
LOCKY | Locate Key Greater or Equal | ![]() |
LOCNE | Locate Next Equal Key Value | Must review code before confirm |
LOCNK | Locate Next Key | Must review code before confirm |
LOCNR | Locate Next Record in Specified Range | Must review code before confirm |
LOCNX | Locate Next | Must review code before confirm |
LOGCP | Checkpoint the Task | n/a |
LOGCR | Log Checkpoint With Release | n/a |
LOGDR | Log Directed Read | n/a |
LOGDW | Log Directed Write | n/a |
LOGIT | Add Data to Log Area" | n/a |
LOGLB | Read Back a LOGIT Record | n/a |
LOGTB | Back Out Transactions | n/a |
NOOPS | No Operation | ![]() |
OPEN | Open User Requirements Table | ![]() |
RDUKG | Read Key Greater or Equal for Update | ![]() |
RDUKL | Read Key Less or Equal for Update | ![]() |
RDUKX | Read Key Exact for Update | ![]() |
RDUKY | Read Key Exact for Update | ![]() |
RDULE | Read Located Entry for Update | ![]() |
RDUNE | Read Next Equal Key for Update | ![]() |
RDUNX | Read Next for Update | ![]() |
REDBR/RDUBR | Read Backwards | Must review code before confirm |
REDID/RDUID | Read Records By Id | n/a |
REDKG | Read Key Greater or Equal | ![]() |
REDKL | Read Key Less or Equal | ![]() |
REDKR/RDUKR | Read Record in a Specified Range | ![]() |
REDKX | Read Key Exact | ![]() |
REDKY | Read Key Exact | ![]() |
REDLE | Read Located Entry | ![]() |
REDNE | Read Next Equal Key | ![]() |
REDNK/RDUNK | Read Record w/ Next Sequential Key | Must review code before confirm |
REDNR/RDUNR | Read Next Record in a Specified Range | ![]() |
REDNX | Read Next | ![]() |
RELES | Release Record (if no update) | ![]() |
RELFL | Release Table | ![]() |
ROLBK | Rollback Transaction | ![]() |
SELCN | Continue Set Record Selection | ![]() |
SELFR | Select Set and Return First Record | ![]() |
SELNR | Select Next Record" | ![]() |
SELPR | Release Set | ![]() |
SELSM | Select Same Record | ![]() |
SELST | Stop Set Record Selection | ![]() |
TEST | Test Option Command | n/a |
UPDAT | Update Record | ![]() |
Contact us for details