Skip to content
JDE Reference

F4941

transaction

One row per routing step of a shipment - where the carrier, mode, load assignment, scheduled vs. actual ship/delivery timestamps, and billable vs. payable freight totals live. The workhorse table for carrier performance and freight cost analysis.

Notes

Freight amounts here carry 4 implied decimals (divide by 10,000), unlike the 2-decimal order amounts. Compare RSDJ vs DLDT for on-time delivery and PPDJ vs ADDJ for on-time shipping.

What the badges mean
Superseded
Superseded — a newer table has replaced it, but older scripts still read this one.
Also in JDE World
Also present in JDE World A9.x on the same table name.
master
Data class: what the table holds — master data, transaction documents, control/setup values, history, or a workfile.
Read/write access
Access mode: how the paired program reads or writes this table — R (read), W (write), or R/W (both).
No lifecycle badge means the table is current and not documented in JDE World. In field listings, K marks a primary-key field.
Used in the library
KPI definitions
Dashboard patterns

Fields

40 fields · 2 key

40 fields.

Table fields: key flag, field name, DD alias, description, data type, length, and quirk flags (Julian date, implied decimals, padded string, UDC decode). 40 fields.
KeyFieldAliasDescriptionTypeLengthFlags
Primary keyRSSHPNSHPNShipment number - the system-assigned key that groups order lines for transport; the same value lands on F4211.SDSHPN.Numeric8
Primary keyRSRSSNRSSNRouting step number within the shipment.Numeric3
RSMOTMOTMode of transport - truckload, LTL, parcel, rail, and so on.String3
RSCARSCARSCarrier's address book number; join to F0101.ABAN8 for the name and F4906 for carrier attributes.Numeric8
RSROUTROUTRoute code assigned during routing.String3
RSRTNRTNRoute number assigned by route selection.Numeric8
RSDLNODLNODelivery number, used when freight is charged at the delivery level.Numeric8
RSFRSCFRSCFreight rate schedule used to rate this record.String8
RSVMCUVMCUTrip depot business unit - first half of the load key; join to F4960.TMVMCU.String12
RSLDNMLDNMLoad number - second half of the load key; join to F4960/F4961.Numeric8
RSTRPLTRPLLoad leg number within the load.Numeric3
RSSTSQSTSQStop sequence position on the load.Numeric3
RSORGNORGNOrigin address book number the goods ship from.Numeric8
RSANCCANCCDestination address book number.Numeric8
RSWGTSWGTSShipment weight in the weight UoM; stored with 4 implied decimals - divide by 10,000.Numeric15
RSWTUMWTUMWeight unit of measure.String2
RSSCVLSCVLScheduled volume in the volume UoM.Numeric15
RSVLUMVLUMVolume unit of measure.String2
RSNPCSNPCSNumber of pieces.Numeric5
RSNCTRNCTRNumber of shipping containers.Numeric5
RSDSTNDSTNDistance in the distance UoM.Numeric5
RSUMD1UMD1Distance unit of measure (miles/kilometers).String2
RSAEXPAEXPExtended sales value of the goods being shipped; 2 implied decimals.Numeric15
RSCRCDCRCDTransaction (from) currency code.String3
RSECSTECSTExtended cost of the goods being shipped; 2 implied decimals.Numeric15
RSPPDJPPDJPromised ship date.Numeric (DD type: Date)6
RSRSDJRSDJPromised delivery date.Numeric (DD type: Date)6
RSLDDTLDDTLoad confirm date - when the load was confirmed at the depot.Numeric (DD type: Date)6
RSADDJADDJActual ship date - the anchor for on-time-shipment analysis.Numeric (DD type: Date)6
RSADTMADTMActual ship time (HHMMSS).Numeric6
RSDLDTDLDTActual delivery date.Numeric (DD type: Date)6
RSDLTMDLTMActual delivery time (HHMMSS).Numeric6
RSRRTRRRTRRouting status - whether a carrier/route has been assigned yet.Character1
RSRATRRATRRating status - whether freight has been rated yet.Character1
RSFRTDFRTDY/N - billable (customer) freight has been calculated for this step.Character1
RSFRTVFRTVY/N - payable (carrier) freight has been calculated for this step.Character1
RSFRVCFRVCPayable (carrier) freight amount in domestic currency; 4 implied decimals.Numeric15
RSCRCPCRCPCurrency code of the payable (A/P) freight amounts.String3
RSFRCCFRCCBillable (customer) freight amount in domestic currency; 4 implied decimals.Numeric15
RSCRDCCRDCBilling (to) currency code.String3

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading F4941 on 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

3 parameters not filled: <catalog>, <schema_data>, <SHPN>

-- ============================================================
-- Table  : F4941 One row per routing step of a shipment - where the carrier, mode, load assignment, scheduled vs. actual ship/delivery timestamps, and billable vs. payable freight totals live. The workhorse table for carrier performance and freight cost analysis.
-- Purpose: Column-selected read of F4941 — auto-generated from field metadata
-- Grain  : One row per RSSHPN + RSRSSN
-- 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.RSSHPN AS "Shipment number - the system-assigned key that groups order lines for transport; the same value lands on F4211.SDSHPN.",
  f.RSRSSN / POWER(10, 1) AS "Routing step number within the shipment.",  -- implied decimals: 1 (verify in F9210)
  f.RSMOT AS "Mode of transport - truckload, LTL, parcel, rail, and so on.",
  f.RSCARS AS "Carrier's address book number; join to F0101.ABAN8 for the name and F4906 for carrier attributes.",
  f.RSROUT AS "Route code assigned during routing.",
  f.RSRTN AS "Route number assigned by route selection.",
  f.RSDLNO AS "Delivery number, used when freight is charged at the delivery level.",
  f.RSFRSC AS "Freight rate schedule used to rate this record.",
  TRIM(f.RSVMCU) AS "Trip depot business unit - first half of the load key; join to F4960.TMVMCU.",
  f.RSLDNM AS "Load number - second half of the load key; join to F4960/F4961.",
  f.RSTRPL AS "Load leg number within the load.",
  f.RSSTSQ AS "Stop sequence position on the load.",
  f.RSORGN AS "Origin address book number the goods ship from.",
  f.RSANCC AS "Destination address book number.",
  f.RSWGTS / 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.RSWTUM AS "Weight unit of measure.",
  f.RSSCVL AS "Scheduled volume in the volume UoM.",
  f.RSVLUM AS "Volume unit of measure.",
  f.RSNPCS AS "Number of pieces.",
  f.RSNCTR AS "Number of shipping containers.",
  f.RSDSTN AS "Distance in the distance UoM.",
  f.RSUMD1 AS "Distance unit of measure (miles/kilometers).",
  f.RSAEXP / POWER(10, 2) AS "Extended sales value of the goods being shipped; 2 implied decimals.",  -- implied decimals: 2 (verify in F9210)
  f.RSCRCD AS "Transaction (from) currency code.",
  f.RSECST / POWER(10, 2) AS "Extended cost of the goods being shipped; 2 implied decimals.",  -- implied decimals: 2 (verify in F9210)
  CASE WHEN f.RSPPDJ IS NULL OR f.RSPPDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.RSPPDJ AS INT) DIV 1000, 1, 1), CAST(f.RSPPDJ AS INT) % 1000 - 1) END AS "Promised ship date.",  -- CYYDDD Julian → DATE
  CASE WHEN f.RSRSDJ IS NULL OR f.RSRSDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.RSRSDJ AS INT) DIV 1000, 1, 1), CAST(f.RSRSDJ AS INT) % 1000 - 1) END AS "Promised delivery date.",  -- CYYDDD Julian → DATE
  CASE WHEN f.RSLDDT IS NULL OR f.RSLDDT = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.RSLDDT AS INT) DIV 1000, 1, 1), CAST(f.RSLDDT AS INT) % 1000 - 1) END AS "Load confirm date - when the load was confirmed at the depot.",  -- CYYDDD Julian → DATE
  CASE WHEN f.RSADDJ IS NULL OR f.RSADDJ = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.RSADDJ AS INT) DIV 1000, 1, 1), CAST(f.RSADDJ AS INT) % 1000 - 1) END AS "Actual ship date - the anchor for on-time-shipment analysis.",  -- CYYDDD Julian → DATE
  f.RSADTM AS "Actual ship time (HHMMSS).",
  CASE WHEN f.RSDLDT IS NULL OR f.RSDLDT = 0 THEN NULL ELSE DATE_ADD(MAKE_DATE(1900 + CAST(f.RSDLDT AS INT) DIV 1000, 1, 1), CAST(f.RSDLDT AS INT) % 1000 - 1) END AS "Actual delivery date.",  -- CYYDDD Julian → DATE
  f.RSDLTM AS "Actual delivery time (HHMMSS).",
  f.RSRRTR AS "Routing status - whether a carrier/route has been assigned yet.",
  f.RSRATR AS "Rating status - whether freight has been rated yet.",
  f.RSFRTD AS "Y/N - billable (customer) freight has been calculated for this step.",
  f.RSFRTV AS "Y/N - payable (carrier) freight has been calculated for this step.",
  f.RSFRVC / POWER(10, 4) AS "Payable (carrier) freight amount in domestic currency; 4 implied decimals.",  -- implied decimals: 4 (verify in F9210)
  f.RSCRCP AS "Currency code of the payable (A/P) freight amounts.",
  f.RSFRCC / POWER(10, 4) AS "Billable (customer) freight amount in domestic currency; 4 implied decimals.",  -- implied decimals: 4 (verify in F9210)
  f.RSCRDC AS "Billing (to) currency code."
FROM <catalog>.<schema_data>.f4941 f
WHERE
  f.RSSHPN = <SHPN>
ORDER BY f.RSSHPN;

Verified September 2026

Relationships

Diagram of 1-hop neighbors — join details below. UDC decode edges point coded fields at their F0005 lookup.

Join details

  • F4215F4941header detail · 1:N
    ON f4215.XHSHPN = f4941.RSSHPN
  • F4941F4960foreign key · N:1
    ON f4941.RSLDNM = f4960.TMLDNM
  • F4945F4941foreign key · N:1
    ON f4945.SCRSSN = f4941.RSRSSN

Programs That Use This Table

More Transportation Management tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Oracle. Oracle, JD Edwards, and EnterpriseOne are registered trademarks of Oracle and/or its affiliates.