--- title: "edifact/eancom DTM to number parsing(format a, value b, part c, [exception handling d, force empty e])" slug: "edifact-eancom-dtm-to-number-parsing-format-a-value-b-part-c" status: "new" updated: 2026-10-16T14:45:18Z published: 2026-10-16T14:45:18Z canonical: "docs.lobstersoftware.com/edifact-eancom-dtm-to-number-parsing-format-a-value-b-part-c" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.lobstersoftware.com/llms.txt > Use this file to discover all available pages before exploring further. # edifact/eancom DTM to number parsing(format a, value b, part c, [exception handling d, force empty e]) Reads the number encoded in the `b` field of a EDIFACT or EANCOM *DTM* segment and returns it as an integer. The DTM format code `a` (data element 2379) specifies how the value `b` is interpreted. Reads the number encoded in the `b` field of a EDIFACT or EANCOM *DTM* segment and returns it as an integer. The DTM format code `a` (data element 2379) specifies how the value `b` is interpreted. Only certain format codes return a number. They can be divided into three groups: - `801–814` – Purely quantitative information, such as a number of days. - `107–110` – The number of a day, week, or month within a year or month. - `6–9` – A calendar date with an appended number. Only this number is returned; the date portion can be determined using the [edifact/eancom DTM to timestamp parsing](/v1/docs/en/edifact-eancom-dtm-to-timestamp-parsing-format-a-value-b-part-c) function. The following rules apply to data processing: - The result is an integer. Leading zeros are ignored; a sign (`+` or `-`) is allowed. - The numeric part is not checked against a range of values. - Leading and trailing spaces in the format code `a` are removed; the case sensitivity is ignored. - The value `b` is used without modification and must not contain any spaces. ## Parameter | Parameter | Description | | --- | --- | | `a` | DTM format code (data element 2379), e.g., `804`, `107`, `8`. See the "Format codes" section below. | | `b` | The value from the DTM segment to be processed. | | `c` | (optional) Part of a time period that is returned. `from`, `1`, `true`, or empty specify the start; `until`, `2`, or `false` specify the end. Has no effect, since no format code with a number describes a time period. Default: `from` | | `d` | (optional) Error handling if `b` cannot be processed using the format code `a`. - `error` – Termination with an error message. - `empty` – The result is an empty value (technically, an empty timestamp with the [Empty flag](/v1/docs/en/intro-concepts-empty-flag) set). - `now` – The result is the current date and time (a timestamp, not a number). Default: `error` | | `e` | (optional) Forces an empty value. If `true`, the function immediately returns an empty value with the empty flag set, without processing `b` – for example, if the source field is empty. Default: `false` | ## Format codes Format codes that represent a date, time, or time period without a numeric component (e.g., `102`, `203`, `718`) are rejected. The [edifact/eancom DTM to timestamp parsing](/v1/docs/en/edifact-eancom-dtm-to-timestamp-parsing-format-a-value-b-part-c) function is intended for these format codes.. For the complete definition of all format codes, see the code list for UN/CEFACT data element 2379: [UN/CEFACT UNCL 2379](https://service.unece.org/trade/uncefact/vocabulary/uncl2379/). ## Examples The parameters `c`, `d`, and `e` are empty unless otherwise specified. | Parameter a | Parameter b | Result | | --- | --- | --- | | 6 | 2015022 (half the month) | 2 (second half of February 2015) | | 6 | 2015023 (half the month) | 3, this section is not reviewed | | 7 | 2024031 (week of the month) | 1 (first week of March 2024) | | 8 | 202403021 (shift of the day) | 1 (shift 1 on 2 March 2024) | | 9 | 2024030205 (time of day) | 5 (time period 05 on March 2, 2024) | | 107 | 366 (day of the year) | 366 | | 108 | 53 (week number in year) | 53 | | 110 | 31 (day of the month) | 31 | | 801 | 120215 (number of years) | 120215 | | 801 | 007 (number of years) | 7 | | 801 | -12 (number of years) | -12 | | 804 | 30 (number of days) | 30 | | 813 | 7 (day of the week, Monday = 1) | 7 | ### Error handling | Parameter a | Parameter b | Parameter d | Parameter e | Result | | --- | --- | --- | --- | --- | | 8 | 20240302 (shift of the day) | | | Terminated due to an error; the shift number is missing. | | 102 | 20240301 | | | Processing aborted due to an error: *unable to parse* *"**20240301**"* *with format code* *"**102**"*, because the code represents a date. | | 102 | 20240301 | empty | | Empty value (empty timestamp with the empty flag set). | | 801 | 12A (number of years) | | | Terminated with the error *unable to parse* *"**12A**"* *with format code* *"**801**"*. | | 801 | (empty) | | | Terminated with the error *unable to parse with format code* *"**801**"* (empty value). | | 801 | 2147483648 (number of years) | | | Terminated due to an error; the value exceeds the integer range. | | 801 | ABC (number of years) | now | | Current date and time. | | 801 | | | true | An empty value, `b`, is not processed. | International EDI standard established by the UN for electronic data interchange. EDIFACT defines message types such as ORDERS, INVOICE, and DESADV. ## Related - [Functions (GUI)](/phase-3-target-structure-functions.md)