You are on page 1of 16

TC2_FIN_TD_VIM_E3929_Custom exceptions and

data enhancements modules Technical Design

Document Information
Document This Enhancement Technical Design specification is used to capture the technical
Purpose design of a custom enhancement as specified in the Functional Design. An
Enhancement modifies and builds upon standard out-of-the-box system functionalities to
meet the approved requirements/business needs.
Project ID Project Name I2P VIM TC2
Date 10/12/2018 Current Version 0.1

Technical Design Name / ID TC2_FIN_FD_VIM_E3929_Custom exceptions and


data enhancement modules.

Complexity Medium
Solution Instance TC2

Table of Contents

1 Document History ...............................................................................................................3


1.1 Change History ............................................................................................................................. 3
1.2 Document Reviews ....................................................................................................................... 3
1.3 Document Approvals .................................................................................................................... 3
2 Technical Design.................................................................................................................3
2.1 Assumptions ................................................................................................................................. 3
2.2 Constraints .................................................................................................................................... 4
2.3 Dependencies ............................................................................................................................... 4
2.4 Technical Execution Flow ............................................................................................................. 4
2.5 Processing and Operational Considerations ................................................................................ 6
3 Detailed Technical Specifications ......................................................................................8
3.1 ABAP Development Details .......................................................................................................... 8
3.2 Input Parameters ........................................................................................................................ 10
3.3 Output Parameters ..................................................................................................................... 10
3.4 Message and Exception Details ................................................................................................. 10
3.5 Database Tables ......................................................................................................................... 11
3.5.1 Existing Tables ............................................................................................................................ 11
3.5.2 New Custom Tables .................................................................................................................... 11
3.6 Transports ................................................................................................................................... 11
3.7 OSS Notes .................................................................................................................................. 11
4 Testing Specifications ......................................................................................................11
4.1 Testing Considerations ............................................................................................................... 11
4.2 Unit Test Conditions ................................................................................................................... 12
5 Open Issues.......................................................................................................................12
6 Appendix............................................................................................................................12
6.1 Glossary of Terms ...................................................................................................................... 12
6.2 Reference Documents ................................................................................................................ 13
SD503 E-TD Enhancement Technical Design © Cargill Inc.
I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 1 of 16
6.3 Post Go Live Changes ................................................................................................................ 13
7 Technical Design Review Checklist .................................................................................14

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 2 of 16
1 Document History
1.1 Change History

Date Version Author Summary of Changes


MM/DD/YYYY
10/12/2018 0.1 Pradeep Rao Jadav Custom exceptions and custom enhancement modules

1.2 Document Reviews

Date Name Role Version


MM/DD/YYYY
1.0

1.3 Document Approvals


Approval Terms: By approving this document, you agree that all the necessary requirements for delivering the solution
are captured. Any subsequent additions, deletions, or modifications to the baselined requirements may require approval
through the Project Change Control process and depending upon the change impact, it may result in change of project
scope, budget, effort and delivery timeline.

Approval Name Role Version Embedded


Date Email
MM/DD/YYYY Approval

2 Technical Design
2.1 Assumptions

# Assumptions Date Status


1 Correct PO outputs are generated in the system 10/12/2018 TCC/TC2 ASIS
SD503 E-TD Enhancement Technical Design © Cargill Inc.
I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 3 of 16
# Assumptions Date Status
2 Vendors are set up correctly to determine the type of 10/12/2018 TCC/TC2 ASIS
PO/Invoice
3 Replication of current logic is in place within VIM in regards to 10/12/2018 TCC/TC2 ASIS
the PO output type for Ariba and EDI
4 ERS flags are checked in PO (EKPO-XERSY) 10/12/2018 TCC/TC2 ASIS
5 Z850 is the output type maintained in TC2 , need to ensure 10/12/2018 TC2
that the same is maintained in TCC.

2.2 Constraints

# Constraints Implications
1. COA is defined based on profit center Project build
2. VIM Data model is defined Project build

2.3 Dependencies

# Dependencies Internal/External to Project Responsible


1 RICEFW #2: custom field for attention line Internal Functional
is requirement for this development.

2.4 Technical Execution Flow

2..4.1 Custom exceptions - Rejection of paper invoices for digital vendors flow chat.

Flow Diagram 1

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 4 of 16
Start

IF Po’s Doc
header DOCID

Select the ERS


flags in PO
(EKPO-
XERSY)based
on the line
items of table /
opt/vim_1item
doc id

Check if the ERS Raise exception


Yes
flags (error ‘Digital
Vendor – Paper
Invoice Not Allowed)

For EDI – select NAST–OBJKY = EBELN where


(NAST–KSCHL = Z850) Considering
INDEX_HEADER-EBELN and/OPT/VIM_1ITEM-
EBELN
NO

Check if the EDI for PO Raise exception


Yes
output , message type Z850 (error ‘Digital
Vendor – Paper
Invoice Not Allowed)

For Ariba PO – select NAST–OBJKY = EBELN


where (NAST–KSCHL = ZAN) Considering
INDEX_HEADER-EBELN and/OPT/VIM_1ITEM-
EBELN

Raise exception
Check if the Ariba for PO Yes (error ‘Digital
output , message type ZAN Vendor – Paper
Invoice Not Allowed)

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 5 of 16

END
Flow Diagram 1
Detailed Step Descriptions
1 Select the ERS flags in PO (EKPO-XERSY)based on the line items of table /opt/vim_1item doc id

2. Check if the ERS flags than Raise exception (error ‘Digital Vendor – Paper Invoice Not Allowed)
3.
For EDI – select NAST–OBJKY = EBELN where (NAST–KSCHL = Z850) Considering INDEX_HEADER-
EBELN and/OPT/VIM_1ITEM-EBELN

4.
Check if the EDI for PO output , message type Z850 than Raise exception (error ‘Digital Vendor – Paper
Invoice Not Allowed)
5.
For Ariba PO – select NAST–OBJKY = EBELN where (NAST–KSCHL = ZAN) Considering
INDEX_HEADER-EBELN and/OPT/VIM_1ITEM-EBELN

6.
Check if the Ariba for PO output , message type ZAN than Raise exception (error ‘Digital Vendor – Paper
Invoice Not Allowed)

2..4.1 Custom Enhancement – Derive of Profit center from Attention line and first reviewer from first profit center
flow chat.

Flow Diagram 2

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 6 of 16
Start

Read profit centers from


the attention line

IF profit center
attention line is not
Initial

Loop the line items and modify the


NO changes of attention’s profit center for
each of the lline items

Read the profit


center from first line
item.

IF the profit
center exist in
line item

Select email id from /ORS/USERMAP


where condition with Profit center ,
comp code and APPR_LEVEL = 001
from table /OPT/APPR_COA and exp.
Type of header

IF the email id
exist

No

Populate the email


address in field
NO
CV_INDEX_HEADER-
EMAIL_ID

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 7 of 16

End
Flow Diagram 2
Detailed Step Descriptions
1.
Read profit centers from the attention line.

2. IF profit center attention line is not Initial than Loop the line items and modify the changes of attention’s
profit center for each of the lline items .
3. Read the profit center from first line item.
4.
IF the profit center exist in line item than Select email id from /ORS/USERMAP where condition with Profit
center , comp code and APPR_LEVEL = 001 from table /OPT/APPR_COA and exp. Type of header
5. IF the email id exist than Populate the email address in field CV_INDEX_HEADER- EMAIL_ID.

2.5 Processing and Operational Considerations

Request Mechanism FM and the class will be trigerred after ICC validations of scanned invoices.

N/A
Restart/ Recovery
Procedures

Data Maintenance N/A


Procedures

Retention Procedures N/A

3 Detailed Technical Specifications


3.1 ABAP Development Details

Package Name: Z_VIM_E3929

3.1.1 Object Title: ZPAP_VIM_E3929_REJECTION (Function Module)

Technical Information:

Object Name/ID Object Type Description


ZPAP_VIM_E3929 Function Group Founction group for VIM E3929
ZPAP_VIM_E3929_REJECTION Function module Ariba/EDI/ERS - Digital Vendor – Paper Invoice Not
Allowed

Pseudo Code:
Function module ZPAP_VIM_E3929_REJECTION

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 8 of 16
Parameter Name Data Type Type Opt. Ref. Description
INDEX_DATA /OPT/VIM_1HEAD changing X Document Header
CHECK_FAILED Exception Exception raised

 For the POs that have the ERS flag checked will have their respective invoices initiate the error message.

* EKPO– XERSY if checked and if populated, then trigger error ‘Digital Vendor – Paper Invoice Not Allowed’
(raise exception CHECK_FAILED)
* With INDEX_DATA-EBELN
* Also with /OPT/VIM_1ITEM-EBELN (fetched according to INDEX_HEADER-DOCID)

 EDI Check: trigger exception CHECK_FAILED if NAST–OBJKY = EBELN (POs found in previous stage)
where (NAST–KSCHL = Z850)
* Considering INDEX_HEADER-EBELN
* Considering /OPT/VIM_1ITEM-EBELN

 Ariba check: trigger exception CHECK_FAILED if NAST–OBJKY = EBELN where (NAST–KSCHL = ZAN)
* Considering INDEX_HEADER-EBELN
* Considering /OPT/VIM_1ITEM-EBELN

3.1.2 Object Title: ZCL_VIM_E3929_DERIVE_PC (class)


Technical Information:

Object Name/ID Object Type Description


ZCL_VIM_E3929_DERIVE_PC class Derivation of profit center from Attention line & email
addr

Pseudo Code: ZCL_VIM_E3929_DERIVE_PC (class)

Parameter Data Type Data type Optional Description


IV_MODU_ID /OPT/CIDH_MODULEID_DE Import ID of Service
Modules
IV_PROC_TYPE /OPT/PROCESS_TYPE Import Process Type
EV_SUCCESS FLAG Import General Flag
CV_INDEX_HEADER /OPT/VIM_1HEAD Change Document Header
CT_INDEX_ITEM /OPT/VIM_1ITEM_T Change Index Items Table
CT_MESSAGES /OPT/STRUCT_MESSAGE_TABLE_T Change Table TYpe for
/opt/vim_msg_t
CV_INDEX_HEADER2 /OPT/VIM_2HEAD Change X Additional Fields
for Table
/OPT/VIM_1HEAD
CT_INDEX_WHTAX /OPT/VIM_WHTAX_T Change X Table Type for
/OPT/VIM_WHTAX

 Derivation of profit center from Attention line


*Read the Attention line in CV_INDEX_HEADER- ATTNLINE, split it according to the mask BUKRS-
PRCTR (company code/profit center separated by eith dash, or space)
SD503 E-TD Enhancement Technical Design © Cargill Inc.
I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 9 of 16
*Loop the CT_index_item and modify the profit center in all items (field -PRCTR)

 Derivation of first reviewer from first profit center.


- Fetch the COA table (/OPT/APPR_COA) and get the reviewer name according to
*the first profit center found in items table CT_INDEX_ITEM (field PRCTR)
*The company code CV_INDEX_HEADER-BUKRS
*The expense type CV_INDEX_HEADER- EXPENSE_TYPE and APPR_LEVEL = 001
- Fetch in COA users table (/ORS/USERMAP) the email address field EMAIL ) of the user found a previous
step (field OPT_USERID)
- Populate the email address in field CV_INDEX_HEADER- EMAIL_ID with the email address previously
found.

3.2 Input Parameters


N/A
Input Description and Prior Dependency Validation Default Value Retrieval Method
Parameter

3.3 Output Parameters


N/A
Output Description and Post Dependency Update Method
Parameter

3.4 Message and Exception Details


N/A
Message Key Message

Exception class name:


Exceptions Details
CHECK_FAILED Digital Vendor – Paper Invoice Not Allowed’ (raise exception CHECK_FAILED)

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 10 of 16
3.5 Database Tables
3.5.1 Existing Tables

Table Name Table Code Access Usage


/OPT/VIM_1HEAD
/OPT/VIM_1ITEM

To append a below field in a include structure /OPT/VIM_1RDOC_DATA of /OPT/VIM_1HEAD table.


This field will be automatically populated by mapping coming from external system(ICC) via configuration.

Field name Include Name Append name Data type Description


ZZATTNLINE /OPT/VIM_1RDOC_DATA ZPAP_VIM_ATTN_LINE ZVIMATTN Attention line

New data element have created for attention line field.


Data type Data format Data domain Description
ZVIMATTN CHAR09 ZVIMATTN Attention line

3.5.2 New Custom Tables


N/A

3.6 Transports

Version # CTS Request Number MLSS Request Number


0.1 DW1K9A0WRR

3.7 OSS Notes


N/A

OSS Note # Description Implemented in DEV on

4 Testing Specifications
4.1 Testing Considerations
< Refer to the Testing Specifications in the Functional Design and list any considerations that are essential for application test
planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a screen/transaction,
explain how it should be tested, and list any insights as to how this component could be tested the most efficiently. Include any
differences between instances that need to be taken into account for testing.



SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 11 of 16
4.2 Unit Test Conditions

ID Test Condition / Scenario Expected Results Test Data


1. Ariba PO paper invoice Expection raised - Digital Vendor –
Paper Invoice Not Allowed’ (raise
exception CHECK_FAILED)
2. EDI PO paper invoice Expection raised - Digital Vendor –
Paper Invoice Not Allowed’ (raise
exception CHECK_FAILED)
3. ERS PO paper invoice Expection raised - Digital Vendor –
Paper Invoice Not Allowed’ (raise
exception CHECK_FAILED)
4. derive the attention line to profit The profit centter of first Attention
centers on each lines coming from line is copied to all the items
data extraction (ICC).
5. derive the first reviewer and email id The first reviever and email id is
from the Chart of Authority, according fetched.
to the first profit center.

5 Open Issues
N/A
Status Date Issue Reported By Comments

6 Appendix
6.1 Glossary of Terms
Acronym / Term Definition
CTS Change and Transport System – tool within ABAP Workbench and Customizing to organize development
projects and transport the changes between SAP environments.
MLSS Multi-Landscape System Sync – approach to transport development objects and changes between SAP
environments
ABAP Advanced Business Application Programming – high level programming language created by SAP for the
development of applications within SAP
OSS Online Service System – online SAP service that provides updates on technical patches and correction
notes to fix bugs in the system.

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 12 of 16
Acronym / Term Definition

6.2 Reference Documents

Name Location / Link / Attachment


Master Development Standards TA243-Application Development Standards
Master.doc
ABAP Development Standards TA243-A-ABAP Development Standards.doc
ABAP Naming Standards TA243-A-1 ABAP Naming Standards.doc
Test Approach TE582 - Test Approach.doc
Modular Programming tutorial Cargill Modular Programming.pptx
<Add more if required>

6.3 Post Go Live Changes

# Screen / Report / Change Description Incident # / CRQ # Completed


Function On
<Indicate impacted <Describe design change or enhancement made> <Indicate incident and <Date when
screen, report or CRQ reference change
functionality> numbers> made it to
production>

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 13 of 16
7 Technical Design Review Checklist
Number of Rejections:s:
Number of Errors:
Open Critical:

Status
OK-0 The criterion is met without further rework
OK-n The criterion is met after n-times rework
FAIL-n The criterion is not met after n-times rework. Some more rework is required
N/A Not Applicable
APPL Applicable

# Description Status Comments**


General Criteria
1 Description of work unit has been provided and effectively OK-0
communicates the strategy for satisfying the functional requirements
2 Object modification list is provided listing all SAP objects (programs, OK-0
tables, function modules, etc.) that are either created or modified as
a part of the work unit
3 Security requirements are specified N/A
4 A program name is provided for each program according to naming OK-0
standards
5 All issues have been clearly documented and closed. OK-0
6 Naming standards have been followed for all technical OK-0
documentation and objects.
7 A development class is provided for object, wherever required OK-0

8 Pseudo Code should not contain actual code i.e. it should not be OK-0
exact copy of the developed code. Instead it should give overview of
the actual code.
9 Class Based Exception Handling Procedure and Error Message OK-0
details along with Error Message Type should be clearly
documented.
10 All avenues of reuse have been explored. All reusable components OK-0
that have been identified should be clearly documented.

Enhancement Criteria
11 For each screen change, the program, screen, and PBO/PAI N/A
module name are provided
12 Area Menu are standard menu system supplied by SAP – any N/A
changes made in the menus
13 Is it preferred to use these exists instead of modifying the SAP area N/A
menu object
14 The attributes for all new/modified domains, data elements, fields N/A
and tables are specified
15 The user exit name has been provided if appropriate OK-0
16 Project name (from CMOD) or implementation name (from SE19) to N/A
be included is specified
Enhancement Framework

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 14 of 16
17 Enhancement-spot specified if appropriate - Type (static or N/A
Dynamic) and location specified.
18 Pseudo code is provided N/A
19 BADIs N/A
20 Implementation method mentioned? N/A
21 BADI definition mentioned N/A
22 Code added when Enhancements, User Exits, BADIs are N/A
implemented should take into due consideration the impact of data
processing via Inbound/Outbound interfaces. For e.g. Pop-ups
introduced, Error Messages, Termination of processes.
Transactions
23 Transactions to which it has to branch to is mentioned N/A
24 Is the menu structured and refers to any existing menus that have N/A
been included?
25 Flow Logic required for a screen is mentioned N/A
26 Any Comments to assist with screen/menu design? N/A

Cargill Programming Criteria


27 Enhancement Spot specified. N/A
28 BADI Definition mentioned. N/A
29 BADI interface name mentioned. N/A

30 Super class interface: ZIF_RIEFW_BASE is assigned to BADI N/A


Interface.
31 Mentioned BADI specific Methods & corresponding parameters. N/A
32 Mentioned BADI specific Filter definition. N/A
33 Mentioned Fall back class, and selected option ‘Yes’ to ‘Create Fall N/A
back class as implementation example class’.
34 Super class name (ZCL_RIEFW_BASE) is assigned in properties N/A
tab of (super class) and removed duplicate interface.
35 Mentioned Enhancement implementation name. N/A
36 Mentioned BADI implementation name and corresponding
implementing class name.
A) Selected Fall back class as (Super class) and hit on button
‘Inherit from sample class’.
37 Specified BADI Filter Value. N/A
38 BADI specific methods logic is mentioned with flow. N/A
39 All exceptions have been raised only using exception class N/A
framework.
40 Parameters to be passed when raising the exception is stated N/A
clearly
41 All the exceptions raised are caught and methods used to display N/A
the caught exceptions are stated clearly.

DATA DICTIONARY OBJECTS


TABLES
42 Table name is mentioned OK-0
43 Attributes clearly mentioned OK-0
44 For each field the data element, domain, field type, length and OK-0
allowable values are mentioned
45 Record ranges clearly mentioned OK-0
46 Buffering done or not mentioned OK-0
47 Table maintenance view generated, if necessary? OK-0
48 Table maintenance view security. OK-0
49 Primary keys marked as such on table. OK-0
50 Enhancement type for table maintained. OK-0
TABLE LOCK
SD503 E-TD Enhancement Technical Design © Cargill Inc.
I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 15 of 16
51 Table lock criteria should be clearly mentioned in the tech specs, if N/A
table needs to be updated
TRANSPORTS
52 Is the transport number for objects mentioned? OK-0

* Critical checks constitute grounds for design rejection if criteria are not met.
** Comments are required when a criterion has not been met.

# Comment on Criterion Status Others

SD503 E-TD Enhancement Technical Design © Cargill Inc.


I2P VIM Wave 2 (TC2) – RICEFW5 Document Version 0.1 Page 16 of 16