DELIMITED BY SIZE means exactly what it says -- transfer the entire variable. COBOL does not have the concept of strings such as C or Basic (that is, where the length of the variable changes at run time). COBOL variables have fixed sizes and that size is fixed at compile time. So when you say STRING TEMP-VAR DELIMITED BY SIZE and TEMP-VAR is defined as 50 bytes, all 50 bytes are going to be transferred. If the last 15 (or 20 or 45) are spaces, they will STILL be transferred.