Figure 5: New procedures to retain backward compatibility
P cust_getName... P B export D cust_getName... D PI 25A varying D name s 25A varying /free name = cust_getNameLong(); return name; /end-free P E P cust_setName... P B export D cust_setName... D PI 1N D Name 25A const /free return cust_setNameLong(Name); /end-free P E P cust_getNameLong... P B export D cust_getNameLong... D PI 50A varying /free return %trimr(InCust.Name); /end-free P E P cust_setNameLong... P B export D cust_setNameLong... D PI 1N D Name 50A const /free if (Name = *blanks); SetError(CUST_EBADNAME: 'Name can''t be blank!'); return *OFF; endif; InCust.Name = Name; return *ON; /end-free P E