In production at my current site I have used Include only once, but for reasons 
very different from what has already been discussed.  I have a Shipment print 
program customized into a true monster.  It had not been rolled forward during 
previous vendor (Dataflo) upgrades because of the difficulty.

I bit the bullet.  Internally smaller custom sections with limited variable 
requirements I pushed into subroutines. These were low-usage code sections so I 
was not concerned with performance.  The bulk of the customizations were in 
huge blocks of heavily exercised code.  I did not what to put those into 
subroutines for performance reasons, and because the variable usage was huge 
and tangled. I collected those large blocks and moved them to the bottom of the 
program as internal gosubs.

My final step was to use the vendor's COMPARE tool to confirm I did break 
baseline functionality.  This forced a major refractor of internal custom 
structure and major cleanup of comment tags and project references. Now when 
the COMPARE tools runs I can rapidly confirm correct modification of the 
vendor's code. This sets up the program to be upgrade-able in the future.

I finally pushed the massive custom block I placed at the end of the program 
into an Include. Now when I run the COMPARE tool it reaches the end of the 
program where there is now one custom Include and Done!  My reason is that 

I have had to debug only a couple of times.  I simply comment out the Include 
and Load the entire Include code into place, compiled, and debug. Cumbersome 
yes, fortunately not a daily procedure. ;-)

Marc Rutherford
Principal Programmer Analyst
Advanced Bionics LLC
661) 362 1754

-----Original Message-----
[] On Behalf Of Baker Hughes
Sent: Tuesday, February 07, 2012 3:05 PM
To: U2 Users List (
Subject: [U2] Including Code - A Best Practice?

A friendly discussion arose recently among some U2/MV Developers about whether 
to include code.

If any of you have opinions about the positive aspects or negative aspects of 
this practice, please respond.  Should it be adopted as a best practice, or 
rejected as special situation use only?

Many shops probably include long sections of variable assignments, or perhaps 
globally opened files.  This is pretty much accepted everywhere as a good 

In question here is the insertion of actual code - business logic or screen I/O 
programs or code snippets.

Maybe you know of methods to overcome some of the obvious downsides: unintended 
reassignment of local variables, difficulty in debugging, others.

What are the positive upsides?  Performance gains?

What is the longest snippet you think should be included, if allowed?

What advantage has included code over a CALL or a Function?  Reuse.  What else?

Can the downsides be mitigated satisfactorily to justify the gains?

Thanks so much.


This communication, its contents and any file attachments transmitted with it 
are intended solely for the addressee(s) and may contain confidential 
proprietary information.
Access by any other party without the express written permission of the sender 
If you have received this communication in error you may not copy, distribute 
or use the contents, attachments or information in any way. Please destroy it 
and contact the sender.
U2-Users mailing list
U2-Users mailing list

Reply via email to