Gestion de stock et réservations
Cette documentation n’a pas fait l’objet d’un actualisation récente, et nécessite donc une adaptation aux évolutions, mais reste utile en l'état
La gestion du stock
Principe
Le stock de Divalto est géré par les ventilations d’entrée en stock.
Lorsqu’une pièce correspond à une entrée, les données relatives au stock sont gérées :
STDT, la date du stock
Cette date correspond à la date du bl (bldt) en FIFO, à 99999999 – la date de bl en LIFO et est saisie par l’utilisateur en FEFO.
La date du stock est toujours incluse dans les champs des index sur le stock.
STQTE, la quantité du stock
Cette quantité correspond initialement à REFQTE (qté livrée en unité de référence).
Lorsque des sorties vont déstocker une ventilation, sa quantité STQTE va petit à petit être décrémentée. Lorsqu’elle devient nulle, la ventilation ne fait plus partie du stock.
CEA, indicateur de ventilation en stock ou pas.
Tant que STQTE n’est pas nulle, CEA contient 1. Les index sur le stock ont comme condition de validité CEA = « 1 ».
L’indicateur passe à espace lorsque STQTE devient nulle.
Le stock d’un article s’obtient en programmant une boucle de lecture du fichier des ventilations en exploitant les index sur le stock (clés O,P ou Q de GTFVTL). Dans cette boucle, STQTE doit être cumulé.
VTLNO, numéro d’identification d’une ventilation
Une ventilation est identifiée de manière unique dans la base par son numéro VTLNO.
VTLNA, numéro de ventilation associée
Lorsqu’une ventilation correspond à un flux de sortie BL, alors la donnée VTLNA contient le numéro de ventilation de l’entrée vers laquelle elle pointe.
Le module GTPMSTOC.dhop
Ce module centralise les différentes fonctions de gestion du stock. Ces fonctions utilisent des TDF déclarées en extern de même que des enregistrements externes. Ceci signifie que l’appel à ces fonctions entraîne la modification des positions courantes dans les fichiers gtfvtl et gtfres.
Le contenu des enregistrements MVTL et MRES est lui aussi modifié.
Il faudra faire attention à sauvegarder ces données selon les cas.
Stock_Calculer_Quantite_EnStock(ref,sref1,sref2,depo,serie,nst,lieu,ToutStatus)
Cette fonction retourne la quantité en stock d’un article. Elle ne tient pas compte des entrées forcées, ni des réservations.
Les paramètres sont :
Ref Référence
Sref1 Sous-référence 1
Sref2 Sous-référence 2
Depo Code dépôt
Serie Numéro de série ou de lot
Nst Nature de stock
Lieu Code emplacement
ToutStatus par défaut vaut false.
Si true, alors toutes les ventilations du stock sont cumulées.
Si false, seules les ventilations ayant un Status à 2 sont cumulées (contrôle qualité).
La fonction retourne la quantité en stock en unité de référence.
Stock_Calculer_Quantite_PourDestockage(ref,sref1,sref2,depo,nst,mode)
Cette fonction calcule la quantité qui peut être déstockée pour un article (au plus). Cette fonction déduit les réservations du stock.
La gestion des réservations doit être active pour que cette fonction puisse être exploitée. Dans le cas contraire, la fonction retourne « High-Value ».
Le paramètre mode permet de spécifier le type de réservation à prendre en compte :
0 (défaut), affectés sur stock et non affectés
1, tous
2, non affectés uniquement
3, affectés sur stock uniquement
Stock_Entree_Forcee_Regulariser(ref,sref1,sref2,depo,serie,nst,lieu,ReserverStock,MaxiBldt)
La procédure Stock_Entree_Forcee_Regulariser permet d’appeler la fonction de régularisation pour un article, nature, no de série, dépôt, emplacement précis.
ReserverStock permet de spécifier s’il faut demander la réservation du stock de l’article (hshare) (si true) ou non (si false, défaut)
MaxiBlDt permet de spécifier une date limite de régularisation. Si elle n’est pas passée en paramètre, la date limite utilisée est G1T2.BLDT.
Consultez le chapitre suivant concernant GTPMSTOCSQL
Le module GTPMSTOCSQL.DHOP ou les fonctions SQL du GTPMSTOC.DHOP
Ce module centralise les différentes fonctions de gestion du stock dans leur version SQLisés.
Pour la documentation, il faut utiliser XWIN et le information du survol
Exemple après déclaration du module GTPMSTOCSQL.dhop
Liste des fonctions et procédures du GTPMSTOCSQL (stock et réservations)
Prototypes de fonctions et procédures GTPMSTOCSQL |
---|
public function char Get_MRES_Mode_Auto() |
Public Function int Article_Reservation_Quantite(depo,ref,artind,sref1,sref2,nst,tiersstock,mode,filtresref,MultiDepo) |
public function int Set_MRES_Mode_Auto(CE6) |
Public Function int Stock_Quantite(ref,artind,sref1,sref2,depo,serie,nst,tiersStock,lieu,ToutStatus,ToutTiersStock,MultiDepo,CumulerSref) |
Public Function int Stock_Reservation_Affecte_Creation (Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, ReservationType, &TicketResS, TicketResE ,ResaAffaire) |
Public Function int Stock_Reservation_Affectee_Qte_BP_Annulation (BpDetNo , QteAAnnuler) |
Public Function int Stock_Reservation_Entree_A_Affecter_Controle (VtlNo,&QteARes,&TicketResE, Depo, Ref,ArtInd, Sref1, Sref2, Nst, Serie, Lieu,ReservationType) |
Public Function Int Stock_Reservation_Existence_Verification(ticketRes, sens, ce2) |
Public function int Stock_Reservation_NonAffecte_Actualisation (&Mvtl_Sortie,&QteDispo) |
Public Function int Stock_Reservation_NonAffecte_Creation (Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, TicketResS ,ResaAffaire) |
Public function int Stock_Reservation_NonAffecte_Generation (&Mvtl_Sortie,&QteDispo) |
Public Function int Stock_Reservation_NonAffectee_Qte_Annulation (ticketres , qte) |
Public Function int Stock_Reservation_Qte_Annulation (ticketresS , QteAAnnuler) |
Public Function int Stock_Reservation_Quantite(ticketres, sens, mode) |
Public Function int Stock_Reservation_Quantite_Disponible(Depo, Ref,ArtInd, Sref1 ,Sref2, Nst, TiersStock, MultiDepo, CumulerSref) |
Public Function int Stock_Reservation_Sortie_Annulation (ticketresS) |
Public function int Stock_Ventilation_Donnee_Stock_Controle (&Mvtl_Sortie,Mvtl_Controle,HandleError) |
Public procedure Stock_Donnee_Stock_Controle_Init (G1T1_Sortie,T017_Ori,T017_Dst,&Mvtl_Controle) |
Public procedure Stock_Reservation_Affaire_Actualisation_Selection (&CbesoinGpa,&Valeur_Condition,ResDebDt,ResFinDt,HorizonArticleFl) |
Public procedure Stock_Reservation_Affaire_Affectation_Creer (&GPACBESOIN,mode,ReserverStock,QteAAffecter,Lieu) |
Public procedure Stock_Reservation_Affaire_Affectation_Transformer (&GPACBESOIN,mode,ReserverStock,QteAAffecter,Lieu) |
Public procedure Stock_Reservation_Affectation_Creer (&MVTL,mode,ReserverStock,QteAAffecter,Lieu) |
Public procedure Stock_Reservation_Affectation_Transformer (&MVTL,mode,ReserverStock,QteAAffecter,Lieu) |
Public Procedure Stock_Reservation_Affecte_Traiter (&Mvtl,Vtlno,refqte, reservationtype,ReserverStock) |
Public Procedure Stock_Reservation_Affecte_Traiter_Affaire (&GpaCBesoin,Vtlno,refqte, reservationtype,ReserverStock) |
Public Procedure Stock_Reservation_BP_Affaire_Transferer (&MVTL_Sortie,TicketResS,ReserverStock) |
public procedure Stock_Reservation_Debut |
public procedure Stock_Reservation_Fin |
Public procedure Stock_Reservation_NonAffecte_Creer (Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock,TicketResS ,Qte, ResaAffaire) |
Public Procedure Stock_Reservation_NonAffecte_Traiter (&Mvtl, ReserverStock) |
Public Procedure Stock_Reservation_NonAffecte_Traiter_Affaire (&GpaCBesoin, ReserverStock) |
Liste des fonctions et procédures du GTPMSTOC (Stock et réservations)
Prototypes de fonctions et procédures GTPMSTOC |
---|
Public function int Stock_Maj_MVTL_Rejeter(VtlNo, RcoNo, PiDt) |
Public function int Stock_Maj_MVTL_Status(VtlNo, RcoNo) |
Public Function int Controler_NiStock_NiReservation(ref,artind) |
Public Function int Depot_GereReservation(Depo) |
Public function int Stock_Affaire_Calculer_QuantiteDestockee(ElemNo, AfrIndice, BesoinNo) |
Public Function int Stock_Annuler_Qte_Reservation(ticketres , qte, maj_mvtl) |
Public Function int Stock_Annuler_Qte_Reservation_Affecte(ticketres , qte, bpdetno) |
Public Function int Stock_Calculer_Quantite_EF_SQL(ref,artind,sref1,sref2,depo,nst) |
Public Function int Stock_Calculer_Quantite_EnStock(ref,artind,sref1,sref2,depo,serie,nst,tiersStock,lieu,ToutStatus) |
Public Function int Stock_Calculer_Quantite_EnStock_SQL(ref,artind,sref1,sref2,depo,serie,nst,tiersStock,lieu,ToutStatus,ToutTiersStock,MultiDepo,CummulerSref) |
Public Function int Stock_Calculer_Quantite_PourDestockage(ref,artind,sref1,sref2,depo,nst,tiersStock,mode, TransfertEmplacement) |
Public Function int Stock_Controler_Disponible(err, proposerSubst) |
Public Function int Stock_Controler_Donnee_Stock(err,SerieAutoFl) |
Public Function int Stock_Controler_Peremption(REF, ARTIND, SREF1, SREF2, DEPO, SERIE,NST,TIERSSTOCK, LIEU, Date) |
Public Function int Stock_Controler_Reserver_Cde |
Public Function int Stock_Controler_Secable_Stock(err,ticod,picod,mode) |
Public Function int Stock_Controler_Serie_Et_Stock(err,ticod,picod,mode) |
Public function int Stock_Deplacer_Stock_Commande(ticod, PicodDst, FullCdNo, LstMouv, DepoDest) |
Public Function int Stock_Deplacer_Vers_Zone_Affaire(BpNo, ticod, Affaire, AfrIndice, ElemNo, &transfert_FullPino, ModeMuet, affMsg) |
Public Function int Stock_Deplacer_Vers_Zone_Production(bpNo, ticod, &transfert_FullPino, ModeMuet, affMsg) |
Public Function int Stock_Deplacer_Vers_Zone_Transit(bpNo, ticod, &transfert_FullPino, ModeMuet, affMsg) |
Public Function int Stock_Disponible_A_Date(&QteDispoRepDt,&QteDispoAccDt,&QteDispoDemDt,DELREPDT,DELACCDT,DELDEMDT,MultiDepo)) |
Public Function int Stock_Disponible_A_Date2(&QteDispo,&QteReserve,Delai,MultiDepo,CummulerSref) |
Public Function int Stock_Entree_Forcee_Creation(vtlno,W1MVTL,qte,AvecBlDt) |
Public Function int Stock_Generer_ENT_Associe(picod) |
Public Function int Stock_Mvtl_Non_Destockable |
public function int Stock_reservation_Affaire_AjouterSortie(ticketresori, &ticketresnew, &qte, ticketrese, fullref, sref1, sref2) |
public function int Stock_Reservation_Affectee_Reactivation(VtlNa, BlAsVtlNo) |
Public function int Stock_Reservation_AjouterEntree(ticketres1, &ticketres2, &qte, ref,artind, sref1,sref2, ReserverStock) |
Public Function int Stock_Reservation_Annuler(ticketres,sens,ReserverStock,ReserverArt,ref,artind,sref1,sref2,nst) |
Public Function int Stock_Reservation_Annuler_Sql(ticketRes, sens, reserverStock, reserverArt, ref, artInd, sref1, sref2, nst) |
Public Function int Stock_Reservation_Calculer_Disponible (Depo, Ref,ArtInd, Sref1 ,Sref2, Nst, TiersStock) |
Public Function int Stock_Reservation_Calculer_Disponible_EnCdeFou_SQL(ref,sref1,sref2,nst,depo,deldt,AvecReserver,etat,MultiDepo,CummulerSref) |
Public Function int Stock_Reservation_Calculer_Disponible_LieuSerie_Sql(Depo, Ref,ArtInd, Sref1 ,Sref2, Nst, TiersStock, Lieu, Serie, MultiDepo, CummulerSref) |
Public Function int Stock_Reservation_Calculer_Disponible_Sql(Depo, Ref,ArtInd, Sref1 ,Sref2, Nst, TiersStock, MultiDepo, CummulerSref) |
Public Function int Stock_Reservation_Calculer_Existant(ticketres, sens, mode, BpDetNo, TicketMResS) |
Public Function int Stock_Reservation_Calculer_Existant_Sql(ticketres, sens, &SumRes, BpDetNo, TicketMResS) |
Public Function int Stock_Reservation_Calculer_Quantite_EnCde(ref,artind,sref1,sref2,nst,depo,deldt,AvecReserver,enrno,etat) |
Public Function int Stock_Reservation_Calculer_Quantite_EnCde_SQL(ref,artind,sref1,sref2,nst,depo,deldt,AvecReserver,enrno,etat,MultiDepo,CummulerSref) |
Public Function int Stock_Reservation_Calculer_Quantite_Reserve(depo, ref,artind,sref1,sref2,nst,tiersstock,mode) |
Public Function int Stock_Reservation_Calculer_Quantite_Reserve_LieuSerie_SQL(depo,ref,artind,sref1,sref2,nst,tiersstock,mode,filtresref,TransfertEmplacement,MultiDepo,Lieu,Serie) |
Public Function int Stock_Reservation_Calculer_Quantite_Reserve_SQL(depo,ref,artind,sref1,sref2,nst,tiersstock,mode,filtresref,TransfertEmplacement,MultiDepo,lieu,serie) |
Public Function int Stock_Reservation_Calculer_Quantite_ReserveSeca_SQL(depo, ref,artind,sref1,sref2,nst,tiersstock,manutcod,serie,mode,filtresref, TransfertEmplacement) |
Public Function int Stock_Reservation_ControlerEtMaj_Entree_AAffecter(&QteARes,&TicketResE, Depo, Ref,ArtInd, Sref1, Sref2, Nst, Serie, Lieu, Vtlno, ReservationType) |
Public Function int Stock_Reservation_Creer_Affecte(Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, TicketresE, ReservationType, TicketResS, bpdetno) |
Public Function int Stock_Reservation_Creer_Affecte_Affaire(Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, ReservationType, &TicketResS, TicketResE ) |
Public Function int Stock_Reservation_Creer_NonAffecte(Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersStock,Qte, Ticketres,ResAfr) |
Public Function Int Stock_Reservation_Creer_NonAffecte_Sql(depo, ref, artInd, sref1, sref2, nst, tiersStock, qte, ticketRes, resAfr) |
Public Function Int Stock_Reservation_Desaffecter(TicketResE, TicketResS, ReserverStock, ReserverArt, LibererAff, Ref,ArtInd, Sref1, Sref2, nst) |
public function int Stock_Reservation_Eclater(TicketRes, Qte, Sens, &TicketResE, &ResQte, &Ce2, TicketResEntreeADestocker, BpDetNo, TicketMResS) |
Public Function int Stock_Reservation_Existence_Affaire (TicketResS) |
Public Function int Stock_Reservation_Forcer_NonAffecte(&MVTL , qte,ReserverStock,ReserverArt) |
public function int Stock_Reservation_Fusionner(TicketRes1, TicketRes2, Sens, ReserverStock, Ref, ArtInd, SRef1, SRef2) |
public function int Stock_Reservation_Fusionner_Sql(TicketRes1, TicketRes2, Sens, ReserverStock, Ref, ArtInd, SRef1, SRef2, Ce5) |
public function int Stock_Reservation_ModifierCodeOperation(enrno, OP, tiersstock, ReserverStock, ReserverArt) |
Public function int Stock_Reservation_NonAffecte_CBesoin_Ajout (&CBesoin,ResQte,ReserverStock,ReserverArt) |
Public function int Stock_Reservation_Partager(ticketres1, &qte1, &ticketres2, &qte2, ref,artind,sref1,sref2, ReserverStock) |
public function int Stock_reservation_selectionner_Entree(TicketResS, &TicketResE,Lieu, Serie) |
Public Function int Stock_Reservation_Verifier_Existence(ticketres,sens) |
Public Function Int Stock_Reservation_Verifier_Existence_Sql(ticketRes, sens, ce2) |
Public Procedure Stoc_Maj_Sart(ref,artind,sref1,sref2,saip,pustat,cr,cmp,etb,depo,pidt) |
public procedure Stock_Actualiser_Wms |
public procedure Stock_Affaire_GenererReservationAffectee_Commande(Depo, Ref, ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, &TicketResS, &TicketResE) |
public procedure Stock_Affaire_GenererReservationAffectee_Stock(Depo, Ref,ArtInd, Sref1 ,Sref2, Nst, TiersSTock, Qte, &TicketResS, &TicketResE) |
public procedure stock_Arreter_ActualisationAuto_Res_GPACBesoin |
public procedure stock_Arreter_Appel_sequence_reservation_Affaire |
public procedure stock_Autoriser_ActualisationAuto_Res_GPACBesoin |
public procedure stock_Autoriser_Appel_sequence_reservation_Affaire |
Public Procedure Stock_Calculer_Quantite_PourDestockage_SQL(ref,artind,sref1,sref2,depo,nst,tiersStock,mode, &QteEnStock, &QteReserve) |
Public Procedure Stock_Charger_ENT_BLAssocie |
Public Procedure Stock_Charger_MOUV_BLAssocie(PositionnerEnt, NouveauMouv ) |
public procedure Stock_ContreMarque_AugmenterReservationAffectee(&MVTL) |
public procedure Stock_ContreMarque_GenererReservationAffectee(EnrNo_sortie, &TicketResE, Depo) |
public procedure Stock_Eclater_Ventilation_Par_Reservation(Liste) |
Public Procedure Stock_Entree_Forcee_Regulariser(ref,artind,sref1,sref2,depo,serie,nst,tiersstock,lieu,ReserverStock,MaxiBldt) |
Public Procedure Stock_Generer_MOUV_Associe |
Public Procedure Stock_Generer_Vtl_Associe(reliquat,TicketResE,ResQte) |
Public procedure Stock_Init_ListesStock |
Public Procedure Stock_Maj_ENT_BLAssocie |
Public Procedure Stock_Maj_MOUV_BLAssocie(perime) |
public Procedure Stock_MAJ_MVtl_Associe_EF(newVtl) |
Public Procedure Stock_Maj_Stock_En_Saisie(&vtllilg,picod,maj,ForcerEF,ReserverStock) |
Public Procedure Stock_Maj_Stock_WMS |
public Procedure Stock_MAJ_Vtl_Associe(TicketRes,ResQte) |
Public procedure Stock_MAJ_Vtl_Associe_Reliquat_Commande(TicketRes,ResQte) |
Public procedure Stock_MAJ_Vtl_Associe_Validation |
Public Procedure Stock_Perimer_ENT_CdAssociee |
public procedure Stock_PieceAssocie_Reactivation_Entete |
public procedure Stock_PieceAssocie_Reactivation_Mouvement |
public procedure Stock_PieceAssocie_Reactivation_Ventilation |
Public Procedure Stock_Reservation_Activer(Ticod, Picod, FullPino) |
Public procedure Stock_Reservation_Actualisation_Affaire_Selection (&CbesoinGpa,&Valeur_Condition) |
public Procedure Stock_Reservation_Affaire_Actualisation(ref,artind,sref1,sref2,depo,serie,nst,tiersstock,ReserverStock) |
Public procedure Stock_Reservation_Affecter_Reservation (&MVTL,mode,ReserverStock,AvecCreationListe,AvecLectureArt,bpdetno,QteAAffecter, UtiliserListeExistantes,TraiterResaExistante) |
Public procedure Stock_Reservation_Affecter_Reservation_Affaire (&GPACBESOIN,mode,ReserverStock,AvecCreationListe,AvecLectureArt,bpdetno,QteAAffecter, UtiliserListeExistantes, AnnulerResaExistante,TraiterResaExistante) |
Public Procedure Stock_Reservation_CouvBesoin_Actualisation_Affaire(ResDebDT,ResFinDt,HorizonArticleFl) |
Public Procedure Stock_Reservation_Maj_Affecte(&MVTL,ReserverStock,ReserverArt) |
Public Procedure Stock_Reservation_Reaffecter_BP (&BPDET_Old, Grref, depo, lieu, nst, tiersStock, serie, Bpqte, bpdetno) |
public procedure Stock_Reservation_recreerAffectationContremarque(MVTL, ReserverArt) |
Public Procedure Stock_Reservation_Traiter_Affecte (&MVTL,ReservationType,Vtlno,ReserverStock,ReserverArt,refqte,refqteold, bpdetno, RetourPingReserve) |
Public Procedure Stock_Reservation_Traiter_Affecte_Affaire (&GpaCBesoin,Vtlno,ReserverStock,ReserverArt,refqte, reservationtype) |
Public Procedure Stock_Reservation_Traiter_Affecte_BP(&BPDET, VtlNo, Qte, ReserverStock, ReserverArt) |
Public Procedure Stock_Reservation_Traiter_NonAffecte (&MVTL,ReserverStock,ReserverArt,refqteold,resqtenew) |
Public Procedure Stock_Reservation_Traiter_NonAffecte_CBesoin (&CBesoin,&StResQte, ReserverStock,ReserverArt,ResQteNew) |
Public Procedure Stock_Reservation_Traiter_NonAffecte_Sql(&MVTL, reserverStock, reserverArt, refQteOld, resQteNew) |
Public Procedure Stock_Reservation_Transferer_LigneBP_SurNouveauTicket(&MVTL,BPDetNo ,ReserverStock) |
Public Procedure Stock_Reservation_Transferer_Of_Affaire (&MVTL,ElemNo,AfrIndice,ReserverStock,ReserverArt) |
public procedure Stock_Reservation_Transferer_sortie(TicketResOld, ticketResNew) |
Public Procedure Stock_Sortie(QteInitiale,ForcerEF, TransfertEmplacement) |
Public Procedure Stock_Sortie_EF_Regulariser(&WEFMVTL,&QteEnStock,MaxiBldt) |
Public Procedure Stock_Supprimer_ENT_Associe |
Public Procedure Stock_Supprimer_Etape_courante_MOUV_Associe |
Public Procedure Stock_Supprimer_MOUV_Associe |
Public Procedure Stock_Supprimer_Stock_En_Batch |
Public Procedure Stock_Supprimer_Stock_En_Saisie |
Public Procedure Stock_Supprimer_Vtl_Associee |
Public Procedure Stock_Suprimer_Stock_WMS(Entree, MVTL_Loc) |
public procedure SumMvtlSec_Selection (ref,artind,sref1,sref2,depo,manutcod,serie,nst,tiersStock,lieu,stqte,ToutStatus,ToutTiersStock) |
La gestion des réservations
Principe
Lorsque la gestion des réservations est activée, alors les programmes de saisie (et l’intégrateur) génère des enregistrements MRES dans le fichier GTFRES.
Une réservation est liée à sa ventilation par le numéro de ticket (ticketres) stocké dans la ventilation.
La réservation n’est générée que si l’indicateur STRES est à Oui lorsque l’utilisateur valide la ligne en saisie.
Dans MRES, le numéro de ticket est enregistré dans la donnée ticketress (numéro de ticket de sortie).
Le code enregistrement CE2 spécifie le type réservation :
1 affectée sur stock
2 non affectée
3 affectée sur commande
Réservations non affectées
Lorsque la réservation est non affectée, alors seules les ventilations de commande en sortie pointe sur des MRES.
Ceci signifie que pour calculer le stock net d’un article, il faut :
Calculer le stock sur GTFVTL,
Déduire les éventuelles entrées forcées
Déduire les réservations sur l’article.
Cette dernière déduction est à faire en lisant GTFRES.
Réservations affectées
Lorsque l’utilisateur affecte sa réservation, alors l’enregistrement MRES est lié par la donnée ticketress à la ventilation de sortie (commande client) et par la donnée ticketrese à la ventilation d’entrée.
Dans ces deux ventilations, c’est la même donnée ticketres qui contient le numéro.
Plusieurs enregistrements MRES peuvent avoir un même ticket sortie ou un même ticket entrée.
Ticket de sortie multiple
Cette situation se rencontre lorsqu’une seule ventilation de sortie pointe sur plusieurs entrées différentes.
Ticket d’entrée multiple
Une même entrée en stock peut être affectée par plusieurs ventilations de sortie différentes.
Calcul de la quantité réservée
Pour calculer la quantité réservée, il faut donc programmer une boucle qui cumule la quantité réservée RESQTE des MRES pour un même numéro de ticket.
La quantité RESQTE des ventilations n’est pas toujours synchronisée avec les réservations. Elle n’est qu’indicative et n’est jamais exploitée dans Divalto.
Les programmes d’actualisation des réservations ne maintiennent pas la donnée quantité réservée dans les ventilations lorsque la pièce est réservée.
Fonctions de gestion des réservations GTPMSTOC.dhop
Le module GTPMSTOC.dhop contient des fonctions et des procédures qui permettent la gestion des réservations par programme spécifique. Les fonctions utilisent les TDF et les enregistrements des réservations et des ventilations.
Il faut veiller à sauvegarder les clés courantes et le contenu des enregistrements (en particulier MVTL) avant l’appel aux fonctions et restaurer ces paramètres après.
Calculer la quantité en commande
Stock_Reservation_Calculer_Quantite_EnCde(ref,sref1,sref2,nst,depo,deldt,AvecReserver,enrno,etat)
Cette fonction retourne la quantité en portefeuille de commande pour un article, une nature de stock et un dépôt donnés.
Le délai permet de calculer la quantité pour une date précise.
Ref Référence
Sref1 Sous-référence 1
Sref2 Sous-référence 2
Nst Nature de stock
Depo Code dépôt
Deldt Délai (date)
AvecReserver Si true on tient compte des quantités réservées, à false on ignore ces quantités
Enrno Si renseigné, permet d’ignorer les ventilations ayant ce numéro ENRNO (numéro de rattachement au MOUV).
Etat Si renseigné, permet de filtrer sur l’état (CE4 de MVTL). 0 par défaut signifie tout état confondu.
Calculer les réservations d’un article
Stock_Reservation_Calculer_Quantite_Reserve(depo, ref,sref1,sref2,nst,mode)
Cette fonction retourne la quantité réservée pour un article. Elle lit directement GTFRES et des enregistrements MRES.
Depo Code dépôt
Ref Référence
Sref1 Sous-référence 1
Sref2 Sous-référence 2
Nst Nature de stock
Mode 0 = Non affectés et affectés sur stock
1 = Tous
2 = Non affectés uniquement
3 = Affectés sur stock uniquement
Calculer les réservations pour un ticket
Stock_Reservation_Calculer_Existant(ticketres,sens,mode)
Cette fonction retourne la quantité réservée pour un ticket.
Si le ticket passé et le sens correspondent à une ventilation de sortie, la fonction retourne les réservations de cette sortie.
Si le ticket passé et le sens correspondent à une ventilation en entrée, alors la fonction retourne la quantité affectée sur ce stock ou commande en entrée.
Ticketres Numéro de ticket
Sens Sens de la ventilation (1=Entrée, 2=Sortie)
Mode Utilisé si le sens est une sortie (2)
0 = toutes les réservations
1 = Réservations affectées sur stock
2 = Réservations affectées sur stock et non affectées
Réduire une quantité réservée affectée
Stock_Annuler_Qte_Reservation_Affecte(ticketres , qte)
Cette fonction diminue la quantité réservée par rapport au ticket passé. Elle retourne la quantité pour la mise à jour du compteur article.
Ticketres Numéro de ticket
Qte Quantité à libérer
Réduire une quantité réservée
Stock_Annuler_Qte_Reservation (ticketres , qte)
Cette fonction diminue la quantité réservée par rapport au ticket passé. Elle retourne la quantité pour la mise à jour du compteur article.
Elle commence par libérer les éventuelles réservations non affectées puis les affectées.
La libération entraîne une régularisation automatique des entrées forcées.
Ticketres Numéro de ticket
Qte Quantité à libérer
Annuler une réservation
Stock_Reservation_Annuler(ticketres,sens,ReserverStock,ReserverArt,ref,sref1,sref2,nst)
Cette fonction annule les réservations pour un ticket donné et un sens.
Pour un sens sortie, la fonction annule les réservations.
Pour un sens entrée, la fonction annule l’affectation. Ceci signifie qu’une affectation sur stock devient une réservation non affectée.
Ticketres Ticket en entrée ou en sortie
Sens 1=Entrée, 2=Sortie
ReserverStock Si true, l’entité stock est réservée
ReserverArt 0 = Pas de réservation, 1=Réservation article, 2=Shift, 9 = pas de mise à jour des compteurs
Ref, sref1, sref2 et nst doivent être données en cas de réservation (stock, art) et mise à jour de compteur article.
Calcul du disponible
Stock_Reservation_Calculer_Disponible (Depo, Ref, Sref1 ,Sref2, Nst)
Cette fonction retourne la quantité disponible pour un article. Le traitement est une lecture du stock puis une déduction de la quantité réservée (Stock_Reservation_Calculer_Quantite_Reserve).
Depo Code dépôt
Ref Référence
Sref1 Sous-référence 1
Sref2 Sous-référence 2
Nst Nature de stock
Générer une réservation non affectée
Stock_Reservation_Traiter_NonAffecte (&MVTL,ReserverStock,ReserverArt,refqteold)
Cette procédure génère une réservation non affectée attachée à MVTL passé en paramètre. La génération ne se fait que si MVTL.STRES vaut 2 (Oui).
MVTL Ventilation qui demande une création de réservation
ReserverStock Si true, l’entité stock est réservée
ReserverArt 0 = Pas de réservation, 1=Réservation article, 2=Shift, 9 = pas de mise à jour des compteurs
Refqteold Quantité déjà déstockée (pour ne pas réserver cette part).
MVTL est modifiée par la procédure. En retour, le numéro de ticket et la quantité réservée sont mis à jour dans l’enregistrement. Il faudra donc penser à réécrire l’enregistrement ou à modifier l’élément dans une liste.
Refqteold permet de limiter la quantité réservée. Elle doit contenir la part à ne pas réserver.
Cette fonction assure également la suppression des réservations si MVTL.STRES est à non (1).
Générer une réservation affectée
Stock_Reservation_Traiter_Affecte (&MVTL,ReservationType,Vtlno,ReserverStock,ReserverArt,refqte,refqteold)
Cette procédure permet de générer une réservation affectée entre la ventilation MVTL passée en paramètre et la ventilation d’entrée pointée par le numéro de ventilation vtlno.
La procédure est capable de générer des affectations sur stock (type = 1) et sur commande (type = 3).
MVTL Ventilation qui demande une création de réservation
ReservationType 1=sur stock, 3=Sur commande
Vtlno Numéro de ventilation de l’entrée à affecter
ReserverStock Si true, l’entité stock est réservée
ReserverArt 0 = Pas de réservation, 1=Réservation article, 2=Shift, 9 = pas de mise à jour des compteurs
Refqte Quantité à réserver. Si nul, REFQTE de MVTL est pris en compte
Refqteold Quantité déjà déstockée (pour ne pas réserver cette part).
Atelier
En saisie de commande client, pour un article géré en numéro de lot/série, générer une réservation affectée automatiquement à la validation d’une ligne (G1T1_Ligne_Validation_Ap).
Pour chaque ventilation de la ligne, cette génération ne se fait que si STRES est à 2 et qu’une réservation (non affectée) a pu être effectuée.
L’attribution du numéro doit se faire automatiquement selon la méthode de déstockage (FIFO).
Ces affectations sont réalisées après la validation de la ligne.
Fonctions de gestion des réservations GTPMSTOCSQL.dhop
Voir le chapitre Gestion de stock et réservations | 3.3 Le module GTPMSTOCSQL.DHOP puisque, comme précédemment le GTPMSTOC comporte la gestion de stock et réservation, le GTPMSTOCSQL utilise le même principe
Le calcul des besoins
Le Calcul des besoins se déroule en deux phases :
La sélection et la génération d’un fichier de proposition (gtfcbn) qui contient des en-têtes et des lignes de détail.
BNProp pour les propositions, BNOri pour les origines des besoins et BNCal pour les besoins calculés.
Enfin, un enreg BNPar gère les paramètres de lancement d’un CBN.
Les enregs bnori et bncal sont liés à la proposition par des chronos :
CBnNo + BnCalNo pour retrouver les éléments BNCal d’une proposition.
CBnNo + BnOriNo pour retrouver les éléments BnOri d’une proposition.
Les propositions sont ensuite traitées par la validation des propositions (GTPP765.dhop)
Lorsque le CBN doit générer les OF, ceux-ci sont directement écrits dans un fichier de type GTFPLAN et intégrés par l’intégrateur (GGPP100.dhop).
Les propositions d’achat sont écrites dans un fichier GTFI.
- 1 La gestion du stock
- 2 La gestion des réservations
- 2.1 Principe
- 2.2 Réservations non affectées
- 2.3 Réservations affectées
- 2.4 Fonctions de gestion des réservations GTPMSTOC.dhop
- 2.4.1 Calculer la quantité en commande
- 2.4.2 Calculer les réservations d’un article
- 2.4.3 Calculer les réservations pour un ticket
- 2.4.4 Réduire une quantité réservée affectée
- 2.4.5 Réduire une quantité réservée
- 2.4.6 Annuler une réservation
- 2.4.7 Calcul du disponible
- 2.4.8 Générer une réservation non affectée
- 2.4.9 Générer une réservation affectée
- 2.4.10 Atelier
- 2.5 Fonctions de gestion des réservations GTPMSTOCSQL.dhop
- 3 Le calcul des besoins