How to create mass requisitions on Ariba?
If one is a requester and creates a very few numbers of requisitions on Ariba, then they spend very less time on Ariba in navigating through various sections of a requisition. Whereas if one is a superuser and creates many requisitions for themselves and fellow requesters or managers then they spend a lot of time on Ariba user interface.
Ariba provides an option to upload the requisition data through an excel template but one can create just one requisition at a time, also the users would need a proper training to fill up the template and load it into Ariba. Hence, we must think outside of Ariba to figure a simpler solution, so we came up with an idea of building a Fiori app as a frontend portal to upload the requisition data in mass and bring them to Ariba to create imported requisitions.
We can use the Import Requisitions integration task to automate the flow from Fiori through SAP. Here is the detailed design of the solution.
- Fiori component in SAP
- Macro enabled Excel template
We have to design the Fiori app with a provision to download the template and with instructions shown at the bottom of the page. Introduce a browse button so that users can select the template containing the requisition data. Prepare the excel template in the following fashion along with excel comments linked to column headers.
Differentiate required and optional fields, we need to have all critical but minimum number of fields to create a requisition, here are the recommended columns,
RequisitionNumber, ItemNumber, OnBehalfOf, MaterialNumber, FullDescription, CommodityCode, SupplierPartNumber, Quantity, UnitOfMeasure, Price, PricePer, OrderCurrency, NeedByDate, TaxCode, Plant, StorageLocation, PurchasingGroup, AccountAssignment, CostCenter, InternalOrder, AssetNumber, AssetSubNumber, WBSElement, GLAccount, SupplierNumber, LineItemText, VisibleToSupplier, IsItConversionPO, ReferencePO.
The best part of this mass requisition import integration process is that we can create many requisitions with multiple items, for different requesters and anyone can do it. If you are migrating open legacy POs from SAP SRM or other indirect purchasing apps, you can maintain PO value in the file and flag the IsItConversionPO column along with PO number in ReferencePO column, and you can define the Ariba requisition workflow condition such a way that Requisition.OriginatingSystem is not conversionPO. This app can help ease the migration efforts.
When the excel template is uploaded, make an RFC call to SAP to run validations on the master data fields in the file on every entity and issue error messages on Fiori page along with record numbers as per excel numbers.
Staging tables in SAP
We need to create three staging tables in SAP to capture the requisition data uploaded via Fiori app. These tables will pass the onto the requisition import files generated by the SAP program.
Import file preparation
Develop a program in SAP to convert the data in staging tables into requisition import files such as RequisitionHeader.csv, RequisitionDetail.csv, RequisitionSplitAccounting.csv. We can refer to Data Dictionary on Ariba site manager to find import file column names to map the SAP staging table fields. In the SAP table to stage RequisitionHeader data, add a field to capture the processing log on whether the record is already exported to Ariba or not.
Once the files are generated, we can place them in SAP application directory and let the integration take it to Ariba integration task.
Ariba Integration Task
Import Requisition is the integration task that will be used in this case.
Enabling mass requisition for catalog items
As we have columns for Supplier Part Number in the excel template, we can leverage the standard feature of Ariba such that an imported requisition line item is treated as a catalog item if the Supplier, Supplier Part Number, and Unit of Measure field values form an exact match with an item in the catalog. The Supplier Part Auxiliary ID field value, if available, is also used for matching purposes.
If a price is specified on the imported line item, it is used. Otherwise, the price in the catalog item description is used.
Karthik, Pratyush, Puneet, Kiran