SAP IS Retail Multi-Option Gift Promotion

Complete Engineering Implementation Guide

Comprehensive technical solution for implementing customer-choice gift promotions in furniture retail using SAP IS Retail Promotion Management

70% Standard SAP

Leverage existing promotion management capabilities

30% Custom Development

BADI enhancements and UI5 customer interface

10-Week Timeline

Phased implementation approach

Customer Gift Selection Flow

Purchase
Eligibility
Selection
Complete
TV Options
Credits
Rebates
Bases

Promotional Scenario Analysis

Detailed breakdown of the furniture store's complex multi-tier gift promotion

Promotion Period

August 14 - September 3, 2025

Campaign Type

"Double Bonus MC" Finance Promotion

Target Audience

Furniture customers purchasing qualifying mattress brands

Brand Tier Structure & Business Rules

Tier 1: Basic Brands

Entry Level
Qualification: >$1099 Queen AUSP
Included Brands:
Beautyrest Cindy Crawford King Koil Sealy Posturepedic & Plus Serta Perfect Sleeper Serta PS Ultimate
Available Gift Options:
24" LED TV

Smart TV with streaming capabilities

~$299 value
$50 Merchandise Credit

Store credit for future purchases

$50 value
$100 Add-On Rebate

Instant cash rebate at checkout

$100 value
Head Up Adjustable Base

Basic adjustable base + $25 upgrade

Base + $25
Business Rules:
  • Must use separate merchandise credit transaction
  • One gift per qualifying purchase
  • Customer must choose at time of purchase
  • Subject to inventory availability

Tier 2: Premium Brands

Mid-Range
Qualification: Standard purchase requirements
Included Brands:
Kingsdown Serta Martius
Available Gift Options:
32" LED TV

Larger smart TV with enhanced features

~$399 value
$50 Merchandise Credit

Store credit for future purchases

$50 value
$100 Add-On Rebate

Instant cash rebate at checkout

$100 value
Head Up Adjustable Base

Premium adjustable base + $50 upgrade

Base + $50

Tier 3: Luxury Brands

High-End
Qualification: >$1099 Queen AUSP
Included Brands:
Beautyrest World Class Sealy Posturepedic Elite Serta iComfort King Koil Natural
Available Gift Options:
43" LED TV

Large smart TV with premium features

~$599 value
$200 Merchandise Credit

Enhanced store credit value

$200 value
$200 Add-On Rebate

Higher instant cash rebate

$200 value
Head Up Adjustable Base

Premium adjustable base + $50 upgrade

Base + $50

Tier 4: Ultra-Premium

Ultra Luxury
Complex Variable Conditions
Complex Business Logic:
Purchase ≤ $2,698
Head Up Only Adjustable Base
Purchase > $2,699
Head & Foot Base (Aireloom Only)
Additional Bonuses
>$2000: +$100 | >$4000: +$200 | >$6000: +$300
TSI Base Credits
$300 Credit + Tiered Bonuses (up to $300)
Ultra-Premium Gift Options:
50" Premium TV

Large premium smart TV with advanced features

~$899 value
$300 Merchandise Credit

Maximum store credit value

$300 value
$300 Add-On Rebate

Maximum instant cash rebate

$300 value
Advanced Adjustable Bases

Variable options based on purchase amount

Variable

SAP IS Retail Technical Analysis

Comprehensive evaluation of standard capabilities vs. development requirements

70%
Standard SAP
Can be achieved with configuration
30%
Custom Development
Requires BADI and UI5 development
10
Weeks Timeline
Phased implementation approach

Standard SAP IS Retail Capabilities

Promotion Planning & Management (PPM)

What it provides: Complete promotion lifecycle management from planning to execution

Create promotions for discounted pricing
Date range and validity control
Brand and category-based rules
Integration with pricing engine
SAP Transactions: VK11, VK12, VK13 for condition maintenance

Free Goods & Bonus Buy

What it provides: Standard functionality for free gift promotions with purchase thresholds

Automatic free goods addition
Purchase threshold validation
POS system integration
Inventory impact tracking
Configuration: Item Category TAN, Pricing Procedure, Condition Types

Merchandise Credit Management

What it provides: Built-in gift card and store credit functionality

Gift card creation and management
SAP Customer Checkout integration
Balance tracking and validation
Redemption workflow
Integration: SAP Customer Checkout Gift Card module

Article Hierarchy & Brand Rules

What it provides: Hierarchical product organization for promotion targeting

Multi-level hierarchy structure
Brand-based promotion rules
Automatic article assignment
Condition table integration
Transactions: WA01 (Create), WA02 (Change), WA03 (Display)

Identified Limitations & Development Requirements

Customer Choice Interface

Critical Gap

Issue: No standard UI exists for customers to select from multiple gift options at POS

Impact Analysis:
  • Cannot present gift options to customers
  • No way to capture customer preference
  • Manual process would be error-prone
Required Solution:
Custom UI5 Application
POS Integration
Real-time Validation

Complex Multi-Tier Logic

High Priority

Issue: Standard promotion engine cannot handle complex Tier 4 variable conditions

Complex Logic Requirements:
  • Variable gift values based on purchase amount
  • Brand-specific rules (Aireloom exception)
  • Tiered bonus calculations
  • TSI base credit logic
Required Solution:
BADI Enhancement
Custom Function Modules
Business Rule Engine

Real-time Inventory Integration

Medium Priority

Issue: Limited standard functionality for real-time gift inventory validation during selection

Integration Needs:
  • Real-time stock checking
  • Temporary allocation during selection
  • Cross-location inventory lookup
  • Alternative gift suggestions
Required Solution:
Custom APIs
Inventory Integration
Allocation Logic

Dynamic Gift Calculation

Medium Priority

Issue: No standard mechanism for dynamic gift value calculation based on complex business rules

Calculation Requirements:
  • Purchase amount-based gift sizing
  • Brand tier impact on gift options
  • Additional bonus calculations
  • Upgrade fee calculations
Required Solution:
Calculation Engine
Business Rules
Dynamic Pricing

Standard SAP Configuration Guide

Step-by-step configuration instructions for 70% of the solution using standard SAP functionality

Configuration Workflow Overview

Master Data Setup

Article hierarchies, gift articles, brand classifications

Promotion Configuration

Promotion types, condition tables, access sequences

Integration Setup

POS integration, pricing procedures, condition records

Testing & Validation

End-to-end testing, business rule validation

1. Master Data Configuration

Foundation

1.1 Article Hierarchy Setup (Transaction: WA01)

1
Create Root Hierarchy Structure
Transaction: WA01 - Create Article Hierarchy
Hierarchy Structure:
FURNITURE_BRANDS (Root)
01_BASIC_BRANDS
• Beautyrest
• Cindy Crawford
• King Koil
• Sealy Posturepedic & Plus
• Serta Perfect Sleeper
• Serta PS Ultimate
02_PREMIUM_BRANDS
• Kingsdown
• Serta Martius
03_LUXURY_BRANDS
• Beautyrest World Class
• Sealy Posturepedic Elite
• Serta iComfort
• King Koil Natural
04_ULTRA_PREMIUM
• Aireloom
• Other Ultra Brands
Configuration Parameters:
Field Value Description
Hierarchy Type H Material Hierarchy
Validity From 08/14/2025 Promotion start date
Validity To 09/03/2025 Promotion end date
Assignment Logic Brand-based Automatic assignment by brand name
2
Configure Hierarchy Attributes
Hierarchy Node Attributes:
Node ID: 01_BASIC_BRANDS
Description: Entry Level Mattress Brands
Qualification: >$1099 Queen AUSP
Gift Tier: 1
Node ID: 02_PREMIUM_BRANDS
Description: Mid-Range Mattress Brands
Qualification: Standard Purchase
Gift Tier: 2
Node ID: 03_LUXURY_BRANDS
Description: High-End Mattress Brands
Qualification: >$1099 Queen AUSP
Gift Tier: 3
Node ID: 04_ULTRA_PREMIUM
Description: Ultra-Luxury Brands
Qualification: Variable Conditions
Gift Tier: 4
3
Article Assignment Process
Assignment Methods:
Batch Upload Method

Recommended for large datasets

  1. Prepare Excel template with Article Number and Brand Name columns
  2. Use LSMW (Legacy System Migration Workbench) for batch upload
  3. Transaction: LSMW → Object: Material Hierarchy Assignment
  4. Validate assignments using WA03 (Display Hierarchy)
Sample Upload Format:
ARTICLE_NUMBER | BRAND_NAME | HIERARCHY_NODE
MAT001 | Beautyrest | 01_BASIC_BRANDS
MAT002 | Serta iComfort | 03_LUXURY_BRANDS

1.2 Gift Article Master Data (Transaction: MM01)

2. Promotion Type Configuration

Core Logic

Configuration Path

SPRO → Retail → Promotion Management → Promotion Types
Configure promotion types for each gift category to enable proper promotion calculation and POS integration
ZPROMO_TV - TV Gift Promotion
Free Goods
Configuration Parameters:
Promotion Category: Free Goods
Calculation Type: Fixed Amount
Condition Type: ZTV1 (TV Gift Condition)
Access Sequence: ZTV_ACCESS
Validity Control: Date range and brand hierarchy
Quantity Control: One per qualifying purchase
Business Logic Implementation:
Automatically add appropriate TV size based on brand tier
Validate purchase amount meets tier requirements
Check TV inventory availability before offering
Apply promotion only during valid date range
ZPROMO_MC - Merchandise Credit Promotion
Discount/Credit
Configuration Parameters:
Promotion Category: Discount/Credit
Calculation Type: Percentage or Fixed
Condition Type: ZMC1 (Merchandise Credit)
Integration: SAP Customer Checkout gift card
Redemption Rules: Future purchase only, no cash value
SAP Customer Checkout Integration:
  1. Configure gift card creation workflow
  2. Set up automatic gift card number generation
  3. Configure redemption validation rules
  4. Set up balance tracking and inquiry
ZPROMO_RB - Add-On Rebate Promotion
Cash Rebate
Configuration Parameters:
Promotion Category: Cash Rebate
Calculation Type: Fixed Amount
Processing: Automatic at checkout
Accounting: Direct discount posting
Accounting Configuration:
ZPROMO_AB - Adjustable Base Promotion
Free Goods with Upgrade
Configuration Parameters:
Promotion Category: Free Goods with Upgrade
Calculation Type: Tiered based on purchase amount
Variant Selection: Customer choice with compatibility check
Additional Charges: Configurable upgrade fees
Upgrade Fee Logic:
Tier 1: Head Up Base + $25 upgrade fee
Tier 2: Head Up Base + $50 upgrade fee
Tier 3: Head Up Base + $50 upgrade fee
Tier 4: Variable based on purchase amount and brand

3. Condition Tables & Access Sequences

Pricing Logic

Configuration Path

V/03 → Condition Tables → Create/Maintain
Define condition tables for brand-based promotion determination and access sequences for condition lookup
Condition Table 950 - Primary Lookup
Primary
Purpose:

Brand + Purchase Amount + Date Range for exact promotion matching

Table Structure:
Seq Field Name Table Field Description Key
10 Sales Organization VKORG Store organization identifier
20 Distribution Channel VTWEG Sales channel (retail stores)
30 Material Hierarchy PRODH Brand tier classification
40 Purchase Amount KBETR Qualifying purchase threshold
50 Valid From DATAB Promotion start date
60 Valid To DATBI Promotion end date
Usage Example:
VKORG: 1000 (Main Store)
VTWEG: 10 (Retail Channel)
PRODH: 01_BASIC_BRANDS
KBETR: 1099.00 (Minimum amount)
DATAB: 08/14/2025
DATBI: 09/03/2025
Condition Table 951 - Fallback Lookup
Fallback
Purpose:

Brand + Date Range for general brand qualification without amount restriction

Simplified Structure:
Sales Organization (VKORG) - Store identifier
Material Hierarchy (PRODH) - Brand tier
Valid From (DATAB) - Start date
Valid To (DATBI) - End date
Condition Table 952 - Default Lookup
Default
Purpose:

General promotion conditions for minimum purchase requirements

Basic Structure:
Sales Organization (VKORG) - Store identifier
Valid From (DATAB) - Start date
Valid To (DATBI) - End date

Access Sequence Configuration

ZTV_ACCESS - TV Gift Access Sequence

Defines the order of condition table lookup for TV gift promotions

10
Table 950 - Exact Match

Brand + Amount + Date (Most specific lookup)

Requirement: 001 (Active promotion period)
Logic: Find exact match for brand tier, purchase amount, and date range
20
Table 951 - Brand Fallback

Brand + Date (Fallback for brand qualification)

Requirement: 002 (Brand qualification only)
Logic: If exact match fails, check general brand eligibility
30
Table 952 - General Default

General Promotion (Last resort)

Requirement: 003 (Minimum purchase met)
Logic: Default promotion if minimum purchase requirements are met
Requirement Routines:
Requirement 001:
IF SY-DATUM >= KOMK-DATAB AND SY-DATUM <= KOMK-DATBI.
  KBERF = 'X'.
ENDIF.
Requirement 002:
IF KOMK-PRODH IS NOT INITIAL.
  KBERF = 'X'.
ENDIF.
Requirement 003:
IF KOMK-NETWR >= 1000.
  KBERF = 'X'.
ENDIF.

Custom Development Implementation

Detailed technical specifications for the 30% custom development components

3
BADI Methods
Core promotion logic enhancement
4
Function Modules
Reusable business logic components
1
UI5 Application
Customer gift selection interface

1. BADI Enhancement Implementation

Core Logic

RETAIL_ST_PL_PROMOTION_ENH

Enhancement for promotion information display and calculation logic

Implementation Class: ZCL_GIFT_SELECTION_LOGIC
Package: ZPROMOTION_GIFTS
Transport: ZPRK900001
Method: GET_ELIGIBLE_GIFTS
Primary Logic
Purpose:

Determines available gift options based on purchase criteria and brand tier

Method Signature:
METHOD get_eligible_gifts.
  IMPORTING
    iv_brand_hierarchy TYPE prodh_d
    iv_purchase_amount TYPE curr
    iv_customer_id     TYPE kunnr
    iv_plant          TYPE werks_d
    iv_transaction_date TYPE dats
  EXPORTING
    et_eligible_gifts  TYPE ztt_gift_options
    ev_tier_level     TYPE char1
    ev_qualification_status TYPE char1.
Core Implementation Logic:
METHOD get_eligible_gifts.
  DATA: lt_gifts TYPE ztt_gift_options,
        ls_gift  TYPE zs_gift_option,
        lv_tier  TYPE char1,
        lv_amount TYPE curr.

  " Step 1: Determine brand tier from hierarchy
  CALL FUNCTION 'Z_DETERMINE_BRAND_TIER'
    EXPORTING
      iv_brand_hierarchy = iv_brand_hierarchy
      iv_purchase_amount = iv_purchase_amount
    IMPORTING
      ev_tier = lv_tier
      ev_qualified_amount = lv_amount.

  " Step 2: Build gift options based on tier
  CASE lv_tier.
    WHEN '1'. " Basic Tier
      " TV Option
      ls_gift-gift_type = 'TV'.
      ls_gift-gift_size = '24'.
      ls_gift-gift_value = '299.99'.
      ls_gift-description = '24" LED Smart TV'.
      ls_gift-material_number = 'GIFT_TV_24'.
      APPEND ls_gift TO lt_gifts.
      
      " Merchandise Credit Option
      ls_gift-gift_type = 'MC'.
      ls_gift-gift_value = '50.00'.
      ls_gift-description = '$50 Merchandise Credit'.
      ls_gift-material_number = 'GIFT_MC_50'.
      APPEND ls_gift TO lt_gifts.
      
      " Rebate Option
      ls_gift-gift_type = 'RB'.
      ls_gift-gift_value = '100.00'.
      ls_gift-description = '$100 Add-On Rebate'.
      ls_gift-material_number = 'GIFT_RB_100'.
      APPEND ls_gift TO lt_gifts.
      
      " Adjustable Base Option
      ls_gift-gift_type = 'AB'.
      ls_gift-gift_value = '25.00'.
      ls_gift-description = 'Head Up Base + $25'.
      ls_gift-material_number = 'GIFT_BASE_HU'.
      ls_gift-upgrade_fee = '25.00'.
      APPEND ls_gift TO lt_gifts.
      
    WHEN '2'. " Premium Tier
      " Similar logic for 32" TV, etc.
      
    WHEN '3'. " Luxury Tier  
      " Logic for 43" TV and $200 options
      
    WHEN '4'. " Ultra Premium
      " Complex logic for variable conditions
      PERFORM handle_ultra_premium_logic 
        USING iv_purchase_amount iv_brand_hierarchy
        CHANGING lt_gifts.
  ENDCASE.

  " Step 3: Validate inventory availability
  LOOP AT lt_gifts INTO ls_gift.
    CALL FUNCTION 'Z_CHECK_GIFT_INVENTORY'
      EXPORTING
        iv_gift_material = ls_gift-material_number
        iv_plant = iv_plant
      IMPORTING
        ev_available = ls_gift-available_qty
        ev_status = ls_gift-availability_status.
    
    " Set availability flag
    IF ls_gift-available_qty > 0.
      ls_gift-available = 'X'.
    ELSE.
      ls_gift-available = ''.
    ENDIF.
    
    MODIFY lt_gifts FROM ls_gift.
  ENDLOOP.

  " Step 4: Return results
  et_eligible_gifts = lt_gifts.
  ev_tier_level = lv_tier.
  ev_qualification_status = 'Y'.
ENDMETHOD.
Business Logic Breakdown:
1
Brand Tier Determination

Analyze brand hierarchy and purchase amount to determine qualification tier

2
Gift Option Generation

Build appropriate gift options based on tier with proper material numbers and values

3
Inventory Validation

Check real-time inventory availability for each gift option

4
Result Compilation

Return structured gift options with availability status

Method: CALCULATE_GIFT_VALUE
Value Logic
Purpose:

Calculate dynamic gift values based on purchase amount, tier, and complex Tier 4 business rules

Tier 4 Complex Logic Implementation:
METHOD calculate_gift_value.
  DATA: lv_base_value TYPE curr,
        lv_bonus_amount TYPE curr,
        lv_total_value TYPE curr.

  CASE iv_tier.
    WHEN '4'. " Ultra Premium - Complex Logic
      " Base gift value
      lv_base_value = 300.00.
      
      " Purchase amount-based bonuses
      IF iv_purchase_amount > 6000.
        lv_bonus_amount = 300.00.
      ELSEIF iv_purchase_amount > 4000.
        lv_bonus_amount = 200.00.
      ELSEIF iv_purchase_amount > 2000.
        lv_bonus_amount = 100.00.
      ENDIF.
      
      " Aireloom special handling
      IF iv_brand_hierarchy CS 'AIRELOOM' AND iv_purchase_amount > 2699.
        " Head & Foot base eligible
        IF iv_gift_type = 'AB'.
          ev_gift_description = 'Head & Foot Adjustable Base'.
          ev_upgrade_available = 'X'.
        ENDIF.
      ELSE.
        " Head Up only
        IF iv_gift_type = 'AB'.
          ev_gift_description = 'Head Up Adjustable Base'.
        ENDIF.
      ENDIF.
      
      " TSI Base special credit logic
      IF iv_gift_type = 'TSI'.
        lv_base_value = 300.00.
        " Additional tiered bonuses
        IF iv_purchase_amount > 9999.
          lv_bonus_amount = lv_bonus_amount + 300.00.
        ELSEIF iv_purchase_amount > 6999.
          lv_bonus_amount = lv_bonus_amount + 200.00.
        ELSEIF iv_purchase_amount > 3299.
          lv_bonus_amount = lv_bonus_amount + 100.00.
        ELSEIF iv_purchase_amount > 1999.
          lv_bonus_amount = lv_bonus_amount + 50.00.
        ENDIF.
      ENDIF.
      
      lv_total_value = lv_base_value + lv_bonus_amount.
      
    WHEN OTHERS.
      " Standard tier logic
      lv_total_value = iv_base_gift_value.
  ENDCASE.

  ev_calculated_value = lv_total_value.
ENDMETHOD.
Method: VALIDATE_SELECTION
Validation
Purpose:

Validate customer gift selection against business rules, inventory, and eligibility criteria

Validation Checks:
Eligibility Revalidation

Confirm customer still qualifies for selected gift at time of selection

Inventory Availability

Real-time check of gift inventory and allocation status

Business Rule Compliance

Validate against tier-specific rules and brand restrictions

Compatibility Check

Ensure gift compatibility with purchased items (e.g., base size)

Custom Function Modules

Reusable business logic components for promotion processing

Z_GIFT_ELIGIBILITY_CHECK
Eligibility
Purpose:

Determine gift eligibility based on purchase details

Function Interface:
Parameter Type Description
IV_CUSTOMER_ID KUNNR Customer number
IT_PURCHASE_ITEMS ZTT_PURCHASE_ITEMS Purchased items table
IV_STORE_ID WERKS_D Store location
ET_ELIGIBLE_GIFTS ZTT_GIFT_OPTIONS Available gift options
EV_QUALIFICATION_STATUS CHAR1 Qualification status (Y/N/P)
Core Logic:
  • Analyze brand hierarchy and purchase amount
  • Calculate qualifying purchase value
  • Validate against promotion date range
  • Check customer-specific restrictions
  • Generate available gift options list
Z_GIFT_INVENTORY_VALIDATE
Inventory
Purpose:

Real-time inventory validation and allocation

Core Logic:
  • Query available stock across locations
  • Create temporary allocation for selection
  • Suggest alternatives for unavailable items
  • Check inventory at nearby stores
Z_GIFT_SELECTION_PROCESS
Processing
Purpose:

Process customer gift selection and update transaction

Core Logic:
  • Final validation of customer choice
  • Permanent allocation of selected gift
  • Add gift to sales transaction
  • Post promotional costs to accounting

UI5 Application Development

Customer gift selection interface for POS integration

Application: zgiftselection

UI5/Fiori
Namespace: com.furniture.promotion
Deployment: Fiori Launchpad
Framework: SAPUI5

Application Structure

zgiftselection/
├── webapp/
│   ├── controller/
│   │   ├── Main.controller.js
│   │   ├── GiftSelection.controller.js
│   │   └── Confirmation.controller.js
│   ├── view/
│   │   ├── Main.view.xml
│   │   ├── GiftSelection.view.xml
│   │   └── Confirmation.view.xml
│   ├── model/
│   │   ├── models.js
│   │   └── GiftModel.js
│   ├── css/
│   │   └── style.css
│   └── manifest.json
├── Component.js
└── index.html
Main View - Gift Selection Interface
Key Features:
  • Eligibility status display
  • Visual gift options grid
  • Real-time inventory validation
  • Interactive selection controls
  • Progress indicator
UI Components Used:
sap.m.Panel
sap.m.GridList
sap.m.RadioButton
sap.m.MessageStrip
sap.m.Button
Confirmation View - Selection Validation
Key Features:
  • Summary of chosen gift
  • Final eligibility and inventory check
  • Display of gift terms and conditions
  • Confirmation and modification actions

OData Service Integration

Service: ZGW_GIFT_SELECTION_SRV
GiftEligibilitySet

Check customer eligibility and retrieve available gift options

GiftSelectionSet

Process customer gift selection and update transaction

InventoryStatusSet

Real-time inventory data for gift items

Integration Layer Implementation

Detailed specifications for POS, inventory, and financial integration

1. SAP Customer Checkout Integration

Critical
Real-time POS Integration Architecture:

Transaction Start

Customer selects items at POS

Eligibility Check

API call to SAP for eligibility

Gift Selection

UI5 app launched for selection

Transaction End

Gift added and transaction completed

Detailed API Specifications:
POST /api/promotion/eligibility
Eligibility Check
Request Headers:
Content-Type: application/json
Authorization: Bearer {oauth_token}
X-Store-ID: {store_identifier}
X-Transaction-ID: {unique_transaction_id}
Request Body:
{
  "customerId": "0000123456",
  "transactionId": "TXN_20250814_001234",
  "storeId": "ST001",
  "transactionDate": "2025-08-14T14:30:00Z",
  "articles": [
    {
      "articleId": "MAT_BEAUTYREST_001",
      "brand": "Beautyrest",
      "category": "MATTRESS",
      "size": "QUEEN",
      "amount": 1299.99,
      "currency": "USD",
      "quantity": 1
    }
  ]
}
Response Body:
{
  "eligible": true,
  "tier": "1",
  "tierDescription": "Basic Tier",
  "giftOptions": [
    {
      "type": "TV",
      "subType": "24_INCH",
      "value": 299.99,
      "description": "24\" LED Smart TV",
      "materialNumber": "GIFT_TV_24",
      "available": true,
      "inventoryStatus": "IN_STOCK"
    },
    {
      "type": "MC",
      "subType": "CREDIT",
      "value": 50.00,
      "description": "$50 Merchandise Credit",
      "materialNumber": "GIFT_MC_50",
      "available": true,
      "inventoryStatus": "UNLIMITED"
    }
  ]
}

2. Inventory Management Integration

Medium
Real-time Stock Validation System:
Stock Availability Check
  • Tables Used: MARD (Storage Location Stock), MCHB (Batch Stock)
  • Check Logic: Available stock - reserved quantities
  • Multi-Location: Check across all store locations
  • Real-time Updates: Immediate reflection of stock changes
Allocation & Reservation System
  • Temporary Allocation: 15-minute hold during selection
  • Permanent Allocation: Confirmed upon transaction completion
  • Auto-Release: Automatic release if transaction cancelled
  • Conflict Resolution: Handle concurrent allocation requests
Alternative Suggestion Engine
  • Similar Items: Suggest similar gifts when primary unavailable
  • Upgrade Options: Offer higher-tier gifts with additional payment
  • Cross-Location: Check availability at nearby stores
  • Delivery Options: Ship from warehouse if store stock unavailable

3. Financial Integration

Low
Promotional Cost Accounting:
Gift Cost Recognition
  • Cost Center: Promotional expenses (CC_PROMO_001)
  • Account Assignment: Gift costs to promotional budget
  • Valuation: Standard cost or market value of gifts
  • Currency: Local currency with exchange rate handling
Revenue Recognition
  • Main Sale: Full revenue recognition for furniture purchase
  • Gift Allocation: Separate line item for gift value
  • Promotional Discount: Offset against promotional budget
  • Tax Handling: Appropriate tax treatment for gifts
Automatic Posting Logic:
" Gift cost posting
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
  EXPORTING
    documentheader = ls_doc_header
  TABLES
    accountgl = lt_account_gl
    currencyamount = lt_currency
  IMPORTING
    obj_key = lv_document_number.

" Promotional expense allocation
ls_account_gl-gl_account = '6200000'. " Promotional Expense
ls_account_gl-costcenter = 'CC_PROMO_001'.
ls_account_gl-profit_ctr = 'PC_RETAIL_001'.
APPEND ls_account_gl TO lt_account_gl.

Implementation Roadmap

Phased approach for successful project delivery

1

Phase 1: Foundation & Configuration

Weeks 1-2
  • Finalize technical requirements
  • Configure master data and promotion types
  • Set up development and testing environments
  • Define integration points and data mapping
2

Phase 2: Custom Development

Weeks 3-6
  • Develop custom promotion logic engine
  • Create customer choice UI5 application
  • Implement POS integration layer
  • Conduct unit testing and code reviews
3

Phase 3: Integration & Testing

Weeks 7-9
  • Integrate custom components with SAP
  • Perform end-to-end integration testing
  • Conduct user acceptance testing (UAT)
  • Address feedback and resolve defects
4

Phase 4: Deployment & Go-Live

Week 10
  • Prepare for production deployment
  • Train sales staff and support teams
  • Go-live and post-deployment support
  • Monitor performance and gather feedback