Академический Документы
Профессиональный Документы
Культура Документы
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111
UNITE Programme
Technical Specification – Workflow
Sales Quotation Approval Workflow
Revision Status: 1.0
Restricted Access: No
Target Group
N/A
Document Approver(s):
Approver Role
Name
Approved (Signature)
Date
Document Reviewers:
Reviewer Role
Name
Cell Lead
Arindam Mukherjee
QA Lead
Arkajeet Dasgupta
Summary of Changes:
The Document Author is authorized to make the following types of changes to the document without
requiring that the document be re-approved:
Editorial, formatting, and spelling
Clarification
To request a change to this document, contact the Document Author or Owner.
Changes to this document are summarized in the following table in reverse chronological order (latest
version first).
Revision
Date
Author
Description of Changes
1.0
2013.08.28
Saikat Sarkar
Initial Version
1.0
2013.10.22
Saikat Sarkar
Final Version
Document Source:
Table of Contents
Enhancement Title:
Sales Quotation Approval Workflow
Implement. Phase
R0.2
Message Class:
ZQOM
Develop. Class:
ZQOM_FSD-031
Module:
C2C
Contact Details:
Prepared By
Saikat Sarkar
Prep Date:
2013.10.22
Phone Number:
09775202869
Email Address:
Business/Functional Analyst:
Stefan Olsson (SKF)
Phone Number:
Email Address:
Phone Number:
Email Address:
Secondary:
Phone Number:
Email Address:
Run Frequency
On demand
Languages
EN
Priority:
Medium
Complexity:
High
Transport Information
Change Request #
Task #
Object Identifier (Program ID, Layout Set ID, etc)
Object Type (Program, Transaction, Layout Set)
DCRK900193
DCRK900288
ZC_SALES_QUOT_APPRV
Function Group
DCRK900193
DCRK900288
ZCCREDIT_APPROVE
Function Group
DCRK900193
DCRK900288
ZQOM_FSD-031
Package
DCRK900193
DCRK900288
ZCCREDIT_APPROVE
Table
DCRK900193
DCRK900288
ZCPARTNER_DETAIL
Table
DCRK900193
DCRK900288
ZCPARTNER_DETAIL
Table
DCRK900193
DCRK900288
ZTS_APRVL_ND
Standard task
DCRK900193
DCRK900288
ZTS_USER_ST
Standard task
DCRK900193
DCRK900288
ZTS_DETR_MAN
Standard task
DCRK900193
DCRK900288
ZTS_TXT_SAVE
Standard task
DCRK900193
DCRK900194
ZTS_RD_COMMT
Standard task
DCRK900193
DCRK900288
ZTS_MAIL_SND
Standard task
DCRK900193
DCRK900194
ZTS_RESP_PER
Standard task
DCRK900193
DCRK900194
ZTS_MAIL_REW
Standard task
DCRK900193
DCRK900194
ZTS_MAIL_REJ
Standard task
DCRK900193
DCRK900194
ZTS_AUTO_APP
Standard task
DCRK900193
DCRK900288
ZWS_SALES_QT
Workflow template
DCRK900193
DCRK900288
ZCWO_QOM_FSD-031_CRM_SALES_QT
Program
DCRK900193
DCRK900288
ZWO2000115
Business object types
DCRK900193
DCRK900288
ZCCREDIT_APPROVES
Definition of a Maintenance and Transport Object
DCRK900193
DCRK900288
ZQOM
Message class
DCRK900193
DCRK900288
ZQOM001
Message number
DCRK900193
DCRK900288
ZQOM002
Message number
DCRK900193
DCRK900288
ZQOM003
Message number
DCRK900193
DCRK900288
ZQOM004
Message number
DCRK900193
DCRK900194
ZCST_ACTION_TXT
Structure
DCRK900193
DCRK900288
ZCPARTNER_DETAIL
Structure
DCRK900193
DCRK900194
ZC_ACTION_TXT_TT
Table type
DCRK900193
DCRK900194
ZC_TEXT_TT
Table type
Description and Purpose
Within SKF the user who is creating a quote has to receive approval from his manager. This is in order to
validate that the proper prices and products in the proper content is quoted towards the customer in relation
to the relevant business rules.
Therefore SKF would like to follow an approval process as which will release the quote for further
processing once the approval is given or allows the user to adjust the quote as required by management.
This approval also has to be given before the quote is sent to the customer.
The approval has also to be received before the quote is released for further processing like order creation.
This rule is applicable for all sales units like RSS, VSM, IS, Automotive, etc.
Within SAP an approval workflow has to be triggered once the user has completed the maintenance of the
quote.
Within the first release the approval workflow will have exactly one step approval.
Which means if the user status is set to “for release” the workflow is triggered. A work-item will be
generated and placed in the managers SAP Inbox.
Release
this will set the user status to “released”. This user status will allow the quote being used for follow up
processing through a sales order.
Reject
this will set the user status to “cancel” with reason code “Unreasonable Request”.
This user status will close the quote and prevents follow up processing through a sales order.
Set status back to “in process”
This will release the quote to be processed by the user again
In SAP the workflow will be triggered in SAP CRM. The work item will be generated in SAP CRM. The
work-item will only be accessible through the SAP Inbox. Within the SAP CRM WebUI the work-item can
also accessed via the home screen below the area workflow task and the work-list area.
Anyhow as a result the manager needs to login to SAP CRM application in order to execute the relevant
task.
Issue #
Date Raised
Issue Description
Issue Resolution
N/A
SAP Workflow Diagram
Process steps:
Step No.
Activity Steps
Steps Description
Step 1
Start Workflow
Once the transaction is executed Workflow will be triggered by the user status “for release” on the Sales
quote via Status Management.
Step 2
Activity Step
Workflow Started
Step 3
Activity Step
Check Whether Approval is required or not based on the Value in the Sales quote. If this is not required the
Sales quote will set to be user Status “Released”.
Step 4
Activity Step
This Activity Step will update Test into Header Text Node
Step 5
Condition Step
Check flag value to determine, Approval is required or not
Step 6
Activity Step
If Approval is needed, then this Activity Step will determine the manager via an assigned approval role.
Step 7
Condition Step
If the parameter is met, the manager will be found and the Workitem will be sent for further approval.
If the parameter is not met, the manager will be dummy default manager.
Step 8
Activity Step
This Activity Step will determine responsible Person.
Step 9
User Decision Step and Activity Step
The responsible person will decide if he wants to
Approve
Reject
Rework
Step 10
Activity Step (Approval)
If the Credit Memo Request can be released the workflow will set the user status to “released” ,
And an information work item is send to the employee responsible of the Transaction with a link to the
transaction.
Step 11
Activity Step
(Rejection)
If the workflow was rejected the Sales quote will be rejected, and an information work item is send to the
employee responsible of the Transaction with a link to the transaction.
Step 12
Activity Step
(Rework)
If the workflow was reworked the user status will be “in process” and an information work item is send to
the employee responsible of the
Transaction with a link to the transaction.
Step 13
Condition Step
Check whether mail address is found or not
Step 14
Activity Step
If mail address is found, Send mail to that mail address.
Step 15
Activity Step
If mail address is not found, Send mail to the userid.
Step 16
Complete Workflow
If any of the aforesaid steps are being completed successfully the workflow will be Completed.
Flow Diagram :
EMBED Word.Document.8 \s µ §
Program: ZCWO_QOM_FSD-031_CRM_SALES_QT
Application V (Sales)
Key Fields
Element
Description
Dictionary Field
BUSINESSPROCESS
Globally Unique Identifier in 32-Character Display
DNOS_BOR_KEY- GUID
Element
Description
Source
Attribute Property
Dictionary Field
Pseudo logic Ref
N/A
N/A
Virtual
Database
Multiline
Mandatory
Instance-
Independent
N/A
N/A
Virtual
Database
Obj Status
Multiline
Mandatory
Instance-
Independent
A1:
N/A
A2:
N/A
Name
Description
Source
Result Type
ABAP
Pseudo logic Ref
ZWMBAPRVL_NEEDED
Workflow Method for Approval Needed
Dialog
X
Synchronous
Result
parameter
Instance
independent
Function Module
API
Transaction
Dialog Module
Reports
X
Others
M1
ZWMBPARTNR_DETAIL
Workflow Method for Partner Details
Dialog
x
Synchronous
Result
Parameter
Instance
Independent
Function Module
API
Transaction
Dialog Module
Reports
X
Others
M2
ZWMBDETRMN_MANGR
Workflow Method to Determine Manager
Dialog
X
Synchronous
Result
Parameter
Instance
Independent
Function Module
API
Transaction
Dialog Module
Reports
X
Others
M3
ZWMBGET_TEXT
Update Test into Header Text Node
Dialog
X
Synchronous
Result
Parameter
Instance
Independent
Function Module
API
Transaction
Dialog Module
Reports
X
Others
M4
ZWMBREAD_COMMENTS
Read Comment
Dialog
X
Synchronous
Result
Parameter
Instance
Independent
Function Module
API
Transaction
Dialog Module
Reports
X
Others
M5
M1 Pseudo logic:
3. If function module fails, then one exception like ‘EXC_WRONG_DATA’ will be raised.
4. Now, as per business to check net amount and currency one custom table would be created where for a
particular sales organization and business transaction type, some net amount and currency key will be
stored.
5. If table does not return any value for a particular sales organization and business transaction type then
sales quotation will be approved without any check.
6. If table does return value for a particular sales organization and business transaction type then bellow
condition should be checked.
A. If currency does not match then it needs to be converted to right currency which is stored in custom
table. In order to do that one standard function module ‘CONVERT_TO_LOCAL_CURRENCY’ needs to
be called which will return local (converted) amount in exact currency.
B. If converted net amount is greater than or equal to net amount which is been stored in custom table then
sales quotation will be approved(flag will be set as abap_true), Otherwise it will be rejected(flag will be set
as abap_false).
Parameter List
Imp
EXP
Parameter List
Mutiline
IM_GUID
x
EX_FLAG
Exception
EXC_WRONG_DATA (Wrong data entered)
EXC_CURRENCY (Currency can not be converted)
M2 Pseudo logic:
1. Under method ‘ZWMBPARTNR_DETAIL’ to fetch partner details (email id, user id) another custom
function module ‘Z_C_PARTNER_DEATAIL’ needs to be called where object guid will be exported and
one structure including partner user id and email id will be imported. This email id and user id will
determine to whom (sap inbox) mail need to send.
4. Person no, user id and address no will be fetched from table BUT000 for a particular Business Partner
Number. Now on basis of person no, email id will be fetched from table adr6. Before user id one constant
string ‘US’ will be added as per business need. Now user id and email id for business partner will be
exported through one flat structure. If email is not found for person no then only user id will be exported.
5. If partner does not exist in BUT000 table then one exception should be raised like
‘EX_WRONG_DATA’.
Parameter List
Imp
EXP
Parameter List
Mutiline
IM_GUID
X
EX_PARTNER_DETAIL
Exception
EXC_WRONG_DATA
EXC_EMAIL
EXC_CURRENCY
M3 Pseudo logic:
1. Under method ‘ZWMBDETRMN_MANGR’ to fetch right agent (person who will approve) another
custom function module ‘Z_C_FIND_MANAGER’ needs to be called where object guid (object-key-
businessprocess) will be exported and ‘EX_AGENT’ will be imported.
3. After getting sales organization from function module 'CRM_ORDER_READ' object type and object id
will be fetched from table HRP000 table for a particular sales organization and current plan version (01).
Here constant (01) stands for active plan version maintained in customizing.
4. From HRP1001 table Position assigned in a particular Org Id for a particular object type and object id
will be retrieved where RSIGN = ‘B’ and SCLAS = ‘S’.
5. Now this ‘SOBID’ field in table hrp1001 contains ID of Related Object which is agent id need to be
exported.
Parameter List
Imp
EXP
Parameter List
Mutiline
IM_GUID
x
EX_AGENT
Exception
EXC_WRONG_DATA
M4 Pseudo logic:
1. Under method ‘ZWMBGET_TEXT’ to fetch text for a particular text id, text name and object id another
custom function module ‘Z_C_TEXT_SAVE’ need to be called where object guid will be exported.
Parameter List
Imp
EXP
Parameter List
Mutiline
IM_ID
IM_LANGUAGE
IM_NAME
IM_OBJECT
IM_TEXT
Exception
TBD
Name
Description
Parameter List
Import
Export
ZWE_FOR_RELEASE_QUOTE
Event will be triggered while status will be For Release
N/A
N/A
N/A
Workflow Definition
Abbreviation: ZWS_SALES_QT
Number: 90000002
Event: ZWE_FOR_RELEASE_QUOTE
Workflow Container:
Element
Description
Import(Y/N)
Export(Y/N)
Multiple Values (Y/N)
Mandatory (Y/N)
Dictionary Field
Object Type
ZWC_BO_SALES_QUOT
Container for standard business object BUS2000115
Y
Y
N
N
N/A
BUS2000115
ZWC_FLG
Check approval is needed or not
Y
Y
N
N
XFELD
N/A
ZWC_AGENT
Position Id as Agent
Y
Y
N
N
OTJID
N/A
ZWC_PARTNER_DETAIL
Partner detail
Y
Y
N
N
ZCPARTNER_DETAIL
N/A
ZWC_REASON_TXT
Reason Text
N
N
Y
N
SWCONT- VALUE
N/A
ZWC_ACTUAL_AGENT
Actual Agent
N
N
N
N
WFSYST- AGENT
N/A
ZWC_TEXT
Text in proper format
N
N
Y
N
TLINE
N/A
Binding Workflow Container/Event Container: (Please indicate in the middle column below as to the
direction of the parameters - ( or ()
Workflow Container Element
&ZWC_BO_SALES_QUOT&
(
&_EVT_OBJECT&
&_WF_INITIATOR&
(
&_EVT_CREATOR&
Responsibility Agents:
Task Name
Agent
Deadline
Notification
TBD
TBD
N/A
N/A
Steps in Workflow
List the technical details of the steps used in the workflow template. Step No should refer to step no as
in section 8 above
Activity/Send Mail/User Decision/Sub workflow
Step No
Task No
Step Description
Object Type-Method
Property
Agent
Agent Assignment
Secondary Methods (if any)
Terminating Event
Triggering Event
Work Item subject/Text
Others
3
TS90000002
Activity (Background): Approval Needed
BUS2000115- ZWMBAPRVL_NEEDED
x
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Check whether approval is required or not
3
TS90000008
Activity (Background): Update Test
BUS2000115- ZWMBGET_TEXT
x
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Update Test into Header Text Node
4
TS90000007
Activity (Background): Determine Manager for Sales Quotation
BUS2000115- ZWMBDETRMN_MANGR
x
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Determine manager for Quotation
10
TS90000012
Activity (Background): Get Responsible Person
BUS2000115-ZWMBPARTNR_DETAIL
x
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Get Responsible Person
3
TS00008267
User Decision: Set user Decision
DECISION-PROCESS
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Decide between the alternatives available
4
TS90000020
Activity (Background): Set user Status
BUS2000115- ZWMBREAD_COMMENTS
x
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Read Comments
15
TS90000014
Send Mail (SAP message/external mail) : Send Mail for Rejection
SELFITEM- SENDTASKDESCRIPTION
X
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Mail Send for Approve Document
14
TS90000013
Send Mail (SAP message/external mail) : Send Mail
SELFITEM-SENDTASKDESCRIPTION
X
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Mail Send for Approve Document
19
TS90000015
Send Mail (SAP message/external mail) : Send Mail for Re Work
SELFITEM-SENDTASKDESCRIPTION
X
Background
Confirm end
Of process
TBD
TBD
N/A
N/A
N/A
Mail Send for Approve Document
Condition
Step No
Step Description
Relational operator
Relational Expression
Subsequent Events
True
False
2
Check flag value whether approval is required
=
If zwc_flg = blank.
Approval not needed
Approval needed
9
Check manager found or not
#
If zwc_agent ne blank.
Manager found
Manager not found
11
Check Whether Mail Address Found or not
#
If zwc_partner_detail.E-Mail Address ne blank
Found
Not Found
Wait For Event/Create Events
Step No
Step Description
Object Type-Event
Event Container
(
(
Task Container
No of Events
Responsible
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Loop (While)/(Until)
Step No
Step Description
Condition
Outcomes
Loop end
Continue
N/A
N/A
N/A
N/A
N/A
Multiple Condition
Step No
Step Description
Type
Comparison Basis
Comparison Value
Value
Outcome
N/A
N/A
N/A
N/A
N/A
N/A
Fork
Step No
Step Description
Parallel Branch
Necessary Branch
Condition
N/A
N/A
N/A
N/A
N/A
Process Control
Step No
Step Description
Outcome Name
Function
Workflow Step
N/A
N/A
N/A
N/A
N/A
Container Operation
Step No
Step Description
Result
Assignment
Expression
Operator
Expression
TBD
TBD
TBD
TBD
TBD
TBD
TBD
Task Name
Deadline Time
Agent
Type
N/A
N/A
N/A
N/A
Task Name
Role
SAP Authorization
N/A
N/A
N/A
Reporting/Form Requirements
Description
SAP Tool
Report Name
Custom Requirements
N/A
N/A
N/A
N/A
N/A
N/A
Table Name
ZCCREDIT_APPROVE
Short text
Table for Credit Approval in WF
Size category
0
Data class
APPL0
Buffering
Not Allowed
Authorization Group
&NC&
Field Name
Data Element
Domain
Type
Length
Check Table-Field
Key Field
Foreign Key
Description
MANDT
SYMANDT
MANDT
CLNT
3
YES
VKORG
VKORG
VKORG
CHAR
4
YES
Sales Organization
PROCESS_TYPE
CRMT_PROCESS_TYPE_DB
CRM_PROCESS_TYPE
CHAR
4
YES
NET_VALUE
CRMT_NET_VALUE
WERTV8
CURR
15
Net Value
CURRENCY
WAERS
WAERS
CUKY
5
Currency Key
CREATED_BY
ERNAM
USNAM
CHAR
12
CREATED_ON
ERDAT
DATUM
DATS
8
CHANGED_BY
AENAM
USNAM
CHAR
12
CHANGED_ON
AEDAT
DATUM
DATS
8
Last Changed On
Comments
User Exit / Enhancement Detailed Description
N/A
Configuration Information
Server:
Client:
Activity
T-Code
Screen shot
Delegation
SW01
Type Linkage
SWETYPV
TBD
Instance Linkage
SWEINST
N/A
Change Document
SWEC
N/A
Status Management
BSVW
Message Control
NACE
N/A
Rules
PFAC
N/A
Setting Substitution
SBWP/UWL of Portal
N/A
Auto forwarding
SO12
N/A
N/A
Normal Functionality - test cases that ensure the workflow functions, as it should. (e.g. updates fields correctly,
processes all records)
Test Condition
Step
Step Description
Test Data
Expected Result
Actual Result
Executed By/Date
Remarks
1
2
Create quotation and set the status to ‘For release’ and check respective Action profile and workflow is triggered
Workflow will be triggered and in transaction user will see ‘Decision Date: current date
Workflow has been initiated by user id’
Workflow will be triggered and in transaction user will see ‘Decision Date: current date
Workflow has been initiated by user id’
20131023
ok
2
2
Agent mail
Responsible person will receive one notification mail with four button
1.Approve
2.Reject
3.Rework
4.cancelled
Responsible person will receive one notification mail with four button
1.Approve
2.Reject
3.Rework
4.cancelled
20131023
ok
3
3
Approved
One mail will go to initiator like that ‘Document has been Approved by approver name
And whatever he have left comment
One mail will go to initiator like that ‘Document has been Approved by approver name
And whatever he have left comment
20131023
ok
4
4
Rejected
One mail will go to initiator like that ‘Document has been Rejected by approver name
And whatever he have left comments
One mail will go to initiator like that ‘Document has been Rejected by approver name
And whatever he have left comments
20131023
ok
5
5
cancelled
One mail will go to initiator like that ‘Document has been cancelled by approver name
And whatever he have left comments
One mail will go to initiator like that ‘Document has been cancelled by approver name
And whatever he have left comments
20131023
ok
6
6
Reworked
One mail will go to initiator like that ‘Document has been Reworked by approver name
And whatever he have left comments
One mail will go to initiator like that ‘Document has been Reworked by approver name
And whatever he have left comments
20131023
ok
Exception -