Adjustment Operation: Software Requirements Specification
Adjustment Operation: Software Requirements Specification
Adjustment Operation: Software Requirements Specification
Version control
Document purpose
This document specifies the requirements for the software release in the scope of the project defined below. It
constitutes the Technical Engagement of Engineering to Services Delivery and Product Management.
SRS provides a complete functional description of the system behavior as well as non-functional requirements that could
constraint the software design or its implementation (such as performance requirements, security, reliability, or quality
standard). This document does not define the requirements for ongoing tasks such as system backup or maintenance.
It is to be read in conjunction with the User and Administration Guides of each product baseline impacted by the project.
Document Scope
This SRS document plus eventual "Form Ds" to answer CRs constitute the main technical reference for the project:
Adjustment Operation/FR1-002662-07
It is not feasible for an SRS document to reproduce all the product features so it will provide requirements in delta mode.
Audience
Due to documentation in iterative mode the documentation assumes that the person reading this has already the
knowledge of the system.
Reviewers
Name/Function: <name> / Engineering Architect (when EA is not the author)
Name/Function: Francis Delhaye / Product Manager (for Features or Product Validation project)
Approval
Name/Function: <name> / Engineering Project Manager
Approval Date:
Document Filename
478429894.docx
Reference Documents
Reference Title
[1] eSGP_SCD_PayMobile_TierInitiatedMoneyTra Solution Concept Document from Product Management
nsfers_E00.04
Copyright
This document contains proprietary, confidential, or customer-sensitive information, and may not be copied or circulated
without prior approval. Those who rightfully receive this document are entitled to copy or multiply this document only for
internal use.
Table of Contents
2.1 GENERAL............................................................................................................................................. 7
2.2 PROJECT SCOPE.................................................................................................................................. 7
3.1 OVERVIEW........................................................................................................................................... 8
3.2 ADJUSTMENT OPERATION..................................................................................................................... 8
4.1 HIGH LEVEL ARCHITECTURE............................................................................................................... 29
4.2 ARCHITECTURE DESCRIPTION............................................................................................................. 29
5.1 TRAFFIC ASSUMPTIONS...................................................................................................................... 30
5.2 DIMENSIONING RULES........................................................................................................................ 30
5.3 PLATFORM MAXIMUM CAPACITY.......................................................................................................... 30
6.1 GENERAL HARDWARE REQUIREMENTS................................................................................................ 31
6.2 GENERAL PACKAGE REQUIREMENTS................................................................................................... 31
6.3 DOCUMENTATION REQUIREMENTS....................................................................................................... 31
6.4 INSTALLATION AND UPGRADE REQUIREMENTS.....................................................................................31
6.5 PRODUCT INTEROPERABILITY/COMPATIBILITY REQUIREMENTS..............................................................32
7.1 MANAGEMENT GUI............................................................................................................................. 33
7.2 FAULT MANAGEMENT.......................................................................................................................... 33
7.3 STATISTICS........................................................................................................................................ 33
7.4 EVENT DETAIL RECORDS.................................................................................................................... 33
7.5 SERVICE REPORTS............................................................................................................................. 33
8.1 SCALABILITY....................................................................................................................................... 34
8.2 REDUNDANCY AND HIGH AVAILABILITY................................................................................................. 34
8.3 DISASTER & RECOVERY..................................................................................................................... 34
8.4 BACK-UP POLICY................................................................................................................................ 34
9.1 <COMPONENT> CONFIGURATION........................................................................................................ 35
10.1 SERVICE AVAILABILITY........................................................................................................................ 36
10.2 GUI SECURITY................................................................................................................................... 36
10.3 PLATFORM SECURITY......................................................................................................................... 36
This document contains a series of bulleted, tagged and testable requirements. These are of the format: R-
XXX-number. In this document, XX stands for the specific requirement category, and is an arbitrary label
grouping functionality for clarity.
Non-tagged text is included for clarification purposes. The tagged requirements shall constitute the complete
set of customer requirements that are to be met. Verification of the tagged requirements shall constitute the
complete acceptance of the project by 02.00.
Responsibility for completion of all sections of this document rests with eServGlobal and its subcontractors,
except where a section heading explicitly states otherwise.
Icons
The following icons are used as visual cues to draw attention to important information.
Note:
Indicates useful and complementary information. Explanation, comment, or short expansion of the
text object that is intended to catch your attention.
Tip:
Indicates practical but non-essential information that makes the solution easier to use or operate (e.g.
keyboard shortcut, alternative way to perform a step in a procedure, etc.).
Warning:
Indicates a caution. If this information is ignored, it could cause possible and irreversible damage to
the equipment, data or software.
2 Introduction
2.1 General
The solution will provide the Adjustment operation which will allow a third party to transfer money from
anyone’s balance to any other balance having the same currency in order to solve financial issues or handle
services needing third party initiated transfers.
3 Functional Requirements
3.1 Overview
The Adjustment operation is money transfer between Party A and Party B but initiated by Party C.
The operation is mainly used to do administration of Ledger accounts, perform correction or manual refund.
3.2.1 Description
The Adjustment operation is a financial operation where the requester is able to perform a money transfer
between 2 other actors.
Based on requester profile configuration, the adjustment operation could require approval.
The Adjustment operation must be available either via CC_ADMIN Web GUI or via Batch files.
R-ADJ-0010: The CC Admin Web GUI provides access to the Adjustment feature through the
“Adjustment” item of the “Mobile Money” group of the “Point Of Sales” service.
The adjustment page of CC Admin Web GUI will propose to enter the identifier of the debited actor.
R-ADJ-0030: In the Adjustment screen, one must provide the debited identifier of the actor which
will provide the money to be transferred.
R-ADJ-0040: Actor Id
R-ADJ-0050: username
R-ADJ-0060: Tsn
R-ADJ-0070: MSISDN
R-ADJ-0080: Shortcode
R-ADJ-0090: In the Adjustment screen, one can trigger the search of the debited identifier.
R-ADJ-0100: In the Adjustment screen, if several actors match the debited identifier, a dialog pops
up asking to select which one had to be used.
R-ADJ-0110: In the Adjustment screen, if the debited identifier retrieval is successful, the public
identifier of the debited party must be displayed.
Once the debited source of fund information is retrieved, the list of debited source of funds is displayed.
R-ADJ-0120: In the Adjustment screen, if the debited identifier retrieval is successful, the list of
available Sources of fund of the debited party. By default the Source of fund with the
higher preference (minimal rank number) is selected.
R-ADJ-0130: In the Adjustment screen, when displaying the list of available sources of fund of the
debited party, the following information must be displayed for each source of fund:
R-ADJ-0140: In the Adjustment screen, if the debited identifier retrieval fails, an error dialog pops
up. The entered information is preserved so one can correct it.
R-ADJ-0150: In the Adjustment screen, one must provide the amount of the adjustment operation
in the currency of the selected debited source of fund.
R-ADJ-0160: In the Adjustment screen, one must indicates if the debited party must receive a
notification. By default, the notification is sent.
The agent next enters the identifier of the beneficiary (credited) party.
R-ADJ-0170: In the Adjustment screen, one must enter the beneficiary identifier of the actor which
will receive the money.
R-ADJ-0180: Actor Id
R-ADJ-0190: username
R-ADJ-0200: Tsn
R-ADJ-0210: MSISDN
R-ADJ-0220: Shortcode
R-ADJ-0230: In the Adjustment screen, one can trigger the search of the beneficiary identifier.
R-ADJ-0240: In the Adjustment screen, if several actors match the beneficiary identifier, a dialog
pops up asking to select which one had to be used.
R-ADJ-0250: In the Adjustment screen, if the beneficiary identifier retrieval is successful, the public
identifier of the Beneficiary must be displayed.
Once the credited source of fund information is retrieved, the list of credited source of funds is displayed.
R-ADJ-0260: In the Adjustment screen, if the beneficiary identifier retrieval is successful, the list of
available Sources of fund of the beneficiary of the same currency as the debited party
must be displayed. By default the Source of fund with the higher preference (minimal rank
number) is selected.
R-ADJ-0270: In the Adjustment screen, when displaying the list of available sources of fund of the
beneficiary, the following information must be displayed for each source of fund:
R-ADJ-0280: In the Adjustment screen, if the beneficiary identifier retrieval fails, an error dialog
pops up. The entered information is preserved so one can correct it.
R-ADJ-0140: In the Adjustment screen, one must indicates if the beneficiary party must receive a
notification. By default, the notification is sent.
R-ADJ-0280: In the Adjustment screen, one can enter a comment to the operation.
Once the agent has validated the operation, a verification screen is displayed where the agent is able to
confirm the operation or to modify it.
R-ADJ-0290: In the Adjustment screen, one has the possibility to cancel the adjustment operation.
The Adjustment screen is then displayed and previous information is cleared.
R-ADJ-0300: In the Adjustment screen, one has the possibility to validate the adjustment operation.
The Adjustment Verification screen is then displayed.
R-ADJ-0341: The VAT value including the currency when using a non-monetary SoF
R-ADJ-0342: The indicative public price including the currency when using a non-monetary
SoF
R-ADJ-0350: if the Credited actor will receive a notification.
R-ADJ-0400: cancel the Adjustment. The Adjustment screen is then displayed and previous
information is cleared.
R-ADJ-0410: modify the adjustment. The Adjustment Screen is then displayed and previous
information is preserved so one can modify it.
R-ADJ-0420: confirm the Adjustment.
R-ADJ-0430: If the Adjustment operation is successful, the Adjustment receipt dialog pops up.
R-ADJ-0440: If the Adjustment operation fails, an error dialog pops up. The entered information is
preserved so one has the possibility to retry or cancel the Adjustment.
R-ADJ-0510: the beneficiary delta including the currency which is the same as the
Beneficiary Source of fund currency
R-ADJ-0520: the identifier of the payer
R-ADJ-0540: the payer delta including the currency which is the same as the payer Source
of fund currency
R-ADJ-0550: the list of Taxes, Fees and Commissions
R-ADJ-0551: The VAT value including the currency when using a non-monetary SoF
R-ADJ-0552: The indicative public price including the currency when using a non-monetary
SoF
In the Adjustment operation result popup, in list of Taxes, Fees and Commissions, one can see:
R-ADJ-0600: the Taxes, Fees and Commissions amount including the currency
R-ADJ-0630: In the Adjustment operation result popup, one has the possibility to print the receipt
of the Adjustment operation.
R-ADJ-0640: In the Adjustment operation result popup, when closing the popup, the Adjustment
operation default screen is then displayed
To manage the Adjustment Approval screen, a new generic screen will be created. This screen will be able
to display approval for whatever financial operation.
The Generic Approval page of Self-care Web GUI will propose to approve financial operations.
The generic Approval page will retrieve the list of financial operation Approval which are pending and display
it.
R-ADJ-1000: The Self Care Web GUI provides access to the Financial Approval feature through the
“Financial Operation” item of the “Approval Mobile Money” group of the “Administration”
service.
R-ADJ-1020: In the Financial Operation Approval screen, one must see the list of financial
operations which has to be approved by the current logged user. The current logged user
must be a member of a financial approval Group to see any operation.
R-ADJ-1090: In the Financial Operation Approval screen, one must be able to select one financial
operation to approve.
Reference : eSGE_SRS_FR1-002662-07_EN Version: 02.00 Page: 15/44
R-ADJ-1100: In the Financial Operation Approval screen, when selecting an Adjustment operation
to approve, an Adjustment detail Dialog pops up.
R-ADJ-1150: the public identifier of the initiator (requester) of the Adjustment operation.
R-ADJ-1241: The VAT value including the currency when using a non-monetary SoF
R-ADJ-1242: The indicative public price including the currency when using a non-monetary
SoF
In the Adjustment Approval Detail Dialog, in the list of Tax/Fees/Commission of the Adjustment
operation, one can see:
R-ADJ-1290: In the Adjustment Approval Detail Dialog, one has the possibility to cancel the
adjustment approval operation. The Adjustment Detail Dialog is closed and the previous
Adjustment Approval screen is then displayed with previous information.
In the Adjustment Approval Detail Dialog, one has the possibility to:
R-ADJ-1300: reject the adjustment operation. The Adjustment Detail Dialog is closed and
the previous Adjustment Approval screen is then displayed with the line previously rejected
removed from the list.
R-ADJ-1310: approve the adjustment operation. The Adjustment Detail Dialog is closed and
the previous Adjustment Approval screen is then displayed with the line previously approved
removed from the list.
R-ADJ-1500: The Self Care Web GUI provides access to the Financial Operation Approval History
feature through the “Financial Approval History” item of the “Approval Mobile Money”
group of the “Administration” service.
R-ADJ-1510: Access to the Financial Operation approval History screen is subject to permission.
R-ADJ-1530: the start date of the financial operation where he wants to see history.
R-ADJ-1540: the end date of the financial operation where he wants to see history.
R-ADJ-1545: In the Financial Operation Approval History screen, the Operation Type criteria must
be one financial operation or ALL (meaning all financial operations):
R-ADJ-1550: In the Financial Operation Approval History screen, the decision criteria must be one
of the following:
APPROVED
REJECTED
ALL: include APPROVED + REJECTED
R-ADJ-1560: In the Financial Operation Approval History screen, one is able to display the list of
past Financial Operation approval by triggering the Search button.
In the Financial Operation Approval History screen, in the list of past Financial operation approval by
his approval group, one must see:
R-ADJ-1700: The CC Admin Web GUI provides access to the SP Financial Operation Approval
History feature through the “Financial Approval History” item of the “Approval history”
group of the “Administration” service.
R-ADJ-1730: the start date of the financial operation where he wants to see history.
R-ADJ-1740: the end date of the financial operation where he wants to see history.
R-ADJ-1745: In the SP Financial Operation Approval History screen, the Operation Type criteria
must be one financial operation or ALL (meaning all financial operations):
R-ADJ-1750: In the SP Financial Operation Approval History screen, the decision criteria must be
one of the following:
APPROVED
REJECTED
ALL: include APPROVED + REJECTED
R-ADJ-1760: In the SP Financial Operation Approval History screen, one is able to display the list
of past Financial Operation approval by triggering the Search button.
In the SP Financial Operation Approval History screen, in the list of past Financial operation approval
by his approval group, one must see:
R-ADJ-2000: eMoney Transfer endpoint provides a SOAP method backed by a business process to
perform an Adjustment.
R-ADJ-2030: Adjustment Business Service must use the standard “Transfer” template to manage
the financial transaction.
R-ADJ-2040: In case of success, Adjustment Business Service uses the notification flags to
determine if a notification must be sent.
standard receipt
human task information (in case of approval)
R-ADJ-2060: In case of failure, Adjustment Business Service returns a Web Service Exception
R-ADJ-2070: eMoney Transfer endpoint provides a SOAP method backed by a BPEL business
process to perform an Adjustment Approval.
R-ADJ-2080: Adjustement Approval Business Service must use the standard “TransferApproval”
template to manage the financial transaction.
R-ADJ-2100: Approval Group endpoint provides a SOAP method backed by a BPEL business
process to retrieve the list of Pending Financial operation
(getApprovalGroupPendingFinancial).
service
operation Type
Language Code
Retrieve the list of Financial operations which have to be approved by the approval group of
the requester
Operation Id
Financial operation information:
o Human Task Id (Optional)
o Decision
o Decision Date (Optional)
o Approver First name (Optional)
o Approver Last name (Optional)
o Approval Group Name (Optional)
o Operation Id (Optional)
o Operation Name
o Operation Date
o Operation Requester Id
o Operation Requester First Name
o Operation Requester Last Name
o Sender Actor Id (Optional)
o Sender First Name (Optional)
o Sender Last Name (Optional)
o Sender MSISDN (Optional)
o Receiver Actor Id (Optional)
o Receiver First Name (Optional)
o Receiver Last Name (Optional)
o Receiver MSISDN (Optional)
o Amount
o Currency Id
R-ADJ-2190: Approval Group endpoint provides a SOAP method backed by a business process to
retrieve the list of Approval Financial operation History operation
(viewApprovalFinancialDecisionHistory).
service
operation Type
decision (Optional)
from
to (Optional)
Retrieve the list of financial operations matching input criteria which have been approved by
the approval group of the requester.
Operation Id
Financial operation information:
o Human Task Id (Optional)
o Decision
o Decision Date (Optional)
o Approver First name (Optional)
o Approver Last name (Optional)
o Approval Group Name (Optional)
o Operation Id (Optional)
o Operation Name
o Operation Date
o Operation Requester Id
o Operation Requester First Name
o Operation Requester Last Name
o Sender Actor Id (Optional)
o Sender First Name (Optional)
o Sender Last Name (Optional)
o Sender MSISDN (Optional)
o Receiver Actor Id (Optional)
o Receiver First Name (Optional)
R-ADJ-2195: Approval Group endpoint provides a SOAP method backed by a business process to
retrieve the list of SP Approval Financial operation History operation
(viewAnyApprovalFinancialDecisionHistory).
service
operation Type
decision (Optional)
from
to (Optional)
Retrieve the list of financial operations matching input criteria which have been approved.
Operation Id
Financial operation information:
o Human Task Id (Optional)
o Decision
o Decision Date (Optional)
TFC
R-ADJ-2260: Adjustment financial transactions are subject to standard taxes, fees and commission
logic. They can be identified through the use of the EMONEY.ADJUSTMENT operation
type.
Limits
History
R-ADJ-2310: The information of each failed Adjustment is stored in an ADJUSTMENT process. This
process contains an ADJUSTMENT operation. The latter contains information about the
input data and the error. If the error occurs on an approval step, the process contains an
ADJUSTEMENT operation.
Permissions
Restrictions
Reports
R-ADJ-2330: Adjustment financial transactions can be identified through the use of the
EMONEY.ADJUSTMENT operation type in the transaction reports.
R-ADJ-2340: Adjustment financial transactions EDRs will have the same format as the other
financial transactions EDRs and will contain the following information:
Operation Id
Operation Type
Operation Article Id (Not used for Adjustment operation)
Operation Article Quantity (Not used for Adjustment operation)
Operation medium
Operation State
Transaction Amount
Transaction VAT Amount
Transaction FEE Amount
Transaction Commission Amount
Transaction Currency Name
Transaction Public Price
Transaction Vat Price
Transaction Public Price Currency
Transaction Creation date/time
Requester actor detailed information including Profile Code, Actor Id, Identifier used in
transaction
Debited actor detailed information including Actor Id, Identifier used in transaction
Credited actor detailed information including Actor Id, Identifier used in transaction
Debited Balance Id
Credited Balance Id
Balance Currency
Delivered Subscriber (Not used for Adjustment)
Transaction Error Status
Comment
Requester MSISDN
Requester USERNAME
Requester PROFILE
Sender MSISDN
Sender USERNAME
Sender PROFILE
Receiver MSISDN
Receiver USERNAME
Receiver PROFILE
External Id List
TRIGGER_RECHARGE_ID
PMX_REWERD_ID
Notifications
R-ADJ-2350: Successful Adjustment notification uses notification templates having operation set
to EMONEY.ADJUSTMENT and role to SENDER. These templates can use following
pieces of information:
operation id
requested amount (including currency)
debited amount (including currency)
credited amount (including currency)
debited wallet new balance (including currency)
Beneficiary public identifier
Debited Source of fund Name
Credited source of fund name
Requester public identifier
Vat Price (including currency) for non-monetary account
Public price (including currency) for non-monetary account
R-ADJ-2360: Successful Adjustment notification uses notification templates having operation set
to EMONEY.ADJUSTMENT and role to RECEIVER. These templates can use following
pieces of information:
operation id
requested amount (including currency)
debited amount (including currency)
credited amount (including currency)
credited wallet new balance (including currency)
Payer public identifier
Debited Source of fund Name
Credited source of fund name
Configuration
R-ADJ-2510: Bulk Adjustment input files contain following information for each Adjustment:
or
or
R-ADJ-2520: In Bulk Adjustment the requester of the Adjustment operation will be a Batch user
defined in PayMobile configuration.
R-ADJ-2530: Bulk Adjustment output files contain following information for each Adjustment:
Input information
Operation Id
Operation state: SUCCESS/FAILED/WAITING_FOR_APPROVAL
Error Detail (Optional)
R-ADJ-2540: In Bulk Adjustment, for each Adjustment, the following consistency checks are done:
If sender Id is not provided, Sender Access and Sender Access Type must be provided
If Receiver Id is not provided, Receiver Access and Receiver Access Type must be provided
If Source of fund Id is provided, it must be of the same currency than the amount
R-ADJ-2550: In Bulk Adjustment, for each Adjustment, if source of fund Id is not provided, it must
be computed based on currency, operation Type, Source of fund category (if provided)
and sub-Category (if provided) and source of fund Rank.
Approval
In order to be able to approve Adjustment and Adjustment operation by batch, the Profile Settings had to be
enhanced.
R-ADJ-2700: In Create Profile Page of CC Admin Web GUI, the list of eMoney operations subject to
approval must be generated dynamically based on eMoney Operation Subject to approval
list provided by getComboBox operation
R-ADJ-2710: In Create Profile Page of CC Admin Web GUI, the list of eRetail operations subject to
approval must be generated dynamically based on eRetail Operation Subject to approval
list provided by getComboBox operation
R-ADJ-2800: In View Profile Page of CC Admin Web GUI, the list of eMoney operations subject to
approval must be generated dynamically based on eMoney Operation Subject to approval
list provided by getComboBox operation
R-ADJ-2810: In View Profile Page of CC Admin Web GUI, the list of eRetail operations subject to
approval must be generated dynamically based on eRetail Operation Subject to approval
list provided by getComboBox operation
R-ADJ-2900: In Modify Profile Page of CC Admin Web GUI, the list of eMoney operations subject to
approval must be generated dynamically based on eMoney Operation Subject to approval
list provided by getComboBox operation
R-ADJ-2910: In Modify Profile Page of CC Admin Web GUI, the list of eRetail operations subject to
approval must be generated dynamically based on eRetail Operation Subject to approval
list provided by getComboBox operation
R-ADJ-3000: in addProfile operation of Profile Business Service, the input parameters will be
modified as followed:
Requester Information
ExternalIdList
requestPropertyList
Profile:
o Code
o State
o DomainId
o actorType
o kycTemplate
o publicIdentifier
o shortCode
o Medium List
o Access Type List
o Internationalization List (Profile Name in all languages)
o Temporary Profile Id (Optional)
R-ADJ-3010: in addProfile operation of Profile Business Service, the new Adjustment approval
operations must be managed in a generic way and must be stored in Profile properties in
a generic way (at least for Adjustment operation for this project in order to not impact
other approved operations).
R-ADJ-3100: in getProfile operation of Profile Business Service, the output parameters will be
modified as followed:
requestPropertyList
Operation Id
Profile:
o Profile Id
o Code
o State
o DomainId
o actorType
o kycTemplate
o publicIdentifier
o shortCode
o Medium List
o Access Type List
o Internationalization List (Profile Name in all languages)
o Temporary Profile Id (Optional)
o Last Update
o OTP required List
o Approval operation List
Approval Operation Type
Approval Group
R-ADJ-3110: in getProfile operation of Profile Business Service, the new Adjustment approval
operations must be managed in a generic way and must be retrieved from Profile
properties in a generic way (at least for Adjustment operation for this project in order to
not impact other approved operations).
R-ADJ-3200: in updateProfile operation of Profile Business Service, the input parameters will be
modified as followed:
Requester Information
ExternalIdList
requestPropertyList
Profile:
o Profile Id
o Code
o State
o DomainId
o actorType
o kycTemplate
o publicIdentifier
o shortCode
o Medium List
o Access Type List
o Internationalization List (Profile Name in all languages)
o Temporary Profile Id (Optional)
o Last Update
o OTP required List
o Approval operation List
Approval Operation Type
Approval Group
R-ADJ-3210: in UpdateProfile operation of Profile Business Service, the new Adjustment approval
operations must be managed in a generic way and must be retrieved from Profile
properties in a generic way (at least for Adjustment operation for this project in order to
not impact other approved operations).
R-ADJ-3510: in getComboBox operation of Combo Business Service, one must be able to retrieve
the list of eRetail operations which are subject to approval.
4 Architecture
4.1 High Level Architecture
5 Solution dimensioning
5.1 Traffic Assumptions
Same as it’s currently.
R-DOC-20 Priority : P0
Web GUI pages must be documented in the Web GUI User Guide.
R-DOC-30 Priority : P0
6.4.5 Verification
Not Applicable. No migration planed.
SOAP Exception are used to report error occurs during SOAP Request Process
7.3 Statistics
No impact.
11
12 Statement of Compliance
REFERENCE DOCUMENT # SCD/CSR REQUIREMENT FEATURES SRS CROSS REFERENCE
[1] ADJUST-01 R-ADJ-2000
R-ADJ-2010
Adjustment SOAP
…
R-ADJ-2360
R-ADJ-0020
Adjustment Web GUI
…
R-ADJ-1640
R-ADJ-2510
Adjustment Bulk
…
R-ADJ-2560
---ooo---