Sales Analysis Detail File Transfer

Purpose Transmit sales data to business partner
Description Selected sales are extracted from monthly sales and prepared in a defined format for integration into another system.  In this case sales qualifying for a loyalty program (like Fly-buys, Air-points etc), run by a third party.
Sample  
Selections   R E P O R T    S E L E C T I O N
╔═════════════════════════════════════════════════════════════════════════════╗
║                                                                             ║
║ Enter stock category for loyalty scheme lines                ____           ║
║                                                                             ║
║ Enter customer category for participating customers          ____           ║
║                                                                             ║
║ Include header line (Y/N)                                    Y              ║
║                                                                             ║
║ Check customers & stock for scheme now, or when invoiced, or both (N,I,B) I ║
║                                                                             ║
║ Summary or detail (S/D)                                      D              ║
║                                                                             ║
╚═════════════════════════════════════════════════════════════════════════════╝
 

 

 

<< Sophisticated
Retrospective
selection

Sort Seq Stock line, then customer code, then date
Filters Stock & Customer categories, posted sales
Group by When summary, group by customer by stock sale
Run from Alternative reports in SA, SI
Code SAPPGSAL
Equivalent File Transfer export definition from SA History with filter, then massage data in Excel.
Complexity Medium - file transfer is straightforward, retrospective selection is complex.
Code snip                                E D I T B O D Y
│ ╔═TRAVERSE BY CustomerProductKey═════════════════════════════════════════════╗
│ ║ SEEK(ARCurAnalysFile,KEYRECORD(CustomerProductKey))                        ║
│ ║ ┌─IF Grouping = "S"────────────────────────────────────────────────────────┐
│ ║ │ SET GroupQuantity TO 0                                                   │
│ ║ │ ┌─GROUP COPY(KEYVALUE(CustomerProductKey),0,8+16)────────────────────────┐
│ ║ │ │ SEEK(ARCurAnalysFile,KEYRECORD(CustomerProductKey))                    │
│ ║ │ │ ADD ARCurAnalysFile.Quantity TO GroupQuantity                          │
│ ║ │ │ ┌─LAST─────────────────────────────────────────────────────────────────┐
│ ║ │ │ │ ADD 1 TO NumberLines                                                 │
│ ║ │ │ │ ┌─IF FINDRECORD(ICStockFile,ICStockFile.CodeKey,ARCurAnalysFile.Produc
│ ║ │ │ │ │ SET LineShade TO ICStockFile.SupplierPartNum                       │
│ ║ │ │ │ ├─ELSE
│ ║ │ │ │ │ SET LineShade TO "StockCodeNotFound"                               │
│ ║ │ │ │ └─────────────────────────────────────────────────────────────────────
│ ║ │ │ │ OUTPUT GROUPLINE                                                     │
│ ║ │ │ └──────────────────────────────────────────────────────────────────────┘
│ ║ │ └────────────────────────────────────────────────────────────────────────┘
│ ║ ├─ELSE ────────────────────────────────────────────────────────────────────┤
│ ║ │ ADD 1 TO NumberLines                                                     │
│ ║ │ ┌─IF FINDRECORD(ICStockFile,ICStockFile.CodeKey,ARCurAnalysFile.ProductCod
│ ║ │ │ SET LineShade TO ICStockFile.SupplierPartNum                           │
│ ║ │ ├─ELSE
│ ║ │ │ SET LineShade TO "StockCodeNotFound"                                   │
Release date 14 April 2002