This file contains instructions for using the associated spreadsheet to work with your procurement plan.
The spreadsheet enables you to:
Use a template to create a procurement plan and associate a schedule or progress summary for a project.
Download an existing procurement plan, update the procurement plan for a project, and upload it after making changes to it.
Add new lines to an existing procurement plan.
You can create plan lines with a status of Draft or Ready for Planning, either from the interface, or by using the XML spreadsheet. Note that you cannot update the status of a plan line that is Draft to Ready for Planning, using the interface or the spreadsheet. If plan lines are created as draft lines, the only way to update the status is from the Project Manager dashboard.
When you upload the spreadsheet by updating the existing schedule quantity to zero, and if the schedule has an approved purchase order, you can cancel the purchase order automatically using the Implement action.
Note that the cancellation applies only to the line and the remaining purchase order remains the same. However, if the purchase order has only one line and when the the line is cancelled using the Implement action, the PO status changes to Closed.
Before you begin working with the spreadsheet, please take note of the following:
The spreadsheet is downloaded as XML, and you must save and upload it in XML. If you use the Save As option, ensure that you do not change the file format; change only the file name.
The spreadsheet enables you to work with the procurement plan for a single project.
Do not reorder the columns in the spreadsheet.
The Microsoft Excel spreadsheet has three worksheets - Plan Lines, Schedules, and Progress Summary. All three sheets must be used in conjunction with each other to define the procurement plan.
You may not use the spreadsheet to delete procurement plan lines in the application. To cancel using a plan line for goods, set all schedules to zero. If no downstream document has been created for the plan line, the line will no longer appear in the Procurement Plan page.
When you update an existing procurement plan line that has a status other than Draft, the application enables you to update certain columns. The columns that can be updated are clearly identified in the table below. To improve the efficiency of the update process, the application validates only those columns that are updatable, and discards any changes made to columns that are not eligible for update.
You must enter each requirement as a separate row in the spreadsheet.
Data entered into the spreadsheet is case-sensitive. The application is not designed to validate and accept data entered in the incorrect case.
You must enter data within the column range specified in the spreadsheet. When you insert or populate a new row, ensure that all required attributes are populated with valid values. The application attempts to parse all data (including white spaces) entered in a new row or in a column outside the specified column range. Data entered outside the column range could lead to unexpected errors during processing, which can be difficult to troubleshoot.
Any number of users can download the procurement plan using this method. However, multiple users cannot make changes to the procurement plans of the same project simultaneously. When a user successfully uploads their procurement plan, the application blocks any updates to the same procurement plan, if the spreadsheet was downloaded before the recent most spreadsheet upload.
For example, User 1 and User 2 download the procurement plan spreadsheet for Project A. Both users make changes to the Procurement Plan. User 1 uploads the procurement plan back into the application. When User 2 tries to upload their procurement plan, the application will not process their spreadsheet. This is to ensure users do not overwrite each other's work.
To perform the spreadsheet upload process:
When you click Download for a project that does not contain a Procurement Plan, Oracle Projects downloads an XML spreadsheet template. If you click Download for a project with a procurement plan, the XML spreadsheet displays all the existing Plan Lines, Schedules, and the Progress Summary.
Save the XML spreadsheet document to a local folder. If you use Microsoft Windows and Microsoft Office Excel, double-clicking the file should open the spreadsheet in Microsoft Office Excel. If that does not work, or if the file opens in a different application, you can associate a file-type using the following:
Right-click on the extracted XML file and select the option Open With > Choose Program > Microsoft Office Excel.
In the spreadsheet, insert new information, or update existing details for lines, schedules, and progress summary. Read this section for information about how each field in the spreadsheet is validated.
Click the Save or Save As option to save the spreadsheet in the same format. If the application prompts you, opt to save the spreadsheet in XML.
Click Browse, select the file that you saved in your local drive, and then click Upload.
A procurement plan may be updated during the lifecycle of a project. There are some functional restrictions to updating a Procurement Plan.
Plan Line: A procurement plan consists of many plan lines. Each plan line is for a specific item or service to be procured for the project. When you need to procure an item or service for a project, use the spreadsheet to create a new line in the procurement plan. When you create a new line, you need to specify certain information such as Item Number or Description, Planning Rate, UOM, Currency, Expenditure Type, and so on. These values are used in downstream procurement documents at a later time.
Schedules: A specific item might be required on a project during multiple time-periods, while performing multiple tasks, and need to be delivered to multiple locations. To do this, specify the quantity of the item required for each delivery date and location for the project duration for a task, or for a combination of task and delivery-location.
Progress Summary: A project may require complex services, for which payment is based on the progress of work. Using the Progress Summary, specify the different type of pay items and the payment to be released, based on the progress of work during the project duration for a task.
DFF attributes are available in the plan line, schedules, and progress summary. You can populate DFF attributes using the spreadsheet import, or the interface tables. DFF attributes are validated using flexfield APIs. The plan lines or schedules are not imported if the data entered in the attributes is not compatible with the DFF setup. You can search or filter data using DFF attributes.
When you upload the procurement plan, the application automatically runs the Procurement Plan Import concurrent program. Success or failure is clearly indicated on the Procurement Plan page. The program attempts to process all lines entered in the spreadsheet. If any line has a validation error, the process is completely rolled back, and the application displays the entire set of error messages which indicate what the problem is. Use the instructions provided in the spreadsheet to correct the data and re-upload the sheet.
Note that due to the architecture of the XML Parsing program, the application does not individually validate for certain errors. For example: Line Type is NULL, alpha-numeric characters entered in planning rate field, and so on. For errors like these, the concurrent program fails with a generic error message indicating that the worksheet has invalid data. Verify that all required fields are populated, and that there are no character values in a numeric field and then retry the upload.
The following table describes each column in the spreadsheet and its corresponding field in the application, including descriptions, rules, and validations.
Field Name | Description | Validations | Rules for Create Plan Line | Rules for Update Plan Line |
---|---|---|---|---|
Line Number | A unique number (primary key) for each plan line within a project. Track multiple period requirements or progress summary to the plan line using the Plan Line Number. | Required field. Positive Integer. | Enter a number that does not exist in the system, or in the spreadsheet, to create a new plan line. | Enter the plan line that needs to be updated. |
Line Type | Line Type that is used in the purchase order when this line is purchased. | Required field. Only line types with a value basis of Quantity, Amount, or Fixed Price are valid. Value basis of Rate is not supported currently. | Enter a valid Line Type: Quantity, Amount, or Fixed Price. | You can change the Line Type only when the Plan Line has a Draft status. |
Version Number | Current version number of the plan line. | Read-Only field. | Version number is 0 (numeric zero) when plan line has a Draft status. Version Number will be incremented only when the plan line does not have Draft status. | You cannot update the Version Number. |
Category | Concatenated Segments of Purchasing Category. For example: HARDWARE.KEYBOARD. | Required if Item Number is not specified. | Enter any valid Purchasing Category | For plan lines with Item Number, you can update the Category only when the plan line has a status of Draft. For plan lines without Item Number, you can update the Category any time. |
Item Number | Item or Inventory Item (in Item Master) to be procured. | Valid for Line Types with a value basis of "Quantity" only. Item Number should not be populated if the Line Type has a value basis of Amount or Fixed Price. Any valid purchasable item available in the Item Master, and enabled in the Inventory Organization of the Operating Unit, as specified in Financial Options (Use a Purchasing responsibility > Setup > Organizations > Financial Options). Either Item Number, or Category, and Description are required. |
Enter a valid Item Number. | You can update the Item Number only when the Plan Line has a Draft status. |
Description | One-time item or service description | 240 characters length. Enter Description if no Item Number is specified. If you have entered the Item Number, the Description you enter will be disregarded, because Description is defaulted from the Description defined in the Item Master for the item. | Enter a Description. | You can update the Description any time. |
Destination | Final Destination of the item or service. | Valid values for destination type are Expense and Inventory. | Enter a Destination. | You can update the Destination only when the plan line has a Draft status. |
Status | Status of the plan line | Read-Only | A new plan line is always created with a status of Draft. | You cannot update the Status. |
Buyer | Buyer to which the plan line is assigned | Optional field. Value should correspond to a name in Human Resources (FULL_NAME in PER_ALL_PEOPLE_F). If the value of the profile option PO: Enforce Project Security is Yes, any valid buyer, who is also a key member of the project is specified. If the value of the profile option is No, any valid buyer is specified. |
Enter the full name of the buyer. | Update the Buyer Name on a plan line any time. |
Parent Line | Line Number of a plan line that is related to current plan line as a parent line. | Optional field. Positive integer. | - | Enter a number that exists in the application in the "Ready To Order" status. You can update the Parent Line only when the plan line has a Draft Status. |
Suggested Supplier | The Project Manager would like to recommend this supplier name to the buyer for procuring the plan line item or service. | Optional field. Enter either an existing supplier name (that matches with a supplier name in the supplier master), or a new supplier who doesn't exist in the system. If the entered supplier matches with a supplier in the supplier master, the ID of this supplier is stored. Otherwise, the entered supplier is considered a new supplier suggested by the project manager. |
Enter the name of a supplier. | You can update the Suggested Supplier value any time. |
Acquisition Strategy Primary Objective | Specify the primary objective while selecting the supplier for this plan line. | Optional field. Acceptable values are available in the lookup PA_PSC_SUPP_SELECTION |
Enter a valid value. | You can update the Acquisition Strategy Primary Objective any time. |
Acquisition Strategy Secondary Objective | Specify the secondary objective while selecting the supplier for this plan line. | Optional field. Acceptable values are available in the lookup PA_PSC_SUPP_SELECTION |
Enter a valid value. | You can update the Acquisition Strategy Secondary Objective any time. |
Source System Name | Enter the source system name to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Name any time. |
Source System Document Number | Enter the source system document number to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Document Number any time. |
Source System Document Version | Enter the source system document version to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Document Version any time. |
Source System Line Number | Enter the source system line number to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Line Number any time. |
Source System Line Version | Enter the source system line version to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Line Version any time. |
Source System Date | Enter the source system date to identify which source system the requirement came from. This is to synchronize with third-party Engineering models or any other third-party system. | Optional field. 240 characters. | - | You can update the Source System Date any time. |
Additional Information | Enter any additional information or specifications relevant to the plan line. | Optional field. 2000 characters. | - | You can update the Additional Information any time. |
Expenditure Type | Each project has a list of expenditure types. Project Managers track how much spend takes place for each expenditure type in a plan line. | Required field. Any valid expenditure type on the project. | Enter a valid Expenditure Type. | You can update the Expenditure Type any time. |
Planning Currency | Currency code for the item to be procured as entered in the plan. | Required field. If the currency is not specified then the functional currency of the operating unit will be considered as Planning currency. If the specified currency is different from the functional currency of the Operating Unit or the Project's Primary Currency, the currency conversion rate has to be specified in the Financial Forecast in the Project Procurement Setup. The system derives a valid exchange rate on the first day of each month for the entire duration of the project. | Enter a valid Currency Code. | You can update the Planning Currency when the plan line has a Draft status only. |
Planning Rate | The per-unit rate in the planning currency, at which you plan to procure the item/service for this project. For line-types with value-basis "Amount", planning rate will be overwritten and defaulted to 1. |
Required field. Any positive decimal, that is rounded to the extended currency precision. | Enter a valid Planning Rate for the plan line. | You can update the Planning Rate any time. |
Planning Amount | Calculated from planning rate and overall planned quantity. | Read-Only field. | - | - |
Committed Amount | Amount of this line requisitioned. | Read-Only field. | - | - |
Obligated Amount | Amount of this line on a purchase order. | Read-Only field. | - | - |
Received Amount | Total amount received for the purchase order. | Read-Only field. | - | - |
Invoiced Amount | Total amount invoiced for the purchase order. | Read-Only field. | - | - |
Retained Amount | Total amount withheld from payment for the plan line. | Read-Only field. | - | - |
Paid Amount | Total amount paid for the invoices created for the plan line. | Read-Only field. | - | - |
UOM | Unit of Measure for the item to be procured. | Conditionally required field. UOM is required for Plan lines with line types with value basis "Quantity" or "Amount". UOM is not mandatory for plan lines with value basis of "Fixed Price". UOM field is not mandatory when Inventory Item Number is entered. If left blank, the Primary UOM of the Inventory Item Number is used. |
Enter a valid UOM. | You can enter a UOM for one-time items any time. |
Quantity Planned | Total Quantity on the plan line (sum of requirements). | Read-Only field. | - | - |
Quantity Requested | Total Quantity on a purchase requisition. | Read-Only field. | - | - |
Quantity Ordered | Total Quantity on a purchase order. | Read-Only field. | - | - |
Quantity Received | Total Quantity received for a purchase order. | Read-Only field. | - | - |
Quantity Rejected | Total Quantity rejected during quality inspection. | Read-Only field. | - | - |
Quantity Overdue | Total quantity that is yet to be received on shipments that are beyond the promised date of the plan line. | Read-Only field. | - | - |
Next Shipment Date | The next expected shipment for plan lines that have due or overdue shipments. | Read-Only field. | - | - |
Attribute Category | Descriptive Flexfield Attribute Category. | Optional. | - | - |
ATTRIBUTE1 | Plan Line Attribute Descriptive Flexfield 1. | Optional. | - | - |
ATTRIBUTE2 | Plan Line Attribute Descriptive Flexfield 2. | Optional. | - | - |
ATTRIBUTE3 | Plan Line Attribute Descriptive Flexfield 3. | Optional. | - | - |
ATTRIBUTE4 | Plan Line Attribute Descriptive Flexfield 4. | Optional. | - | - |
ATTRIBUTE5 | Plan Line Attribute Descriptive Flexfield 5. | Optional. | - | - |
ATTRIBUTE6 | Plan Line Attribute Descriptive Flexfield 6. | Optional. | - | - |
ATTRIBUTE7 | Plan Line Attribute Descriptive Flexfield 7. | Optional. | - | - |
ATTRIBUTE8 | Plan Line Attribute Descriptive Flexfield 8. | Optional. | - | - |
ATTRIBUTE9 | Plan Line Attribute Descriptive Flexfield 9. | Optional. | - | - |
ATTRIBUTE10 | Plan Line Attribute Descriptive Flexfield 10. | Optional. | - | - |
ATTRIBUTE11 | Plan Line Attribute Descriptive Flexfield 11. | Optional. | - | - |
ATTRIBUTE12 | Plan Line Attribute Descriptive Flexfield 12. | Optional. | - | - |
ATTRIBUTE13 | Plan Line Attribute Descriptive Flexfield 13. | Optional. | - | - |
ATTRIBUTE14 | Plan Line Attribute Descriptive Flexfield 14. | Optional. | - | - |
ATTRIBUTE15 | Plan Line Attribute Descriptive Flexfield 15. | Optional. | - | - |
ATTRIBUTE16 | Plan Line Attribute Descriptive Flexfield 16. | Optional. | - | - |
ATTRIBUTE17 | Plan Line Attribute Descriptive Flexfield 17. | Optional. | ||
ATTRIBUTE18 | Plan Line Attribute Descriptive Flexfield 18. | Optional. | - | - |
ATTRIBUTE19 | Plan Line Attribute Descriptive Flexfield 19. | Optional. | - | - |
ATTRIBUTE20 | Plan Line Attribute Descriptive Flexfield 20. | Optional. | - | - |
The following table describes each column in the spreadsheet and its corresponding field in the application, including descriptions, rules, and validations.
Field Name | Description | Validations | Rules for Create Plan Line | Rules for Update Plan Line |
---|---|---|---|---|
Schedule Number | A number by which the schedule is identified. Unique within a plan-line and is the primary key for the schedule line. | Required field; positive integer. | Enter a Schedule Number that does not exist in the system, or in the sheet, for the plan line. | Enter the Schedule Number to update. |
Line Number | Line Number to which requirements are specified. | Required field. | Enter a plan line number that exists in the spreadsheet, or in the system. | Update a plan line number that exists in the spreadsheet, or in the system. |
Line Type | Line Type on the associated Plan Line, for reference during updates. | Read-Only field. | - | - |
Category | Category on the associated plan line, for reference during updates. | Read-Only field. | - | - |
Item Number | Item Number on the associated plan line, for reference during updates. | Read-Only field. | - | - |
Description | Description on the associated plan line, for reference during updates. | Read-Only field. | - | - |
Task Number | Used to identify the task for which the material is procured. Filter by task to check what material was ordered, and received; helps the project manager decide if the task can be started or not. |
Required field. Any valid task number on the project. Task number is a text column and if the task has any numeric value, the column should be formatted manually using a single quote. | Enter a valid Task Number. | You can update the Task Number any time. |
UOM | Unit of Measure for the items to be procured. | Read-Only field. | - | - |
Location | Deliver-To Location for the item. | Optional field. Enter a valid Deliver-To Location for the operating unit of the project. | Enter a valid Deliver-To Location. | You can update the Deliver-To Location any time. |
Requirement | Quantity of each item (or amount for an amount based line) required. Enter the Need By Date for the Quantity. | Required field. Non-negative decimal number. | Enter a Quantity and also a Need By Date. Enter zero if the item is not required. | You can update the Requirement any time. |
Attribute Category | Schedules Descriptive Flexfield Category. | Optional. | - | - |
ATTRIBUTE1 | Schedules Descriptive Flexfield 1. | Optional. | - | - |
ATTRIBUTE2 | Schedules Descriptive Flexfield 2. | Optional. | - | - |
ATTRIBUTE3 | Schedules Descriptive Flexfield 3. | Optional. | - | - |
ATTRIBUTE4 | Schedules Descriptive Flexfield 4. | Optional. | - | - |
ATTRIBUTE5 | Schedules Descriptive Flexfield 5. | Optional. | - | - |
ATTRIBUTE6 | Schedules Descriptive Flexfield 6. | Optional. | - | - |
ATTRIBUTE7 | Schedules Descriptive Flexfield 7. | Optional. | - | - |
ATTRIBUTE8 | Schedules Descriptive Flexfield 8. | Optional. | ||
ATTRIBUTE9 | Schedules Descriptive Flexfield 9. | Optional. | - | - |
ATTRIBUTE10 | Schedules Descriptive Flexfield 10. | Optional. | - | - |
ATTRIBUTE11 | Schedules Descriptive Flexfield 11. | Optional. | - | - |
ATTRIBUTE12 | Schedules Descriptive Flexfield 12. | Optional. | - | - |
ATTRIBUTE13 | Schedules Descriptive Flexfield 13. | Optional. | - | - |
ATTRIBUTE14 | Schedules Descriptive Flexfield 14. | Optional. | - | - |
ATTRIBUTE15 | Schedules Descriptive Flexfield 15. | Optional. | - | - |
ATTRIBUTE16 | Schedules Descriptive Flexfield 16. | Optional. | - | - |
ATTRIBUTE17 | Schedules Descriptive Flexfield 17. | Optional. | - | - |
ATTRIBUTE18 | Schedules Descriptive Flexfield 18. | Optional. | - | - |
ATTRIBUTE19 | Schedules Descriptive Flexfield 19. | Optional. | - | - |
ATTRIBUTE20 | Schedules Descriptive Flexfield 20. | Optional. | - | - |
The following table describes each column in the spreadsheet and its corresponding field in the application, including descriptions, rules, and validations.
Field Name | Description | Validations | Rules for Create Plan Line | Rules for Update Plan Line |
---|---|---|---|---|
Pay Item Number | A number by which the Pay item is identified. Unique within a plan-line and is the primary key for the Pay item line. | Required field; positive integer. | Enter a Pay Item Number that does not exist for the plan line in the application, or in the sheet. | Enter the Pay Item Number to update. |
Line Number | Line number for the specified pay items. | Required field. | Enter a Plan Line Number that exists either in the sheet, or in the application. | Update a plan Line Number that exists either in the sheet, or in the application |
Pay Item Type | The Pay Item type can be Milestone, Rate and Lumpsum. Plan lines having line type with value basis as "Quantity" can have Milestone pay items only. Plan lines having line type with value basis as "Fixed Price" can have all the three types of pay items. |
Required field. | Enter a valid Pay Item Type. | You can update the Pay Item Type only if the plan line has a status Draft. |
Pay Item Description | Describes the pay item. | Required field. | - | You can update the Pay Item Description any time. |
Task Number | Used to identify the task for which the service is procured. Filter by task to check what material was ordered, and received; helps the project manager decide if the task can be started or not. |
Required field. Any valid task number on the project. Task Number is a text column and if the task number contains any numeric value, the column should be formatted manually with single quotes. | Enter a valid Task Number. | You can update the Task Number any time. |
Quantity | Quantity to be used for the "Rate" pay item type. | Conditionally required field. | Enter the Quantity. | You can update the Quantity any time. |
UOM | Unit of Measure for the service to be procured. | Conditionally required field. UOM is required only for the "Rate" pay item type. | Enter a valid UOM. | You can update the UOM any time. |
Value (%) | Percentage of Payment made for the plan line. | Conditionally required field. Value (%) is required for the "Milestone" pay item type. | Enter the Value (%). | You can update the Value (%) any time. |
Price | The unit rate in the planning currency, at which you plan to procure the service for the project. | Required field. Any positive decimal. Rounded to the currency precision. | Enter a valid Price for the plan line. | You can update the Price any time. |
Amount | Calculated from the Quantity, Price, and Value (%). | Read-Only field. | - | - |
Need-By Date | Date by when the service is to be delivered. | Required field. Enter a current or future date. | Enter a Need-By Date for the pay item. | You can update the Need-By Date any time. |
PO Number | The Purchase Order created for the plan lines and pay items. | Read-Only field. | - | - |
Quantity/Amount Ordered | Total Quantity/Amount ordered on a Purchase Order for the pay item. | Read-Only field. | - | - |
Quantity/Amount Received | Total Quantity/Amount received on a Purchase Order against the pay item. | Read-Only field. | - | - |
Quantity/Amount Billed | Total Quantity/Amount billed for a Purchase Order against the pay item. | Read-Only field. | - | - |
Quantity/Amount Cancelled | Total Quantity/Amount canceled for a Purchase Order against the pay item. | Read-Only field. | - | - |
Attribute Category | Schedule Progress Descriptive Flexfield Category. | Optional. | - | - |
ATTRIBUTE1 | Schedule Progress Descriptive Flexfield 1. | Optional. | - | - |
ATTRIBUTE2 | Schedule Progress Descriptive Flexfield 2. | Optional. | - | - |
ATTRIBUTE3 | Schedule Progress Descriptive Flexfield 3. | Optional. | - | - |
ATTRIBUTE4 | Schedule Progress Descriptive Flexfield 4. | Optional. | - | - |
ATTRIBUTE5 | Schedule Progress Descriptive Flexfield 5. | Optional. | - | - |
ATTRIBUTE6 | Schedule Progress Descriptive Flexfield 6. | Optional. | - | - |
ATTRIBUTE7 | Schedule Progress Descriptive Flexfield 7. | Optional. | - | - |
ATTRIBUTE8 | Schedule Progress Descriptive Flexfield 8. | Optional. | - | - |
ATTRIBUTE9 | Schedule Progress Descriptive Flexfield 9. | Optional. | - | - |
ATTRIBUTE10 | Schedule Progress Descriptive Flexfield 10. | Optional. | - | - |
ATTRIBUTE11 | Schedule Progress Descriptive Flexfield 11. | Optional. | - | - |
ATTRIBUTE12 | Schedule Progress Descriptive Flexfield 12. | Optional. | - | - |
ATTRIBUTE13 | Schedule Progress Descriptive Flexfield 13. | Optional. | - | - |
ATTRIBUTE14 | Schedule Progress Descriptive Flexfield 14. | Optional. | - | - |
ATTRIBUTE15 | Schedule Progress Descriptive Flexfield 15. | Optional. | - | - |
ATTRIBUTE16 | Schedule Progress Descriptive Flexfield 16. | Optional. | - | - |
ATTRIBUTE17 | Schedule Progress Descriptive Flexfield 17. | Optional. | - | - |
ATTRIBUTE18 | Schedule Progress Descriptive Flexfield 18. | Optional. | - | - |
ATTRIBUTE19 | Schedule Progress Descriptive Flexfield 19. | Optional. | - | - |
ATTRIBUTE20 | Schedule Progress Descriptive Flexfield 20. | Optional. | - | - |