Affectations automatiques (GAFFD)

gaffd_b10 Bloc 10 des affectations automatiques

Ce traitement différé, activé depuis la fonction GAFF (menu « Traitement… », option « Délais »), permet d’allouer une partie des stocks à un événement.

Description du traitement

L’écran lanceur permet de sélectionner les lignes (EVL) des commandes d'achat (A/CDE) à traiter (champ « indver » à 3).

1ère étape

S’il n’est pas déjà mémorisé, on mémorise, dans un tableau, chaque produit lié des lignes de commande sélectionnées.

2éme étape

Lecture séquentielle du tableau des produits. Le traitement prend fin lorsqu’il tous les produits ont été traités.

3éme étape : traitement par produit
  • Lire toutes les lignes (evl) des commandes d'achat (A/CDE) à l'état V concernées par ce produit, et mémoriser dans un tableau les lignes avec :
    • n° cde/poste/ligne,

    • délai (année/semaine de réception prévue, 99/9999 si délai=0),

    • quantité commandée (qtecde),

    • quantité réceptionnée (qteliv),

    • les 2 premières lignes de commentaire.

  • Trier les lignes par délai
  • Se positionner sur la 1ére ligne du tableau des lignes fournisseur (ind_lig_fou = 1)
  • qtearecep_restante = reste à réceptionner de la ligne fournisseur (qtecde-qteliv)
  • Lire les evl des commandes de vente (V/CDE) à l'état V, concernées par ce produit et triées par rapport à la date de validation administrative et par raport à l'indicateur livraison totale ou partielle (même ordre que pour les affectations). Lire les lignes d'un poste pour totaliser la quantité livrée (qteliv) et affectée (qtesup1).

    A) A rupture de chaque poste, lire les délais fournisseurs (evt du poste avec numblo = 3) déjà mémorisés pour le poste. S'ils existent, les reblanchir, et calculer la quantité pour détermination délai

quantité pour détermination = quantité commandée (qtecde)

délai client (qtedel) - quantité livrée (qteliv)

- quantité affectée (qtesup1)

ind_delai = 1

B) Détermination des quantités et délais pour le poste de commande

si qtearecep_restante = 0 (toutes les lignes fournisseur sont traitées)

création (ou mise à jour) des délais,

avec qte (ind_delai) = qte (ind_delai) + qtedel

délai (ind_delai) = 99/9999

commen1 (ind_delai) = "En attente confirm.fourn"

commen2 (ind_delai) = " "

date mise à jour délai = date du jour

si délai 5, ne pas mettre à jour

commen1 (ind_delai)

commen2 (ind_delai)

s'ils sont déjà renseignés

retour en A s'il reste des postes

retour en 2éme étape si dernier poste traité

si qtedel <= qtearecep_restante

création (ou mise à jour) des délais,

avec qte (ind_delai) = qte (ind_delai) + qtedel

délai (ind_delai) = délai (ind_lig_fou)

commen1 (ind_delai) = commen1 (ind_lig_fou)

commen2 (ind_delai) = commen2 (ind_lig_fou)

date mise à jour délai = date du jour

si délai 5, ne pas mettre à jour

commen1 (ind_delai)

commen2 (ind_delai)

s'ils sont déjà renseignés

qtearecep_restante = qtearecep_restante - qtedel

retour en A s'il reste des postes

retour en 2éme étape si dernier poste traité

si qtedel > qtearecep_restante

création (ou mise à jour) des délais,

avec qte (ind_delai) = qte (ind_delai)

+ qtearecep_restante

délai (ind_delai) = délai (ind_lig_fou)

commen1 (ind_delai) = commen1 (ind_lig_fou)

commen2 (ind_delai) = commen2 (ind_lig_fou)

date mise à jour délai = date du jour

si délai 5, ne pas mettre à jour

commen1 (ind_delai)

commen2 (ind_delai)

s'ils sont déjà renseignés

qtedel = qtedel - qtearecep_restante

Si délai > 5

on laisse ind_delai = 5, et on force

commen1 (ind_delai) = "Plusieurs délais"

commen2 (ind_delai) = "---------------- "

sinon

Incrémenter ind_delai

se positionner sur ligne fournisseur suivante

ind_lig_fou = ind_lig_fou + 1

s'il n'y en a plus, forcer

qtearecep_restante = 0

sinon

qtearecep_restante = reste à réceptionner de la

ligne fournisseur (ind_lig_fou)

(qtecde-qteliv)

retour en B

Délai fournisseurs

Au niveau des Achats

La saisie et la validation des commandes d'achat en centrale s'effectue par la fonction GCOA_C par le service des achats.

Cependant, il arrive régulièrement que les délais changent pour tout un poste ou une partie du poste de commande d'achat.

On appellera alors la commande d'achat par la fonction GDFOU (Gestion des délais fournisseur) paramétrée pour ne permettre que la modification du cadencement des postes/lignes de la commande.

Pour modifier les dates de réception d'un poste, on activera le Popup <F1D> "Cadencement". L'utilisateur pourra alors éclater le poste en plusieurs lignes, avec pour chaque ligne la quantité et la semaine de réception prévue. Pour une réception non planifiée (à cause d'une rupture de stock, ....), on saisira la semaine 99/9999.

Sur chaque ligne, l'utilisateur peut commenter la nature du délai par le Popup « commentaire ». Les 2 premières lignes de commentaire seront reportées coté vente par le batch de calcul des délais fournisseur.

Lors de la validation des commandes d'achat, lors de la modification des délais fournisseurs, de la réception des lignes de la commande d'achat, ou du solde d'une commande d'achat (ou d'un poste), mettre 3 dans l'indicateur evl.indver.

Cet indicateur servira à déterminer les lignes modifiées non encore traitées par le traitement de report des délais.

Au niveau des Ventes

On visualisera les informations de délais fournisseur à partir d'une fonction paramétrée autour de GAFF, accessible qu'en consultation.

En effet, sur l'écran GAFF_1, on a déjà les informations :
  • Quantité Commandée
  • Quantité Livrée
  • Quantité Affectée
  • Date Livraison prévisionnelle

On y ajoutera, en entête, la date de la commande (dateve, datval).

Dans les lignes, on ajoutera le délai maximum de réception prévu pour ce poste, en Reverse s'il existe plusieurs délais pour ce poste.

Par <Popup>, l'utilisateur pourra consulter le détail des délais fournisseur pour le poste. Cet écran se présentera ainsi :

<<Ecran GAFF_5>>

--------------------------------------------------------------------------------

Délai Fournisseur : mis à jour le xx/xx/xxxx

Délai Qte Commentaire

----- ---------- ----------------------------------------

99 zzzzzz9.99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

99 zzzzzz9.99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

99 zzzzzz9.99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

99 zzzzzz9.99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

99 zzzzzz9.99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

----------------------------------------------------------------------H---------

| GAFF_5

Aménagement de la fonction GAFF

Actualisation des informations délai sur les Ventes

Ce traitement batch sera lancé de la fonction GAFF, par l'option [Traitement...] [Délai fournisseur]. Il pourra être lancé manuellement ou par une procédure automatique journalière.

Le but de ce traitement est de reporter les délais fournisseurs au niveau des postes de commandes non encore livré complètement. Les agences peuvent connaître ainsi les délais prévus pour les postes d'une commande client.

Structure de mémorisation des données

Les informations délai fournisseur seront mémorisées dans une structure 'evt' avec evt.numblo = 2 pour ne pas perturber le commentaire normal des commandes de ventes (ne pas prendre evt.numblo = 1 déjà utilisé pour les informations du poste de devis, paramètre HLPDEV aussi utilisé dans la saisie de commande).

Editions

Aux achats

Edition des informations délai fournisseur sur commande d'achat.

Utilisation de edeve, édition des lignes (bloc 15), ou de l'édition edevl, édition des lignes d'un événement.

Edition des lignes non réceptionnées dont la date de réception prévue (evl.datext) est expirée, ceci afin de relancer le fournisseur.

Utiliser pour cela une édition Ligne (edevl)

Aux ventes

Prévoixml xmlr au niveau de l'édition des commandes client (edeve) l'édition des informations délai fournisseur.