Table of Contents

Open all
Close all
Prologue
23
ACT I Hollywood, DVDs, and the After-Life of Movies
31
1 Hollywood’s B-Movie Queen Does SAP and EDI
33
1.1 SAP and EDI: Getting to Know Each Other
34
1.2 A Brief History of Fame: Our Imaginary Dream Factory
35
1.2.1 A Bird’s-Eye View of the Business
37
1.2.2 Enter Plan Q: A New Project Is Born
40
1.2.3 We Define Our Scope
41
1.3 Defining Some Basic Ground Rules
42
1.3.1 The Technical Environment
42
1.3.2 The EDI System
42
1.3.3 Nothing but IDocs
45
1.3.4 Batch Processing of Large Files
46
1.3.5 XML File Ports
47
1.3.6 Partner Profiles
48
1.3.7 EDI Mapping Strategy
48
1.4 Summary
50
2 The Blueprint: Discovery and Documentation
51
2.1 A Business Process Overview
52
2.1.1 The As-Is Purchasing Process Flow
52
2.1.2 The As-Is Sales and Distribution Processing Flow
57
2.1.3 Selling the Dream with Vendor Management Inventory
59
2.2 Legacy Systems, Data Flows, and Interfaces
63
2.2.1 Title Master and DVD Repository
65
2.2.2 Release Planning and Promotions Systems
66
2.2.3 Legacy SD
66
2.2.4 Manufacturing
67
2.2.5 Finance
67
2.2.6 VMI and StoreData
68
2.2.7 EDI
69
2.3 Legacy EDI Data Flows
69
2.3.1 Replicating Success: Outsourcing Production
70
2.3.2 Order-to-Cash and Legacy EDI
75
2.4 Summary
78
3 Designing the New SAP EDI Architecture
79
3.1 The To-Be Systems and Interfaces Emerge
80
3.1.1 The Resource Integration Manager
80
3.1.2 Let’s Get Technical: A More Intimate Look at the RIM
83
3.2 Laying the Foundations for EDI: Master Data
87
3.2.1 A Brief Word on Conversion Strategy
87
3.2.2 General Ledger Chart of Accounts and Cost Centers
88
3.2.3 Customer Master Sold-To
88
3.2.4 Customer Master Ship-To
89
3.2.5 Vendor Master
90
3.2.6 Material Master
90
3.2.7 Customer Material Info Records
92
3.2.8 Bill of Materials
93
3.2.9 Pricing Conditions
93
3.3 The Typical Lifecycle of an Order from Gordy
94
3.3.1 VMI Sales Orders
95
3.3.2 Catalog Planning
100
3.3.3 Purchasing/Manufacturing
102
3.3.4 Delivery
104
3.3.5 Billing
106
3.3.6 Payment
108
3.4 Interfaces in the Order-to-Cash Cycle
110
3.5 Considering the Project Plan
111
3.6 Summary
112
ACT II Taming Chaos with Standards—EDI in an SAP Environment
113
4 EDI: The Ugly Stepsister of E-Commerce
115
4.1 A Brief History of e-Commerce
116
4.1.1 A Flowery Beginning for e-Commerce
117
4.1.2 The Berlin Airlift, the Supply Chain, and Transportation
117
4.1.3 The Birth of ASC X12
119
4.1.4 Global Trade and E-Commerce: UN/EDIFACT
120
4.1.5 Other EDI Standards
122
4.1.6 Communications, VANs, and the Internet
123
4.2 The Anatomy of an EDIFACT Interchange
125
4.3 The Anatomy of an X12 Interchange
128
4.3.1 Syntax and Semantics: X12 as Language
130
4.3.2 The Envelope Segments
132
4.3.3 Dissecting Gordy’s 850 to Acme
134
4.4 Enveloping and De-enveloping: The X12 in Action
145
4.4.1 Unwrapping an Inbound EDI Interchange
146
4.4.2 Building an Outbound EDI Interchange
147
4.5 Summary
148
5 Real-World Business Process Integration with EDI
149
5.1 The Basic EDI Interface
150
5.2 Trading Partner Management
151
5.3 The Impact of VMI Collaboration through EDI
154
5.4 The Role of Acme’s EDI RIM
155
5.4.1 Outbound Services
155
5.4.2 Inbound Services
164
5.4.3 Archiving EDI Data
169
5.5 Reporting EDI Status to SAP
171
5.5.1 SAP Status Codes
171
5.5.2 Creating Custom Messages
174
5.5.3 Mapping the STATUS IDoc
175
5.5.4 So How Do We Get the Enveloping Data?
179
5.5.5 The Status Interface Business Process Workflow
182
5.5.6 The 997 Functional Acknowledgment Interface
186
5.6 Putting All the Pieces Together
190
5.6.1 Inbound
191
5.6.2 Outbound
193
5.7 Archiving and Deleting IDocs in SAP
196
5.7.1 Archive and Delete
196
5.7.2 Deleting IDoc Generated Work Items
204
5.8 Summary
207
6 EDI Architecture in SAP: IDoc Basics
209
6.1 Intelligent Messages: The Anatomy of an IDoc
210
6.1.1 Logical Message Type
210
6.1.2 IDoc Record Types: External Representation
212
6.1.3 IDoc Record Types: Internal Representation
216
6.1.4 IDoc Basic Type
223
6.1.5 IDoc Extended Type
225
6.1.6 IDoc Instance
225
6.1.7 IDoc File
226
6.1.8 XML IDocs
226
6.2 IDoc Architecture and the Data Dictionary
230
6.2.1 Domains
231
6.2.2 Data Elements
232
6.2.3 Fields
232
6.2.4 Segments
233
6.2.5 IDoc Basic and Extended Types
234
6.3 One-Time EDI Configuration for IDocs in SAP
235
6.3.1 EDI User Name
235
6.3.2 Logical System
236
6.3.3 Connecting Systems to SAP
237
6.3.4 XML File Port
239
6.4 Summary
241
7 Configuring IDocs in SAP for EDI Exchange
243
7.1 Inbound Configuration is About Posting IDocs
243
7.1.1 Key Values for Inbound IDoc Posting
244
7.1.2 Partner Type
245
7.1.3 Inbound Partner Profile for an ORDERS PO
246
7.1.4 Inbound EDI Reference Data
252
7.1.5 Tying It All Together: The SAP EDI Inbound Processing Flow
264
7.2 Outbound Configuration Generates IDocs
274
7.2.1 Message Control
276
7.2.2 Create an Output Type
279
7.2.3 Assign Output Type to a Procedure
283
7.2.4 Condition Records
286
7.2.5 The Outbound Partner Profile with Message Control
292
7.2.6 EDI Outbound Reference Data
296
7.2.7 The SAP EDI Outbound Process Flow
300
7.3 Summary
308
8 Custom IDocs and IDoc Extensions
309
8.1 IDoc Development and Configuration Tools
309
8.1.1 Transaction SE11—Data Dictionary
310
8.1.2 Transaction WE31—Segment Editor
311
8.1.3 Transaction WE30—IDoc Type Editor
312
8.1.4 Transaction WE81—Logical Messages
313
8.1.5 Transaction WE82—Message to Basic Type Link
313
8.1.6 Transaction SE37—Function Editor: Function Groups
313
8.1.7 Transaction SE37—Function Editor: Function Modules
315
8.1.8 Transaction SMOD—SAP Enhancements
319
8.1.9 Transaction CMOD—Project Management for SAP Enhancements
320
8.1.10 Transaction WE57—Link Function to Message and Basic Type
321
8.1.11 Transaction BD51—Define IDoc Attributes
322
8.1.12 Transaction WE42—Inbound Process Code
322
8.1.13 Transaction WE41—Outbound Process Code
323
8.2 Building a Custom IDoc: Inbound Inventory Report
324
8.2.1 Custom IDoc Development Workflow
324
8.2.2 Building the IDoc Interface
326
8.3 Extending an IDoc: Outbound PO with BOMs
341
8.3.1 IDoc Outbound Development Workflow
341
8.3.2 Create Segment Z1EDP01
348
8.3.3 Build Extension ZORDRS01
348
8.3.4 Link Message to Basic and Extended Types
350
8.3.5 Create the Modification Project
350
8.3.6 Coding the Exit
353
8.3.7 Customize Message Control
355
8.3.8 Build Outbound Partner Profile
359
8.4 Summary
363
ACT III Realizing the Dream—Building Acme’s SAP EDI System
365
9 Generating the PO for Replication Services
367
9.1 Technical Overview of the Interface
368
9.2 Functional Specifications
370
9.2.1 Process Overview
370
9.2.2 Requirements
371
9.2.3 Dependencies
371
9.2.4 Assumptions
372
9.2.5 Data That Will be Passed to an Outbound Purchase Order
372
9.2.6 Custom Enhancements
374
9.2.7 Reconciliation Procedure
374
9.2.8 Errors and Error Handling
374
9.3 Generating the ORDERS PO with Message Control
374
9.3.1 Message Control Configuration for the ORDERS Message
375
9.3.2 Overview of the End-to-End Process Flow
378
9.4 Technical Specifications
382
9.4.1 Technical Requirements
382
9.4.2 Dependencies
383
9.4.3 Assumptions
383
9.5 Mapping Specifications
384
9.6 EDI Configuration in SAP
388
9.6.1 EDPAR Entries: Transaction VOE4
388
9.6.2 ZEDIXREF Entries
388
9.6.3 Partner Profiles: Transaction WE20
390
9.7 Summary
392
10 The Inbound Goods Receipt
395
10.1 Technical Overview of Interface
396
10.2 Functional Specifications
398
10.2.1 Process Overview
398
10.2.2 Requirements
398
10.2.3 Dependencies
399
10.2.4 Assumptions
400
10.2.5 Data That Will Post to a Material Document
400
10.2.6 Reconciliation Procedure
401
10.2.7 Enhancements to the Process
402
10.2.8 Errors and Error Handling
402
10.3 End-to-End Process Flow
402
10.4 Technical Specifications
406
10.4.1 Technical Requirements
406
10.4.2 Dependencies
406
10.4.3 Assumptions
407
10.5 Mapping Specifications
407
10.6 EDI Configuration in SAP
409
10.6.1 EDPAR Entries: Transaction VOE4
409
10.6.2 ZEDIXREF Entries
409
10.6.3 Partner Profile: Transaction WE20
410
10.7 Summary
411
11 Processing the Incoming Supplier Invoice
413
11.1 Technical Overview of Interface
414
11.2 Functional Specifications
415
11.2.1 Process Overview
416
11.2.2 Requirements
416
11.2.3 Dependencies
417
11.2.4 Assumptions
418
11.2.5 Data That Will Post to an Inbound Supplier Invoice
419
11.2.6 Reconciliation Procedure
421
11.2.7 Configuring Logistics Invoice Verification
421
11.2.8 Enhancements to the Process
426
11.2.9 Errors and Error Handling
426
11.3 End-to-End Process Flow
426
11.4 Technical Specifications
430
11.4.1 Enhancements to the Process
430
11.4.2 Technical Requirements
430
11.4.3 Dependencies
430
11.4.4 Assumptions
431
11.5 Mapping Specifications
431
11.6 EDI Configuration in SAP
435
11.6.1 Extending Process Code INVL
435
11.6.2 EDPAR Entries: Transaction VOE4
436
11.6.3 ZEDIXREF Entries
436
11.6.4 Partner Profile: Transaction WE20
436
11.7 Summary
438
12 The Inbound Customer Purchase Order
441
12.1 Technical Overview of Interface
442
12.2 Functional Specifications
443
12.2.1 Process Overview
443
12.2.2 Requirements
444
12.2.3 Dependencies
444
12.2.4 Assumptions
445
12.2.5 Data That Will Post to an Inbound Sales Order
446
12.2.6 Reconciliation Procedure
447
12.2.7 Enhancements to the Process
447
12.2.8 Errors and Error Handling
448
12.3 End-to-End Process Flow
449
12.3.1 VMI Processing
450
12.3.2 EDI 850 Processing
452
12.3.3 VMI and EDI Processes Merge
452
12.4 Technical Specifications
455
12.4.1 Technical Requirements
455
12.4.2 Dependencies
455
12.4.3 Assumptions
456
12.5 Mapping Specifications
456
12.5.1 Structure of the 850 to IDoc Build Array
460
12.5.2 Mapping the Build Array to the Target IDoc
463
12.6 SDQ Processing Program Logic
465
12.7 Duplicate Checking Enhancement
471
12.7.1 Create Error Message
472
12.7.2 Create Modification Project
472
12.7.3 Program Flow
473
12.8 EDI Configuration in SAP
476
12.8.1 EDPAR Entries: Transaction VOE4
476
12.8.2 EDSDC Entry: Transaction VOE2
477
12.8.3 ZEDIXREF Entries
477
12.8.4 Partner Profile: Transaction WE20
478
12.9 Summary
479
13 Building the Outbound Order Confirmation
481
13.1 Technical Overview
482
13.2 Functional Specifications
483
13.2.1 Process Overview
483
13.2.2 Requirements
484
13.2.3 Dependencies
485
13.2.4 Assumptions
485
13.2.5 Data That Will Pass to an Outbound Order Confirmation
486
13.2.6 Custom Enhancements
487
13.2.7 Reconciliation Procedure
489
13.2.8 Errors and Error Handling
489
13.3 Generating the ORDRSP with Message Control
489
13.3.1 Message Control Configuration for the ORDRSP
489
13.3.2 Overview of the End-to-End Process Flow
495
13.4 Technical Specifications
499
13.4.1 Technical Requirements
499
13.4.2 Dependencies
500
13.4.3 Assumptions
500
13.4.4 Extended IDoc Type ZORSDQ01
501
13.4.5 Creating the Extended IDoc Type
501
13.4.6 SDQ Bundling and IDoc Output Program
509
13.5 Mapping Specifications
534
13.6 EDI Configuration in SAP
538
13.6.1 EDPAR Entries: Transaction VOE4
538
13.6.2 ZEDIXREF Entries
538
13.6.3 Partner Profiles: Transaction WE20
539
13.7 Summary
544
14 Sending a Shipping Order to the Supplier
547
14.1 Technical Overview of Interface
548
14.2 Functional Specifications
549
14.2.1 Process Overview
550
14.2.2 Requirements
551
14.2.3 Dependencies
552
14.2.4 Assumptions
553
14.2.5 Data That Will Pass to an Outbound Ship Order
554
14.2.6 Enhancements to the Process
556
14.2.7 Reconciliation
556
14.2.8 Errors and Error Handling
556
14.3 Generating a SHPORD IDoc with Message Control
557
14.3.1 Configuring Message Control
557
14.3.2 Overview of the End-to-End Process Flow
561
14.4 Technical Specifications
565
14.4.1 Technical Requirements
565
14.4.2 Dependencies
565
14.4.3 Assumptions
566
14.5 Mapping Specifications
567
14.6 EDI Configuration in SAP
570
14.6.1 EDPAR Entries: Transaction VOE4
570
14.6.2 ZEDIXREF Entries
570
14.6.3 Partner Profiles: Transaction WE20
571
14.7 Summary
573
15 The Inbound Shipping Confirmation
575
15.1 Technical Overview of the Interface
576
15.2 Functional Specifications
577
15.2.1 Process Overview
578
15.2.2 Requirements
578
15.2.3 Dependencies
580
15.2.4 Assumptions
580
15.2.5 Delivery Document Data after Ship Confirm Update
581
15.2.6 Enhancements to the Process
583
15.2.7 Reconciliation
583
15.2.8 Errors and Error Handling
584
15.3 End-to-End Process Flow
585
15.4 Technical Specifications
588
15.4.1 Technical Requirements
588
15.4.2 Dependencies
588
15.4.3 Assumptions
589
15.5 Mapping Specifications
590
15.5.1 Hierarchical Structure of the 856
594
15.5.2 The DELVRY03 IDoc
599
15.6 EDI Configuration in SAP
600
15.6.1 EDPAR Entries: Transaction VOE4
600
15.6.2 ZEDIXREF Entries
600
15.6.3 Partner Profiles: Transaction WE20
601
15.7 Summary
602
16 The Advanced Shipping Notice to the Customer
605
16.1 Technical Overview of Interface
606
16.2 Functional Specifications
608
16.2.1 Process Overview
608
16.2.2 Requirements
609
16.2.3 Dependencies
610
16.2.4 Assumptions
610
16.2.5 Data That Pass to the IDoc from the Delivery
611
16.2.6 Enhancements to the Process
613
16.2.7 Reconciliation
614
16.2.8 Errors and Error Handling
614
16.3 Generating an ASN IDoc with Message Control
615
16.3.1 Configuring Message Control
615
16.3.2 Overview of the End-to-End Process Flow
619
16.4 Technical Specifications
626
16.4.1 Technical Requirements
626
16.4.2 Dependencies
626
16.4.3 Assumptions
627
16.5 Mapping Specifications
627
16.6 EDI Configuration in SAP
632
16.6.1 EDPAR Entries
632
16.6.2 PUMA Entries: Transaction VNPU
633
16.6.3 ZEDIXREF Entries
634
16.6.4 Partner Profiles: Transaction WE20
634
16.7 Summary
636
17 Generating the Outbound Customer Invoice
639
17.1 Technical Overview of Interface
640
17.2 Functional Specifications
642
17.2.1 Process Overview
642
17.2.2 Requirements
643
17.2.3 Dependencies
644
17.2.4 Assumptions
645
17.2.5 Data That Pass to the IDoc from the Billing Document
646
17.2.6 Enhancements to the Process
648
17.2.7 Enhancement Details
648
17.2.8 Reconciliation
649
17.2.9 Errors and Error Handling
650
17.3 Generating an INVOIC IDoc with Message Control
651
17.3.1 Configuring Message Control
652
17.3.2 Overview of the End-to-End Process Flow
655
17.4 Technical Specifications
663
17.4.1 Technical Requirements
663
17.4.2 Dependencies
664
17.4.3 Assumptions
664
17.4.4 Purchase Order Number IDoc Edit Report
665
17.5 Mapping Specifications
694
17.6 EDI Configuration in SAP
697
17.6.1 EDPAR Entries: Transaction VOE4
697
17.6.2 ZEDIXREF Entries
697
17.6.3 Outbound Partner Profile: Transaction WE20
698
17.7 Summary
700
18 Processing the Inbound Payment Advice
703
18.1 Technical Overview of the Interface
704
18.2 Functional Specifications
706
18.2.1 Process Overview
706
18.2.2 Requirements
707
18.2.3 Dependencies
708
18.2.4 Assumptions
709
18.2.5 Payment Advice Note Data
709
18.2.6 Enhancements to the Process
711
18.2.7 Reconciliation
712
18.2.8 Errors and Error Handling
712
18.3 End-to-End Process Flow
713
18.3.1 Following the 820 Flow
714
18.3.2 An Intelligent Split
714
18.3.3 Posting the Payment
715
18.4 Technical Specifications
717
18.4.1 Technical Requirements
717
18.4.2 Dependencies
717
18.4.3 Assumptions
718
18.4.4 EDI Process to Split Very Large 820s
719
18.4.5 User Transaction Code for the SAP Split Program
724
18.5 Mapping Specifications
725
18.6 EDI Configuration in SAP
731
18.6.1 EDPAR Entries
731
18.6.2 Company Code to Sold-to Party Transaction OCBA
731
18.6.3 Reason Code Conversion
732
18.6.4 ZEDIXREF Entries
733
18.6.5 Inbound Partner Profile Transaction WE20
734
18.7 Summary
735
ACT IV Finishing Touches
737
19 Extending the Interface: Custom IDoc Tools
739
19.1 EDI to IDoc Trading Partner Conversion
740
19.1.1 The Issue
740
19.1.2 The Solution
741
19.1.3 Development Work Flow
741
19.1.4 Writing the Code
746
19.2 Mass Upload of Partner Profiles to SAP
749
19.2.1 The Issue
750
19.2.2 The Solution
751
19.2.3 Dependencies
753
19.2.4 Coding ZEDI_UPLDPP
754
19.2.5 Further Automating Partner Profile Processing
762
19.3 Mass Transfer of IDocs between Systems
764
19.3.1 The Issue
764
19.3.2 The Solution
764
19.3.3 Dependencies
765
19.3.4 Program ZEDI_TRNSFIDOCS
765
19.4 Sending IDoc Status to an External System
772
19.4.1 The Issue
772
19.4.2 The Solution
772
19.4.3 Dependencies
772
19.4.4 Defining the Distribution Model
773
19.5 Adding Qualifiers to IDoc XML Schema
778
19.5.1 The Issue
778
19.5.2 The Solution
778
19.5.3 Dependencies
778
19.5.4 Extracting an XML Schema from SAP
779
19.5.5 Creating the IDoc Enumerators
781
19.5.6 Using the Enumerator in an IDoc
784
19.6 Summary
786
20 Testing the EDI System in SAP
787
20.1 IDoc Test Tools
788
20.1.1 The Main IDoc Test Tool: Transaction WE19
788
20.1.2 Outbound from Message Control: Transaction WE15
791
20.1.3 Outbound from IDoc: Transaction WE14
792
20.1.4 Status File Testing: Transactions WE18 and WE17
793
20.1.5 Turnaround Utility: Transaction WE12
794
20.1.6 Inbound IDoc File Processing: Transaction WE16
795
20.1.7 Inbound IDocs and startRFC
796
20.2 Interface Testing Strategy
798
20.2.1 Testing Environments
799
20.2.2 Break-Fix Procedures
802
20.2.3 Test Teams and Responsibilities
803
20.2.4 Documenting Tests
805
20.3 Unit Testing
805
20.3.1 Scope
806
20.3.2 Criteria for Success
806
20.3.3 Dependencies
807
20.3.4 Execution
807
20.4 String Testing
808
20.4.1 Scope
808
20.4.2 Criteria for Success
809
20.4.3 Dependencies
810
20.4.4 Execution
810
20.5 Interface Testing
815
20.5.1 Scope
815
20.5.2 Criteria for Success
816
20.5.3 Dependencies
817
20.5.4 Execution
818
20.6 Integration Testing
822
20.6.1 Scope
823
20.6.2 Criteria for Success
824
20.6.3 Dependencies
825
20.6.4 Execution
826
20.7 Stress Testing
835
20.7.1 Scope
836
20.7.2 Criteria for Success
837
20.7.3 Dependencies
837
20.7.4 Execution
838
20.8 Summary
839
21 Troubleshooting and Recovery
841
21.1 Identifying Issues
842
21.1.1 Defining Success
842
21.1.2 Defining Failure
844
21.1.3 Functional or Business Failure
848
21.2 Monitoring and Recovery Tools
850
21.2.1 Transaction BD87: The Status Monitor
851
21.2.2 Transaction WE05: The IDoc List
867
21.2.3 Processing Log for Output Control
869
21.2.4 Transaction WE07: Errors History
870
21.2.5 Transaction WE09: IDoc Search by Business Content
871
21.2.6 Transaction WE08: IDoc Interuptus
873
21.3 Recovering from Key Failure Points
873
21.3.1 Technical Troubleshooting
874
21.3.2 Functional Troubleshooting
881
21.4 Summary
888
Epilogue
889
The Author
893
Index
895