the called program cannot accidentally modify data the caller depends on. 2. **You're passing literals or expressions** — BY CONTENT allows you to pass literal values and arithmetic expressions. 3. **You want read-only semantics** — even though COBOL cannot declare a parameter as "const," BY CONTENT