Skip to content
JDE Reference

F4108

masterAlso in JDE World

Lot master: one row per lot or serial number by item and branch, holding lot status, grade, potency, supplier lot linkage, and the full set of lot control dates.

Fields

35 fields · 3 key

KeyFieldAliasDescriptionTypeLengthFlags
Primary keyIOLOTNLOTNLot or serial number identifying the specific lot of stock.String30
Primary keyIOITMITMShort internal item number (8-digit numeric key).Numeric8
Primary keyIOMCUMCUBranch/plant (business unit); stored right-justified with leading blanks.String12
IOLDSCLDSCFree-text description of the lot.String30
IOLOTSLOTSLot status code; blank means approved, non-blank values are hold states.Character1
IOLITMLITMSecond (long) item number, the customer-facing alphanumeric item identifier.String25
IOAITMAITMThird item number, an alternate catalog-style identifier.String25
IOVENDVENDSupplier address number the lot was last received from.Numeric8
IOKCOOKCOOCompany of the order that created the lot.String5
IODOCODOCOOrder number that created the lot.Numeric8
IODCTODCTOOrder type of the document that created the lot.String2
IORLOTRLOTThe supplier's own lot number for traceability.String30
IOLOTPLOTPPotency percentage of the lot for potency-controlled items.Numeric15
IOLOTGLOTGLot grade code used for grade-controlled items.String3
IOMMEJMMEJLot expiration date.Numeric6
IOSERNSERNSerial number tied to the lot.String30
IOLRP1LRP1Lot category code 1 (site-defined lot classification).String3
IOLRP2LRP2Lot category code 2 (site-defined lot classification).String3
IOLRP3LRP3Lot category code 3 (site-defined lot classification).String3
IOLRP4LRP4Lot category code 4 (site-defined lot classification).String3
IOLRP5LRP5Lot category code 5 (site-defined lot classification).String3
IOLRP6LRP6Lot category code 6 (site-defined lot classification).String3
IOLRP7LRP7Lot category code 7 (site-defined lot classification).String3
IOLRP8LRP8Lot category code 8 (site-defined lot classification).String3
IOLRP9LRP9Lot category code 9 (site-defined lot classification).String3
IOLRP0LRP0Lot category code 10 (site-defined lot classification).String3
IOBBDJBBDJBest-before date of the lot.Numeric6
IOBODJBODJBased-on date from which other lot dates are calculated.Numeric6
IODLEJDLEJDate the lot becomes effective (available).Numeric6
IOOHDJOHDJDate the lot first went on hand.Numeric6
IOSBDJSBDJSell-by date of the lot.Numeric6
IOCHDFCHDFFlag: lot is under a critical hold.Character1
IOLOTRLOTRFlag: lot number may be reused.Character1
IOLOTCLOTCExpanded (3-character) lot status code.String3
IOORIGORIGCountry of origin of the lot.String3

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading F4108on Databricks — Julian dates, implied decimals, and padded strings are already converted. Set your Unity Catalog location and filter values below; they’re substituted into the SQL and the copy button.

Query parameters
-- ============================================================
-- Table  : F4108 Lot master: one row per lot or serial number by item and branch, holding lot status, grade, potency, supplier lot linkage, and the full set of lot control dates.
-- Purpose: Column-selected read of F4108 — auto-generated from field metadata
-- Grain  : One row per IOLOTN + IOITM + IOMCU
-- Notes  : Auto-generated skeleton. Julian dates (CYYDDD) are converted to DATE and implied-decimal amounts are scaled (verify decimals in F9210); padded business-unit/UDC keys are TRIMmed. Audit columns (…USER/…PID/…UPMJ) are omitted — see the quirks guide. Set catalog/schema to your Unity Catalog location; fill remaining placeholders (<...>) for your tenant.
-- ============================================================
SELECT
  f.IOLOTN AS "Lot or serial number identifying the specific lot of stock.",
  f.IOITM AS "Short internal item number (8-digit numeric key).",
  TRIM(f.IOMCU) AS "Branch/plant (business unit); stored right-justified with leading blanks.",
  f.IOLDSC AS "Free-text description of the lot.",
  f.IOLOTS AS "Lot status code; blank means approved, non-blank values are hold states.",
  f.IOLITM AS "Second (long) item number, the customer-facing alphanumeric item identifier.",
  f.IOAITM AS "Third item number, an alternate catalog-style identifier.",
  f.IOVEND AS "Supplier address number the lot was last received from.",
  f.IOKCOO AS "Company of the order that created the lot.",
  f.IODOCO AS "Order number that created the lot.",
  f.IODCTO AS "Order type of the document that created the lot.",
  f.IORLOT AS "The supplier's own lot number for traceability.",
  f.IOLOTP / POWER(10, 3) AS "Potency percentage of the lot for potency-controlled items.",  -- implied decimals: 3 (verify in F9210)
  f.IOLOTG AS "Lot grade code used for grade-controlled items.",
  CASE WHEN f.IOMMEJ IS NULL OR f.IOMMEJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IOMMEJ AS INT) DIV 1000, 1, 1), CAST(f.IOMMEJ AS INT) % 1000 - 1) END AS "Lot expiration date.",  -- CYYDDD Julian → DATE
  f.IOSERN AS "Serial number tied to the lot.",
  f.IOLRP1 AS "Lot category code 1 (site-defined lot classification).",
  f.IOLRP2 AS "Lot category code 2 (site-defined lot classification).",
  f.IOLRP3 AS "Lot category code 3 (site-defined lot classification).",
  f.IOLRP4 AS "Lot category code 4 (site-defined lot classification).",
  f.IOLRP5 AS "Lot category code 5 (site-defined lot classification).",
  f.IOLRP6 AS "Lot category code 6 (site-defined lot classification).",
  f.IOLRP7 AS "Lot category code 7 (site-defined lot classification).",
  f.IOLRP8 AS "Lot category code 8 (site-defined lot classification).",
  f.IOLRP9 AS "Lot category code 9 (site-defined lot classification).",
  f.IOLRP0 AS "Lot category code 10 (site-defined lot classification).",
  CASE WHEN f.IOBBDJ IS NULL OR f.IOBBDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IOBBDJ AS INT) DIV 1000, 1, 1), CAST(f.IOBBDJ AS INT) % 1000 - 1) END AS "Best-before date of the lot.",  -- CYYDDD Julian → DATE
  CASE WHEN f.IOBODJ IS NULL OR f.IOBODJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IOBODJ AS INT) DIV 1000, 1, 1), CAST(f.IOBODJ AS INT) % 1000 - 1) END AS "Based-on date from which other lot dates are calculated.",  -- CYYDDD Julian → DATE
  CASE WHEN f.IODLEJ IS NULL OR f.IODLEJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IODLEJ AS INT) DIV 1000, 1, 1), CAST(f.IODLEJ AS INT) % 1000 - 1) END AS "Date the lot becomes effective (available).",  -- CYYDDD Julian → DATE
  CASE WHEN f.IOOHDJ IS NULL OR f.IOOHDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IOOHDJ AS INT) DIV 1000, 1, 1), CAST(f.IOOHDJ AS INT) % 1000 - 1) END AS "Date the lot first went on hand.",  -- CYYDDD Julian → DATE
  CASE WHEN f.IOSBDJ IS NULL OR f.IOSBDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.IOSBDJ AS INT) DIV 1000, 1, 1), CAST(f.IOSBDJ AS INT) % 1000 - 1) END AS "Sell-by date of the lot.",  -- CYYDDD Julian → DATE
  f.IOCHDF AS "Flag: lot is under a critical hold.",
  f.IOLOTR AS "Flag: lot number may be reused.",
  f.IOLOTC AS "Expanded (3-character) lot status code.",
  f.IOORIG AS "Country of origin of the lot."
FROM <catalog>.<schema_data>.f4108 f
WHERE
  f.IOITM = <ITM>
  -- AND f.IOMCU = '<MCU>'
ORDER BY f.IOLOTN;

4 parameters not filled: <catalog>, <schema_data>, <ITM>, <MCU>

Relationships

1-hop neighbors — click a table to navigate there. UDC decode edges point coded fields at their F0005 lookup.

Join details

  • F4108F4101foreign key · N:1
    ON f4108.IOITM = f4101.IMITM

Programs That Use This Table