While moving a decimal value to Comp-5, you just need to consider these: it stores only the integer portion and ignores the decimal portion.

Suppose you have defined a field with PIC 9(07)V99 and you moved a value from this data type to COMP-5.

COBOL Example: How to use COMP-5.

01 My-data     PIC 9(07)v99 value 1234567.10.
01 Out-data    comp-5 or S9(07)v99 Comp-5.
   MOVE My-data   to  Out-data.

The result will be: 1234567

Resolution

The key point I want to share is that Comp-5 stores only integer parts and truncates decimal parts.

Note: So, you cannot use comp-5 as S9(07)v99, but you can use it as S9(09).

More details of COMP-5

  • Comp-5 stores the data in the form of Binary ( because binary doesn’t support decimals)
  • It has boundaries. It stores as 2/4/8 bytes internally
  • S9(1) to S9(4) => 2 bytes(half)
  • S9(5) to S9(9) ==> 4 bytes(full)
  • S9(10) to S9(18) ==> 8 bytes(double)
  • With or without ‘S’ you can define the Comp-5 data types

References

LATEST POSTS

Exploring Databricks Unity Catalog – System Tables and Information _Schema: Use Cases

Databricks Unity Catalog offers a unified governance solution for managing structured data across the Databricks Lakehouse platform. It enables organizations to implement fine-grained access controls, auditing, and monitoring, enhancing data governance and compliance. Key functionalities include centralized metadata management, data discovery, dynamic reporting, and data lineage tracking, optimizing performance and collaboration.

PySpark Functions Real Use Cases

PySpark is an API for Apache Spark in Python that enables big data processing and analytics, featuring a wide array of built-in functions. These functions facilitate data manipulation, aggregation, and statistical analysis. They include column, aggregate, window, string, and date-time functions, allowing efficient processing of large datasets in a distributed environment.

Something went wrong. Please refresh the page and/or try again.