[toulouse-pm] Question Stupide
eric.vernichon.ev at borchers.fr
eric.vernichon.ev at borchers.fr
Fri Sep 20 02:45:35 CDT 2002
Bonjour ,
Plus je regarde passer vos mails plus j'ai peur de poser des
questions ( à la c.. ) .
Mais comme je suis bloqué tant pis je me lance .
J'utilise perl pour écrire des scripts d'administrations SAP R3.
Jusqu'à présent je ne séparai rien par fonctions et tout
fonctionné à merveille
Mais voila je veux écrire une interface TK et j'ai donc besoin de
créer des fonctions.
Mon problème est le suivant :
Ce code fonctionne ( sans fonction )
#!/usr/bin/perl
use strict;
use SAP::Rfc;
my $rfc = new SAP::Rfc(
ASHOST => 'serveur',
USER => 'utilisateur',
PASSWD => 'motdepasse',
LANG => 'EN',
CLIENT => '000',
SYSNR => '00',
TRACE => '0' );
my $table = 'E070';
my $it = $rfc->discover("RFC_READ_TABLE");
my $s = $rfc->structure($table);
$it->QUERY_TABLE($table);
$rfc->callrfc( $it );
print "Nombre de transports : ".$it->tab('DATA')->rowCount()." \n";
for my $row ( $it->DATA ){
$s->value( $row );
print $s->TRKORR." ". $s->AS4DATE." ".$s->KORRDEV." ".$s->TRSTATUS."
".$s->as4TIME." ".$s->AS4USER." ".$s->TARSYSTEM." ".$s->STRKORR."
".$s->TRFUNCTION."\n"
}
$rfc->close();
Mais si je le place dans une fonction
#!/usr/bin/perl
use strict;
use SAP::Rfc;
sub transport {
my ( $serveur , $mandant , $utilisateur,$password) = @_;
my $rfc = new SAP::Rfc(
ASHOST => $serveur,
USER => $utilisateur,
PASSWD => $password,
LANG => 'EN',
CLIENT => $mandant,
SYSNR => '00',
TRACE => '0' );
my $table = 'E070';
my $it = $rfc->discover("RFC_READ_TABLE");
my $s = $rfc->structure($table);
$it->QUERY_TABLE($table);
$rfc->callrfc( $it );
print "Nombre de transports : ".$it->tab('DATA')->rowCount()." \n";
for my $row ( $it->DATA ){
$s->value( $row );
print $s->TRKORR." ". $s->AS4DATE." ".$s->KORRDEV." ".$s->TRSTATUS."
".$s->as4TIME." ".$s->AS4USER." ".$s->TARSYSTEM." ".$s->STRKORR."
".$s->TRFUNCTION."\n"
}
$rfc->close();
}
transport "serveur","000", "user","motdepasse" ;
j'ai ce message d'erreur :
Parameter QUERY_TABLE does not exist in Interface - no autoload at
C:/Perl/site/lib/SAP/Iface.pm line 82, <DATA> line 1.
Si ma question est vraiment trop stupide pour vous excusez moi sinon merci
pour l'aide.
Eric Vernichon
More information about the Toulouse-pm
mailing list