You may want to clean up results before doing your export, to minimize the size of the corresponding import. Beyond that, you may need to edit your export file. Contact Quest Support for assistance, but you can also try the following:
Resolution #1: For large customization blocks of code
If the problem appears to be related to a very large block of customization code, Code Tester simply is unable to support an import of all this code. You will need to move some or all of that code into a separate procedure or function (preferably within a package), and then call that program in your customization section.
This means that you will need to edit the export file. Please take these steps:
Make a copy of the export file, so you can restore to that file if you have any problems.
- Open the export file and search for a phrase from you customization code that will help you identify the code you need to extract. Your code should be assigned to a local variable with code like this:
l_temp_string := REPLACE ('
- Pull out all or most of that code and move it into a procedure. Suppose you have moved your code to a packaged procedure named PKG.PROC.
- You then go back to the export file and change the assignment to (something like) this:
l_temp_string := REPLACE ('PKG.PROC');
Note: If your custom code contains any single quotes, they will have been changed to two single quotes. So you will need to convert those back to one single quote.
- Repeat these steps for each large section of custom logic.
- Then try to do your import again.
Resolution #2: For large volume of results data
In Quest Code Tester 1.6, all test results are imported from a single procedure. If you have lots of results, that program can be too large to compile. There are two things you can do here:
1. Remove the result import code.
2. Break up the single procedure into multiple procedures.
To remove the result import code, first make a backup copy of your export file. Then search in the file for this string:
QU_result_xp.import (
and then remove everything from the two lines above this:
REM EXECUTE
CREATE OR REPLACE PROCEDURE qcto#import...
down to the next occurrence of
REM EXECUTE
BEGIN qcto#import_test_definition; END;
/
or
REM EXECUTE
BEGIN qcto#import_test_resultsEND;
/
whichever comes first.
Save your changes and try to import again.
Resolution #3: For large test definitions
In Quest Code Tester 1.6 and earlier, exports would sometimes create single procedures to import too much information in one step. With 1.8 and above, the export files create many more, smaller import procedures.
You should be able to fix it by taking the steps shown below.
- Make a backup copy of your export file.
- Open your export file and replace this string:
qu_unit_test_xp.import
with these lines
COMMIT; end;
/
REM EXECUTE
BEGIN qcto#import_test_definition; END;
/
CREATE OR REPLACE PROCEDURE qcto#import_test_definition IS
C_for_slash constant qu_harness_tp.universal_id_t :=
'{37066390-59DE-4ABC-92F8-47D362A20DC1}';
BEGIN
QU_UNIT_TEST_XP.import
then save your file and it should then import without raising this error.
One way to accomplish this transformation is with Microsoft Word. For example, you can pasted the entire contents of my export file into Word. Press Control-H to perform a global replace of:
qu_unit_test_xp.import
with the following single line of text (^p inserts new-line characters):
COMMIT; end;^p/^pREMEXECUTE^pBEGINqcto#import_test_definition; END;^p/^ CREATE OR REPLACE PROCEDURE qcto#import_test_definitionIS^p C_for_slash constant qu_harness_tp.universal_id_t :=^p '{37066390-59DE-4ABC-92F8-47D362A20DC1}';^pQU_UNIT_TEST_XP.import
Then copy and paste this code into your export file and save your changes. Then yry your import again.