Der findes nemlig en funktion, man kan benytte i et assignment statement kaldet TRUNC. TRUNC tager en variabel som input efterfulgt af en numerisk værdi eller et tegn i apostroffer. Eksempelvis vil &JENS = TRUNC(&KURT,2) resultere i, at &JENS kommer til at indeholde de 2 første tegn i &KURT, mens &LISE = TRUNC(&INGE, '*') vil resultere i, at &LISE kommer til at indeholde alle tegn i &INGE ind til den første '*'. '*' kommer altså ikke med i &LISE. Der er visse begrænsninger i brugen af TRUNC, som du kan læse mere om i ISPF-manualerne.
For de fleste ISPF-hajer er der ind til nu nok ikke noget nyt under solen. Lad os derfor antage, at vi skal undersøge, om tegnene '%' og/eller '_' indgår i en variabel. Det kan man ikke umiddelbart undersøge i sit ISPF-panel, men så kan man da heldigvis bruge TRUNC. I følgende eksempel skal vi finde ud af om &FINDSTR indeholder '%' eller '_':
Læg mærke til, at man ikke kan skrive IF(TRUNC(&FINDSTR, '*') = &FINDSTR ...), da TRUNC kun kan benyttes i et assignment statement. Derfor er man nødt til at lave sig en hjælpevariabel. Efter et kald til TRUNC vil den særlige ISPF-variabel .TRAIL indeholde resten af den trunkerede værdi. I det første eksempel med &KURT vil .TRAIL indeholde resten af &KURT fra og med det tredie tegn. I eksemplet med &INGE vil .TRAIL indeholde alle tegn efter den første '*'.