Villkorliga transaktionsfält

Anta att du vill ha med information från vissa fält i utdatafilen under förutsättning att vissa villkor uppfylls. Exempel: Om ett fält är ifyllt vill du att dess värde ska tas med i posten, men om det är tomt ska värdet inte tas med. På så vis undviker du blanksteg och nollor i posten. (Detta motsvarar ett programmeringsuttryck av typen om/så.)

Du kan göra detta genom att infoga #If- och #EndIf- transaktionsfält i transaktionsbeskrivningen. (Anvisningar.)

Variabel

Format

Förklaring/Kommentar

#If, #EndIf

N(1)*

Om uttrycket du infogar ¹0 infogas alla transaktionsfält mellan #If och #EndIf, med undantag för dem som följer #ElseIf och #Else.

#ElseIf

N(1)*

Om uttrycket #If =0 prövas uttrycket #ElseIf. Om uttrycket #ElseIf ¹0, infogas alla transaktionsfält mellan #ElseIf och nästa #ElseIf, #Else eller #EndIf.

#Else

N(1)*

Om uttrycken #If och #ElseIf =0 infogas transaktionsfälten mellan #Else och #EndIf.

* Ovanstående transaktionsfält har formatet N eller N(1), men deras Längd är 0 eftersom just dessa transaktionsfält själva aldrig resulterar i att information skrivs till utdatafilen.

Strukturen ser ut så här:

#If

#ElseIf (valfritt)

#ElseIf (valfritt)

#Else (valfritt; behöver inte följa #ElseIf)

#EndIf

Obs! När du väljer avgränsningstecken i en transaktionsbeskrivning följs normalt det sista fältet i varje post inte av detta tecken. Ett undantag är dock när en transaktionsbeskrivning innehåller #If-uttryck. I det här fallet kan det sista fältet i posten följas av ett avgränsningstecken eftersom det sista transaktionsfältet är #EndIf.