Device Lot Genealogy and Traceability SQL Generator
When a component lot is suspect, quality needs to know every finished device lot that used it and every customer who received them. This generator creates the backward and forward trace queries against whatever genealogy and shipment tables your system uses.
Fill in
Table linking a parent lot to a consumed child lot
Backward trace: finished device lot to component lots
WITH RECURSIVE backward AS ( SELECT parent_lot AS parent_lot, child_lot AS child_lot, 1 AS depth FROM lot_genealogy WHERE parent_lot = 'LOT24A017' UNION ALL SELECT g.parent_lot, g.child_lot, b.depth + 1 FROM lot_genealogy g JOIN backward b ON g.parent_lot = b.child_lot WHERE b.depth < 10 ) SELECT depth, parent_lot, child_lot FROM backward ORDER BY depth, parent_lot, child_lot;
Forward trace: component lot to shipped devices and customers
WITH RECURSIVE forward AS (
SELECT parent_lot AS parent_lot, child_lot AS child_lot, 1 AS depth
FROM lot_genealogy
WHERE child_lot = 'LOT24A017'
UNION ALL
SELECT g.parent_lot, g.child_lot, f.depth + 1
FROM lot_genealogy g
JOIN forward f ON g.child_lot = f.parent_lot
WHERE f.depth < 10
)
SELECT DISTINCT s.lot_number AS shipped_lot,
s.customer_id AS customer,
s.ship_date AS ship_date
FROM shipment_lines s
WHERE s.lot_number IN (SELECT parent_lot FROM forward)
OR s.lot_number = 'LOT24A017'
ORDER BY s.ship_date;Table and column names are placeholders: replace them with your ERP or MES names. Syntax uses a recursive common table expression as supported by PostgreSQL, MySQL 8 and SQLite. SQL Server omits the RECURSIVE keyword, and Oracle supports recursive subquery factoring without it as well. Test on a copy, confirm that your genealogy table captures every consumption, and keep the exported result with the recall or complaint record.
Optional mock recall review
We can discuss how long a mock recall takes in your current systems and where the gaps are.
Optional. The tool and every export work without this. No spam.
How to use it
Enter the names of your genealogy table (parent lot to consumed child lot), the shipment table and the key columns, then the lot to trace. Copy the backward query to see which component lots went into a finished lot, or the forward query to list shipments that contain a suspect component lot. Run both in a read-only session and save the output with the investigation record.
- Backward trace answers what went into this lot
- Forward trace answers who received product with this component
- Depth limit prevents runaway recursion on bad data
How the query works
A recursive common table expression starts with the immediate links of the starting lot and repeatedly joins the genealogy table to climb or descend one level at a time. The depth column keeps the output ordered by level and stops the recursion after ten levels. The forward query ends with a join to shipments, so the final output is a customer and date list suitable for a recall scope assessment.
Worked example
Suppose a sterile pouch lot is found to have a seal defect. A forward trace from the pouch lot returns every finished lot packed in it, then every shipment line holding those lots, with customer and date. If one finished lot also used a second suspect component, the backward trace from that lot shows both. Compare the totals with units on hand so the field action scope is based on data rather than estimates.
Common mistakes
Genealogy is only as good as the transaction capture. If operators consume material without scanning, links are missing. Other problems are mixing unit-of-measure quantities, ignoring rework and relabel operations that create new lots, and not testing the trace regularly. Run a mock recall periodically and measure how long it takes to reach a complete list.
Frequently Asked Questions
Will this work with my ERP table names?
Yes, as long as your system has a table linking consumed lots to produced lots. Enter your own table and column names. Some systems store genealogy in several tables, in which case you need a view that unions them first.
Why limit recursion depth?
Bad data can contain loops, for example a lot that lists itself as a component. A depth limit stops the query from running indefinitely and shows where the data needs cleaning.
Does it handle serial numbers?
You can substitute serial numbers for lot numbers in the field values if your genealogy table stores them in the same columns. Otherwise adapt the join to your serial table.
Is this enough for a regulatory recall?
It provides the data pull. A recall also needs health hazard evaluation, regulator notification and customer communication, which follow your recall procedure and the applicable regulations.
If genealogy data is spread across ERP, MES and spreadsheets, Netray can discuss a read-only way to run these traces across them.
Related Tools
GS1 GTIN Check Digit and UDI Element String Python Generator
Fill in your GTIN base, lot, expiry and serial and get a ready Python script that calculates the check digit and prints the GS1 human readable and encoded strings.
Compliance & ContractsFDA 21 CFR 820 to ISO 13485 Clause Crosswalk
Map each 21 CFR 820 quality system topic to the corresponding ISO 13485 clause to speed up QMSR gap assessments and procedure rewrites.
Compliance & ContractsEU MDR Technical Documentation Readiness Assessment
A short self-assessment of how complete and current your technical documentation is against the structure of MDR Annexes II and III.
Compliance & ContractsMedical Device Standards Reference Table (ISO, IEC, ASTM)
A searchable lookup of the standards that medical device manufacturers cite in the QMS, design file and technical documentation, with area and typical use.
More Developer Tools tools
See all- SAP Sales Order ABAP SELECT Generator (VBAK, VBAP, VBFA)
- SAP Sales Order Create BAPI ABAP Generator (BAPI_SALESORDER_CREATEFROMDAT2)
- SAP ABAP Open Items SELECT Generator
- SAP ACDOCA SQL Query Generator
- SAP QM Inspection Lot ABAP SELECT Generator
- SAP Quality Notification Pareto SQL Query Generator
- SAP QM Usage Decision BAPI Skeleton
- ABAP Custom Exception Class Generator
- ABAP Unit Test Class Generator
Keep exploring
Free tools
- Electronic Component Lot Traceability SQL GeneratorFill in your table and column names to get forward trace, backward trace and quarantine-scope SQL for a component lot or date code.
- Medical Device Lot Reconciliation and Genealogy WorksheetRow-by-row lot reconciliation with yield and unaccounted-unit columns, plus component lot and sterilization lot links for genealogy. Exports to Excel.
- Food Lot Traceability SQL Query Generator (Forward and Backward)Fill in your table and column names to get recursive SQL that traces a lot back to suppliers or forward to customers.
ERP fixes and how-tos
- How to Link a CAPA to ERP Lots and Serial Numbers for Containment and EffectivenessUse ERP lot and serial genealogy to scope containment for a CAPA, record affected jobs and shipments, and verify effectiveness with real data instead of opinion.
- NetSuite Lot and Serial Traceability: Forward and Backward TraceTrace a lot or serial number forward to customers and backward to vendors in NetSuite using inventory detail, inventory numbers, saved searches and SuiteQL.
- Date Code and Lot Traceability in Cetec ERPHow to keep date code and lot traceability in Cetec ERP for electronics: capture at receiving, preserve through builds, and answer a recall trace quickly.
Guides
- Lot Traceability for a Medical Device Contract ManufacturerSet up lot traceability in your ERP for medical device work: material certs, forward and backward genealogy, recall drills, and what auditors ask to see.
- Lot Traceability in Electronics Manufacturing: From Reel to Finished SerialLot traceability in electronics manufacturing explained: component-level genealogy, ERP lot control setup, IPC-1782 levels, recall readiness, and AI-driven trace.
- Lot Traceability for Medical Turned ComponentsLot traceability for medical turned components: heat numbers, ISO 13485 records, device history, recall readiness and how Swiss shops tie bar lots to shipments.
AI on your ERP
- AI on Infor SyteLine for Medical Device Manufacturers: Genealogy, DHR and Audit EvidencePrivate AI on Infor SyteLine for medical device makers: lot and serial genealogy, DHR assembly, UDI and QMSR evidence, with human approval on every write.
- AI for Critical Manufacturing MES in Semiconductor, Electronics and Medical Device PlantsPrivate AI for Critical Manufacturing MES: lots, equipment, material and genealogy questions answered in plain English, with ERP context and on-prem models.