Updating my SC 9.x to 9.10

Hello team
I’m here to tell you about the error I had after updating my SC 9.4 to 9.10 .
All my Application reports are sending me this message.

////////////////////////*********
/*Recuperation du stock des vignettes Receptionnées */
sc_lookup(dataset, “select SUM(stvqte)
from tblstockvignette
Where stvserie =’{tbldetailconteneur.serieInitiale}’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo "Stock inexistant de la série Réceptionné ";
}
else
{
$pqtereception = {dataset[0][0]};
}
{qteReceptionee}=$pqtereception;

/*Recuperation du stock des vignettes retournées */
sc_lookup(dataset, “select SUM(qteliv) from tblligreceptionvgtte
where tdcode=‘0107’
and serieInitiale=’{tbldetailconteneur.serieInitiale}’
and sens=‘E’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Designation de l’article Inexistante”;
}
else
{
$pqtelivretour = {dataset[0][0]};
}
{qteRetour}=$pqtelivretour;

/*Recuperation du stock sortie pour estampillage */
sc_lookup(dataset, “select SUM(qteliv) from tblligreceptionvgtte
where tdcode=‘0106’
and serieInitiale=’{tbldetailconteneur.serieInitiale}’
and sens=‘S’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Designation de l’article Inexistante”;
}
else
{
$pqtelivsortie = {dataset[0][0]};
}
{qtesortie}=$pqtelivsortie-$pqtelivretour;

/*Recuperation du stock des vignettes Utilisées */
/sc_lookup(dataset, “select SUM(qteempote)
from tbldetailconteneur
Where serieInitiale=’{tbldetailconteneur.serieInitiale}’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Erreur du Stock de la série empoté”;
}
else
{
$pqteutilise = {dataset[0][0]};
}
{tbldetailconteneur.dcstockutilise}=$pqteutilise;
/

/*Recuperation du stock des vignettes détruites */
sc_lookup(dataset, “select SUM(qteliv) from tblligreceptionvgtte
where tdcode=‘0109’
and serieInitiale=’{tbldetailconteneur.serieInitiale}’
and sens=‘D’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Designation de l’article Inexistante”;
}
else
{
$pqtelivdetruite = {dataset[0][0]};
}
{qtedetruite}=$pqtelivdetruite;

//{qteutilise}={qtesortie}-{qteretourne};
{qteRestante}={qteReceptionee}-{qtesortie};

/*Recuperation de la série des vignettes Retournées en coffre */
sc_lookup(dataset, “select serie
from tblligreceptionvgtte
Where tblligreceptionvgtte.serieInitiale=’{tbldetailconteneur.serieInitiale}’
order by serie DESC”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo "Série Retournée inexistante ";
}
else
{
$pserieretourne = {dataset[0][0]};
}
{Serievgtcoffre}=$pserieretourne;

if ({qteRestante} ==0)
{Serievgtcoffre}==’’;

//////////////********************////////////
Fatal error: Uncaught TypeError: Unsupported operand types: string - string in C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\Grid_RapportAppurementCtn_grid.class.php:21796 Stack trace: #0 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\Grid_RapportAppurementCtn_grid.class.php(15137): Grid_RapportAppurementCtn_grid->Get_StockVignettes() #1 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\Grid_RapportAppurementCtn_grid.class.php(1523): Grid_RapportAppurementCtn_grid->totaliza_php_sc_free_group_by() #2 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\Grid_RapportAppurementCtn_grid.class.php(414): Grid_RapportAppurementCtn_grid->inicializa() #3 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\index.php(6640): Grid_RapportAppurementCtn_grid->monta_grid(0) #4 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\index.php(9370): Grid_RapportAppurementCtn_apl->controle() #5 {main} thrown in C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\app\SIGEV\Grid_RapportAppurementCtn\Grid_RapportAppurementCtn_grid.class.php on line 21796

Please i need your help
thank you cdlt

Are you using PHP 8.1? If so, you have to indicate that all your numeric fields must be numeric, because the error indicates that you are trying to make a math operation, but between strings.

Hello Kleyber_Derick, yes I use PHP 8.1, I have checked the type of fields in my database no worries. unless it should define the type of variable in my code. so I do I come back to you. Cdlt

The field type that you have to take a look is in your app, not in your db.

All right, here’s the piece of code that’s generating this error:
/*Recuperation du stock des vignettes Receptionnées */
sc_lookup(dataset, “select SUM(stvqte)
from tblstockvignette
Where stvserie =’{tbldetailconteneur.serieInitiale}’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo "Stock inexistant de la série Réceptionné ";
}
else
{
$pqtereception = {dataset[0][0]};
}
{qteReceptionee}=$pqtereception;

/*Recuperation du stock des vignettes retournées */
sc_lookup(dataset, “select SUM(qteliv) from tblligreceptionvgtte
where tdcode=‘0107’
and serieInitiale=’{tbldetailconteneur.serieInitiale}’
and sens=‘E’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Designation de l’article Inexistante”;
}
else
{
$pqtelivretour = {dataset[0][0]};
}
{qteRetour}=$pqtelivretour;

/*Recuperation du stock sortie pour estampillage */
sc_lookup(dataset, “select SUM(qteliv) from tblligreceptionvgtte
where tdcode=‘0106’
and serieInitiale=’{tbldetailconteneur.serieInitiale}’
and sens=‘S’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Designation de l’article Inexistante”;
}
else
{
$pqtelivsortie = {dataset[0][0]};
}
{qtesortie}=$pqtelivsortie-$pqtelivretour;

/*Recuperation du stock des vignettes Utilisées */
/sc_lookup(dataset, “select SUM(qteempote)
from tbldetailconteneur
Where serieInitiale=’{tbldetailconteneur.serieInitiale}’”);
if ({dataset} === false)
{
echo “Access error. Message=”. {my_data_erro} ;
}
elseif (empty({dataset}))
{
echo “Erreur du Stock de la série empoté”;
}
else
{
$pqteutilise = {dataset[0][0]};
}
{tbldetailconteneur.dcstockutilise}=$pqteutilise;
/

Try to do this:

{qtesortie} = (int)$pqtelivsortie - (int)$pqtelivretour;

And see if ti works for you.

I have try it but ok.
verry Thank’s Kleyber_Derick.
i have a peace now.