Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Når du utformer arbeidsflyter, har du muligheten til å inkludere logikken som du vil utføre, i faser og trinn.
- Stadier. Faser gjør arbeidsflytlogikken i sanntid enklere å lese og forklarer arbeidsflytlogikken i sanntid. Faser påvirker imidlertid ikke logikken eller virkemåten til arbeidsflyter. Hvis en prosess har faser, må alle trinn i prosessen være i en fase.
- Trinn. Trinnene er en forretningslogikkenhet i en arbeidsflyt. Trinn kan inneholde betingelser, handlinger, andre trinn eller en kombinasjon av disse elementene.
Handlinger som arbeidsflytprosesser i sanntid kan utføre
Arbeidsflytprosesser i sanntid kan utføre handlingene som er oppført i følgende tabell.
| Handling | Beskrivelse |
|---|---|
| Opprett rad | Oppretter en ny rad for en tabell, og tilordner verdier du velger til attributter. |
| Oppdater rad | Du kan oppdatere raden som arbeidsflyten i sanntid kjører på, alle radene som er koblet til denne raden i en N:1-relasjon, eller alle radene som er opprettet av tidligere trinn. |
| Tilordne rad | Du kan tilordne raden som arbeidsflyten i sanntid kjører på, alle radene som er koblet til denne raden i en N:1-relasjon, eller alle radene som er opprettet av tidligere trinn. |
| Send e-post | Sender en e-postmelding. Du kan velge å opprette en ny e-postmelding eller bruke en e-postmal som er konfigurert for tabellen til raden som sanntidsarbeidsflyten kjører på, eller alle tabeller som har en N: 1-relasjon med tabellen, eller tabellen til alle rader som er opprettet i tidligere trinn. |
| Start barn arbeidsflyt | Starter en arbeidsflytprosess i sanntid som er konfigurert som en underordnet arbeidsflyt. |
| Endre status | Endrer statusen for raden som prosessen kjører på, alle radene som er koblet til denne raden i en N:1-relasjon, eller alle radene som er opprettet av tidligere trinn. |
| Stopp arbeidsflyt | Stanser gjeldende arbeidsflyt. Du kan angi statusen Fullført eller Avbrutt og angi en statusmelding. Når sanntidsarbeidsflyter er konfigurert for en hendelse, vil stopp av en arbeidsflyt i sanntid med statusen Avbrutt forhindre hendelseshandlingen fra å fullføre. Gå til Bruke arbeidsflyter i sanntid for mer informasjon. |
| Egendefinert trinn | Utviklere kan opprette egendefinerte arbeidsflyttrinn i sanntid som definerer handlinger. Ingen egendefinerte trinn er tilgjengelige som standard. |
Angi radverdier
Når du oppretter en rad, kan du angi verdier for raden. Når du oppdaterer en rad, kan du angi, tilføye, øke, redusere, multiplisere eller fjerne verdier.
Når du velger Angi egenskaper, åpnes en dialogboks som viser standardskjemaet for tabellen.
Nederst i dialogboksen ser du en liste over flere kolonner som ikke finnes i skjemaet.
For enhver kolonne kan du angi en statisk verdi som angis av arbeidsflyten.
Til høyre for dialogboksen gir skjemahjelperen deg muligheten til å angi eller tilføye dynamiske verdier fra konteksten til den gjeldende raden. Dette omfatter verdier fra relaterte rader som kan nås fra N: 1-relasjonene (mange-til-en) for tabellen.
Hvilke alternativer som er tilgjengelige i skjemahjelperen, avhenger av kolonnen du har valgt i skjemaet. Når du angir en dynamisk verdi, ser du en gul plassholder kjent som en «slug» som viser hvor de dynamiske dataene er inkludert. Hvis du vil fjerne verdien, merker du slugen og sletter den. For tekstkolonner kan du bruke en kombinasjon av statiske og dynamiske data.
Med dynamiske verdier kan du ikke være sikker på at en kolonne eller en relatert tabell har verdien du ønsker å angi. Du kan faktisk angi et antall kolonner for å prøve og angi verdien og sortere dem i rekkefølge ved hjelp av de grønne pilene. Hvis den første kolonnen ikke har data, kan du prøve den andre kolonnen og så. Hvis det ikke er data i noen av kolonnene, kan du angi en standardverdi som skal brukes.
Angi betingelser for arbeidsflythandlinger i sanntid
Handlingene du bruker, avhenger ofte av betingelser. Med arbeidsflytprosesser i sanntid kan du angi betingelser og opprette forgreningslogikk på flere måter for å få resultatene du ønsker. Du kan kontrollere verdier for raden som arbeidsflytprosessen i sanntid kjører mot, alle rader som er knyttet til denne raden med et N: 1-forhold, eller verdier i selve prosessen.
| Betingelsestype | Beskrivelse |
|---|---|
| Sjekk betingelse | En logisk «if <condition> then»-setning. Du kan kontrollere gjeldende verdier for raden som sanntidsarbeidsflyten kjører på, alle radene som er knyttet til denne raden i en N:1-relasjon, eller alle rader som er opprettet i tidligere trinn. Basert på disse verdiene kan du definere ytterligere trinn når betingelsen er sann. Du kan bruke følgende operatorer i «if <condition> then»-setningen: Er lik, Er ikke lik, Inneholder data, Inneholder ikke data, Under og Ikke under. Obs!Under og Ikke under er hierarkiske operatorer. De kan bare brukes på tabellene som har en hierarkisk relasjon som er definert. Hvis du prøver å bruke disse operatorene i tabellene som ikke har definert den hierarkiske relasjonen, kan du se feilmeldingen: «Du bruker en hierarkisk operator i en tabell som ikke har definert en hierarkisk relasjon. Du må enten gjøre tabellen hierarkisk (ved å merke en relasjon som hierarkisk), eller bruke en annen operator." Hvis du vil ha mer informasjon om hierarkiske relasjoner, kan du gå til Definere og spørre etter hierarkisk relaterte data. Et skjermbilde som følger tabellen er et eksempel på definisjonen av arbeidsflytprosessen i sanntid som bruker de hierarkiske operatorene Under og Ikke under. |
| Betinget gren | En logisk "else-if-then"-setning, bruker editoren teksten "Ellers, hvis <betingelse> så:" Velg en kontrollbetingelse du tidligere har definert, og du kan legge til en betinget gren for å definere flere trinn når kontrollbetingelsen returnerer usann. |
| Forhåndsvalgt handling | En logisk else-setning. Redigeringsprogrammet bruker teksten "ellers:" Velg en kontrollbetingelse, betinget gren, vent-betingelse eller parallell ventegren som du tidligere har definert, og du kan bruke en standardhandling til å definere trinn for alle tilfeller som ikke samsvarer med vilkårene som er definert i betingelses- eller grenelementer. |
| Ventebetingelse | Sanntidsarbeidsflyter kan ikke bruke ventebetingelser. Ventebetingelser kan imidlertid brukes med bakgrunnsarbeidsflyter. Mer informasjon: Angi betingelser for bakgrunnsarbeidsflythandlinger |
| Parallel ventende gren | Definerer en alternativ ventebetingelse for en arbeidsflyt i sanntid med et tilsvarende sett ekstratrinn som bare utføres når det første vilkåret oppfylles. Du kan bruke parallelle ventegrener til å opprette tidsgrenser i arbeidsflytlogikken i sanntid. De bidrar til å forhindre at sanntidsarbeidsflyten venter på ubestemt tid til vilkårene som er definert i en ventebetingelse, er oppfylt. |
| Egendefinert trinn | Utviklere kan opprette egendefinerte arbeidsflyttrinn i sanntid som definerer betingelser. Det finnes ingen egendefinerte trinn som standard. |
Følgende skjermbilde inneholder et eksempel på definisjonen av arbeidsflytprosessen som bruker de hierarkiske operatorene Under og Ikke under. I vårt eksempel bruker vi to ulike rabatter til to grupper av kontoer. I Legg til trinn valgte vi Kontroller betingelsen til å angi if-then-vilkår som inneholder operatorene Under eller Ikke under. Den første if-then-betingelsen gjelder for alle kontoer som er Under kontoen Alpine Ski House. Disse kontoene får 10 % rabatt på kjøpte varer og tjenester. Den andre if-then-betingelsen gjelder for alle kontoer som er Ikke under kontoen Alpine Ski House, og de får 5 % rabatt. Deretter valgte vi Oppdater rad til å definere hvilken handling som skal utføres basert på betingelsen.
Starte sanntidsarbeidsflyter før eller etter statusendringer
Når du konfigurerer Alternativer for automatiske prosesser for sanntidsarbeidsflyter, kan du via Start når-alternativene for statusendringshendelsen velge Etter eller Før for når statusen skal endres. Standardalternativet er Etter.
Når du velger Før du sier at du vil at logikken i sanntidsarbeidsflyten skal brukes før data som endrer statusen, lagres. Dette gir deg muligheten til å kontrollere verdiene før annen logikken er brukt etter operasjonen, og hindre at ytterligere logikk utføres. Du kan for eksempel ha ekstra logikk i en plugin-modul eller egendefinert arbeidsflythandling i sanntid som kan starte handlinger på et annet system. Ved å stoppe videre behandling kan du unngå tilfeller der eksterne systemer påvirkes. Bruk av sanntidsarbeidsflyter før denne hendelsen betyr også at andre sanntidsarbeidsflyter eller plugin-modulhandlinger som kan lagre data, ikke trenger å rulles tilbake når operasjonen avbrytes.
| Handling | Start når | Forklaring |
|---|---|---|
| Raden er opprettet | Etter | Bare Etter er tilgjengelig. Raden har ikke en unik identifikator før den interne MainOperation-fasen så den kan ikke forekomme før raden opprettes. |
| Endringer i radstatus | Før Etter |
Tilsvarer en oppdateringsoperasjon som gir mulighet til å bruke sanntidsarbeidsflytlogikk før eller etter at statusen endres. Før tilsvarer fasen før operasjonen. Etter tilsvarer fasen etter operasjonen. |
| Raden tilordnes | Før Etter |
Tilsvarer en oppdateringsoperasjon som gir mulighet til å bruke sanntidsarbeidsflytlogikk før eller etter at statusen endres. Før tilsvarer fasen før operasjonen. Etter tilsvarer fasen etter operasjonen. |
| Endring i radkolonner | Før Etter |
Tilsvarer en oppdateringsoperasjon som gir mulighet til å bruke sanntidsarbeidsflytlogikk før eller etter at statusen endres. Før tilsvarer fasen før operasjonen. Etter tilsvarer fasen etter operasjonen. |
| Raden slettes | Før | Bare Før er tilgjengelig. Radsletting tilsvarer preoperasjonsfasen. Når MainOperation forekommer, slettes raden, og det er ingen ytterligere statusendring som kan oppstå. |
Hvis du vil ha mer informasjon om faser før operasjon, hovedoperasjonfaser og faser etter operasjon, kan du se Forløp for hendelsesutføring.
Bruke sanntidsarbeidsflyter
Du kan konfigurere sanntidsarbeidsflyter, men du bør bruke dem med forsiktighet. Bakgrunnsarbeidsflyter anbefales generelt fordi systemet kan bruke dem når ressurser på serveren er tilgjengelige. Dette bidrar til å jevne ut arbeidet som serveren må utføre, og til å opprettholde topp ytelse for alle som bruker systemet. Ulempen er at handlinger definert av bakgrunnsarbeidsflyter ikke er umiddelbare. Du kan ikke forutse når de brukes, men det tar vanligvis noen minutter. For automatisering av de fleste forretningsprosesser er dette i orden fordi personer som bruker systemet, ikke trenger å være bevisst oppmerksomme på at prosessen kjører.
Bruk sanntidsarbeidsflyter når en forretningsprosess krever at noen umiddelbart ser resultatene av prosessen, eller hvis du vil ha muligheten til å avbryte en operasjon. Du kan for eksempel angi bestemte standardverdier for en rad første gang den lagres, eller du vil kontrollere at noen rader ikke slettes.
Konvertere mellom sanntidsarbeidsflyter og bakgrunnsarbeidsflyter
Du kan endre en sanntidsarbeidsflyt til en bakgrunnsarbeidsflyt ved å velge Konverter til en bakgrunnsarbeidsflyt på verktøylinjen.
Du kan endre en bakgrunnsarbeidsflyt til en sanntidsarbeidsflyt ved å velge Konverter til en sanntidsarbeidsflyt på verktøylinjen. Hvis bakgrunnsarbeidsflyten bruker en ventebetingelse, blir den ugyldig, og du kan ikke aktivere den før du fjerner ventebetingelsen.
Starte sanntidsarbeidsflyter før eller etter statusendringer
Når du konfigurerer Alternativer for automatiske prosesser for sanntidsarbeidsflyter, kan du via Start når-alternativene for statusendringshendelsen velge Etter eller Før for når statusen skal endres. Standardalternativet er Etter.
Når du velger Før, sier du at du vil at logikken i sanntidsarbeidsflyten skal brukes før data som endrer statusen, lagres. Dette gir deg muligheten til å kontrollere verdiene før annen logikk brukes etter operasjonen, og hindrer videre logikk i å bli utført. Du kan for eksempel ha mer logikk i en plugin-modul eller en egendefinert arbeidsflythandling i sanntid som kan starte handlinger på et annet system. Ved å stoppe videre behandling kan du unngå tilfeller der eksterne systemer påvirkes. Bruk av sanntidsarbeidsflyter før denne hendelsen betyr også at andre arbeidsflyt- eller plugin-handlinger i sanntid som kan ha lagrede data, ikke trenger ikke å "tilbakerulles" når operasjonen avbrytes.
Bruke handlingen Stopp arbeidsflyt med sanntidsarbeidsflyter
Når du bruker en Stopp arbeidsflyt-handling i en sanntidsarbeidsflyt, kan du angi en statusbetingelse som kan være enten Fullført eller Avbrutt. Når du angir statusen til Avbrutt, hindrer du operasjonen. En feilmelding som inneholder teksten fra statusmeldingen for stopphandlingen, vises for brukeren med overskriften Feil ved forretningsprosess.
Konfigurere hvem som kjører sanntidsarbeidsflyten
I arbeidsflytutformingen kan du angi hvem arbeidsflyten skal kjøre, enten som «Eieren av arbeidsflyten» eller «Brukeren som har gjort endringer i posten». Hvis du vil endre eieren av posten til en annen bruker, åpner du administrasjonsfanen i redigeringsprogrammet for arbeidsflyten og bruker oppslaget til å velge en ny eier for arbeidsflyten. Du trenger sikkerhetsrollen systemansvarlig eller systemtilpasseren eller en rolle som inneholder rettigheten prvChangeOwnerIdOfWorkflow til å endre eieren av arbeidsflyten.
Neste trinn
Overvåke og administrere arbeidsflytprosesser i sanntid
Anbefalte fremgangsmåter for arbeidsflytprosesser i sanntid