Module Php pour SAP R3
Ce module peut être utilisé pour appeller les modules fonction ( la liste est obtenu par le contenu de la table TFDIR avec comme selection FMODE = R )
Il se trouve à l'adresse/ http://saprfc.sourceforge.net/ la doc est suffisament claire pour étre l'installer facilement mais si vous avez un probléme
contactez moi
Pour tester un module fonction utilisez la transaction se37
Pour appeler un bapi il faut bien comprendre comment convertir les paramétres.
Par exemple le module fonction BAPI_CUSTOMER_GETLIST qui posséde comme paramêtre d'appel sous sap
IMPORTING
*" VALUE(MAXROWS) LIKE BAPIF4A-MAX_ROWS DEFAULT 0
*" VALUE(CPDONLY) LIKE BAPICUSTOMER_CPD-CPD_ONLY OPTIONAL
EXPORTING
*" VALUE(RETURN) LIKE BAPIRETURN1 STRUCTURE BAPIRETURN1
TABLES
*" IDRANGE STRUCTURE BAPICUSTOMER_IDRANGE
*" ADDRESSDATA STRUCTURE BAPICUSTOMER_ADDRESSDATA OPTIONAL
*" SPECIALDATA STRUCTURE BAPICUSTOMER_SPECIALDATA OPTIONAL
Peut donner sous php
<html>
<title>Liste Des Clients</title>
<h1> Liste des CLIENTS</h1>
<?
require_once("saprfc.php");
// Create saprfc-instance
$sap = new saprfc(array(
"logindata"=>array(
"ASHOST"=>"Monserveursap" // application server
,"SYSNR"=>"00" // system number
,"CLIENT"=>"007" // client ( mandant)
,"USER"=>"testrfc" // user
,"PASSWD"=>"password" // password
)
,"show_errors"=>false // let class printout errors
,"debug"=>false)) ; // detailed debugging information
// Call-Function
$result=$sap->callFunction("BAPI_CUSTOMER_GETLIST",
array(
// array("IMPORT","CUSTOMER_NUMBER","*"),
array("TABLE","IDRANGE",array(array("SIGN"=>"E","OPTION"=>"EQ","LOW"=>"*"))),
array("TABLE","ADDRESSDATA",array())
));
// Call successfull?
if ($sap->getStatus() == SAPRFC_OK) {
// Yes, print out the Userlist
ECHO "Nombre de clients : ".count($result["ADDRESSDATA"])."<br><br>";
?>
<table border="1" align="center" bordercolor="#009933">
<tr><td>Client</td><td>Nom</td></tr><?
foreach ($result["ADDRESSDATA"] as $user) {
echo "<tr><td>", $user["CUSTOMER"],"</td><td>",$user["NAME"],"</td></tr>";
}
?></table><?
} else {
// No, print long Version of last Error
$sap->printStatus();
echo "Erreur";
// or print your own error-message with the strings received from
// $sap->getStatusText() or $sap->getStatusTextLong()
}
// Logoff
$sap->logoff();
?>