Professional Documents
Culture Documents
Technical Specification
Technical Evaluation Report
Document Information
Revision History
Version
Date Author Revision Description
No.
V1.0 20/11/2014 Ajay Gulati
1 Development Overview
As per the business requirement “The Technical Evaluation will be used for quotations and award
the respective bidder”. The scope of this functional enhancement is that the business user should
be able to send the TR to approver for approving it.
1.2 Assumptions
1.6 Standards
1. Create a program for workflow in TER and first create a main screen 1000 and as
Per business requirement use the parameters in the screen as shown below:
2. Create a module in PBO and write a code for fetch the PO item data
‘MODULE FETCH_PO_ITM_DATA’
3. Check if work area WA_EKKO is initial then fetch all the fields from EKKO into
WA_EKKO where EBELN = GV_EBELN
4. If WA_ZNFA_PO_HDR_NFASTATUS is initial
WA_ZNFA_PO_HDR_NFASTATUS = ‘I’
5. If internal table IT_EKPO is initial then fetch all the data from EKPO into internal
Table IT_EKPO where EBELN = GV_EBELN
6. Now loop at internal table IT_EKPO into work area WA_EKPO then
7. Now create F4 help for ‘TER NUMBER’ and ‘DISPLAY RFQ’ and call the function module
For F4 help of TER NUMBER and DISPLAY RFQ as shown below:
If gv_help_submi is initial then throw the message ‘NO VALUE FOUND’ and read the
Dynpro value by use the function module ‘DYNP_VALUES_UPDATE’
If gt_rem_rfq is initial then throw the message ‘NO VALUE FOUND’ and read the
Dynpro value by use the function module ‘DYNP_VALUES_UPDATE’
8. When click on the ‘CREATE’ button then check if TER NUMBER is initial then
Throw the error message ‘Please enter collective number’
If TER Number is not initial then fetch all the field into work area WA_EKKO_SUBMI
From EKKO where SUBMI = WA_EKKO_RFQ_SEL-SUBMI
If OK_CODE = ‘CREATE’ then fetch all the field from ZMM_REM_ITEM into
WA_FINAL where SUBMI = GV_SUBMI and when condition is false then throw
The error message ‘TER not yet created for ‘WA_EKKO_RFQ_SEL-SUBMI’
Wa_znfa_po_rem-ebeln = gv_ebeln
Wa_znfa_po_rem-usnam = gv_userid
Wa_znfa_po_rem-remark_code = wa_remark_code
Wa_znfa_po_rem-remark1 = wa_remark1
Wa_znfa_po_rem-remark2 = wa_remark2
Wa_znfa_po_rem-remark3 = wa_remark3
Wa_znfa_po_rem-c_flag = wa_flag
Wa_znfa_po_rem-budat = sy-datum
Wa_znfa_po_rem-a_hier = gv_hier
Wa_znfa_po_rem-role = gv_role
If condition is true then throw the message ‘REMARKS UPDATED’ and if condition is
False then throw the message ‘REMARKS NOT UPDATED’
10. Now create a TAB SCREEN ‘1001’ and write code inside the PBO event
And PAI event as shown below:
11. Now create a ‘RFQ AND PR SCREEN’ ‘1002’ and write code inside the PBO event
And PAI event as shown below:
12. Now create a ‘PO_LINE DETAIL’ ‘1003’ and write code inside the PBO event
And PAI event as shown below:
13. Now create a ‘APPROVE_TAB’ ‘1004’ and write code inside the PBO event
And PAI event as shown below:
14. Now create a ‘LONG COMMENT TEXT HISTORY’ ‘1005’ and write code inside the PBO event
And PAI event as shown below:
15. Now create a ‘OLD RFQ AND PR SCREEN’ ‘1022’ and write code inside the PBO event
And PAI event as shown below:
16. Now create a ‘APPROVAL HIERARCHY’ ‘1400’ and write code inside the PBO event
And PAI event as shown below:
17. Now the process for ‘SENT FOR APPROVAL’ write code for sent for approval as shown below:
Fetch all the fields from ZNFA_PO_REM into WA_ ZNFA_PO_REM where
USNAM = GV_USERID
EBELN = GV_EBELN
WA_znfa_po_rem-ebeln = gv_ebeln
WA_znfa_po_rem-usnam = gv_userid
WA_znfa_po_rem-a_hier = gv_hier
WA_znfa_po_rem-role = gv_role
WA_znfa_po_rem-remark_code = ' '
WA_znfa_po_rem-remark1 = 'OK'
WA_znfa_po_rem-c_flag = 'X'
WA_znfa_po_rem-budat = sy-datum
If WA_ZNFA_PO_APS_STS is not initial then fetch all the data from ZNFA_PO_APS_STS into
WA_ZNFA_PO_APS_ST where EBELN = GV_EBELN
APR_TYPE = ‘A’
APR_CAT = ‘A’
EDIT_NFA = ‘X’
If WA_ZNFA_PO_APS_STS is not initial then throw the information message ‘Its still
Not approved from additional approver’
Now fetch all the fields from ZNFA_PO_REM into work area WA_ ZNFA_PO_REM
WA_ZNFA_PO_REM-ACTIVITY = ‘APPROVED’
Now fetch all the fields from ZNFA_APPROVER into WA_ ZNFA_APPROVER
Where USNAM = GV_USERID
Wa_znfa_po_rem_hist-activity = wa_znfa_po_rem-activity
Wa_znfa_po_rem_hist-timestamp = cur_time_stamp
Wa_znfa_po_rem_hist-budat = sy-datum
Wa_znfa_po_rem_hist-btime = sy-timlo
18. Now the process for ‘REJECTION’ write code for rejected as shown below:
Fetch all the fields from ZNFA_PO_REM into WA_ ZNFA_PO_REM where
USNAM = GV_USERID
EBELN = GV_EBELN
Now fetch all the fields from ZNFA_PO_REM into work area WA_ ZNFA_PO_REM
Where EBELN = GV_EBELN
USNAM = GV_USERID
C_FLAG = ‘X’
WA_ZNFA_PO_REM-ACTIVITY = ‘REJECTED’
Wa_znfa_po_rem_hist-timestamp = cur_time_stamp
Wa_znfa_po_rem_hist-budat = sy-datum
Wa_znfa_po_rem_hist-btime = sy-timlo
Now submit the report ‘ZMM_SEND_NOTIFICATION’ to send the mail and throw
The message ‘Rejection mail sent to all concerned user’
2.5.1 Dependencies
NA
2.5.2 Batch Requirements
NA
3 Technical Requirements
3.1 Database Tables
NA
3.2 External Programs
NA
3.3 Development Class
ZMM01
3.4 Message Class
NA
3.5 Program ID
NA
3.6 Program Type
NA
3.7 Module
MM
3.8 Transport Number(s)
CR Request Number Task Number
3.9.6 Workflow
N/A
4 Testing Requirements
4.1 Key Unit/Assembly Test Conditions
Unit Test Log
Test Objective
Notes
5 Outstanding Issues
Issue No Description Assigned To Status Impact Resolution
001
002
6 Appendix
6.1 Glossary of Terms
Term Definition