Download - EXAMPLE FS Functional_Specification_Payment Instruction_Payment Instruction Acknowledgement
Functional Specification Document________________________________________________________
10.07.03 - Payment Instruction
10.07.04 - Payment Instruction Acknowledgement
Version 0.1
07/05/2013
DOCUMENT HISTORY
Functional Specification Document________________________________________________________This document is stored in the following location: <insert document location>
REVIEWERS
This document has been distributed to, or its status and location for electronic retrieval made know to, the following persons for review:
Name Title Date Version
APPROVERS
Name Title Date Version
DISTRIBUTION
This document has been distributed to, or its status and location for electronic retrieval made known to the following persons for information:
Name Title Date Version
DOCUMENT CONTROL
Filename Author Version
Date Summary of changes
Functional_Specification_Payment Instruction_Payment Instruction Acknowledgement
Bharati Nadkarni
0.1 07/05/2013
Initial draft
Functional_Specification_Payment Rejection_Payment Rejection Acknowledgement
Dana Bethune
0.1 16/05/2013
Review
Functional_Specification_Payment Instruction_Payment Instruction Acknowledgement
Bharati Nadkarni
V0.2 16/05/2013
Review of initial draftIncorporated the changes
REFERENCES
This document makes references to the following documents. These reference documents should be read in conjunction with this document.
Filename Location Version
Functional Specification Document________________________________________________________DHS_Financial Management_Business_Blueprint_Draft_v1.1
v1.1
TABLE OF CONTENTS
1. Requirement Details.............................................................................................................................. 6
2. Development Information..................................................................................................................... 6
3. Open Issues........................................................................................................................................... 6
4. Development dependencies.................................................................................................................. 6
5. Assumption/Limitations........................................................................................................................ 7
6. Configuration Details............................................................................................................................. 7
7. Design................................................................................................................................................... 8
7.1. Purpose............................................................................................................................................. 8
7.2. Process Flow Diagram........................................................................................................................ 9
7.3. Process Description......................................................................................................................... 11
7.4. Processing Logic.............................................................................................................................. 11
7.4.1. Custom program ‘ACMPS Payment Instructions Transfer’............................................................11
7.4.2. Custom program ‘ACMPS Payment Acknowledgement’...............................................................12
7.4.3. Custom program ‘ACMPS Transfer Log’ report’............................................................................12
7.4.3.1. Details Processing Logic............................................................................................................... 12
7.4.3.1.1. Custom program ‘ACMPS Payment Instructions Transfer’........................................................12
7.4.3.1.2. Custom program ‘ACMPS Payment Instruction Acknowledgement’..........................................13
7.4.3.1.3. Custom program ‘ACMPS Transfer Log’ report’........................................................................13
7.4.4. Custom fields in standard table ‘DFKKOP’....................................................................................14
7.5. Mapping Sheet:............................................................................................................................... 14
7.6. DATA DICTIONARY OBJECTS............................................................................................................. 14
7.7. Authorisation Requirements............................................................................................................ 15
7.8. Key Business Test Conditions........................................................................................................... 15
7.9. Negative Test conditions................................................................................................................. 16
Functional Specification <Gap ID>
1. Requirement Details
Gap Id 10.07.03, 10.07.04
Title Payment Instruction and Payment Instruction Acknowledgement
Reference DHS_Financial Management_Business_Blueprint_Draft_v1.1
Category Custom ABAP programs, SAP PO Interfaces, Custom fields, Custom table
2. Development Information
SAP Module SAP Finance
SAP Sub Module SAP Social ServicesPSCD
Priority High
Development Complexity Medium
Requested Date of Completion
3. Open Issues
NoIssue
Description Assigned toImpact
<H/M/L>
Priority
<VH/H/M/L>
Target Resolution Date
N/A
4. Development dependencies
No FS ID/Config Group ID
Description Type
1 SAP PO Enhancements must be ready for testing at the same time of FVT
High
13/07/2009 11:56 AM Page 4 of 18
Functional Specification <Gap ID>
No FS ID/Config Group ID
Description Type
(functional verification test)
5. Assumption/Limitations
No Description
1The reconciliation key in the original posting document in PSCD will be sent upon transfer payment instruction to CPS system. This was confirmed by the respective CPS team.
6. Configuration Details To distribute Payment Instruction Object details below settings has to be done:
PSCD Maintain Main TransactionsPath: Contract Accounts Receivable and Payable Basic FunctionsPostings and DocumentsDocumentMaintain Document Assignments Maintain Main Transactions
Maintain Sub TransactionsPath: Contract Accounts Receivable and Payable Basic FunctionsPostings and DocumentsDocumentMaintain Document Assignments Maintain Sub Transactions
Path: Contract Accounts Receivable and Payable Basic FunctionsPostings and DocumentsDocumentMaintain Document Assignments Maintain Transactions for Public Sector Contract Accounting Maintain Sub-Transactions
Maintain Document Number RangesPath: Contract Accounts Receivable and Payable Basic Functions Postings and Documents Basic Settings Maintain Document Number Ranges
Maintain Document Types and Assign Number RangesPath: Contract Accounts Receivable and Payable Basic FunctionsPostings and DocumentsDocumentMaintain Document AssignmentsDocument TypesMaintain Document Types and Assign Number Ranges
Define Sales/Purchase Tax DeterminationPath: Contract Accounts Receivable and Payable Basic FunctionsPostings and DocumentsDocumentMaintain Document Assignments Define Sales/Purchase Tax Determination
CPS: N/AAll of the above configuration will also need to be in place in CPS to enable transfer of payment instructions between systems.
Please refer to the attached document which outlines the shared configuration settings between ACMPS and CPS.
13/07/2009 11:56 AM Page 5 of 18
Functional Specification <Gap ID>
13/07/2009 11:56 AM Page 6 of 18
Functional Specification <Gap ID>
7. Design
7.1. Purpose
The PSCD system, named CPS, is DHS’s Common Payment System. It is the ‘source of truth’ in regards to the status of any given payment instruction. A payment can only be cleared in ACMPS upon instruction from CPS. PSCD Posting documents that represent ‘Payment Instructions’ to be sent to the CPS system for payment processing.Later point of time the The payment instruction acknowledgment will be sent back from CPS to ACMPS PSCD for the confirmation whether success and failure transfer.
To achieve the transfer payment instruction process, 6 enhancements will be required.1. Custom program ‘ACMPS Payment Instructions Transfer’ 2. SAP PO Interface3. Custom fields in standard table ‘DFKKOP’4. Custom program ‘ACMPS Payment Instructions Acknowledgement’5. Custom program ‘ACMPS Transfer Log’ report6. Custom table ‘CPS Payments’
13/07/2009 11:56 AM Page 7 of 18
Functional Specification <Gap ID>
7.2. Process Flow Diagram
The PSCD system, named CPS, is DHS’s Common Payment System. It is the ‘source of truth’ in regards to the status of any given payment instruction. A payment can only be cleared in ACMPS upon instruction from CPS. PSCD Posting documents that represent ‘Payment Instructions’ to be sent to the CPS system for payment processing.A custom ‘ACMPS Payment Instructions Transfer’ program will extract and transfer ACMPS payment instructions (posting documents) to CPS via an SAP PO interface; as well as updating the original payment instructions that were successfully extracted with a status of “Reserved”The successfully extracted payment instructions will display the output as the report lists. The report can be used for the reconciliation purpose whether comparing the number of payment instruction in ACMPS PSCD and SAP PO.
Later point of time tThe payment instruction acknowledgment will be sent back from CPS to ACMPS PSCD, that should be a consolidated payment instruction of the success transfer and failure transfer. The notify email will be sent to respective users for the failure transfer.The updating original payment instruction that were successfully transfer with a status of ‘Transferred’ The ACMPS transfer log report can be executed for error resolution.
High-level diagram outlines the functionality used in the end-to-end transfer process.
13/07/2009 11:56 AM Page 8 of 18
Functional Specification <Gap ID>
PI/PO Interface:
Data flow from PSCD CPS
13/07/2009 11:56 AM Page 9 of 18
PSCD
Payment Data
Payment Instruction
Payment Instructions
PO interface
Payment Data for Service
CPS
PSCD SAP
PO
CPS
Proxy Proxy
Functional Specification <Gap ID>
Data flow from CPS PSCD
7.3. Process Description
To achieve the transfer payment instruction process, 6 enhancements will be required.1. Custom program ‘ACMPS Payment Instructions Transfer’ 2. SAP PO Interface3. Custom fields in standard table ‘DFKKOP’4. Custom program ‘ACMPS Payment Instructions Acknowledgement’5. Custom program ‘ACMPS Transfer Log’ report6. Custom table ‘CPS Payments’
7.4. Processing Logic 7.4.1. Custom program ‘ACMPS Payment Instructions Transfer’This custom program would be provided 2 options for execution. Execute on demand by authorized users (Real time execution) Execute by a Scheduled batch job on weekly week-nightly basis (i.e. Monday to Friday,
excluding Canberra public holidays).
Selection parameters on the front screen
Business Partner (single values, or range / optional field) It is a lookup fields in table ‘BUT000’
Contract Account (single values, or range / optional field) It is a lookup fields in table ‘FKKVK’
Document Number (single values, or range / optional field) It is a lookup fields in table ‘DFKKKO’
13/07/2009 11:56 AM Page 10 of 18
CPS
Payment Data
Payment Instruction
Ack
Payment Instruction
AcknowledgementPO interface
Payment Ack Data for Service
PSCD
Functional Specification <Gap ID>
Error Flag ( optional field) It is a radio button,/* this flag will be applicable for the case of error resolution of the transferred payment instruction to CPS*/
[7.4.2.] Custom program ABAP Proxy Method ‘ACMPS Payment Acknowledgement’This custom program should be executed by a scheduled batch job on weeknight. This program can be started execution The custom ABAP Proxy method will be internally triggered as soon as SAP PO uploads the payment acknowledgement file into PSCD system. The selection parameter is not requiring for this program.
7.4.2.[7.4.3.] Custom program ‘ACMPS Transfer Log’ report’The failure and successful of transfer payment instructions to CPS system would be associated in the payment acknowledgement file. These failures would be able to display as a report ‘ACMPS Transfer Log’. This custom program can be executed on demand.
Selection parameters on the front screen
Document Number (single values, or range) It is a lookup fields in table ‘DFKKKO’
Error Type (mandatory field), the value lists will be ( P , R, J )
7.4.2.1.[7.4.3.1.] Details Processing Logic
7.4.2.1.1.[7.4.3.1.1.] Custom program ‘ACMPS Payment Instructions Transfer’
When the custom program is executed and selection parameter ‘Error Flag’ is not select.
The custom program will fetch all non-transferred document line item in table ‘DFKKOP’ where the conditions would be met as below
a) If document number (DFKKOP- OPBEL) is in the range of document number of selection parameter then go to step b else exit to fetch a new line item.
b) If Payment lock (DFKKOP- SPZAH) is not blank then exit to fetch a new line item else b.
c) Clearing status (DFKKOP- AUGST) is not blank then exits to fetch a new line item else c.
d) Payment status (DFKKOP – Z_FIELD_A) is not blank then exit to fetch a new line item else d.
e) Fetch the document number from table DFKKKO if a document type (DFKKKO- BLART) = ‘AC’ then go to step f. else exit to fetch a new line item.
f) If contract account (DFKKOP- VKONT) is in the range of contract account of selection parameter then fetch contract account from table FKKVKP if Outgoing payment (FKKVKP- AZASP ) is blank then go to step g. else exit to fetch a new line item.
g) If business partner is in the range of business partner of selection parameter then fetch business partner from table BUT000 where business partner is in the range of selection parameter else exit to fetch a new line item.
The set of document which met the conditions, will be updated value as ‘Reserved’ in payment status ‘DFKKOP-Z_FIELDL_A’
13/07/2009 11:56 AM Page 11 of 18
Functional Specification <Gap ID>
After finished execution, the ABAP Proxy is called to send the populated output data structure to SAP PO for the text file generation. The output data structure is mentioned in section 6.5 Mapping Sheet. ( Note: SAP PO will need to populate a default value ‘ACM’ at last column in structure DFKKOP (field name Z_CLAIM_SYS in the CPS system), see detail in section 6.5 Mapping Sheet )
Meanwhile the custom program will be populated output data in the report for the successfully transfer payment instruction. The report can display on the screen for real time execution, or created as the spool request for the batch job execution.
When the program is executed and selection parameter ‘Error Flag’ is selected. The custom program will fetch the document number from custom table ‘CPS Payments’ where error message has determined.
After finished execution, the ABAP Proxy is called to send the populated output data structure to SAP PI for the text file generation. The files are placed in appropriate location by SAP P). Meanwhile the custom program will be deleted the respective record in custom table ‘CPS Payments’ and populated output data in the report for the successfully transfer payment instruction. The report can display on the screen for real time execution, or created as the spool request for the batch job execution.
7.4.2.1.2.[7.4.3.1.2.] Custom program ‘ACMPS Payment Instruction Acknowledgement’
As soon as SAP PO calls the ABAP Proxy for transfer interface of the payment instruction acknowledgement into ACMPS PSCD, The custom program will be triggered and fetched all payment instruction acknowledgement records.
For the successful payment record, the custom program will be updated the value to respective document in table ‘DFKKOP’, field Z_FIELDL_A = ‘Transferred’
For the failure payment record, the custom program will be inserted the value into custom ‘CPS Payments’ table, field Z_ERROR_F = ‘P’ and another fields please refer the table structure in section 7.6.
The notify email will be sent to respective users for the failure payment transfer. Email information as below
‘Email subject ‘Failure payment transfer’
Email content ‘ The payment instruction is failed for posting document in CPS system. Total failure record = < total no. of error record >’
One recipient group ‘CPS-PAYMENT’ (the shared distribution list) will be maintained in Business Workplace in ACMPS PSCD for the list of respective user email address.
7.4.2.1.3.[7.4.3.1.3.] Custom program ‘ACMPS Transfer Log’ report’
The custom program ‘ACMPS Transfer Log’ will fetch records in custom table ‘CPS Payment’ where it has a condition as below
13/07/2009 11:56 AM Page 12 of 18
Functional Specification <Gap ID>
a) If field ‘document number’ is equal to or in the range of selection parameter-document then go to step b else exit to fetch a new record.
b) If field ‘Z_ERROR_F ‘ is not equal to the selection parameter – Error type then exit to fetch a new record.
The output data which meet the above conditions will be displayed as a report which has the relevant fields as below
Document Number TYPE ID NUMBER MESSAGE LOG_NO LOG_MSG_NO MESSAGE_V1 MESSAGE_V2 MESSAGE_V3 MESSAGE_V4
7.4.3.[7.4.4.] Custom fields in standard table ‘DFKKOP’The standard table DFKKOP will be extended by the new three fields as in below table.
Field name Primary key Standard Data Element (for developer reference)
Data type / Length Field Description
Z_FIELDL_A No N/A Character (20) Payment Status
Z_FIELDL_B No RTEXT_KK Character (50) RBA rejection reason
Z_FIELDL_C No OPBEL Character (12) ACMPS Payment Instruction Document no.
7.5. Mapping Sheet: Payment Instruction and Acknowledgement
7.6. DATA DICTIONARY OBJECTSTo create a new custom table ‘CPS Payments’ where it stores the failure of transfer
interface
Between ACMPS PSCD system and CPS system.
Field name Primary key Standard Data Element (for developer reference)
Data type / Length Field Description
OPBEL Yes OPBEL Character (12) Document NumberZ_ERROR_F Yes N/A Character (1) Error Type
13/07/2009 11:56 AM Page 13 of 18
Functional Specification <Gap ID>
*Error type represents which state is detected the error. ‘P’ = Transfer Payment instruction acknowledgement ‘R’ = Transfer Reconciliation acknowledgement ‘J’ = Transfer Rejection acknowledgement
AUGBL No AUGBL Character (12) Payment Clearing Document
OPBEL No OPBEL Character (12) Number of the return document
BAPIRET2 BAPIRET2 Structure Return Parameter
7.7.Authorisation Requirements
N/A
7.8. Key Business Test Conditions
No Test condition Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
Payment Instruction Process
1
Ensure a payment instruction can be transferredThe range will be entered in parameters- Business
Partner- Contract
Account- Document
Number
All the document numbers in the range are meet the conditions in Processing Logic in section 6.4
The set of documents should be met the conditions, and It should be extracted to SAP PO.The report lists should be displayed for the transferred payment instruction.The payment status ‘Reserved’ should be updated the respective document in DFKKOP
TBD M
2 Ensure a payment instruction can be transferredThe range will be entered in parameters- Business
Partner- Contract
Account- Document
Number
The set of documents should be met the conditions, and It should be extracted to SAP PO.The report lists should be displayed for the transferred payment instruction.The payment status ‘Reserved’ should be
TBD M
13/07/2009 11:56 AM Page 14 of 18
Functional Specification <Gap ID>
No Test condition Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
Some document numbers in the range are not meet the conditions in Processing Logic in section 6.4
updated the respective document in DFKKOP
3
Ensure a payment instruction can be transferredThe range will be entered in parameters- Business
Partner- Contract
Account- Document
Number
Some contract accounts in the range have applied the outgoing payment lock, Refer to Processing Logic in section 6.4
The set of documents should be met the conditions, and It should be extracted to SAP PO.The report lists should be displayed for the transferred payment instruction.The payment status ‘Reserved’ should be updated the respective document in DFKKOP
TBD M
4
Ensure a payment instruction can be re-transferredThe range will be entered in parameters- Business
Partner- Contract
Account- Document
Number- Error Flagwhen Error flag has been selected
The documents should be met the conditions, and It should be extracted to SAP PO.The report lists should be displayed for the transferred payment instruction.The payment status ‘Reserved’ should be updated the respective document in DFKKOP
TBD M
Payment Instruction Acknowledgement Process
5
Ensure the successful payment instruction which has multiple records can be reflected in table DFKKOP
The documents should be matched and updated the payment status as ‘Transferred’
TBD M
6
Ensure the failure payment instruction which has multiple records can be reflected in custom ‘CPS Payment’ only
The failure record should be inserted entry in custom table ‘CPS Payments’ and updated field Z_ERROR_F as ‘P’The respective document should not reflect the value of Payment status in table DFKKOP
TBD M
7 Ensure the multiple records of failure and successful payment instruction can be reflected to respective table.
The failure record should be inserted entry in custom table ‘CPS Payments’ and update field Z_ERROR_F as ‘P’
TBD M
13/07/2009 11:56 AM Page 15 of 18
Functional Specification <Gap ID>
No Test condition Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
The successful record, the document should be matched and updated the payment status as ‘Transferred’
ACMPS Transfer Log Report
8
Ensure that the report log can be displayed a multiple records of failure as per the selected Error Type ( P )
The failure transfer payment instructions acknowledgement should be displayed on the report.
TBD M
9
Ensure that the report log can be displayed a multiple records of failure as per the selected Error Type ( R )
The failure transfer reconciliation acknowledgement should be displayed on the report.
TBD M
10
Ensure that the report log can be displayed a multiple records of failure as per the selected Error Type ( J )
The failure transfer rejection acknowledgement should be displayed on the report.
TBD M
7.9. Negative Test conditions
No Negative Test condition
Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
Payment Instruction Process
1
Ensure a payment instruction can not transfer for a document where the payment status (DFKKOP – Z_FIELD) as ‘Transferred.
None of document can be selected
TBD M
2
Ensure a payment instruction can not transfer for a document where the payment status (DFKKOP – Z_FIELD) as ‘Paid’.
None of document can be selected
TBD M
3 Ensure a payment instruction can not transfer for a document where the payment status (DFKKOP –
None of document can be selected
TBD M
13/07/2009 11:56 AM Page 16 of 18
Functional Specification <Gap ID>
No Negative Test condition
Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
Z_FIELD) as ‘Revered’
4
Ensure a payment instruction can not transfer for a document where the payment lock is not blank
None of document can be selected
TBD M
5
Ensure a payment instruction can not transfer for a document where the clearing status is not blank
None of document can be selected
TBD M
6
Ensure a payment instruction can not transfer for a contract account who has applied the outgoing payment lock.
None of document can be selected
TBD M
Payment Instruction Acknowledgement Process
7
Ensure the multiple records of failure and success payment instruction can be reflected to respective tables.
The failure record should be inserted entry in custom table ‘CPS Payments’ and update field Z_ERROR_F as ‘P’The success record, the document should be matched and updated the payment status as ‘Transferred’
TBD M
8 Check the behavior of the program if
the email id is not maintained
Appropriate message must be shown to the user(online) or stored in spool(batch)
TBD M
9 Check the behavior of the program
both in batch and online
As Expected result 8 TBD M
10 Check the behavior of the program when it fails to
update the custom table
Appropriate message must be shown to the user(online) or stored in spool(batch)
TBD M
ACMPS Transfer Log Report
811 The user has solved the error transfer and executed custom program ‘ACMPS transfer payment’ by ad-hoc. It is a success transfer in this time.
To ensure that the report log can not display the output for the records this has
No error record exits in custom table ‘CPS Payments’ hence there is no output in the report log.
TBD M
13/07/2009 11:56 AM Page 17 of 18
Functional Specification <Gap ID>
No Negative Test condition
Expected result / Acceptance criteria
Test data to be used
Priority
VH/H/M/L
been solved. Selection parameter-Error type = P
This case should be tested for Reconciliation acknowledgement, Rejection acknowledgement.
13/07/2009 11:56 AM Page 18 of 18