Skip to content
SAP Reference

FB01

CreateS/4 · Active

Post Document

Boilerplate SQL

Databricks SQL

Starting point for querying the tables behind this transaction. Adjust the WHERE clause for your scenario.

-- ============================================================
-- T-Code : FB01 Post Document
-- Purpose: Post a general-ledger document (manual journal entry)
-- Grain  : One row per accounting-document line (BKPF header + BSEG line)
-- Tables : BKPF, BSEG, SKAT, T001, T003T, LFA1, KNA1, CSKT
-- Notes  : BSEG is a cluster table on ECC — access it by key, not by scanning. On S/4HANA, ACDOCA (universal journal) replaces BSEG for reporting; the join predicate stays the same but performance is much better against ACDOCA.
-- ============================================================
SELECT
  -- Keys
  h.MANDT   AS "Client",
  h.BUKRS   AS "Company Code",
  h.BELNR   AS "Document Number",
  h.GJAHR   AS "Fiscal Year",
  l.BUZEI   AS "Line Item",

  -- Descriptive text
  dt.LTEXT  AS "Document Type Description",
  gl.TXT50  AS "G/L Account Name",
  l.SGTXT   AS "Item Text",

  -- Amounts + Currency (paired)
  l.DMBTR   AS "Amount in Local Currency",
  l.WRBTR   AS "Amount in Document Currency",
  l.WAERS   AS "Document Currency",
  l.MWSKZ   AS "Tax Code",

  -- Dates
  h.BUDAT   AS "Posting Date",
  h.BLDAT   AS "Document Date",
  h.CPUDT   AS "Entered On",
  l.ZFBDT   AS "Baseline Date for Due Date",

  -- Status / indicators
  h.BLART   AS "Document Type",
  l.SHKZG   AS "Debit/Credit Indicator",
  l.KOART   AS "Account Type",
  l.XREVERSED AS "Reversal Flag",
  h.STBLG   AS "Reversal Document",

  -- Org fields
  cc.BUTXT  AS "Company Code Name",
  l.KOSTL   AS "Cost Center",
  ct.KTEXT  AS "Cost Center Name",
  l.PRCTR   AS "Profit Center",
  l.AUFNR   AS "Order Number",
  l.GSBER   AS "Business Area",

  -- Master data enrichment
  l.HKONT   AS "G/L Account",
  l.LIFNR   AS "Vendor",
  v.NAME1   AS "Vendor Name",
  l.KUNNR   AS "Customer",
  c.NAME1   AS "Customer Name",
  l.ZTERM   AS "Payment Terms",
  l.ZUONR   AS "Assignment",
  h.XBLNR   AS "Reference Document Number",
  h.USNAM   AS "User Name"
FROM bkpf h
INNER JOIN bseg l
  ON  l.MANDT = h.MANDT
  AND l.BUKRS = h.BUKRS
  AND l.BELNR = h.BELNR
  AND l.GJAHR = h.GJAHR
LEFT JOIN skat gl
  ON  gl.MANDT = l.MANDT
  AND gl.SAKNR = l.HKONT
  AND gl.SPRAS = 'E'
LEFT JOIN t001 cc
  ON  cc.MANDT = h.MANDT
  AND cc.BUKRS = h.BUKRS
LEFT JOIN t003t dt
  ON  dt.MANDT = h.MANDT
  AND dt.BLART = h.BLART
  AND dt.SPRAS = 'E'
LEFT JOIN lfa1 v
  ON  v.MANDT = l.MANDT
  AND v.LIFNR = l.LIFNR
LEFT JOIN kna1 c
  ON  c.MANDT = l.MANDT
  AND c.KUNNR = l.KUNNR
LEFT JOIN cskt ct
  ON  ct.MANDT = l.MANDT
  AND ct.KOKRS = '<KOKRS>'
  AND ct.KOSTL = l.KOSTL
  AND ct.SPRAS = 'E'
  AND ct.DATBI >= h.BUDAT
WHERE
  h.MANDT = '100'
  AND h.BUKRS = '<BUKRS>'
  AND h.GJAHR = <GJAHR>
  AND h.BUDAT BETWEEN '<DATE_FROM>' AND '<DATE_TO>'
  -- AND h.BLART = '<BLART>'
ORDER BY h.BUDAT DESC, h.BELNR, l.BUZEI;

Tables Used by This Transaction

How these tables connect. Nodes are clickable.