My understanding is that you cannot pass a user label to a subroutine and have it act as a user label in the subroutine, i.e. THIS_GUY : BO0001; {user label to pass} SUBROUTINE CHNG_OUTPUT (IN Label :S) Label :=3D TRUE; {set the Boolean output to TRUE} ENDSUBROUTINE STATEMENTS CALL CHNG_OUTPUT (THIS_GUY); ENDSEQUENCE As I understand it, this code will not work to change the status of BO0001 because I cannot pass a user label to a subroutine. It will only set the local subroutine variable to the string value "TRUE." A subroutine can only take strings, real, Booleans, and integers as arguments (arrays being a special case of said arguments) and I haven't figured out a way to pass a user label as a string which can then be used as a user label in the subroutine. Is this understanding incorrect? The reason this is important is that the subroutine would be written in an include file which could then be used in HLBL in several compounds. I believe that I can work around this problem by using input registers instead of output registers but that is counter-intuitive and it seems only reasonable to be able to pass user labels. Thanks Daniel Klebba ATK Launch _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave