I had a bit more of a look at the Perl script in the installation package to 
try and see where the installation is failing. By adding print2stdout() 
calls at various places I was able to see that the installation script was 
getting stuck in the while loop in the function checkFileInTGZ (for example 
when I run the install package with the slightly modified checkFileInTGZ 
function shown below I get screens full of "I am in a while loop"). When I 
comment out the call to checkFileInTGZ I get an infinite loop in 
evalScriptInTGZ (also in the while loop). I've included the modified 
functions below. As I said in my last e-mail I know very little about Perl 
but I would really like to be able to evaluate SAPDB. If anyone out there 
can help it would be greatly appreciated.

Joseph

#my slightly modified version of checkFileInTGZ
sub checkFileInTGZ{
        my ($tgzfile,$file)=@_;
        -f $tgzfile or print2stderr("checkFileInTGZ(): tgz archive \"$tgzfile\" not 
found\n") and return 0;
        my $handle = SAPDB::Install::Untgz::new("$tgzfile");
        unless($handle){
                print2stderr("cannot open $tgzpackage\n") and 
diesoft($SAPDB::Install::Values::diemsg);
        }
        while(1){
                print2stdout("I am in a while loop\n");
                my $text=$handle->tgznext();
                unless($text){
                        return 0;
                }
                if($text=~/.*$file$/){
                        return 1;
                }
        }
}

#my slightly modified version of evalScriptInTGZ
sub evalScriptInTGZ{
        my $script=$_[0]; # script to evaluate
        my $tgzpackage=$_[1]; # package with script
        my $handle = SAPDB::Install::Untgz::new("$tgzpackage");
        unless($handle){
                print2stderr("cannot open $tgzpackage\n") and 
diesoft($SAPDB::Install::Values::diemsg);
        }
        while(1){
                print2stdout("I am in a while loop in evalScriptInTGZ\n");
                my $text=$handle->tgznext();
                unless($text){
                        print2stderr("cannot find script \"$script\" in package 
\"$tgzpackage\"\n") and

diesoft($SAPDB::Install::Values::diemsg);
                }
                if($text=~/.*$script$/){
                        (my $rc,my $errtext)=$handle->tgzeval();
                        if($errtext){
                                print2stderr("tgzeval(): $errtext\n");
                                ($rc == -1 ) and print2stderr("cannot eval script 
\"$script\" in package 
\"$tgzpackage\"\n");
                                diesoft($SAPDB::Install::Values::diemsg);
                        }
                        last;
                }
        }

}

_________________________________________________________________
Join the world�s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com

_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to