Traitement SUBSDHB : Sous-programmes de l'objet gestion livraison
SDHGENLIG : Génération lignes de livraison en 130
Ce point d’entrée n’est plus actif en version 140.
Il a été remplacé par le point d’entrée ‘SDHGENLIN’ toujours dans le même traitement.
Attention, même si la finalité du nouveau 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.
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours. C’est la transaction de création de la livraison.
Pour annuler la transaction s’il y a un problème, il faut positionner la variable GOK à 0.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
On se trouve dans la transaction de création de la livraison. 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 DET_LIV et d’exécuter ou pas une autre étiquette.
Variables et masques disponibles
L’enregistrement de l’entête de commande à livrer est chargé dans [F:SOH].
L’enregistrement de l’entête de livraison à créer est chargé dans [F:SDH] mais il n’est pas encore créé.
Les variables WSOHNUM, WSOPLIN, WSOQSEQ contiennent la clé de la ligne de commande à livrer.
L’étiquette DET_LIV à substituer s’occupe de :
. Lire avec lock les enregistrements [F:SOQ] et [F:SOP] de la ligne de commande à livrer
. Lire les enregistrements correspondant à l ‘article [F :SOQ]ITMREF ([F :ITM], [F :ITS] et [F :ITU])
. Alimenter la classe [F :SDD] de l’enregistrement détail livraison à créer.
. Créer l’enregistrement [F :SDD]
. Mettre à jour la ligne de commande livrée ([F:SOQ], [F :SOP]) et les fichiers s’y rapportant (les allocations, l’en-cours)
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 DET_LIV n’est exécutée que si WPOINT_DET_LIV vaut 1.
Pour ne pas exécuter l’étiquette DET_LIV, il faut donc positionner la variable WPOINT_DET_LIV à 0.
Si l’étiquette DET_LIV doit être remplacée, il faudra prendre modèle sur son contenu et l’intégrer au point d’entrée.
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 |
Oui |
Livraisons entête |
SDELIVERYD |
Non |
Livraisons détail |
SORDER |
Oui |
Commandes entête |
SORDERQ |
Non |
Commandes ligne quantité |
SORDERP |
Non |
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 |
SDHGENLIN : Génération lignes de livraison en 140
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
Contexte et mode de fonctionnement
Transaction
Il n’y a pas de transaction en cours.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
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.
Variables et masques disponibles
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.
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 |
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 |
SDHFROMPRH : Site vente sur livraison créée par bouton depuis bons préparation
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.
Contexte et mode de fonctionnement
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
ALIADRBPI : Alimentation champs adresse facture en entête livraison
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.
Contexte et mode de fonctionnement
Transaction
Il y a toujours une transaction de mise à jour en cours.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
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.
Variables et masques disponibles
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.
ALIADRBPD : Alimentation champs adresse livraison en entête livraison
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.
Contexte et mode de fonctionnement
Transaction
Il y a toujours une transaction de mise à jour en cours.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
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.
Variables et masques disponibles
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.