F4981
historyOne row per freight charge written by freight update (R4981) - the permanent audit trail that ties every billable and payable charge to the G/L document (voucher or invoice) it created. The system-of-record table for freight spend analytics.
Denormalized on purpose: carrier, mode, weight, geography, and order keys are stamped onto every charge row, so most freight-spend questions need no joins. Split billable vs. payable on BLPB before aggregating NAMT.
Fields
40 fields · 1 key
| Key | Field | Alias | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Primary key | FHUK01 | UK01 | Internal unique key - the physical primary key of this table. | Numeric | 15 | |
| FHSHPN | SHPN | Shipment number - the system-assigned key that groups order lines for transport; the same value lands on F4211.SDSHPN. | Numeric | 8 | ||
| FHRSSN | RSSN | Routing step number within the shipment. | Numeric | 3 | ||
| FHVMCU | VMCU | Trip depot business unit - first half of the load key; join to F4960.TMVMCU. | String | 12 | ||
| FHLDNM | LDNM | Load number - second half of the load key; join to F4960/F4961. | Numeric | 8 | ||
| FHDLNO | DLNO | Delivery number, used when freight is charged at the delivery level. | Numeric | 8 | ||
| FHNMFC | NMFC | National Motor Freight Classification used for LTL rating. | String | 4 | ||
| FHORGN | ORGN | Origin address book number the goods ship from. | Numeric | 8 | ||
| FHNMCU | NMCU | Shipment depot - the origin depot business unit. | String | 12 | ||
| FHBLPB | BLPB | Charge direction: billable to the customer or payable to the carrier - always filter or group on this. | Character | 1 | ||
| FHMOT | MOT | Mode of transport - truckload, LTL, parcel, rail, and so on. | String | 3 | ||
| FHCARS | CARS | Carrier's address book number; join to F0101.ABAN8 for the name and F4906 for carrier attributes. | Numeric | 8 | ||
| FHCAMD | CAMD | Auto-pay flag - Y means freight update creates the carrier voucher automatically without a matched invoice. | Character | 1 | ||
| FHWGTS | WGTS | Shipment weight in the weight UoM; stored with 4 implied decimals - divide by 10,000. | Numeric | 15 | ||
| FHWTUM | WTUM | Weight unit of measure. | String | 2 | ||
| FHSCVL | SCVL | Scheduled volume in the volume UoM. | Numeric | 15 | ||
| FHVLUM | VLUM | Volume unit of measure. | String | 2 | ||
| FHFRSC | FRSC | Freight rate schedule used to rate this record. | String | 8 | ||
| FHRTNM | RTNM | Rate name that produced this charge. | String | 10 | ||
| FHRTGB | RTGB | Rate basis the charge was computed on (weight, volume, pieces...). | Character | 1 | ||
| FHRTDQ | RTDQ | Quantity the rate was applied against; 4 implied decimals. | Numeric | 15 | ||
| FHUOM | UOM | Unit of measure of the transaction quantity. | String | 2 | ||
| FHCGC1 | CGC1 | Charge code classifying the freight charge (line haul, fuel surcharge...). | String | 3 | ||
| FHAG | AG | Gross charge amount; 2 implied decimals. | Numeric | 15 | ||
| FHNAMT | NAMT | Net charge amount after discounts; 2 implied decimals - the number to aggregate for freight spend. | Numeric | 15 | ||
| FHCRDC | CRDC | Billing (to) currency code. | String | 3 | ||
| FHCRCD | CRCD | Transaction (from) currency code. | String | 3 | ||
| FHDOCO | DOCO | Order number of the related order line - joins F4211.SDDOCO (or F4311 for inbound). | Numeric | 8 | ||
| FHDCTO | DCTO | Order type of the related order line. | String | 2 | ||
| FHKCOO | KCOO | Order key company of the related order line. | String | 5 | ||
| FHLNID | LNID | Order line number; 3 implied decimals - matches F4211.SDLNID as stored. | Numeric | 6 | ||
| FHDOC | DOC | Document number of the voucher or invoice freight update created; joins F0411/F0911. | Numeric | 8 | ||
| FHDCT | DCT | Document type of the created voucher/invoice. | String | 2 | ||
| FHKCO | KCO | Document company of the created voucher/invoice. | String | 5 | ||
| FHDGJ | DGJ | G/L date of the freight document. | Numeric | 6 | ||
| FHVINV | VINV | Supplier's invoice number used for freight match. | String | 25 | ||
| FHSHAN | SHAN | Ship-to address book number; join to F0101. | Numeric | 8 | ||
| FHFRTH | FRTH | Freight handling code - the freight terms (who arranges and pays). | String | 3 | ||
| FHADDJ | ADDJ | Actual ship date - the anchor for on-time-shipment analysis. | Numeric | 6 | ||
| FHFRSN | FRSN | Reason code for a manual freight adjustment. | String | 3 |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading F4981on 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.
-- ============================================================
-- Table : F4981 One row per freight charge written by freight update (R4981) - the permanent audit trail that ties every billable and payable charge to the G/L document (voucher or invoice) it created. The system-of-record table for freight spend analytics.
-- Purpose: Column-selected read of F4981 — auto-generated from field metadata
-- Grain : One row per FHUK01
-- 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.FHUK01 AS "Internal unique key - the physical primary key of this table.",
f.FHSHPN AS "Shipment number - the system-assigned key that groups order lines for transport; the same value lands on F4211.SDSHPN.",
f.FHRSSN / POWER(10, 1) AS "Routing step number within the shipment.", -- implied decimals: 1 (verify in F9210)
TRIM(f.FHVMCU) AS "Trip depot business unit - first half of the load key; join to F4960.TMVMCU.",
f.FHLDNM AS "Load number - second half of the load key; join to F4960/F4961.",
f.FHDLNO AS "Delivery number, used when freight is charged at the delivery level.",
f.FHNMFC AS "National Motor Freight Classification used for LTL rating.",
f.FHORGN AS "Origin address book number the goods ship from.",
TRIM(f.FHNMCU) AS "Shipment depot - the origin depot business unit.",
f.FHBLPB AS "Charge direction: billable to the customer or payable to the carrier - always filter or group on this.",
f.FHMOT AS "Mode of transport - truckload, LTL, parcel, rail, and so on.",
f.FHCARS AS "Carrier's address book number; join to F0101.ABAN8 for the name and F4906 for carrier attributes.",
f.FHCAMD AS "Auto-pay flag - Y means freight update creates the carrier voucher automatically without a matched invoice.",
f.FHWGTS / POWER(10, 4) AS "Shipment weight in the weight UoM; stored with 4 implied decimals - divide by 10,000.", -- implied decimals: 4 (verify in F9210)
f.FHWTUM AS "Weight unit of measure.",
f.FHSCVL AS "Scheduled volume in the volume UoM.",
f.FHVLUM AS "Volume unit of measure.",
f.FHFRSC AS "Freight rate schedule used to rate this record.",
f.FHRTNM AS "Rate name that produced this charge.",
f.FHRTGB AS "Rate basis the charge was computed on (weight, volume, pieces...).",
f.FHRTDQ / POWER(10, 4) AS "Quantity the rate was applied against; 4 implied decimals.", -- implied decimals: 4 (verify in F9210)
f.FHUOM AS "Unit of measure of the transaction quantity.",
f.FHCGC1 AS "Charge code classifying the freight charge (line haul, fuel surcharge...).",
f.FHAG / POWER(10, 2) AS "Gross charge amount; 2 implied decimals.", -- implied decimals: 2 (verify in F9210)
f.FHNAMT / POWER(10, 2) AS "Net charge amount after discounts; 2 implied decimals - the number to aggregate for freight spend.", -- implied decimals: 2 (verify in F9210)
f.FHCRDC AS "Billing (to) currency code.",
f.FHCRCD AS "Transaction (from) currency code.",
f.FHDOCO AS "Order number of the related order line - joins F4211.SDDOCO (or F4311 for inbound).",
f.FHDCTO AS "Order type of the related order line.",
f.FHKCOO AS "Order key company of the related order line.",
f.FHLNID / POWER(10, 3) AS "Order line number; 3 implied decimals - matches F4211.SDLNID as stored.", -- implied decimals: 3 (verify in F9210)
f.FHDOC AS "Document number of the voucher or invoice freight update created; joins F0411/F0911.",
f.FHDCT AS "Document type of the created voucher/invoice.",
f.FHKCO AS "Document company of the created voucher/invoice.",
CASE WHEN f.FHDGJ IS NULL OR f.FHDGJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.FHDGJ AS INT) DIV 1000, 1, 1), CAST(f.FHDGJ AS INT) % 1000 - 1) END AS "G/L date of the freight document.", -- CYYDDD Julian → DATE
f.FHVINV AS "Supplier's invoice number used for freight match.",
f.FHSHAN AS "Ship-to address book number; join to F0101.",
f.FHFRTH AS "Freight handling code - the freight terms (who arranges and pays).",
CASE WHEN f.FHADDJ IS NULL OR f.FHADDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.FHADDJ AS INT) DIV 1000, 1, 1), CAST(f.FHADDJ AS INT) % 1000 - 1) END AS "Actual ship date - the anchor for on-time-shipment analysis.", -- CYYDDD Julian → DATE
f.FHFRSN AS "Reason code for a manual freight adjustment."
FROM <catalog>.<schema_data>.f4981 f
ORDER BY f.FHUK01;2 parameters not filled: <catalog>, <schema_data>
Relationships
1-hop neighbors — click a table to navigate there. UDC decode edges point coded fields at their F0005 lookup.
Join details
ON f4981.FHDOC = f0411.RPDOC