24
10 Steps to Streamline Requisition Approvals Using Purchase Requisition Workflow by Suresh Veeraraghavan, Capgemini January 15, 2009 SAPexperts/SCM Learn about purchase requisition workflow and using it to configure requisition approvals. See how you can set up some of the common business scenarios to implement controls for Sarbanes-Oxley compliance. Key Concept Purchase requisition workflow is a tool that you can use to digitally approve requisitions. When a purchase requisition workflow requires approvals, it can automatically find the correct approvers based on a predefined organizational hierarchy. Purchase requisition workflow, available in SAP ERP, is a useful tool for performing electronic and digital approvals. This commonly used tool offers several advantages to help your company use less paper by facilitating approvals, automatically notifying approvers of pending requisitions, and sending reminders.

SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Embed Size (px)

DESCRIPTION

SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Citation preview

Page 1: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

10 Steps to StreamlineRequisition ApprovalsUsing PurchaseRequisition Workflowby Suresh Veeraraghavan, CapgeminiJanuary 15, 2009

SAPexperts/SCMLearn about purchase requisitionworkflow and using it to configurerequisition approvals. See how youcan set up some of the commonbusiness scenarios to implementcontrols for Sarbanes-Oxleycompliance.

Key Concept

Purchase requisition workflow is atool that you can use to digitallyapprove requisitions. When apurchase requisition workflowrequires approvals, it canautomatically find the correctapprovers based on a predefinedorganizational hierarchy.

Purchase requisition workflow,available in SAP ERP, is a useful toolfor performing electronic and digitalapprovals. This commonly used tooloffers several advantages to helpyour company use less paper byfacilitating approvals, automaticallynotifying approvers of pendingrequisitions, and sending reminders.

Page 2: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

In most companies, both cost centerapproving managers and departmentmanagers must approve expenserequisitions, such as for the purchaseof office supplies. Several challengesfurther complicate this process,including:

Setting up an approval hierarchy ororganizational chartNeeding approvals by multipledepartments (e.g., by a procuringdepartment followed by thecontrolling department)Approving managers going onvacationSending approval remindersMeeting compliance regulationsI will explain how to configurerequisition approvals using workflowand how to set up some commonbusiness scenarios, such as vacantpositions. I will also explain how youcan ensure Sarbanes-Oxleycompliance by setting up the correctauthorizations for approvingrequisitions.

Overview of Purchase RequisitionWorkflow

Implementing purchase requisitionworkflow requires understanding thefollowing key areas:

SAP Business Workflow: You need tounderstand the business object typesused for requisitions (BUS2015), how

Page 3: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

to trigger the workflow, what methodsare, how to code workflow, and howdeadline monitoring works

Requisitions: Requisitions can bebroadly categorized as direct orindirect requisitions. Direct materialrequisitions are driven by MaterialRequirements Planning (MRP) and areautomatically created during the MRPrun. Indirect requisitions are createdmanually, usually with textdescriptions of the requestedmaterials and no material numbers.Indirect requisitions also contain thecost centers to which the requisitionsare expensed.

SAP ERP Human Capital Management(SAP ERP HCM) organizationalstructure: If you are using an HRorganizational structure, you need tounderstand how to set uporganizational hierarchies in SAP HRusing transaction PP01 (Figure 1).“O” indicates organization, “S” is forposition, “K” is for cost center, “C” isfor job description, and “P” indicatesperson.

Page 4: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 1

Organizational chart

With these prerequisites in mind, Iwill take you through the 10 steps tostreamline your requisition approvalsprocess.

Implement Purchase RequisitionWorkflow

Step 1. Identify the organizationalstructure to model in your SAPsystem. To understand the structurebetter, I recommend you model theorganization in a chart using either amini-HR chart or a z-table.

The mini-HR chart sets up theorganizational hierarchy, but haslimited functionality, includingorganizational structure andinfotypes. Infotypes are logicalgroupings of employee data. Thereare more than 300 infotypes in SAPHR that you can use to captureemployee data. For example, you usetable HRP1001 (infotype table) tostore users, positions, jobs (i.e.,organizational chart), and theirrelationships, such as “belongs to”,“described by”, or “supervisor of”.You populate this table usingtransaction PP01. Similarly, infotypePA015 (personnel information)captures employee addresses. Onceyou've maintained this table, you can

Page 5: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

use it in the workflow steps through aspecial technique called methods.Methods are tasks that you canperform using workflow. I explain howto use methods in detail in step 9.

The z-table also sets up theorganizational hierarchy with a z-table. Tables 1 and 2 show how youcan create the organizationalhierarchy using the z-table. Table 1 isused to maintain the cost centers(departments), the person associatedwith the department, and the releasecodes. Release codes identify thelevel or position of a person in anorganization, such as Director, SeniorManager, or Manager. Table 2 is the z-table's substitute approver table forthe table in case the main approvergoes on vacation.

Costcenter Release code Record Number User name Title

1234 A1 1 Sam Manager1234 A2 2 Smith Manager

Table 1 A sample z-table

Costcenter Release code Approver Substitute Start date End date

1234 A1 Evan Sam 01/01/2008 01/15/20084567 A2 Gloria Smith 01/01/2008 01/15/2008Table 2 A vacation tableYou can reference the mini-HR chartor the z-table in the workflow stepsusing methods. The system can callthese tables through the workflowand obtain the correct approvingauthority. Steps 8 and 9 describe howthe z-table and the mini-HR chart are

Page 6: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

referenced in workflow. To help youdecide which table to use, I haveoutlined the pros and cons of both ofthese tables in Table 3.

Mini-HR chart Z-tableProvides a standard and comprehensive wayof implementing the organizational hierarchyby defining organizational units, jobdescriptions, positions, and the personresponsible

Needs definitions for organizationposition, person responsible, role, andother fields

Captures all the information relating to anobject. For example, if a person is defined, itcaptures all information such as his addressand email.

Captures information in a simplifiedway. For example, if a person isdefined, the z-table contains just theperson's identification number andname.

Works best if you are implementing an SAPHR module

Works best if you are notimplementing an SAP HR module

Requires HR functional expert to configureand implement it Does not require HR experience

Table 3 The mini-HR chart compared to the z-tableStep 2. Identify the key parametersthat trigger the requisition approvals.Most organizations use the followingparameters:

Dollar limitsPurchase organizationMaterial groupsCost centers (departments)RequestorPlantsPurchasing groupsPurchase requisition document type

Tip!The purchase requisition documenttype is a useful parameter fordifferentiating requisition approvals.By using a different document typefor direct procurement versusindirect procurement, you canstreamline your requisition approvalstrategies.

Step 3. Set up release groups in the

Page 7: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

SAP system. The release group is away of differentiating releasestrategies. For example, you candefine a release group to approveexpense requisitions or anothergroup for direct MRP requisitions.You can even define multiplestrategies for each release group. Forexample, a release group for expenserequisitions can have multiplestrategies, such as approvals up to$5,000 or approvals up to $10,000.Similarly, a release group for directMRP requisitions can have its own setof approval strategies.

You can use classification, a tool thatSAP provides as standardfunctionality, if you want to accessmore parameters for releasestrategies. The purchase requisitiondata is passed on to the classificationsystem and the value on therequisition is compared to the valuesdefined in the release strategy. Theapproval is activated if there is amatch. Setting up release procedureswith classifications requires you todefine the class and characteristicswhich are linked to the release group(Figure 2).

Page 8: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 2

Release group linked to class

In my example, the release grouplinks to class Z_CLASS. If workflow isrequired, you must defineclassification (class andcharacteristics). Z_CLASS has thecharacteristics to use with the releaseprocedure. For example, if you decideto use Dollar Amount and Cost Centeras parameters in the approvalprocedure, you define them ascharacteristics in Z_CLASS.

Tip!You can only use workflow whenclassification is activated.

SAP also provides communicationstructures, which you can use toidentify the parameters in therequisition approval process. Thesestructures pass the value from thepurchase requisition when theapproval is triggered. Thecommunication structure CEBANidentifies the various parameters thatare available. CEBAN fields must beassociated with the characteristicsyou are using. Figures 3 and 4 showhow the class Z_CLASS links to thecharacteristics and how thesecharacteristics associate with theCEBAN structure to pass the valuesfrom purchase requisition.

Page 9: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 3

CEBAN structure

Figure 4

Defining classes andcharacteristics

Class Z_CLASS uses the fieldsdefined in CEBAN as characteristics.For example, if you use Cost Centeras a parameter in approval procedure,that parameter needs to exist in theCEBAN structure. In CEBAN,Structure Cost Center is representedas CEBAN-KOSTL. Create thecharacteristic COSTCENTER and thenlink it to CEBAN-KOSTL (Figure 4).

Page 10: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

The various parameters that arerequired for triggering the approval(such as Cost Center and Amount)also need to exist in the CEBANstructure.

Figure 4 shows that thecharacteristics COSTCENTER andDollar Amount(TOTALDOLLARVALUE) associatewith class Z_CLASS. For example, thecharacteristic COSTCENTER links tothe CEBAN communication structurefield CEBAN-KOSTL. This associationenables the value of COSTCENTER tobe available as a parameter when thesystem needs to determine whether itshould activate the requisitionapproval or not.

Step 4. Associate release groups withrelease codes. The release coderepresents the position of the personapproving the requisition. This stepidentifies all the relevant positionsthat you can use with a release group.Refer to Figure 3 to see how ReleaseGroup Z1 allows the Manager, SeniorManager, Director, and VP to approvethe requisitions.

Step 5. Set up release strategies. Therelease strategy differentiates how theapproval needs to be triggered basedon the parameter combinations youchoose. For example, release strategyZ1 can be triggered if the monetaryvalue exceeds $5,000, the material

Page 11: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 5

Release group linked torelease strategy

Figure 6

A linked characteristic

group is 00715, and the requisitionhas a cost center. The manager,senior manager, director, and vicepresident must approve therequisition. The release strategyprovides the variations for the releasegroup by using the characteristics.For example, one release strategy canuse total Dollar value of $5,000 forapproval and another release strategycan be for 10K. Figures 5, 6, and 7show how the release group links torelease strategy and, in turn, howthey link to characteristics.

Page 12: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 7

Another linked characteristic

In the previous step, I identified thevarious positions (such as manageror senior manager) that a releasegroup can contain. Not all of thesepositions are required for everyvariation of approval. For example, ifthe requisition dollar amount is$5,000, it may not require the vicepresident to approve it. On the otherhand, if the value of the requisition is$50,000, it can require a manager,senior manager, director, or even vicepresident to approve it. Here is wherethe release strategy comes in handy.You can use it to define a releasestrategy for the $5,000 requisition thatrequires just a manager's approval asthe release code. Similarly, you candefine another release strategy for the$50,000 requisition, which requiresapproval from the manager, seniormanager, director and vice president.

Step 6. Associate workflow withrelease codes. If you need to triggerworkflow, you need to associate the

Page 13: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 8

Release group and releasecode link to role usingorganizational unit (O) = U

release code with workflow setting 1or 9. When using setting 1 instead of9 (indicated by 01 in Figure 5) thesystem automatically looks for entriesin Table T16FW (Figure 6). In thiscase, the role resolution is based onrelease group release codes andplant. You determine the role usingthis combination. You can determinethe role using the organizational unit(Agent). This can be a user (U),position (S), or job (C). This links tothe mini-HR chart discussed in step 1.Figure 8 shows the agents who areusers. If you use C or S as theorganizational unit instead, you canset up the mini-HR chart. As in thecase of an overall purchaserequisition release, the Plnt column isnot significant, so you can leave itblank.

If you need additional parameters toresolve roles and table T16FW doesnot suffice, use setting 9 (roleresolution) to determine the role.Setting 9 calls user exit M06B0001

Page 14: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 9

Role resolution using acustom exit

and uses user exit ZXM06U12. Usesetting 9 and maintain the approversin the organizational chart in an HR ora z-table.

Imagine the situation in whichmultiple cost centers, such as thebuying department or anotheroverseeing department (e.g.,controlling department), haveapproved the requisitions. In thiscase, you associate the release codeswith setting 9, do the necessarycoding in the user exit, and maintaina z-table or mini-HR chart to containthe entries for various departments.Obtain the buying departmentrequisition code by reading therequisition. Be sure to indicate thefinance department in the user exitand then retrieve the approvers forthe finance department. Figure 9shows how setting 9 can be set in thetable under Workflow.

Once you have associated setting 9with the release code, as shown inFigure 9, the system automaticallycalls user exit M06B0001. In this userexit, you can customize the role by

Page 15: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 10

Setup of release codes

ABAP coding.

Step 7. Set up release indicators.Determine the release indicator at thetime of creation via the releasestrategy that applies to the purchaserequisition. Setting this indicatorblocks the requisition until all theapprovers have approved therequisition. Upon final approval, therequisition is ready for release andcan be converted to a purchase order(Figure 10). The system determinesthe release indicator depending onthe number of approvers required toapprove the requisition. For example,if there are two required approvers,the release indicator on the purchaserequisition remains blocked until boththe approvers have approved it.

You usually do not need to configurerelease indicators. You can use thefield selection key to control which

Page 16: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

fields users can change afterapproval (e.g., they cannot changequantity and price after approval). Toset up release indicators, follow menupath IMG > Purchase Requisition >Release Procedure > Setup Procedurewith Classification > Release Indictor.Although the release indicatorsusually do not change, thedescription can occasionally change.For example, release indictor 2 is forpurchase orders or requests forquotations. As an exception, if youonly need to release purchase orders,you can change the description topurchase order release.

The value change controls thetriggering of purchase requisitionsafter the requisition has beenreleased. You define it in percentageby field Value Change (Figure 10). Forexample, if the requisition dollar valueis $10,000, the value change isdefined as 20% (i.e., if the value of therequisition is changed to over 20%,which is over $12,000). In myexample, I have selected 4. After arelease, if the user changes therequisition value to $11,000, it isbelow the specified limit of 20%, sothe system doesn't trigger anotherrelease by the approver. On the otherhand, if it exceeds the limit, theapprover has to reapprove it.

Step 8. Trigger the workflow.

Page 17: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 11

Activation of a customworkflow template

BUS2015 Business Object triggers theworkflow for the overall purchaserequisition release. This has to beactivated by using transaction SWE2.You can create and activate a customworkflow template from the StandardWS20000077 (Figure 11). A customworkflow is required for some of thefunctionalities, such as substituteapprovers and multiple departmentsapproving the requisitions.

Step 9. Build a custom workflow. Tobuild a custom workflow, use theWorkflow Builder, which you canaccess in transaction PFTC. Variousmethods perform the operations onthe business object. For example,getting the approvers and sending anemail are both methods. The methodcontains the coding to perform theoperation.

Tip!You do not need to maintain anentry in table T16FW, even if theworkflow is indicated as 1 in T16FB.This is because the workflow istriggered by the association ofbusiness object BUS2015 withrequisitions. An event from BUS2015links with the workflow. Whenever a

Page 18: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

user creates a purchase requisition,the event linked to it triggersworkflow.

The method identifies the set ofactivities that the system needs toperform. Figure 12 indicates that thefirst step of the method is to get theRelease Codes and thereby obtain theapprovers. You can maintain theapprovers as a mini-HR or as a z-table. The system automaticallychecks table T16FW for the roleresolution. When you use 1, therelease code refers to table T16FW forrole resolution. On the other hand, ifyou use 9, the system automaticallychecks the user exit, and the customcoding in the user exit dictates therole resolution. Neither of these arerequirements, so you can usewhichever you choose. You apply theuser exit when the role resolutionrequirements cannot be fulfilled usingtable T16FW.

Page 19: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 12

A custom workflow

If you have set the workflow indicator,the workflow activates for eachrelease code. In the workflow, themethod determines what needs tohappen (i.e., find approver, send anemail, or reject a requisition). Sentmail to first approver and FirstApprover represent the methods forthe BUS2015 object (Figure 12). Inthis case, it can send mail or reject it.

In the method, you can achieveseveral workflow variations bycoding. If an approver is on vacation,the workflow can automatically notifysubstitute approvers using either thez-table or mini-HR chart. Thisfunctionality needs to be coded in theworkflow. You must also maintain the

Page 20: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

table defined earlier for substituteapprovers. The workflow codingensures that when the main approveris on vacation, the workflow reads thesubstitute approver table and sendsthe requisition to the substituteapprover, as in Table 4.

If z-tables are used when workflow istriggered, the method Get Approverobtains the approvers from the z-tables. First, it must find a matchbetween the release code on therequisition and Table 5. The methodshould also search Table 4 to see ifthere are any substitute approvers.

If you find a match and the date of therequisition falls between start andend dates, the substitute approvercan be found from the vacation tableand override Table 4.

CostCenter

ReleaseCode Approver Substitute Start Date End Date

1234 A1 Evan Sam 01/01/2008 01/15/20084567 A2 Gloria Smith 01/01/2008 01/15/2008

Table 4 A custom vacation table

CostCenter Release Code Record Number User Name Title

1234 A1 1 Sam Manager1234 A2 2 Smith Manager

Table 5 A sample custom mini-HR chartIf you have implemented a mini-HRchart, the workflow method cansearch this chart by using the releasecode and the department (CostCenter) and identify the appropriateapproving manager. If the approving

Page 21: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

manager is on vacation, you canindicate it on the personnel record ofthe identified approving manager. Youcan use a simple custom tablemodeled on that of a previoussolution to find an alternativeapprover.

For example, select the Position(Organizational Unit P) from theHRP1001 table. This infotype containsthe entries for the organizationalchart. Then select the user ID of theperson from Personnel table PA0105matching the position. Check for non-availability from Infotype Absencesand if there is a match, check the z-table for a substitute approver.

You can also send reminders toapprovers if they have not approvedthe requisition after a specified timeperiod. You can set this functionalityup in workflow in the Latest End tabof the method (Figure 13). In thiscase, when the approver has notapproved the requisition in 24minutes, the system sends areminder.

Page 22: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 13

Deadline monitoring

When a position is vacant, you cantrigger workflow to read the positionin the z-table or the mini-HR chart,thereby sending an email to a higherapproving authority. This again canbe coded in the method. The positioncan be maintained as vacant or byanother entry, such as 9999.

You can also code the method tocontrol sending emails instead ofusing the office inbox

Step 10. Set up compliance andsecurity. Proper segregation of dutiesneeds to exist in the system to ensureSarbanes-Oxley compliance. Forexample, the requestor creates andthe approving manager authorizes the

Page 23: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

requisitions. A combination of releasegroups and release codes fortransaction ME54N controls thisprocess. Each approver is associatedwith a release code, thereby providingauthorization to release the purchaserequisitions. The approver alone hasauthorization for his release code.

The system automatically performs anauthority check on objectM_BANF_FRG for transaction ME54N.With authorization objectM_EINK_FRG, you can determinewhich purchasing documents the usercan release via the release groupFRGGR, and which release codes(such as FRGCO) he can use whenreleasing the purchasing documents.

Authorization object M_BANF_FRGenables you to restrict the release ofpurchase requisitions via releasecode FRGCD. Each role has acombination of release group andrelease code, which is assigned toeach approving manager. The securityteam assigns values usingtransaction PFCG (role maintenance)and then assigns them to users usingtransaction SU01 (Figure 14).

Page 24: SAPexperts _ 10 Steps to Streamline Requisition Approvals Using Purchase Requisi

Figure 14

Authorization object