Progress Developer Studio for OpenEdge has different rules for adding USING statements to ABL resources with AppBuilder markup and ABL resources without AppBuilder markup. ABL resources with AppBuilder markup include: structured include file, structured procedure, AppBuilder file, and CGI wrapper with AppBuilder markup. ABL resources without AppBuilder markup include: classes, interfaces, procedures, include files, and CGI wrapper without AppBuilder markup.
Follow the below rules to add USING statements to ABL resources with AppBuilder markup:
If there is an error-handling statement inside the DEFINITIONS block, the location of the error handling statement is used while calculating the insertion position.
If there is no error-handling statement, USING statements must always be inside &ANALYZE block.
If &ANALYZE block exists, then the USING statement must be added to this block only.
If there is no &ANALYZE block, then a new block must be created and appended to the code, and the USING statements must be added inside the newly created &ANALYZE block.
The newly created &ANALYZE block must be placed after the &ANALYZE-SUSPEND_VERSION-NUMBER block, if it exists. Otherwise, it must be the first block in the result document.
Follow the below rules to add USING statements to ABL resources without AppBuilder markup:
If there is an error-handling statement, the location of the error handling statement is used while calculating the insertion position.
If there is no error-handling statement, the first ABL statement is used while calculating the insertion position.
If there are no existing (child) statements and the first ABL statement starts with type or procedure declarations, then the new USING statements must be added above the type or procedure declaration. In case of classes and interfaces add the USING statements above the type declaration and in case of procedures add them just above the first procedure.