MainframeSupports
tip uge 36/2008:

Jeg har gennem tiderne set et utal af forskellige procedurer og funktioner i PL/I, der kan fjerne efterstillede blanke. Selv om PL/I har et rigt udvalg af indbyggede funktioner, så syntes IBM teamet bag PL/I ikke, at vi skulle beriges med en funktion til at strippe blanke. Det har heldigvis ændret sig med den nye version af PL/I kaldet Enterprise PL/I. Så nu kan vi allesammen fjerne vores hjemmelavede strippe-funktioner og bruge den autoriserede udgave.

Som sædvanlig har PL/I lab'et besluttet sig for at være anderledes. Hvor fjernelse af blanke i REXX og DB2 hedder STRIP (DB2 kalder fjernelse af efterstillede tegn for RTRIM, men det er stadig bare en specialiseret udgave af STRIP), så er det kommet til at hedde TRIM i PL/I. Parametrene til TRIM er selvfølgelig også skruet anderledes sammen, og når man læser beskrivelsen af parametrene, bliver man mere forvirret end godt er. Derfor bringer jeg her en lille oversigt:

Med andre ord skal man altså fjerne efterstillede blanke med følgende TRIM:

mynonstrippedvariable = 'some nonsense       ';
put skip list('theStrippedResult=<' !! TRIM(mynonstrippedvariable,'',' ' !! '>');

Dette eksempel udskriver: theStrippedResult=<some nonsense>. Læg mærke til, at resultatet af TRIM altid er en CHAR VARYING.

Forrige danske tip        Last tip in english        Tip oversigten