IBM FileNet P8, Version 5.2.1            

Numeriske funksjoner

Denne delen inneholder korte beskrivelser av funksjonene som gjelder for flytetalls- eller heltallsverdier.

Tabell 1. Tabell over funksjoner som gjelder for flytetalls- eller heltallsverdier
Funksjon Hva den gjør
abs Returnerer den absolutte verdien til den numeriske funksjonen.
bitor, bitand, bitnot Gir boolsk manipulering av biter.
convert Konverterer et tall til en annen datatype eller konverterer en annen datatype til et tall.
err_encode Konverterer en FileNet P8-feiltuppel i tre deler til et heltall i én del.
int Avkorter alt etter desimaltegnet og returnerer heltallsverdien til et numerisk uttrykk.
max Returnerer den største verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes.
min Returnerer den minste verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes.
mod Returnerer det gjenstående etter deling (modul).
numbertostring Konverterer et numerisk uttrykk til et strenguttrykk ved hjelp av en oppgitt maske.
random Returnerer et tilfeldig heltall i et oppgitt verdiområde.
sizeof Returnerer størrelsen på en matrise.

abs

Denne funksjonen returnerer den absolutte verdien til et heltalls- eller flytetallsuttrykk. Bruk følgende syntaks:
abs (num_expr)
der num_exp er et uttrykk der resultatet er av typen heltall eller flytetall. Eksempel:
abs (SalePrice - PurchasePrice)

bitand, bitor og bitnot

Disse funksjonene gir boolsk manipulering av biter. Bruk dem til å utføre mange oppgaver, for eksempel angi masker og trekke ut biter. Hver av disse funksjonene kan utføre boolske operasjoner på opptil 32 elementer om gangen.

Hvis du er kjent med C-programmeringsspråket, er bitand, bitor og bitnot henholdsvis som logical and (&), logical or (|) og logical not (~). Hvis du ikke er kjent med C, kan du betrakte tallene som binære verdier (123 ville for eksempel være 1111011).

Disse funksjonene tar heltall på 32 biter (det vil si fra 0 til 42946967295) som inndata, og returnerer heltall i det samme verdiområdet som utdata. Bruk følgende syntaks:
bitand (expr1, expr2)

bitor (expr1, expr2)

bitnot (expr)
der expr1 og expr2 er heltall for 32-biters.
Hvis du vil ha spesifikk informasjon om og eksempler på hver funksjon, kan du velge et emne fra listen nedenfor.

bitand

Funksjonen bitand "and"-er de tilsvarende bitene i to heltall. Dette er bit-for-bit-sammenlikning, og resultatet er utdata til et nytt heltall. Sammenlikningen følger disse reglene:
  • Hvis begge heltall inneholder en 1 i samme posisjon, vil det resulterende heltallet også inneholde en 1 i denne posisjonen.
  • Hvis begge heltall inneholder en 0 i samme posisjon, vil det resulterende heltallet også inneholde en 0 i denne posisjonen.
  • Hvis ett heltall inneholder en 1 og det andre heltallet inneholder en 0 i samme posisjon, vil det resulterende heltallet inneholde en 0 i denne posisjonen.
bitand (123, 240) kan for eksempel visualiseres på følgende måte.
bitand

     (00000000000000000000000001111011,
         

      00000000000000000000000011110000)
          

  resulterer i: 
      00000000000000000000000001110000

bitor

Funksjonen bitor "or"-er de tilsvarende bitene i to heltall. Resultatet av denne bit-for-bit- sammenlikningen er utdata til et nytt heltall. Sammenlikningen følger disse reglene:
  • Hvis ett av heltallene inneholder en 1 i samme posisjon, vil det resulterende heltallet også inneholde en 1 i denne posisjonen.
  • Hvis begge heltall inneholder en 0 i samme posisjon, vil det resulterende heltallet også inneholde en 0 i denne posisjonen.
bitor (123, 240) kan for eksempel visualiseres på følgende måte.
bitor
     (00000000000000000000000001111011,
         
      00000000000000000000000011110000)
          
  resulterer i:

      00000000000000000000000011111011

bitnot

Funksjonen bitnot "not"-er et heltall. Resultatet av denne bit-for-bit-analysen er utdata til et nytt heltall. For hver plassering inneholder det nye heltallet den motsatte bitverdimeningen. Det vil for eksempel si at hvis inndataheltallet inneholder en 1 i en angitt posisjon, inneholder det nye heltallet en 0 i den samme posisjonen.

bitnot (123) kan for eksempel visualiseres på følgende måte.
bitnot
              (00000000000000000000000001111011
  resulterer i:
               11111111111111111111111110000100

int

Denne funksjonen beregner heltallsverdien til et flytetallsuttrykk ved å avkorte alt etter desimaltegnet. Flytetallsverdiene 6.2 og 6.8 blir for eksempel konvertert til heltallsverdien 6. Tegnet for tallet endres ikke.

Bruk følgende syntaks:
int (num_expr)
der num_expr er et uttrykk der resultatet er av typen flytetall. Eksempel:
int (365 / 7)

mod

Denne funksjonen returnerer det gjenstående etter deling (modul). Legg merke til at hvis du forsøker å dele en verdi med null, oppstår det en kjøretidsfeil.

Bruk følgende syntaks:
mod (num1, num2)
der num1 og num2 er variabler av typen flytetall eller heltall, og kan inneholde negative verdier.
I følgende eksempel returnerer funksjonen det gjenstående av delingen av NumberOfDays på 7.
mod (NumberOfDays, 7)
Legg merke til at tegnet til num2 fastslår tegnet til mod-funksjonens utdata (når utdataene ikke er lik 0):
If num2 > 0,

				0 <= mod (num1, num2) < num2

If num2 < 0,

				num2 < mod (num1, num2) <= 0

random

Enkelte applikasjoner trenger en metode for å generere et tilfeldig heltall, kanskje for å utføre tilfeldig sampling. Denne funksjonen returnerer et tilfeldig heltall i et angitt verdiområde. Den krever et heltall som en parameter for å fastslå verdiområdet.

Bruk følgende syntaks:
random (num)
der num er et heltall fra 2 til 32768 (inkludert begge ender). Verdiområdet er mellom 0 og num - 1. Hvis num var 23 i eksemplet ovenfor, ville det tilfeldige heltallet falle mellom 0 og 22.

err_encode

Denne funksjonen konverterer en FileNet P8-errortuppel i tre deler til en heltallsverdi, som du kan sammenligne med en resultatkode som er returnert av et kall til et WAL-inngangspunkt (WorkFlo Application Libraries). WAL returnerer resultatkoder når det oppstår unntaksbetingelser i normal behandling (for eksempel filslutt i enkel databehandling), eller når det oppstår feil.

Den primære bruken for err_encode er å basere senere behandling av et arbeidselement på resultatene som returneres av en operasjon som kaller WAL. En slik operasjon etterfølges vanligvis av en grensysteminstruksjon. Når grenen utføres, følger arbeidselementet behandlingsbanen som er bestemt av resultatkoden som den forrige operasjonen returnerte. Bruk for eksempel funksjonen err_code i grendefinisjonen for å angi at hvis <return code> = err_encode (80, 0, 2), følger arbeidselementet én behandlingsbane, mens den følger en annen behandlingsbane hvis <return code> = err_encode (80, 0, 5).

Bruk følgende syntaks:
err_encode (mod_num, func_num, err_num)
der:
Tabell 2. Parametere og beskrivelse for err_encode-funksjonen
Parameter Beskrivelse
mod_num Den første delen av resultatkoden. Det er et heltallsuttrykk (fra 0-255) som angir tjenesten, biblioteket eller applikasjonen som er kilden til feilen.
func_num Den andre delen av resultatkoden. Det er et heltallsuttrykk (fra 0-255) som angir funksjonen eller modulen som feilen kommer fra, eller kategorien som feilen tilhører.
err_num Den tredje delen av resultatkoden. Det er et heltallsuttrykk (fra 0-65535) som angir feiltallet.


Last updated: October 2015
bpfe010.htm

© Copyright IBM Corp. 2015.