DBzTech-Technology Dossier

Home
DB2
COBOL
Cloud
JCL
SAS
AI
  • Understanding DB2 SQL Error -904: Resource Unavailable

    We know that the DB2 SQL code -904 indicates “resource unavailable”. But why does this error occur in practice? There are several possible reasons, and here I’ll explain one of them. What is the DSNZPARM parameter? When a DB2 subsystem is installed, values are supplied through the installation ISPF panels.…

    Continue reading →: Understanding DB2 SQL Error -904: Resource Unavailable
  • Using SRCHFOR Command in Batch- Search strings in PDS

    In our daily work, we often use the SRCHFOR command interactively to search for specific text within members of a PDS. For batch processing, IBM provides the ISRSUPC utility, which serves as the batch equivalent of the interactive SuperC search. When using PARM=(SRCHCMP,’ANYC’), the utility performs a case-insensitive search across…

    Continue reading →: Using SRCHFOR Command in Batch- Search strings in PDS
  • A Beginner’s Guide to Vector Embeddings

    What is an Embedding? “While ‘vectors’ and ’embeddings’ are frequently used interchangeably in machine learning, they don’t always refer to the same concept. In machine learning, models cannot directly understand raw data like text, images, or audio. Instead, they work with numbers. To make this possible, we need to transform…

    Continue reading →: A Beginner’s Guide to Vector Embeddings
  • How to Create Datasets with Dynamic Date and Time in JCL

    In mainframe environments, it’s often necessary to create datasets with names that reflect the current system date and time. This is especially useful for logging, backups, and versioning. In this guide, we’ll explore how to use the EZACFSM1 utility to dynamically generate dataset names using date and time parameters. Step-by-Step Example: Creating…

    Continue reading →: How to Create Datasets with Dynamic Date and Time in JCL
  • How To Find Contoken in DBRM

    What is a Consistency Token in DB2? We remember that during the precompilation process, DB2 separates the SQL statements from the COBOL (or host language) code. At this stage, the compiler assigns a timestamp, known as the Consistency Token (Contoken), to both the DBRM (Database Request Module) and the Load…

    Continue reading →: How To Find Contoken in DBRM
  • DB2 Architecture on Z OS

    When IBM Db2 is installed on z/OS, it operates as a subsystem and runs across multiple address spaces. Just like other z/OS components, DB2 architecture on z/OS relies on several core system objects that work together to manage storage, metadata, recovery, and query performance. This guide breaks down the core…

    Continue reading →: DB2 Architecture on Z OS
  • Data Compression in DB2

    Disk storage and space management is a highly discussed topic nowadays. In the context of database management, DB2 V9 leverages Venom technology to compress row data, which reduces I/O, improves efficiency, and provides faster access to data. Types of Data Compression in DB2 DB2 offers three main types of data…

    Continue reading →: Data Compression in DB2
  • Static call and Dynamic call in Cobol with example

    Understanding Static and Dynamic Calls in COBOL This is a commonly discussed topic among COBOL programmers. We can identify program calls by looking for the CALL statement in the code. Let’s explore the difference between static and dynamic calls, and understand when and why to use each. 1. Static Call…

    Continue reading →: Static call and Dynamic call in Cobol with example
  • FETCH FIRST N ROWS Vs OPTIMIZE FOR N ROWS in DB2

    Two SQL clauses that often cause confusion are FETCH FIRST N ROWS ONLY and OPTIMIZE FOR N ROWS. While they may sound similar, their purposes are different. 1. FETCH FIRST N ROWS ONLY 2. OPTIMIZE FOR N ROWS Example Scenario Suppose an online app displays 5 customer records per screen:…

    Continue reading →: FETCH FIRST N ROWS Vs OPTIMIZE FOR N ROWS in DB2
  • DB2 unload utility using the program DSNTIAUL

    Unloading Data from DB2 Using DSNTIAUL IBM provides two primary methods to unload data from a DB2 table: Each has its own features, so it’s worth reviewing them before choosing the right one. Below, we’ll focus on DSNTIAUL. 1. DSNTIAUL Program The DSNTIAUL utility supports two types of unloads: When…

    Continue reading →: DB2 unload utility using the program DSNTIAUL
  • COALESCE function in DB2 . Alternative to NULL indicator variable in DB2 ; SQLCODE – 305.

    Handling NULLs in DB2 with COALESCE In DB2, if a column is not defined with the NOT NULL constraint, it means the column can sometimes contain NULL values. When such columns are fetched in an application program without proper null handling, you may encounter SQLCODE -305. Traditionally, this is handled…

    Continue reading →: COALESCE function in DB2 . Alternative to NULL indicator variable in DB2 ; SQLCODE – 305.
  • What Are Large Language Models in Machine Learning?

    What is an LLM (Large Language Model)? Before understanding what a Large Language Model (LLM) is, we first need to understand what a model means in machine learning. What is a Model? A model is a construct or a defined function that takes an input and generates an output (or…

    Continue reading →: What Are Large Language Models in Machine Learning?
  • Artificial Intelligence and Its Subsets — A Quick Guide

    Artificial Intelligence (AI) is no longer just a futuristic concept—it’s shaping the way we work, communicate, and live. At its core, AI is the field of computer science focused on creating systems that can perform tasks traditionally requiring human intelligence.Think of speech recognition, language translation, or pattern identification—all these are…

    Continue reading →: Artificial Intelligence and Its Subsets — A Quick Guide
  • Understanding Triggers in DB2

    A trigger in DB2 is a procedural code that is automatically executed in response to specific data modification events—such as INSERT, UPDATE, or DELETE—on a table or view. Triggers act as automated reactions to changes in data, helping enforce business rules, maintain audit trails, or synchronize data across tables. ⚙️ Key Characteristics of DB2 Triggers…

    Continue reading →: Understanding Triggers in DB2
  • COBOL RENT Option: Why to Use RENT Option

    Learn how to use the RENT compiler option in COBOL to generate reentrant programs—allowing shared code but unique working storage per user

    Continue reading →: COBOL RENT Option: Why to Use RENT Option
  • DB2 Address Spaces Under Z/OS- DSNMSTR,DSNDBM1

    IBM DB2 for z/OS operates as a powerful database management subsystem within the mainframe operating system z/OS. When DB2 is initialized, it launches multiple address spaces, each responsible for specific database functions. These address spaces work together to ensure high performance, data integrity, and seamless SQL execution. Internally, DB2 communicates through Control Sections (CSECTs)—modular units of code…

    Continue reading →: DB2 Address Spaces Under Z/OS- DSNMSTR,DSNDBM1
  • ISPF command to Left/Right shift specific columns in a dataset-BNDS command

    Most of mainframe programmers know how and why to use ‘)’ or ‘))’ ‘((‘ as line command in dataset. But when you need to shift only specific columns in a dataset, say column 20-30, the trick is to use the BNDS command. Lets see how it works in this post.…

    Continue reading →: ISPF command to Left/Right shift specific columns in a dataset-BNDS command
  • Concatenate all generations of GDGs in LIFO or FIFO

    At times we need to reference all the generations of a GDG and it is important to know which generation is read first if GDG base is given as input in JCL. It is also one of the tricky interview questions asked about GDGs. Here comes the concept of using…

    Continue reading →: Concatenate all generations of GDGs in LIFO or FIFO
  • ERROR: (DB2M011E) The column cannot contain missing values in SAS Mainframe

    This is a typical error in SAS which occurs when a variable gets calculated, i.e. it is the result of some arithmetic expression. Furthermore if this column is used to insert in DB2 table, it will fail and the operation will be rolled back. You can see similar error/warning in…

    Continue reading →: ERROR: (DB2M011E) The column cannot contain missing values in SAS Mainframe
  • How to Use SYMPUT for Symbolic Variables in SAS Mainframe

    SYMPUT is a routine that is called inside the data step to produce a symbolic variable, ie assigns a value produced in a DATA step to a macro variable. The variable can not be referenced inside the creating data step. The data step must end with a RUN; statement before…

    Continue reading →: How to Use SYMPUT for Symbolic Variables in SAS Mainframe
Previous Page Next Page

AI Bare Metal BigQuery Cloud Cloud SQL COBOL comp comp-3 comp-5 CONSTRAINTS Container database Data Lake Dataset contention Data Warehouse DB2 Docker FaaS GCF GCP Google App Engine Google Cloud Google Cloud Function google Cloud run Google cloud spanner Google Cloud Storage ISPF Command JCL JCL command LLM Mainframe ML NoSQL Datasbse packed decimal in cobol PROC SQL SAS SAS SAS in Mainframe SAS mainframe Serverless Apps sql technology TSO Command VSAM z/OS SAS tutorial ZONED DECIMAL IN COBOL

DBzTech-Technology Dossier

  • Pinterest
  • Instagram
  • Facebook
  • Mail

Blog at WordPress.com.

Notifications