| APRGMD : Approvisionnement multi-dates(Paramètre actif depuis la version ACE 1.6.2) |
|
|
Ce paramètre permet, en un seul traitement, d’effectuer une analyse des besoins de réapprovisionnement de stock d’un produit à différentes dates.
|
|
Attention
Ce traitement nécessite l’utilisation d’un dépôt de globalisation (voir ppe APRGBL) La formule de réapprovisionnement doit par ailleurs tenir compte du compteur de stock incrémenté par l’opération de stock donné en A2 |
Fonctions concernées : APROG1 (+ certaines options sur APROG2 et APROG5)
Utilisation avec d’autres paramètres :
| A2 |
Opération de stock appliquée sur la fiche stock du dépôt de globalisation (voir ppe APRGBL) après chaque calcul de besoin, avec la quantité à réapprovisionner (tenant compte des quotités du fournisseur) et à la date de réception prévue (datexp), afin de ne plus reprendre cette quantité dans l’analyse pour la date suivante (tenir compte de ce compteur dans le disponible de l’un des compteurs de déclenchement de la formule de réappro FSx1 à FSx4, et le compteur de la quantité à réapprovisionner FSx5). |
|
|
Trucs et astuces On peut utiliser une fonction Oracle ne ramenant qu’un seul row pour pouvoir bénéficier de cette fonctionnalité sur un approvisionnement non multi-date. Dans ce cas, A2 peut ne pas être renseigné, et le mode APRGBL n’est plus obligatoire. |
| N1 | = 1 |
Activation de la fonction Oracle donnée en L1, avec les paramètres suivants : -- Contexte p_codsoc IN NUMBER, p_codpev IN VARCHAR2, p_uticod IN VARCHAR2, p_datsys IN VARCHAR2, p_heusys IN NUMBER, -- Fiche stock p_dsk_codsoc IN NUMBER, p_dsk_sigdep IN VARCHAR2, p_dsk_codpro IN VARCHAR2, p_del_stkprv IN NUMBER, -- Options p_datdeb_stkprv IN VARCHAR2, p_datfin_stkprv IN VARCHAR2 avec p_datdeb_stkprv et p_datfin_stkprv correspondant aux option5 et option6 de l’exécutable aprog1.exe et ramenant plusieurs row, de description DATEVE VARCHAR2(8) DATLIV VARCHAR2(8) DATEXP VARCHAR2(8) DATFIN_ANALYSE_STKPRV VARCHAR2(8) DELAI_ANALYSE_STKPRV NUMBER DELAI_CVC NUMBER Permettant de donner les différentes dates de création d’événement et d’analyse des stocks. |
|
|
Traitement d’un row en retour de la fonction Oracle Le champ dateve doit être renseigné. Il représente la date de l’événement à générer (voir option N2 du ppe APRGMD). Si le champ datfin_analyse_stkprv est renseigné, on prend cette date comme date de fin d’analyse des stocks prévisionnels, sinon, cette date est calculée à partir de la dateve ramenée par le row, en y ajoutant le délai delai_analyse_stkprv ramené par le row si > 0, le délai standard sinon (l‘ajout du délai s’appuie sur le paramétrage de l’ajout standard d’un délai, notamment sur la prise en compte des jours fériés (voir ppe DELREA et CALFER)). Le champ datexp (date d’arrivée de la marchandise) permet, si renseigné, de forcer ce champ. Si non renseigné, alors on le force avec la date fin d’analyse des stocks Le champ datliv (date de départ de la marchandise) permet, si renseigné, de forcer ce champ. Si non renseigné, on le détermine avec datexp – délai réappro Le champ delai_cvc permet, si renseigné, de forcer la période d’analyse du compteur CVC. Si non renseigné, on prend la période standard (-1 si l’on ne veut pas utiliser les compteurs CVC, CVJ et CVB pour une date d’analyse). |
||
| N2 |
En génération de commande d’achat ou d’un plan d’approvisionnement par APROG1 Quelque soit l’option N2, on prend comme datexp et datliv des postes/lignes générés celle demandée en retour de la fonction Oracle (voir ci-dessus). Au niveau entête, on prend les datexp et datliv du premier poste/ligne de l’événement. |
||
| = 0 |
Par défaut, on génère un événement par date analysée, avec comme date d’événement (eve.dateve) celle donnée par la fonction Oracle. |
||
| > 0 |
La date de commande analysée est mémorisée en zn{N2} des postes créés (utilisé en mode Plan d’approvisionnement, voir ppe PLATAC. Le Plan d’approvisionnement sera quand à lui daté (eve.dateve) à la date du jour). Dans ce mode, il faut positionner le paramètre APRTRI (avec N1=1) pour que les postes créés suivent, en plus de l’ordre demandé par le lanceur, l’ordre des dates d’analyse. |
||
|
En génération de commande d’achat depuis un plan d’approvisionnement par APROG2 (avec le ppe PLATAC) ou APROG5 Quelque soit l’option N2, on prend comme datexp et datliv des postes/lignes générés celle des postes/lignes d’origine (le plan acheteur). Au niveau entête, on prend les datexp et datliv du premier poste/ligne de l’événement. |
|||
| = 0 |
On prend comme date d’événement (eve.dateve) celle de l’événement origine (le plan acheteur). |
||
| > 0 |
On génère un événement par date d’événement demandée en zn{N2} des postes d’origine (le plan acheteur). |
||
| N3 | = 1 |
Calcul des compteurs CVC en mode prévisionnel calculé à partir de la date de fin d’analyse des stocks + 1 jour, et sur un horizon de n jours (nombre de jour ramené par la fonction Oracle (voir Traitement d’un row en retour de la fonction Oracle) si renseigné, le délai nbjcvc de dsk ou pro sinon). Si le calcul des compteurs CVC s’appui sur la table HISTO_VTE (voir ppe CALCVC, N1=1), on utilise alors les prévisions mémorisées sur le champ qteprev. |
|
| N4 |
Permet de piloter la quantité à prendre pour l’opération de stock donnée en A2. Qte_formule_reappro = quantité retournée par l’application de la formule de réapprovisionnement demandée Qte_a_reapprovisionner = quantité donnée par le paramètre maquette QTE_A_REAPPRO) ou « Qte_formule_reappro » éventuellement réajustée par le paramètre maquette AJUSTE_QTE_A_REAPPRO |
||
|
= 0 |
On utilise la quantité « Qte_a_reapprovisionner », tenant compte des quotités du fournisseur |
||
|
= 1 |
On utilise la quantité « Qte_a_reapprovisionner » sans tenir compte des quotités du fournisseur |
||
|
= 2 |
On utilise la quantité « Qte_formule_reappro », sans tenir compte des quotités du fournisseur (option non compatible avec le paramètre maquette QTE_A_REAPPRO) |
||
| L1 | Nom de la fonction Oracle |
Annexe :
Exemple de fonction Oracle pour le mode N1=1
drop type GNX_FCT_APR_N_DAT_RECORD_LIST; drop type GNX_FCT_APR_N_DAT_RECORD; drop function FCT_APR_N_DAT; create or replace type GNX_FCT_APR_N_DAT_RECORD AS OBJECT ( DATEVE VARCHAR2(8), DATLIV VARCHAR2(8), DATEXP VARCHAR2(8), DATFIN_ANALYSE_STKPRV VARCHAR2(8), DELAI_ANALYSE_STKPRV NUMBER, DELAI_CVC NUMBER ); create or replace type GNX_FCT_APR_N_DAT_RECORD_LIST is table of GNX_FCT_APR_N_DAT_RECORD create or replace function FCT_APR_N_DAT( -- Contexte p_codsoc IN NUMBER, p_codpev IN VARCHAR2, p_uticod IN VARCHAR2, p_datsys IN VARCHAR2, p_heusys IN NUMBER, -- Fiche stock p_dsk_codsoc IN NUMBER, p_dsk_sigdep IN VARCHAR2, p_dsk_codpro IN VARCHAR2, p_del_stkprv IN NUMBER, -- Options p_datdeb_stkprv IN VARCHAR2, p_datfin_stkprv IN VARCHAR2 ) return GNX_FCT_APR_N_DAT_RECORD_LIST pipelined as v_delai_analyse_stkprv number; v_delai_cvc number; begin v_delai_analyse_stkprv := 0; v_delai_cvc := 0; pipe row (GNX_FCT_APR_N_DAT_RECORD( '20121008', '20121010', '20121024', '20121220', v_delai_analyse_stkprv, v_delai_cvc )); pipe row (GNX_FCT_APR_N_DAT_RECORD( '20121204', '20121206', '20121224', '20130121', v_delai_analyse_stkprv, v_delai_cvc )); return; end FCT_APR_N_DAT;