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

 

image-20240903-135644.png

Liste des fonctions et procédures du GTPMSTOCSQL (stock et réservations)

Prototypes de fonctions et procédures GTPMSTOCSQL

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

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.