Site icon SAP Human Resources Experts And Solutions

Developing programs for PUST/PEST

<p>Hi&excl;<&sol;p>&NewLine;<p>Want to leave here a reminder for myself how to develop programs for PUST&sol;PEST transactions&period; Source &&num;8211&semi; <a href&equals;"http&colon;&sol;&sol;help&period;sap&period;com&sol;erp2005&lowbar;ehp&lowbar;04&sol;helpdata&sol;EN&sol;2e&sol;3ae153038a424de10000000a174cb4&sol;content&period;htm&quest;frameset&equals;&sol;EN&sol;55&sol;3ae153038a424de10000000a174cb4&sol;frameset&period;htm&amp&semi;current&lowbar;toc&equals;&sol;EN&sol;11&sol;3ac2531bb9b44ce10000000a174cb4&sol;plain&period;htm&amp&semi;node&lowbar;id&equals;14" target&equals;"&lowbar;blank" rel&equals;"noopener">help&period;sap&period;com<&sol;a>&period;<&sol;p>&NewLine;<p>Sometime SAP deletes its own links&comma; so let the text stay here for a while&period;<&sol;p>&NewLine;<p><&excl;--more--><&sol;p>&NewLine;<h1 id&equals;"N25708" class&equals;"sansserif"><span class&equals;"SAPXDPTitle">Example&colon; Program in Process Model<&sol;span><&sol;h1>&NewLine;<p class&equals;"SAPXDPParagraph">See below for examples of source texts in programs you can use in a process model&period;<&sol;p>&NewLine;<div class&equals;"SAPXDPNote SAPXDPSkb">&NewLine;<p class&equals;"SAPXDPSkbtitle sansserif"><img class&equals;"SAPXDPSkb" title&equals;"Note" src&equals;"http&colon;&sol;&sol;help&period;sap&period;com&sol;static&sol;erp2005&lowbar;ehp&lowbar;04&sol;en&sol;graphics&sol;note&period;gif" alt&equals;"Note" &sol;> Note<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">If you use the <span class&equals;"SAPXDPDocuLink"><a title&equals;"Go to document&colon; workflow container" href&equals;"http&colon;&sol;&sol;help&period;sap&period;com&sol;erp2005&lowbar;ehp&lowbar;04&sol;helpdata&sol;EN&sol;55&sol;3ae153038a424de10000000a174cb4&sol;content&period;htm">workflow container<&sol;a><&sol;span> &comma; you require additional source text&period; These parts are displayed in italics&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<p class&equals;"SAPXDPParagraph">You will also find examples of programs that are used within process models in the standard system&period;<&sol;p>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">Programs That Process Personnel Numbers Using a Logical Database<&sol;h5>&NewLine;<&sol;div>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">Source Text<&sol;h5>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">REPORT MY&lowbar;STEP&lowbar;PROGRAM&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">INCLUDE &lt&semi;CNTN01&gt&semi;&period;<&sol;i><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">START-OF-SELECTION&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">GET PERNR&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IF not employee is ok&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">CALL FUNCTION 'HRPY&lowbar;PROCESS&lowbar;SET&lowbar;PERNR&lowbar;STATUS'<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">EXPORTING<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;PERNR&equals;PERNR-PERNR<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;PARCEL&equals;PYPARAID<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;SET&lowbar;ERR&equals;'X'&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">REJECT&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">ENDIF&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">CALL FUNCTION 'HRPY&lowbar;PROCESS&lowbar;SET&lowbar;PERNR&lowbar;STATUS'<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">EXPORTING<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;PERNR&equals;PERNR-PERNR<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;PARCEL&equals;PYPARAID<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;SET&lowbar;SUC&equals;'X'&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">END-OF-SELECTION&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&ast; Fill container<&sol;tt><&sol;p>&NewLine;<&sol;div>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">SAP Programs<&sol;h5>&NewLine;<div class&equals;"SAPXDPBulletedList">&NewLine;<ul>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">Posting to Accounting&colon; Create Posting Run<&sol;i><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">Program RPCIPE00 <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">&lpar;Posting to Accounting&colon; Create Posting Run&rpar;<&sol;i> starts with include &lt&semi;CNTN01&gt&semi;&period; Subroutine REJECTION is accessed in this include if a personnel number is not relevant to this process step&period; This happens in the following situations&colon;<&sol;p>&NewLine;<div class&equals;"SAPXDPBulletedList">&NewLine;<ul>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph">The personnel number was rejected during payroll&period;<&sol;p>&NewLine;<&sol;li>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph">The personnel number has already been evaluated&period;<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">In the first instance&comma; subroutine REJECTION sets the status of the personnel number to <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">incorrect<&sol;i> &period; In the second instance&comma; it sets the status to <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">successful<&sol;i> &period;<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">If the personnel number has the status <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">successful<&sol;i> &comma; program RPCIPE00 informs the process managerusing routine REGISTER&lowbar;AND&lowbar;INDEX&period; The routine is called just before END-OF-SELECTION&period; At the end of END-OF-SELECTION&comma; routine END&lowbar;PROCESS&lowbar;MODEL transfers the number of the posting run and&comma; if necessary&comma; the name of the TemSe fileto the workflow container&period;<&sol;p>&NewLine;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<&sol;li>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">Payroll driver<&sol;i><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">In the payroll programs&comma; the include statement for container macros can be found in include RPCFDC19&period; In program RPCALCX0 <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">&lpar;Payroll Driver &&num;8211&semi; International&rpar;<&sol;i> &comma; for example&comma; the container is only filled in an evaluation run after END-OF-SELECTION&period; Include RPCFDC19 transfers the names of TemSe files to the container&period;<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">If necessary&comma; subroutine NEW&lowbar;ABLEHNUNG sets the status of the personnel number to <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">incorrect<&sol;i> &period;<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">At the end of subroutine MAIN &comma; routine PROCESS&lowbar;SET&lowbar;PERNR&lowbar;STATUS sets the status for successful personnel numbers&period;<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">END-OF-SELECTION ends with the LEAVE LIST-PROCESSING command&comma; so subroutine FIRE&lowbar;EVENT first calls function module HRPY&lowbar;PROCESS&lowbar;FIRE&lowbar;EVENT to return control to the process manager&period;<&sol;p>&NewLine;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">Programs That Do Not Use a Logical Database And Do Not Process Personnel Numbers<&sol;h5>&NewLine;<&sol;div>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">Source Text<&sol;h5>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">INCLUDE RPUPMDP3&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">INCLUDE &lt&semi;CNTN01&gt&semi;&period;<&sol;i><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">START-OF-SELECTION&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name"><em class&equals;"SAPXDPEmphasis">CALL FUNCTION 'HRPY&lowbar;PUST&lowbar;GET&lowbar;CONTAINER’<&sol;em><&sol;i><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><em class&equals;"SAPXDPEmphasis"> EXPORTING<&sol;em><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><em class&equals;"SAPXDPEmphasis"> IMP&lowbar;PARCEL &equals; PYPARAID<&sol;em><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><em class&equals;"SAPXDPEmphasis"> TABLES<&sol;em><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><em class&equals;"SAPXDPEmphasis"> CONTAINER &equals; PY&lowbar;PM&lowbar;CONTAINER&period;<&sol;em><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&lbrack;&period;&period;&period;&rsqb;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">END-OF-SELECTION&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">&ast; Fill container<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IF NOT PYPARAID IS INITIAL&period;<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">CALL FUNCTION 'HRPY&lowbar;PROCESS&lowbar;FIRE&lowbar;EVENT'<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">EXPORTING<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">IMP&lowbar;PARCEL&equals;PYPARAID<&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">TABLES<&sol;i><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">IMP&lowbar;CONTAINER&equals;PY&lowbar;PM&lowbar;CONTAINER &period;<&sol;i><&sol;tt><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph"><tt class&equals;"SAPXDPScreenOutput monospace" title&equals;"Output">ENDIF&period;<&sol;tt><&sol;p>&NewLine;<div class&equals;"SAPXDPNote SAPXDPSkb">&NewLine;<p class&equals;"SAPXDPSkbtitle sansserif"><img class&equals;"SAPXDPSkb" title&equals;"Note" src&equals;"http&colon;&sol;&sol;help&period;sap&period;com&sol;static&sol;erp2005&lowbar;ehp&lowbar;04&sol;en&sol;graphics&sol;note&period;gif" alt&equals;"Note" &sol;> Note<&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">You only need to use the source text in italics and bold type if you require data from the workflow container that does not satisfy the program’s selection criteria&period; For more information&comma; see <span class&equals;"SAPXDPDocuLink"><a title&equals;"Go to document&colon; Workflow Container" href&equals;"http&colon;&sol;&sol;help&period;sap&period;com&sol;erp2005&lowbar;ehp&lowbar;04&sol;helpdata&sol;EN&sol;55&sol;3ae153038a424de10000000a174cb4&sol;content&period;htm">Workflow Container<&sol;a><&sol;span> &period;<&sol;p>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"SAPXDPSection">&NewLine;<h5 class&equals;"SAPXDPTitle sansserif">SAP Programs<&sol;h5>&NewLine;<div class&equals;"SAPXDPBulletedList">&NewLine;<ul>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">Display Posting Document<&sol;i><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">Program RPCIPS00 <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">&lpar;Display Posting Document&rpar;<&sol;i> contains include RPUPMDP3&period; This program does not process personnel numbers or fill the workflow container&comma; which means it does not require any further function modules&comma; includes&comma; or macros&period; At the end of END-OF-SELECTION&comma; program RPCIPS00 returns control to the process manager&period;<&sol;p>&NewLine;<&sol;li>&NewLine;<li class&equals;"SAPXDPListItem">&NewLine;<p class&equals;"SAPXDPParagraph"><i class&equals;"SAPXDPScreenElement" title&equals;"Object name">Transfer to FI&sol;CO&colon; Export to R&sol;2 or R&sol;3 &lt&semi; 4&period;0<&sol;i><&sol;p>&NewLine;<p class&equals;"SAPXDPParagraph">Program RPCIPX00 <i class&equals;"SAPXDPScreenElement" title&equals;"Object name">&lpar;Transfer to FI&sol;CO&colon; Export to R&sol;2 or R&sol;3 &lt&semi; 4&period;0&rpar;<&sol;i> imports a TemSe file&comma; processes it&comma; and writes a new TemSe file&period; It must therefore use routine START&lowbar;PROCESS to import the workflow container&comma; and routine END&lowbar;PROCESS to store new data in the workflow container&period; Function module HRPY&lowbar;PROCESS&lowbar;FIRE&lowbar;EVENT is also called in routine END&lowbar;PROCESS&period;<&sol;p>&NewLine;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;

Exit mobile version