SAPIntermediate

SAP Business Processes & ABAP Essentials

Follow an end-to-end procure-to-pay process, distinguish master from transactional data, write your first ABAP queries and CDS view concepts, and compare working in SAP GUI versus modern Fiori applications.

4 sections · ~32 min · 5-question quiz (pass ≥ 70%)

1End-to-End Process: Procure-to-Pay

Procure-to-Pay (P2P) is the classic cross-module workflow connecting MM and FI. Understanding it clarifies why master data quality matters.

Typical P2P steps:

  1. Purchase Requisition (PR) — internal request to buy goods/services (ME51N). May require approval workflow.
  2. Purchase Order (PO) — formal commitment to a vendor (ME21N). References material or G/L account, plant, quantity, price.
  3. Goods Receipt (GR) — physical receipt posted (MIGO). Inventory increases; GR/IR clearing account updated in FI.
  4. Invoice Verification — vendor invoice matched to PO/GR (MIRO). Three-way match: PO, GR, invoice quantities and prices.
  5. Payment — outgoing payment clears vendor liability (F-53 / automatic payment run F110).
PR → PO → GR → Invoice → Payment
     MM    MM    MM+FI     FI

Order-to-Cash (O2C) is the sales-side mirror: quotation → sales order → delivery → billing → incoming payment (SD + FI).

Integration points: Each logistics step can generate accounting documents (FI). Errors at GR (wrong plant) propagate to incorrect inventory valuation and mismatched invoices. Process training teaches where to look before jumping into ABAP debug.

2Master Data vs Transactional Data

SAP data falls into two buckets with different lifecycles and ownership.

Master data — long-lived entities referenced by many transactions:

Object Module Examples
Vendor MM/FI Payment terms, bank details, reconciliation account
Material MM/SD Description, base UoM, valuation class
Customer SD/FI Credit limit, pricing procedures, partner functions
G/L Account FI Account type, field status group
Cost Center CO Controlling area, person responsible

Transactional data — documents created by business events: purchase orders, sales orders, accounting documents, production orders. They reference master data by key (vendor number 100045, material MAT-001).

Golden rules:

  • Fix master data once at the source — changing a vendor's reconciliation account affects all future postings.
  • Never delete master records with history; use deletion flags or blocks.
  • Number ranges and document types control how transactions are numbered and which fields are required.
" Reading vendor master — table LFA1 (general), LFB1 (company code)
SELECT SINGLE name1, land1
  FROM lfa1
  INTO @DATA(ls_vendor)
  WHERE lifnr = @lv_vendor_id.

Data governance teams often own master data; application consultants configure; end users consume it daily.

3ABAP Essentials: Types, SELECT, and CDS Views

ABAP (Advanced Business Application Programming) is SAP's primary server-side language. Even functional consultants benefit from reading basic ABAP to troubleshoot custom reports and understand Fiori service backends.

Data types and variables:

DATA: lv_count   TYPE i,
      lv_amount TYPE p DECIMALS 2,
      lv_name   TYPE string.

" Inline declaration (modern ABAP 7.40+)
DATA(lv_today) = sy-datum.

SELECT — reading from the database:

SELECT bukrs, belnr, gjahr, dmbtr
  FROM bkpf
  INTO TABLE @DATA(lt_docs)
  WHERE bukrs = @p_bukrs
    AND budat >= @p_from
  ORDER BY budat DESCENDING
  UP TO 100 ROWS.

Prefer INTO TABLE @DATA(...) with inline declarations. Use @ escaping for host variables. Avoid SELECT * in production — explicit field lists reduce memory and survive schema changes.

CDS views (Core Data Services) — define data models in the ABAP Dictionary with annotations for Fiori and analytics:

@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
define view entity ZC_PurchaseOrder
  as select from ekko
  association [1..*] to ekpo as _Items on $projection.ebeln = _Items.ebeln
{
  key ebeln,
      lifnr,
      bedat,
      _Items
}

CDS views replace many old SE11 views; they power OData services via @OData.publish: true and support calculated fields, associations, and authorization checks declaratively.

4SAP GUI vs Fiori: When to Use Which

Most S/4HANA customers run dual UX during migration: Fiori for day-to-day tasks, SAP GUI for niche transactions not yet app-enabled.

Aspect SAP GUI Fiori
Access SAP Logon / SAP GUI for Java Browser or mobile app
Navigation Menu tree + T-codes Launchpad tiles, search
Look & feel Dense, multi-screen Task-focused, responsive
Custom Z-transactions Full support Requires OData service + app registration
Power-user features Multiple sessions, batch input Simpler; some advanced features delegated to GUI

SAP GUI essentials:

  • Command field — type T-codes directly (/nME21N starts fresh PO creation).
  • Session management — up to 6 sessions (/o) for parallel work.
  • SPRO — IMG configuration tree (consultants, not typical end users).

Fiori essentials:

  • Apps identified by Semantic Object + Action (e.g. PurchaseOrder-display).
  • Personalization — users pin favorites; theming follows corporate branding.
  • Intent-based navigation — one app deep-links to related apps (PO → GR).

Employee guidance: Start in Fiori if your role provides a launchpad. Fall back to GUI T-codes documented in your runbook when no Fiori equivalent exists. Basis teams track Fiori app activation in /UI2/FLPD_CUST and gateway OData registrations (/IWFND/MAINT_SERVICE).

Ready to test yourself?

Sign in to take the quiz, track progress, and earn a certificate.

Sign in