Dynamische gebruikersbeslissingen in SAP Workflow



Vergelijkbare documenten
Work item exits in SAP Workflow

SAP Fiori workflow apps

Business Workflow innovaties in SAP S/4 HANA

SAPLink plugin voor workflow objecten

Wanneer welk workflow inbox?

Nieuwe grote release SAP Vendor Invoice Management

Verwerken van binnenkomende bedrijfsdocumenten met OpenText Business Center

User experience voor projecten

Verhoog je productiviteit in Teamcenter: maak gebruik van de stylesheets!

Sparse columns in SQL server 2008

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

Elementary Data Structures 3

Significante kostenreductie bij opslag bijlagen in SAP

Handleiding Objectnummer module i.c.m. Objectnummerlijsten

GEEN ZIN IN OVERTYPEN?

Workflow aanmaken WORKFLOW AANMAKEN. Version 2013

Afbeelding 1: Inloggen in SAP via . Wanneer u vervolgens op aanmelden klikt, wordt u automatisch naar uw SAP workflow inbox geleid.

case: toestandsdiagrammen

Secure Application Roles

Maximo Tips and Tricks

CAREN Nedap healthcare Deze PDF is gegenereerd op

Je maakt dus een eigen custom theme i.p.v. de standaard van SAP aan te passen.

CRM en MS Excel. VNSG Magazine september 2014

VNSG Magazine September 2014

Korte uitleg gebruik Jira als bevindingregistratie systeem

Het belang van een SIM upgrade

Dynamiek met VO-Script

Model driven Application Delivery

Organiseer uw verschillende SOAP services in één scenario

Erasmus+ Mobility Tool - 4 november 2014 Katrin Pannekeet

Zorg ervoor dat de juiste gebruikers toegang hebben tot uw database. Beheer uw licenties in SAP Business One

CAREN Nedap healthcare Deze PDF is gegenereerd op

Leaflet Web Maps with qgis2leaf

Hoe bouw ik een component? Drs. Arjan Burger

Fun met webparts in ASP.Net

InnoShop. InnoShop Voorbeeldschermen. Webshop volledig geïntegreerd met SAP Business One

Release notes:

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Tips & Tricks: Tip van de maand Mei NX6 User Interface

2.ouderbeleid.3.plaatsingsprocedure werk admini Pagina 1 van 14

Dit document beschrijft hoe notificaties werken binnen Apployed en hoe deze kunnen worden ingesteld aan de behoefte van de eigen organisatie.

Session Beans.

Release Notes. Afdrukdatum: 2008/10/06

return an ; } private I L i s t l i j s t ;

NetPay Desktop Reporting. Rapportage voor Xafax NetPay

Release Notes. Afdrukdatum: 2011/12/20

Gebruikershandleiding Rapportage Info budgethouders

NHibernate als ORM oplossing

Het toepassen van een gelaagde architectuur

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

PlanCare Dossier V11.11 Tijdverantwoording. Inhoudsopgave

Les 15 : updaten van gegevens in de database (deel2).

ARCHIEFBEHEER. Basis gebruikersgids. > RS-Web

Gebruikershandleiding

Maak een pivot uit een Generic.List

NewsTime Special TT8. Dienstverband beëindigen. Dashboard

Installatiehandleiding. Facto minifmis

KPDdoc kerneigenschappen

Technisch Ontwerp W e b s i t e W O S I

SAP DMS Customer Connect Program 2015

Maillijsten voor medewerkers van de Universiteit van Amsterdam

Digitale bedrijfsprocessen

Product marketing met

Inhoudsopgave. PlanCare Dossier V11.7 Onderhoud arrangement, product, handeling

Whitepaper Implementatie contextafhankelijke opdrachtbalken in MS Excel

Release notes:

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

BEDANKT VOOR UW AANKOOP!

Digitale verwerking van inkoopfacturen Durk Veltman Corporate Controller

VOORKOM CONFIGURATIE CONFLICTEN EN ACTIVERINGSISSUES TUSSEN SAP PI KLASSIEKE EN JAVA-ONLY SCENARIO S

Siemens workpoints en DHCP options

IAP DYNAMIC VLAN. Technote. Alcadis Vleugelboot CL Houten Versie: 1.0 Auteur: Herwin de Rijke Datum: 27 juli 2015

Compad Store Automation

SNEL-OP-WEG HANDLEIDING

Crea%ng value from Potatoes

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Inhoud KAS-WEB: HANDLEIDING IDG OPERATOR

Handleiding herinneringen versturen

OndergrondTool. Handleiding

APEX vs OutSystems, een vergelijking door een gebruiker

Net2 Anywhere - Installatie

Handleiding Webshopimporter

Digitaal is het nieuwe normaal...ook internationaal

OPTIMALISATIE RELEASE 9.1.3

Dynamische webapplicaties in Java

Ervaringen Inkoopadministratie. Vastlegging van middagbijeenkomst op Kasteel Woerden 19 september 2013

Knowledgeable Referenceable Personable Accountable Scalable

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Oracle client 1.2 voor ixperion 1.3 en hoger

Overdaad schaadt Simple Screen Adaptation in SAP Business One

Programmeerstructuren met App Inventor

INKOPEN VIA DE WEBWINKEL

Self-Service Portal Registeren, downloaden & activeren van een soft token

Handleiding Remote Engineer Portal

Handleiding NL pagina 2. Manual UK page 6. Network Settings

1. Document Management

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English

RULES RELEASE EVENTS. Mavim. Rules 7 Rules 8 Rules 9. Rules 2008

Transcriptie:

Dynamische gebruikersbeslissingen in SAP Workflow Inleiding Een gebruikersbeslissing in een SAP Workflow definitie biedt de mogelijkheid om een optiescherm aan de gebruiker aan te bieden. Hiermee kan de gebruiker bijvoorbeeld een SAP document goed- of afkeuren. Naast deze goedkeuringsopties worden vaak andere opties aangeboden die het proces ondersteunen. Een recente verbetering van de SAP Workflow ontwikkelomgeving biedt de mogelijkheid om bepaalde opties wel of niet weer te geven en de omschrijving te variëren aan de hand van condities. In deze tip wordt dieper ingegaan op deze zogenaamde dynamische gebruikersbeslissingen. Toelichting Na de recente verbeteringen in de SAP workflow omgeving is het mogelijk om opties in de gebruikersbeslissingen te onderdrukken en/of te variëren in de te hanteren teksten. Deze functionaliteit, ook wel dynamic decision options genoemd, staat beschreven in OSS note 1648822. Deze functionaliteit wordt in dit document toegelicht via een concreet voorbeeld. Dit voorbeeld proces is het goedkeuren van ATB s (Aanvraag tot bestellen) in SAP. Het functionele proces werkt als volgt. Op de aanleg van een ATB document is een vrijgave strategie ingericht. Een vrijgave strategie is standaard MM functionaliteit en wordt via customizing geactiveerd en ingeregeld. Een vrijgave strategie voorkomt dat een ATB, bestelling of contract zonder goedkeuring gebruikt kan worden in het inkoopproces. Indien de ATB onder een vrijgavestrategie valt zal het betreffende SAP document één of meerdere keren vrijgegeven moeten worden. In onderstaand voorbeeld dient de ATB 3 keer vrijgegeven worden voordat op basis van deze ATB een bestelling kan worden aangemaakt. Figuur 1: Vrijgavestrategie Het vrijgeven kan gerealiseerd worden via de standaard MM transacties ME54N of ME55. Hierbij moet de gebruiker zelfstandig de relevante ATB s selecteren en handmatig vrijgeven. Hierbij wordt uitgegaan van het pull mechanisme waarbij het uitgangspunt is dat de relevante gebruiker zelfstandig in staat is om op het juiste moment de juiste documenten zelfstandig naar zicht toe te trekken en deze zal vrijgeven. Een betere manier is om voor de vrijgave een SAP Workflow in te regelen. Hierbij wordt uitgegaan van het push mechanisme, waarbij de eindgebruiker via email genotificeerd wordt dat er één of meerdere goedkeuringstaken in zijn of haar workflow inbox staan. De

gebruiker krijgt dan direct een lijst met ATB s gepresenteerd die goedkeuring behoeven en waarvoor de gebruiker verantwoordelijk is volgens het procuratieschema. Dit zou er in de praktijk als volgt uit zien. Figuur 2: Afhandelen goedkeuringstaken Een eenvoudige workflow inrichting zou kunnen zijn dat de workflow een aantal keren over een SAP Workflow gebruikersbeslissing heen loopt. Deze gebruikersbeslissing biedt een aantal opties aan. In alleen de laatste vrijgave door Inkoop mag de optie Wijzig ATB getoond worden. In de eerste vrijgave stap(pen) dienen de opties zoals getoond in onderstaande linker schermafdruk beschikbaar zijn, in de laatste vrijgave door afdeling Inkoop dienen de opties zoals in de rechter schermafdruk beschikbaar te zijn.

Figuur 3: Mogelijke opties Realisatie In de workflow ontwikkelomgeving dienen alle mogelijke opties opgenomen te worden. Deze ziet er dan als volgt uit. Figuur 4: Definitie van gebruikersbeslissingsopties Zonder de dynamische gebruikersbeslissing zullen alle opties altijd getoond worden. Indien we toch opties willen onderdrukken was het in het verleden noodzakelijk om een tweede gebruikersbeslissing in te richten met alleen de op dat moment mogelijke opties. Dit zou dubbel onderhoud vereisen en de workflow definitie onnodig complex maken.

Om de optie Wijzigen ATB conditioneel te verbergen implementeren we een zogenaamde work item exit in het tablad programmeerexits. Figuur 5: Programmeerexit De ABAP klasse die hiervoor gebruikt wordt, dient de in interface IF_SWF_IFS_WORKITEM_EXIT en IF_SWF_IFS_DECISION_EXIT te bevatten. Deze laatste maakt het mogelijk opties te onderdrukken of teksten aan te passen. Figuur 6: Work item exit definitie In bovenstaande voorbeeld implementatie zorgt de methode IF_SWF_IFS_WORKITEM_EXIT~EVENT_RAISED voor de afvraging van het relevante moment in de verwerking van het work item. METHOD if_swf_ifs_workitem_exit~event_raised. ************************************************************************ * Work item exits tbv inkoop workflows ************************************************************************ DATA: lv_wihead TYPE swr_wihdr, lv_result TYPE string. CLEAR: lv_wihead. me->m_ctx = im_workitem_context. lv_wihead = im_workitem_context->get_header( ).

CASE im_event_name. * Beperk user decion opties indien goedkeuring niet bij inkoop ligt WHEN if_swf_ifs_decision_exit~c_evttyp_before_decision. CALL METHOD me->update_user_decision_options EXPORTING workitem_context = im_workitem_context. END ENDCASE. ENDMETHOD. In de runtime omgeving zal vlak voor het doorlopen van de gebruikersbeslissing de methode update_user_decision_options doorlopen worden. In deze methode kunnen de opties conditioneel worden gemaakt. Zie hieronder een stukje voorbeeld code. METHOD update_user_decision_options. DATA: lt_decialts TYPE swrtdecialts, lo_container TYPE REF TO if_swf_ifs_parameter_container, lv_wihead TYPE swr_wihdr, lv_releasecode TYPE frgco. CONSTANTS: gc_wftask(10) VALUE 'TS97300001', gc_releasecode1(2) VALUE 'IL', gc_releasecode2(2) VALUE 'L1'. FIELD-SYMBOLS: <decialt> TYPE swr_decialts. CLEAR: lv_wihead. lv_wihead = workitem_context->get_header( ). * Get the workflow container from the workitem context lo_container = workitem_context->get_wf_container( ). lo_container->get( EXPORTING name = 'ReleaseCode' IMPORTING value = lv_releasecode ). END * Get the decision alternatives from the container as defined in the workflow builder. CALL METHOD workitem_context->get_decision_alts IMPORTING et_decialts = lt_decialts. END * Remove the 4th option if task is in inbox of a purchaser IF NOT lv_releasecode = gc_releasecode1 AND NOT lv_releasecode = gc_releasecode2 AND lv_wihead-wi_rh_task EQ gc_wftask. DELETE lt_decialts WHERE altkey = '0004'. ENDIF. * Set the new alternatives values to the workitem context. CALL METHOD workitem_context->set_decision_alts EXPORTING it_decialts = lt_decialts. END ENDMETHOD. Indien de teksten van de gebruikersbeslissing gemanipuleerd moeten worden kan het volgende stukje code gebruikt worden. READ TABLE lt_decialts ASSIGNING <decialt> WITH KEY altkey = '0001'.

IF sy-subrc = 0. IF conditie. <decialt>-alttext = 'Tekst 1'. ELSE. <decialt>-alttext = 'Tekst 2'. ENDIF. ENDIF. Bovenstaande tip geldt uitsluitend in de verwerking van de goedkeuringstaak in de SAP Gui of SAP NetWeaver Business Client. In de verwerking van goedkeuringstaken in overige user intefaces, bijvoorbeeld via de Fiori apps rondom goedkeuring van ATB s en bestellingen gelden andere mogelijkheden voor het aanbieden en onderdrukken van opties. Figuur 7: SAP Fiori goedkeuring van ATB's en bestellingen Maart 2014, Sander van der Wijngaart, Avelon SAP workflow tips & tricks