← หน้ารวม (Hub)
Role 4 ANONYMIZED · PUBLIC EDITION Delivery · FUT · JIRA

Delivery & FUT
WRICEF ไหลยังไง · FUT ทำยังไง · เปิด defect ให้ dev แก้ได้ในรอบเดียว

FUT system · DEV client 120 Tools · JIRA S/4 Program · TestRail Owner · Chatree K.

Source: knowledge base project-lifecycle-and-testing · 50-role-fut · 00-project-context (ways of working) · FUT working reference (content v2) · FD review chain

FUT = ทดสอบ WRICEF ทีละตัว เทียบกับ FD ใน DEV client 120 — อ่าน FD ให้แตก, เตรียมเอกสารตัวอย่าง (specimen), คำนวณ expected ไว้ก่อน, รัน, เทียบ แล้วถ้าไม่ตรงก็เปิด defect ใน JIRA ที่ชี้ได้ชัดว่าผิดตรงไหน · เปรียบโปรเจกต์เหมือนสร้างบ้าน: Explore = ออกแบบ, Realize = สร้าง + เทสทีละห้อง (FUT) แล้วเทสทั้งบ้าน (SIT), เจ้าของตรวจรับ (UAT), สอนใช้บ้าน (KUT/EUT), แล้วย้ายเข้า (cutover)
1

Project frame — S/4 Program

S/4 Program = Client S/4HANA implementation · SI · big-bang multi-entity · ซีเข้าช่วง Realize (roll-in 16-Jul-2026)

RealizeFUT: defects + test cases
SIT · 1-OctQAS
KUT · Nov–DecBangkok
EUTBKK · Songkhla · MY · MM
UATbusiness sign-off
Go-live~Jan-2027 vs 1-Jul-2027 (C1)
System / toolใช้ทำอะไร
DEV client 120dev / FUT
client 300training · capture หน้าจอ KUT
QASSIT
JIRA project S/4 Program · TestRaildefects · test cases (RPT-2 TC-001..004 อยู่ใน TestRail)
Teams · SharePoint / OneDriveสื่อสาร · SIT scripts · evidence

Plan on a page — 12 stage gates Cadence s14

จาก plan on a page ใน Weekly Tax Cadence (23-Jul-2026) · แกนเวลา Oct-2024 (M1) → Feb-2027+ (M29+) · ตำแหน่งแท่งบนแกนเวลาดึงจาก deck ไม่ได้ จึงวางตาม phase — milestone ที่อยู่ใน phase ไหนจัดตามชื่อ INFER

Mobilise
MIL1 MobilisationSG1 Blueprint Entry
Blueprint
MIL2.1 Sol. ConfirmationSG2 Sol. Confirmation ExitMIL2.2 BlueprintSG3 Blueprint Exit
Design & Build
MIL3.1 End of Config BuildMIL3.2 Data Mig. Design & BuildSG4 Migration D&B ExitMIL3.3 Function Specs CompleteMIL3.4 Mock1 completeSG5 SIT Entry
Testing เราอยู่ตรงนี้ · SIT ตั้งแต่ 1-Oct
MIL3.5 SIT CompleteSG6 UAT EntryMIL4.1 UAT CompleteSG7 FDR Entry
Deploy
SG8 Cutover EntrySG9 Go Live · MIL4.2
PGLS
SG10 First Month-end CloseMIL5 Post Go-live SupportSG11 PGLS Exit
Warranty
SG12 Warranty Closure

SG = stage gate MIL = milestone · FDR = full dress rehearsal (ก่อน cutover จริง) · PGLS = post go-live support

Data migration — ส่วนที่เป็นภาษี
  1. MC0 → MC1 — แปลงเฉพาะ ledger blank (leading)
  2. MC2 — รวม Tax ledger · paid invoice ของ deferred tax แปลงผ่าน GL (ตั้ง additional text ID แล้ว)
  3. MC3 — รอบสุดท้ายก่อน deploy
  4. Solution สำหรับ conversion ของ V1 (PP36) เสร็จแล้ว (DM PP36 meeting 14-Jul)
Deploy chain → ภาษีงวดแรก
  1. Mock Cutover 1 → Mock Cutover 2 → FDR → Cutover
  2. SG9 Go Live → SG10 First Month-end Close = tax period-end close งวดแรก (เริ่มเมื่อ F&A ปิด)
  3. ยื่นงวดแรก: วันที่ 7 (paper PND / PP36) · 15 (e-filing PND + PP36) · 23 (e-filing PP30 / ภ.ธ.40)
  4. เป้าหมาย go-live ในเอกสารยังขัดกันระหว่างสองช่วงเวลา (C1)
Weekly Tax Cadence: วาระเรียงเสมอ ① open actions → ② ongoing tasks → ③ KUT → ④ meetings → ⑤ appendix (timelines · FUT board · plan on a page) · สถานะ FD ณ 23-Jul: 42 approved · 1 in progress · 13 dropped · ประชุมที่เกี่ยวกับซี: Biweekly FUT checkpoint · PC & Recovery Indicator for Tax Reporting (23-Jul)
2

SAP Activate + เส้นทางของ WRICEF 1 ตัว

Discover → Prepare → Explore (fit-to-standard, blueprint / BPE, key design decisions) → Realize (configure, build WRICEF, UT / FUT / SIT, data loads) → Deploy (UAT, training, cutover, go-live) → Run (hypercare) STD

LetterTypeตัวอย่างในงานซี
WWorkflowAP-WFL-1 VIM workflow
RReportTAX-RPT-1 · TAX-RPT-2
IInterfaceTAX-RPT-13 WHT listing → Doc Center (ID เป็น R แต่มี interface)
CConversiondata migration load
EEnhancementTAX-ENH-1 (DMEEX) · TAX-ENH-4 (substitution)
FFormTAX-FRM-1 ใบแนบ · TAX-FRM-2 certificate
  1. FD (functional design — what & why) เขียนโดย SI Functional
  2. TD (technical design — how) → build โดย developer
  3. UT — developer เทสว่าโค้ดทำตาม TD
  4. FUT — functional consultant เทสเทียบ FD ทีละ object ← งานซี
  5. SIT → UAT · ถ้าต้องเปลี่ยน scope / design หลัง sign-off = CR (change request)

FD review chain (จาก FD S/4 Program)

ActionRole
Prepared bySI Functional (SI team member)
Validated bySI Functional Lead (SI)
Reviewed byClient POR / BA / BPL / BPO / BRM ตัวย่อเต็ม
Endorsed byClient KPDO
Business ownerClient Tax team

FD เขียนว่า test conditions จะรันใน “Functional Acceptance Test (FAT)” ผ่าน TestRail · ใน S/4 Program ลำดับที่ใช้จริงคือ UT → FUT → SIT → UAT

3

Test phases

PhaseWhoWhat is provedTypical artefact
UTDeveloperCode ทำตาม TDUT evidence
FUTFunctional consultantObject ตรง FD ทีละตัวTC-001…, JIRA defects
SITข้าม workstreamE2E scenario ข้ามโมดูล + interfaceE2E scripts + step owner + evidence ต่อ step
UATBusiness usersBusiness ยอมรับSign-off
RegressionTeamFix ไม่ทำของอื่นพังRe-run sets
SIT ของซีSIT executionKUT / EUT
4

FUT loop (6 ขั้น)

  1. อ่าน FD ทีละ section → ลิสต์ กฎที่เทสได้ (selection, ทุก step ของคอลัมน์, filters, errors)
  2. สร้าง specimen: หนึ่งเอกสารต่อหนึ่งกฎ · ใช้ discriminating pairs (สองใบต่างกันตัวแปรเดียว)
  3. คำนวณ expected ไว้ก่อนรัน (TCURR rates, Σ lines)
  4. รัน · capture selection screen + output · trace ใน SE16N (BKPF, BSEG, BSET, WITH_ITEM, ACDOCA 0L, BSAK, TCURR)
  5. Pass → evidence · Fail → จัดชั้น (master data / config / posting / report logic) ด้วย three-layer model → เปิด defect
  6. Retest หลัง fix · regression sister outputs (shared engine ZTAXB_R01)

Test case file

5

Diagnostics toolkit

Document trace
  1. เริ่มที่ payment BKPF
  2. ไป BSEG และ WITH_ITEM
  3. บรรทัดภาษีใน BSET
  4. ACDOCA ledger 0L รวม WIT rows
  5. หา invoice ผ่าน BSAK-BELNR/GJAHR

Key: BUKRS + BELNR + GJAHR · เก็บ FB03 header, WITH_ITEM, ACDOCA WIT lines และ TCURR รอบวัน T

Three-layer check
  1. Master data มีไหม — CEPC, SKA1 …
  2. Authorized ให้ CoCd ไหม — CEPC_BUKRS, SKB1, T8JJ
  3. Post จริงเป็นอะไร — ACDOCA / BSEG

หายที่ชั้น 3 = posting / config · มีที่ชั้น 3 แต่ไม่ออก output = report / filter

Row-disappearance ladder (R03 / Generic WHT)

Fast discriminating pairs

Pairแยกอะไร
posting date เดียวกัน · document date ต่างdate logic
vendor เดียวกัน · มี vs ไม่มี WHT lineWHT trigger (TKT-02)
zero-tax vs 5% documentคำนวณ vs อ่านค่า (RPT-2 Bug 1)
PC เดียวกันข้ามเอกสารความครบของ key (RPT-2 Bug 2)

Working principles

6

JIRA defect format

Title: FUT_Defect in the WRICEF <object>: <one-line symptom>
Components: Functional / FI / Tax
1. Description — scenario + the one document
2. Current Result — what the report shows (values)
3. Reproduce Steps — T-code, variant, selection
4. Expected Results — per FD step, with numbers
5. Proposed Fix — minimal, at the step / form level
6. Objects Modified
InteractiveJIRA defect drafter — กรอกแล้วได้ข้อความตาม format ทีม (ภาษาอังกฤษ)
WRICEF
Symptom (one line)
1 · Description — scenario + the one document
2 · Current result — exact values
3 · Reproduce steps — T-code, variant, selection
4 · Expected results — per FD step, with numbers
5 · Proposed fix (minimal)
6 · Objects modified

ข้อความอยู่ในหน้านี้เท่านั้น ไม่ถูกบันทึกที่ไหน · Components: Functional / FI / Tax · หนึ่งเอกสาร หนึ่ง root cause · ห้ามเปิดเรื่องที่อยู่ใน locked decisions

Routing (by role)

เรื่องส่งไปที่
Statutory (rate / date / base, PND54 / VAT36)Client tax reviewer — ก่อน transport
GL (TKT-02, GL-ENH-1)Project lead → GL lead → GL team
Config (OB08, TCURR, rate types)Client config owner
External commitment ใด ๆProject lead ก่อนเสมอ
Priorities, ชื่อ / scope คอร์ส, evidence standardTeam lead (SI)

ภาษา: ไทยสำหรับวิเคราะห์และเพื่อนร่วมงานไทย (มีคำสุภาพ, “ซี”) · อังกฤษสำหรับ JIRA, email, FD, slides · Teams ถึง dev: สั้น เทคนิค หนึ่งเรื่องต่อข้อความ

7

Current FUT backlog (16-Oct-2026)

ObjectItemNext action
RPT-1Multi-invoice payment (stamp AP voucher เดียวทุกแถว)Dev fix ต่อแถว: BSAK-LIFNR = WT_ACCO + match WITH_ITEM ของ invoice (vendor + type + code) · กฎการแบ่งรอ team lead (D3)
RPT-1TKT-01 split linesDev ทำตาม expected-result workbook · เทียบไอเดีย “high-precision portion” ของ senior
RPT-15G doc 8084322612 หายSE16N ZCAX_P01 WHT_TYPE_PND54
RPT-1WHT rate column 15% vs posted 10% (code 44)T059Z check
RPT-1TC-001One-shot retest หลัง TKT-02 deploy
RPT-2Multi-PC Total / Balanceแก้แบบเดียวกับ RPT-6 (ถามทีม RPT-6) · RPT-2 ABAP
RPT-2Cash call ไม่เข้า “all company codes”RPT-2 ABAP
FRM-1Vendor ถูกคัดลอกจากบรรทัดก่อน (multi-PC) · BP vs BSEC payee · “0 แผ่น”Raise พร้อม specimens
FRM-1 / ENH-1Multi-invoice payment TCs (TC-010..016)Execute
ENH-1Tambon ADRC traceSE16N ADRC ก่อนเขียน mapping rules
ENH-2 (SI)Same-day doc “Data not found” (558) · LC3 post fail (580) · label M9 ค้างRouted
ENH-3 (SI)Doc 9004391363 rate 37.6651 ยังอธิบายไม่ได้หา GDATU ใน TCURR EUR:THB · เช็ก translation-date option
ConfigTCURR USD:THB 12.08.2026 ratio 0/0แจ้ง Client config owner แล้ว
8

Daily routine

✓

Self-check

1. FUT ต่างจาก SIT อย่างไร?

ดูเฉลย
FUT = object เดียวเทียบ FD (DEV 120) · SIT = E2E scenario ข้ามโมดูลใน QAS โดยแต่ละ step มี team owner

2. ก่อนรัน FUT ต้องมีอะไรนอกจาก specimen?

ดูเฉลย
Expected values ที่คำนวณไว้ก่อน (TCURR, Σ lines) และ baseline / selection screen capture

3. Defect ที่ดีหนึ่งใบควรมีกี่เอกสาร?

ดูเฉลย
หนึ่งเอกสาร หนึ่ง root cause — ไม่ bundle

4. Row หายจาก R03 — ไล่ตรงไหนบ้างตามลำดับ?

ดูเฉลย
standard DS FM → TH BAdI DELETE_EWHT_DOCUMENTS → check_witht / ZCAX_P01 → PC/RI filter → output

5. ปัญหา rate ใน TCURR ต้องส่งใคร?

ดูเฉลย
Client config owner (OB08 / TCURR) — TCURR เป็น client-wide ห้ามแก้เองโดยไม่ประกาศ