En version 140, ce point d’entrée remplace ‘SDHGENLIG’ qui était actif en 130.
Attention, même si la finalité de ce point d’entrée reste la même en 140 qu’en 130, son contexte d’utilisation, ainsi que son fonctionnement sont complètement différents ( il ne faut plus alimenter les tables livraison, mais les écrans).
Ce point d’entrée intervient lors de la livraison d’une commande par le bouton « livraison » de la gestion des commandes.
Il permet de prendre la main juste avant le traitement de chaque ligne détail de livraison pour soustraire ce traitement et le remplacer ou pas par un traitement spécifique.
Il est appelé lors de l’exécution du bouton ‘Livraison’ depuis la gestion des commandes
Il n’y a pas de transaction en cours.
Il n’y a pas de fichier trace ouvert.
L’entête de livraison a été traitée. On se trouve au niveau du traitement des lignes détail.
Ce point d’entrée est appelé pour chaque ligne de livraison à créer, juste avant l’appel à l’étiquette DET_LIV qui effectue le traitement d’une ligne détail livraison.
Il permet de ne pas exécuter l’étiquette TRT_LIGCDE From SUBSDHC et d’exécuter ou pas une autre étiquette.
L’enregistrement de l’entête de commande à livrer est chargé dans [F:SOH].
Les deux enregistrements détails commandes sont dans [F :SOQ] et [F :SOP]
L’enregistrement de l’entête de livraison à créer est chargé dans les classes écran [M:SDH0], [M :SDH1 et [M :SDH2].
Ce sont tous ces traitements qui ne seront pas exécutés si ce point d’entrée est activé.
Pour activer le point d’entrée, la variable WPOINT_DET_LIV a été créé.
Elle est initialisée à 1 avant l’appel du point d’entrée et testée juste après l’appel. L’étiquette TRT_LIGCDE n’est exécutée que si WPOINT_DET_LIV vaut 1.
Pour ne pas exécuter l’étiquette TRT_LIGCDE, il faut donc positionner la variable WPOINT_DET_LIV à 0.
L’étiquette TRT_LIGCDE à substituer alimente la ligne de livraison à créer dans la classe écran [M:SDH1]
Par conséquent si cette étiquette doit être remplacée, il faudra prendre modèle sur son contenu et l’intégrer au point d’entrée.
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (le client courant est chargé…). Traditionnellement, c’est le cas pour le fichier qui contient l’en-tête et pas pour celui qui contient les lignes…
Table | Contenu Significatif | Intitulé Table |
SDELIVERY | Non | Livraisons entête |
SDELIVERYD | Non | Livraisons détail |
SORDER | Oui | Commandes entête |
SORDERQ | Oui | Commandes ligne quantité |
SORDERP | Oui | Commandes ligne prix |
SORDERC | Non | Commandes ligne article |
BPARTNER | Oui | Tiers |
BPCUSTOMER | Oui | Clients |
BPDLVCUST | Oui | Clients livrés |
BPCUSMVT | Non | Mouvements clients |
SALESREP | Non | Représentants |
STOALL | Non | Allocations |
ITMMASTER | Non | Articles |
ITMSALES | Non | Article vente |
ITMBPC | Non | Article-client |
ITMFACILIT | Non | Article-site |
ITMMVT | Non | Mouvements articles |
TABCUR | Non | Table des devises |
FACILIT | Non | Sites |
SPRICLINK | Non | Recherche tarifs vente (liens) |
PRICSTRUCT | Non | Structure tarifs |
BPCARRIER | Non | Transporteurs |
TABMODELIV | Non | Table des modes de livraison |
Lors de la création d'une livraison, par le bouton depuis les bons de préparation, le site qui permet de déterminer la société est le site d'expédition du bon de préparation.
Ce point d'entrée permet d'intervenir sur ce fonctionnement, et retenir un autre site, et donc potentiellement une autre société.
Ca n'est pas là le comportement standard.
Le spécifique devra donc aussi éventuellement prendre en charge les impacts liés à ceci.
Transaction
Il n'y a pas de transaction en cours.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
Ce point d’entrée est appelé lorsque l'on crée une livraison à partir d'un bon de préparation en utilisant le bouton.
Au début, la variable globale GFCY est initialisée à partir du site d'expédition du bon de préparation ([F:PRH]STOFCY).
GFCY est ensuite utilisé pour initialiser d'autres variables globales telles que GSOCIETE.
Variables et masques disponibles
La variable local entière ISDHFROMPRH est déclarée, et initialisée à 0 (zéro).
Si sa valeur reste à 0, le comportement standard est conservé, et GFCY est alimenté avec [F:PRH]STOFCY.
Pour toute autre valeur données à ISDHFROMPRH, on considèrera que la valeur de GFCY a été donnée dans le point d'entrée. Cette valeur sera donc conservée.
L’enregistrement de l’entête du bon de préparation est chargé dans [F:PRH].
Exemple de modification de la valeur de GFCY par le point d'entrée :GFCY = <Site à utiliser>
ISDHFROMPRH = 1
Tables ouvertes
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (le client courant est chargé…). Traditionnellement, c’est le cas pour le fichier qui contient l’en-tête et pas pour celui qui contient les lignes…
Table
Contenu Significatif
Intitulé Table
SDELIVERY
Non
Livraisons entête
SDELIVERYD
Non
Livraisons détail
SORDER
Non
Commandes entête
SORDERQ
Non
Commandes ligne quantité
SORDERP
Non
Commandes ligne prix
SORDERC
Non
Commandes ligne article
BPARTNER
Non
Tiers
BPCUSTOMER
Non
Clients
BPDLVCUST
Non
Clients livrés
BPCUSMVT
Non
Mouvements clients
SALESREP
Non
Représentants
STOALL
Non
Allocations
ITMMASTER
Non
Articles
ITMSALES
Non
Article vente
ITMBPC
Non
Article-client
ITMFACILIT
Non
Article-site
ITMMVT
Non
Mouvements articles
TABCUR
Non
Table des devises
FACILIT
Non
Sites
SPRICLINK
Non
Recherche tarifs vente (liens)
PRICSTRUCT
Non
Structure tarifs
BPCARRIER
Non
Transporteurs
TABMODELIV
Non
Table des modes de livraison
STOPREH
Oui
Bon de préparation entête
STOPRED
Non
Bon de préparation détail
Ce point d’entrée intervient lors de la création/modification d'une livraison.
Il permet de prendre la main lors du stockage du détail de l'adresse de facturation afin de stocker des champs spécifiques qui auraient été renseignés dans l'écran de saisie des adresses.
Il est appelé lors de la création/modification d'une livraison depuis la gestion des livraisons.
Il y a toujours une transaction de mise à jour en cours.
Il n’y a pas de fichier trace ouvert.
Ce point d’entrée est appelé :
- Lors de la création ou modification de la livraison, après avoir utilisé le bouton créer ou enregistrer : Il est appelé depuis les actions de l'objet INICRE ou INIMOD.
- Lors de l'utilisation de l'option adresse facture, après validation de la saisie de l'écran par le bouton OK.
Il se situe avant le write ou rewrite de la livraison.
Les écrans de saisie [M:SDH] sont chargés avec la livraison en cours.
Le buffer [F:SDH] est locké et chargé avec la livraison en cours.
L'écran ADB3 est chargé avec l'adresse de facturation et [F:SDH] vient d'être chargé avec le contenu de l'écran.
Ce point d’entrée intervient lors de la création/modification d'une livraison.
Il permet de prendre la main lors du stockage du détail de l'adresse de livraison afin de stocker des champs spécifiques qui auraient été renseignés dans l'écran de saisie des adresses.
Il est appelé lors de la création/modification d'une livraison depuis la gestion des livraisons.
Il y a toujours une transaction de mise à jour en cours.
Il n’y a pas de fichier trace ouvert.
Ce point d’entrée est appelé :
- Lors de la création ou modification de la livraison, après avoir utilisé le bouton créer ou enregistrer : Il est appelé depuis les actions de l'objet INICRE ou INIMOD.
- Lors de l'utilisation de l'option adresse livraison, après validation de la saisie de l'écran par le bouton OK.
Il se situe avant le write ou rewrite de la livraison.
Les écrans de saisie [M:SDH] sont chargés avec la livraison en cours.
Le buffer [F:SDH] est locké et chargé avec la livraison en cours.
L'écran ADB2 est chargé avec l'adresse de livraison et [F:SDH] vient d'être chargé avec le contenu de l'écran.