← หน้ารวม (Hub) My 5 WRICEFs →
Reference ANONYMIZED · PUBLIC EDITION Expert Reference

Tables & Q&A — Expert Reference
ตารางไหนเก็บอะไร · ACDOCA vs BSEG · ซ้อมตอบแบบสัมภาษณ์

Objects · RPT-1 · RPT-2 · FRM-1 · ENH-1 · FRM-2 Field-level sources · อยู่ในหน้าของแต่ละ object

หน้านี้ทำให้ ตอบเวลาเขาถาม ได้แม่น — พจนานุกรมตารางที่โปรแกรมภาษีอ่าน, ทำไม S/4 อ่าน ACDOCA แต่บาง field ยังต้องใช้ BSEG, และ Q&A drill · ส่วน “ดึงจากตารางไหน ต่อ field” และ “ECC → S/4 delta” ของแต่ละโปรแกรมย้ายไปอยู่ในหน้าของ object นั้นแล้ว ( RPT-1 · RPT-2 · FRM-1 · ENH-1 · FRM-2)

9 สิ่งที่ Expert ต้องแม่น
1

Table Dictionary — ตารางไหน เก็บอะไร ทำไมโปรแกรมภาษีอ่าน

จำตารางเหล่านี้ = ตอบ “ดึงมาจากไหน” ได้เกือบทุกเคส

Tableเก็บอะไรใช้กับ (field เด่น)
ACDOCAUniversal Journal — line item เดียวรวม FI+CO+ML (S/4) · มี RLDNR, KTOSL, PRCTR, RECID, SEGMENT, MWSKZPC/RI (RPT-2/RPT-1) · VAT code · segment (source of truth)
BSEGclassic FI document line items (ยังอยู่ใน S/4)clearing doc AUGBL บน WIT line (RPT-1 f.4) · cash-call vendor line DMBE2 = LC2 (RPT-2) · อย่าใช้เป็นแหล่ง PRCTR ใน S/4
BKPFaccounting document headercurrency WAERS · rate KURSF · posting date BUDAT
BSETtax data segment (บรรทัดภาษีต่อเอกสาร)tax base FWBAS · amount FWSTE · MWSKZ
BSAKcleared vendor (AP) itemsjoin payment→invoice: AUGBL→BELNR · LIFNR
WITH_ITEMwithholding tax ต่อเอกสารWT base/amt QSSHB/QBSHB (doc) · QSSHH/QSSH2 (LC1/LC2) · WT_WITHCD · WT_ACCO
T059ZWHT tax code masterrate QSATZ · ชื่อ TEXT40 (by LAND1/WITHT/WT_WITHCD)
TCURRexchange rate tableUKURS ที่ GDATU (valid-from) · FCURR/TCURR
T005 / T005Tcountry + ชื่อประเทศ · rate type per tax procedurerate type KURST (RPT-2 ZOM) · LANDX (ชื่อประเทศ)
CEPCprofit center mastervalidate Profit Center (PRCTR)
T8JJJVA recovery indicator mastervalidate Recovery Indicator (BUKRS+RECID)
DFKKBPTAXNUMbusiness partner tax numbersvendor Tax ID: TAXNUM/TAXNUMXL (PARTNER, TAXTYPE)
T001company codeagent Tax ID STCEG (VAT reg no)
LFA1 / KNA1vendor / customer mastertax id STCD3/STCD1 · country LAND1
/OPT/VIM_1HEADOpenText VIM headerTax Invoice Received Date SCAN_DATE (RPT-2)
ZTAXA_T13/036custom Z-tablesbranch (PC↔company) · signature name/position (FRM-2)
BSIKopen vendor items (คู่ของ BSAK)invoice ที่ยังไม่จ่าย = ไม่โผล่ใน RPT-1
BSECone-time / alternative payee บนเอกสารSTCD3 → STCD1 (FRM-1 alternative payee defect)
T059ID01output group config ของ Generic WHTsource, form names, output group (R03 = WT_OG_REP_DOC)
ZCAX_P01whitelist WHT type ของ RPT-1PROGRAM_NAME · PARAM (WHT_TYPE_PND54) · LOW
CEPC_BUKRSprofit center ที่ authorized ต่อ CoCdชั้นที่ 2 ของ three-layer check
ZTAXB_T04 / 010segment substitution TAX-ENH-4G/L → segment · CoCd + CC (+ IO) → segment
ZGLX_T02 / 010LC enhancement GL-ENH-1กฎ rate รายบรรทัด · override ตาม doc type
EKBEPO historyGR / IR รับ segment จากกัน (KTOSL WRX)
ADRCaddressesTambon อยู่ใน street fields (ENH-1, G11)

T-codes ที่ใช้คู่กัน: FB03 · FB60 · F-53 / FBZ2 · FBVB · SE16N / SE16H / SE11 · SE38 / SE80 · FTXP · OB08 · OB22 · OB40 · OB07 · FINSC_LEDGER · S_P00_07000134 · DMEEX · SE78 · ST05 · SM37

1.5

Table Dictionary ภาค 2 — Current Tax · LCF · e-Filing

ตารางจาก FD ชุดใหม่ (TAX-RPT-3 / RPT-4 / RPT-5 / FRM-1 / ENH-1) — รู้ครบ = ตอบได้ทั้ง workstream ไม่ใช่แค่ 5 objects ของตัวเอง

วิธีอ่านตารางชุดนี้: ตระกูล ZTAXA_T* = ของเดิมจาก ECC (retrofit) · ตระกูล ZTAXB_T* = สร้างใหม่ใน S/4HANA · ตัวเลขท้ายไม่เรียงตามลำดับการใช้งาน ให้จำเป็น “กลุ่มหน้าที่” แทน

กลุ่ม A · โครงรายงาน (node / layout / mapping)

Tableเก็บอะไรใช้กับ (field เด่น)
ZTAXA_T05Node master+ flag Overseas เพื่อแยกชุดไทย/ต่างประเทศ (RPT-3 · RPT-4)
ZTAXA_T06Define node + description+ Proportion/Fixed (CHAR 1) · Fixed Rate (CHAR 5) · Overseas
ZTAXA_T01GL account mapping (ไทย)From GL–To GL · Exclude · + Valid From/To (DATS 8) · ใช้ *999999999 รวม prefix A/B/C
ZTAXA_T07Define report layout+ Valid From/To · Proportion/Fixed · layout ใหม่ BOI และ IBCTC
ZTAXB_T02GL mapping (ต่างประเทศ) — ตารางใหม่ของ RPT-4Layout · Com code · GL (range/*/exclude) · %Add back per GL · %Add back per NODE · Profit center · Capped amount + CCY · Valid from/to

กลุ่ม B · ข้อมูลนำเข้า / อัตราภาษี / asset

Tableเก็บอะไรใช้กับ (field เด่น)
ZTAXA_T03Upload data — manual adjustment (flat file)+ RLDNR (CHAR 2) · check table FINSC_LD_CMP · item type ต่างประเทศใช้ prefix OS_* (TAX-ENH-10 เป็นตัวอัปโหลด)
ZTAXA_T08Asset class include/excludeยุบรวม T029+T030+T031+T032 · + Segment (custom) CHAR 10 · Include/Exclude CHAR 1
ZTAXA_T11Tax rate for tax filingไม่เปลี่ยนจาก ECC
ZTAXA_T04Trading partner ต่อ tax rate (IBC-TC)+ Valid From/To · เปลี่ยนชื่อ field Partner PC → Trading Partner · intercompany = R001
ZTAXA_T02Master tax rate + company code สำหรับ IBC/BOICOMCODE · TYPE · Segment · PROFIT CENTER · TAX_INFO · TAX RATE % · Valid from/to (ใช้ทั้ง RPT-3 และ RPT-4)
ZTAXA_T10IBC tax rate + trading partner จาก customerscost center ที่ไม่ระบุ → ใช้อัตรา default (3%)
ZTAXB_T07Specific asset classes (TAX-RPT-9)Country · Com code · Segment · Profit center · Asset Class · Asset type (IDC · QEE — กติกา “include” ไม่ใช่ exclude)
ZTAXB_T09Depreciation & NBV (TAX-RPT-9)DD&A ที่ item type “PPE: DD&A PER TAX (TAX AA REPORT)” ดึงไปใช้
ZTAXB_T06CR% (SAC-RPT-1)Period/Year · Comp Code · CR% — ใช้ค่างวดล่าสุดที่ไม่เกินงวดที่เลือก
ZTAXB_T08ITD cost recovery balance (SAC-RPT-1)field “Less: Utilised during the year” — ใช้ใน PSC_MM / PSC_VN / PSC_OM

กลุ่ม C · Loss Carried Forward + มาตรฐานที่ใช้ validate

Tableเก็บอะไรใช้กับ (field เด่น)
ZTAXB_T03Exchange rate type ต่อ company codeBUKRS CHAR 4 · KURST CHAR 9 · ไม่มีในตาราง = ไม่แปลง LC2
ZTAXB_T01Loss Carried Forward store (TAX-RPT-5)key ครบทุกมิติ + Tax rate + TAX_INFO · ยอด 3 ชุด: Original / Conversion / Movement · Type of report = LCF หรือ Unabsorbed CA · ต้องเปิด change log
T093BDepreciation areas ต่อ company codevalidate Depreciation area (AFABE) คู่กับ BUKRS (RPT-4)
FAGL_SEGMSegment mastervalidate Segment (SEGMENT)
FINSC_LD_CMPLedger ต่อ company codecheck table ของ ZTAXA_T03-RLDNR
6 ข้อที่ทำให้ตอบคำถามระดับ expert ได้
  • ทำไมต้องมี Valid From/To — เพื่อรันย้อนหลังแล้วได้ config ของปีนั้น ไม่ใช่ปีปัจจุบัน (T026 · T027 · T034 · ZTAXB_T02)
  • *999999999 — ดอกจันแทน prefix A/B/C ของผังบัญชี S/4 → 1 แถวแทน 3 แถว
  • flag “Overseas” ใน T024/T025 — node code ซ้ำกันได้ แยกด้วย checkbox
  • prefix OS_* ใน T028 — แยก manual adjustment ต่างประเทศออกจากของไทยในตารางเดียว
  • TAX_INFO — แยกไทย/ต่างประเทศเมื่อ company + profit center + segment ซ้ำกัน (MTJDA_MY · CITTH_MM)
  • Tax rate เป็น key ของ ZTAXB_T01 — เพราะ IBCTC/IBCSVCS เก็บ LCF ตามอัตรา ไม่ใช่ตาม company segment

LC1 / LC2 / LC3 — คู่ field ที่ต้องท่อง

CurrencyAmount / Currency fieldความหมาย
LC1ACDOCA-HSL / RHCURCompany code currency (H = Home)
LC2ACDOCA-KSL / RKCURGlobal currency (K = Konzern/กลุ่ม)
LC3ACDOCA-OSL / ROCURFreely defined currency 1 (O = Other — เก็บค่าที่ตีราคาใหม่)
🧰 ฝึกมือ: ทุกตารางข้างบนเปิดดูได้ด้วย SE16N — หน้านั้นมี 12 recipes ที่ผูกกับตารางเหล่านี้โดยตรง (R06 = ดู GL mapping · R08 = ตรวจ LCF · R12 = ไล่ trading partner)
2

ACDOCA vs BSEG — คำถามยอดฮิต

ถ้าตอบอันนี้ได้คม = ดูโปรเหนือคนอื่นทันที

ACDOCA (Universal Journal) คือหัวใจของ S/4HANA — รวม FI + CO + Material Ledger + asset ไว้ใน line-item table เดียว เป็น source of truth สำหรับ reporting และ analytic dimensions (Profit Center, Recovery Indicator, Segment, VAT code). BSEG (classic FI line items) ยัง generate อยู่เพื่อ compatibility แต่ report ยุค S/4 อ่าน ACDOCA เป็นหลัก

อ่าน ACDOCA ยังไง — RLDNR + KTOSL

ทุกครั้งที่ดึงจาก ACDOCA จะ fix RLDNR='0L' (leading ledger) แล้วกรอง KTOSL (transaction key) เพื่อเลือก “บรรทัดที่ต้องการ”:

KTOSL='WIT'
Withholding — บรรทัด WHT · ดึง PC/RI ฝั่งจ่าย
KTOSL='VST'
Input VAT — ดึง VAT code (MWSKZ)
KTOSL='XST'
Invoice side — ดึง PC/RI ฝั่ง invoice
KTOSL='MWS'
Output VAT — ฝั่งขาย

แล้วทำไมบาง field ใช้ BSEG?

RPT-1 field “Doc WHT FX Adj” FD ระบุอ่าน BSEG (BELNR/GJAHR/BUKRS ของเอกสารจ่าย, KTOSL='WIT') เพื่อดึง AUGBL (clearing document) ของบรรทัด WHT — เป็นการหยิบ line-level clearing linkage ที่ระบุไว้ที่ BSEG · ส่วน PC/RI/VAT code (field 17/18/32/33/34) หยิบจาก ACDOCA

ประเด็นตอบ: “S/4 อ่าน analytic dims (PC/RI/segment/MWSKZ) จาก ACDOCA · ส่วน BSEG ใช้เมื่อต้องการ line-level field เฉพาะ (เช่น clearing AUGBL ของ WIT line) — FD ของ RPT-1 mix ทั้งสองตัวโดยตั้งใจ”
3

Q&A Drill — “ถ้าเขาถามว่า…”

อ่านคำถาม → ตอบในใจ → กดเฉลย · ทำซ้ำจน reflex

Q1RPT-1 ดึง Profit Center / Recovery Indicator จากตารางไหน อย่างไร?
เฉลย
จาก ACDOCA (RLDNR='0L') กรอง KTOSL='WIT' สำหรับฝั่งจ่าย และ KTOSL='XST' สำหรับฝั่ง invoice → fetch PRCTR / RECID
Q2ทำไม field “Doc WHT FX Adj” ใช้ BSEG ไม่ใช่ ACDOCA?
เฉลย
FD ระบุอ่าน BSEG (BELNR/GJAHR/BUKRS ของเอกสารจ่าย, KTOSL='WIT') เพื่อดึง AUGBL (clearing document) ของบรรทัด WHT — เป็น line-level clearing linkage · ส่วน analytic dims (PC/RI/VAT code) หยิบจาก ACDOCA
Q3ACDOCA คืออะไร ต่างจาก BSEG อย่างไร?
เฉลย
ACDOCA = Universal Journal — line-item table เดียวของ S/4 รวม FI+CO+ML = source of truth สำหรับ reporting/analytic (PC/RI/segment/MWSKZ) · BSEG = classic FI line items ยัง generate อยู่ ใช้บาง field เฉพาะ
Q4RPT-1 เชื่อมเอกสารจ่าย → invoice ด้วยตารางอะไร?
เฉลย
BSAK — AUGBL (clearing) = เลขเอกสารจ่าย แล้วคืน BELNR ที่ BELNR ≠ AUGBL (+ BUKRS, GJAHR) = เลข invoice
Q5WHT rate ของ RPT-1 กับ FRM-2 มาจากที่เดียวกันไหม?
เฉลย
ไม่ — RPT-1 อ่าน T059Z-QSATZ (by LAND1=TH, WITHT, WT_WITHCD) · FRM-2 hardcode อัตรา DTA ตาม tax code (D1=8%…H4=10%) โดยอ่าน code จาก WITH_ITEM-WT_WITHCD
Q6RPT-2 ดึงข้อมูลภาษีหลักจากตารางไหน และ Tax ID คู่ค้าจากไหน?
เฉลย
ภาษีหลักจาก BSET (ฐาน RFUMSV00) + BKPF/BSEG · Tax ID คู่ค้าจาก LFA1/KNA1 → STCD3 (นิติบุคคล) / STCD1 (บุคคล)
Q7RPT-2 retrofit อะไรจาก ECC บ้าง (ตอบเร็ว 4 ข้อ)?
เฉลย
(1) GL renumber 21500020→A213X025 · (2) doc CC→JD/JK · (3) user exit EJVA017 (substitute tax code cash-call) retrofit เข้าโปรแกรม · (4) selection +PC(CEPC)/RI-further + output +Alt Ref +VIM scan date (/OPT/VIM_1HEAD) → 36 คอลัมน์
Q8RPT-2 แปลงเป็นสกุลอะไร ด้วย rate type ใด มาจากตารางไหน?
เฉลย
CoCd OM01: LC1 = OMR (3 ทศนิยม) · LC2 = USD · ไม่มี LC3 · exchange rate type ของรายงาน = ZOM (Oman avg daily) จาก T005-KURST → อัตราใน TCURR (ZOM vs mid ยังเปิด — G10 / C18)
Q9FRM-2 ตัดสินใจพิมพ์ MMK หรือ USD จาก field ไหน และยอดจาก field อะไร?
เฉลย
ตัดสินจาก BKPF-WAERS (=MMK → MMK, else USD) · ยอดจาก WITH_ITEM: MMK=QSSHH/QBSHH, USD=QSSH2/QBSH2, doc=QSSHB/QBSHB
Q10FRM-2 หา Tax ID ทั้ง 2 ฝ่าย และชื่อประเทศ vendor ยังไง?
เฉลย
Tax ID ผู้ถูกหัก = DFKKBPTAXNUM (PARTNER=WT_ACCO, TAXTYPE MM3/MM0 → TAXNUM/TAXNUMXL) · ผู้หัก = T001-STCEG · ประเทศ = BSAK→LIFNR→LFA1(LAND1)→T005T(LANDX)
Q11KTOSL แต่ละค่าใน ACDOCA หมายถึงอะไร?
เฉลย
WIT=withholding · VST=input VAT · XST=ใช้ดึง PC/RI ฝั่ง invoice · MWS=output VAT — fix RLDNR='0L' เสมอ
Q12document splitting / segment เกี่ยวกับ report พวกนี้ยังไง?
เฉลย
Segment = tax regime ถูก derive ด้วย substitution TAX-ENH-4 (GGB1): ZTAXB_T04 (G/L) → ZTAXB_T05 (CC + IO) → segment ของ profit center · document splitting แตกบรรทัด BS (vendor / tax / WHT) ตาม PC / segment ของบรรทัด P&L → ACDOCA จึงมี WIT line หลายบรรทัดต่อเอกสาร multi-PC (ต้นเรื่อง TKT-01) · segment ยังตัดสิน rate ของ LC3
Q13RPT-2 มีกี่ data path และ cash call มาจากตารางไหน?
เฉลย
สอง path: standard = BKPF → BSET · cash call = BKPF → BSEG บรรทัด vendor (I0 ไม่มีบรรทัดภาษี) · LC2 base = BSEG-DMBE2 · attribute JVA จาก ACDOCA แถวเดียวที่ match ด้วย key เต็ม (ACDOCA-DOCLN = BSEG-BUZEI)
Q14FRM-1 หา Tax ID ผู้ขายจากไหน และ defect alternative payee คืออะไร?
เฉลย
WITH_ITEM-WT_ACCO → DFKKBPTAXNUM (TAXTYPE TH1 บุคคล / TH3 บริษัท → TAXNUM/TAXNUMXL) · defect: เมื่อมี payee บนเอกสาร FRM-1 ยังพิมพ์ BP master แทน BSEC (certificate ZTAXA_F02 ใช้ STCD3 → STCD1 แล้ว)
Q15ENH-1 สร้างไฟล์ด้วยอะไร และต้องมีเอกสารอะไรก่อนเทสระดับ field?
เฉลย
DMEEX format trees ZWHTFILE_* + exits ZDMEE_EXIT_WHT_BASE/_AMT + enhancement ZTAXA_E01 (sum partner PND1A, sort) · ต้องมี DMEEX mapping workbook (positions, lengths, constants, วันที่ พ.ศ.)