Points d'entrée >  Module Ventes >  Script standard TRTVENLIV  

Afficher tout Masquer tout

MAJCDESDD : Alimenter [F] SDELIVERYD en livraison d'une commande

Ce point d’entrée permet de prendre la main à la fin de l’alimentation de la classe [F] du détail livraison et par conséquent juste avant l’écriture de l’enregistrement correspondant afin de mettre des champs de cet enregistrement.

Il est appelé dans le traitement de mise à jour d’une livraison TRTVENLIV.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours

Fichier trace

Il y a un fichier trace ouvert.

Différents cas d’appel

Ce point d’entrée est appelé depuis les traitements de création d’une livraison suivant :

·               Fonction livraison automatique

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

(en cours d’alimentation)

Livraisons entête

SDELIVERYD

Non

(en cours d’alimentation)

Livraisons ligne

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui

(si [F:SOH]SOHCAT<>4)

Commandes ligne prix

SORDERC

Oui

(si F:SOH]SOHCAT=4)

Commande article / client (cdes ouvertes)

BPARTNER

Oui (tiers facture)

Tiers

BPCUSTOMER

Oui (client facture)

Clients

BPDLVCUST

Oui

Clients livrés

BPCUSTMVT

Non

Mouvements clients

SALESREP

Non

Représentants

BPCARRIER

Oui

Transporteurs

ITMMASTER

Oui

Articles

ITMSALES

Oui

Articles vente

ITMBPC

Oui

(si article client existe)

Articles clients

ITMFACILIT

Non

Articles sites

TABMODELIV

Oui

Modes de livraisons

FACILITY

Non

Sites

 

ALI_NEGSTO : Pour forcer la génération de rupture

Ce point d’entrée est utilisé lors du traitement d’une ligne de commande en livraison automatique.

Il permet forcer la génération d’une rupture lorsque la quantité allouée sur la commande n’est pas livrable

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il y a un fichier trace ouvert.

Contexte d’appel

Il est appelé en livraison automatique à chaque traitement d’une ligne de commande.

Il est situé dans l’étiquette ALICDESDD du traitement TRTVENLIV après lecture de la ligne de commande et détermination de la quantité à livrer.   

Il permet (si le stock négatif est autorisé) de forcer la génération d’une quantité en rupture correspondante à la différence entre la quantité à livrer et la quantité effectivement livrable.

Variables et masques disponibles

[F :ITM]NEGSTO      : Stock négatif autorisé (1=non / 2=oui)

GSHTDLV                 : Livraison des quantités en rupture (1=non / 2=oui)

Exemple : 

La quantité allouée en détail sur une ligne de commande peut n’être que partiellement livrable, voire pas du tout (inventaire en cours, demande d’analyse, statut interdit, lot périmé ou stock en attente de rangement non identifié).

 La quantité allouée en global sur une ligne de commande peut n’être que partiellement livrable, voire pas du tout (il n’y pas (ou pas suffisamment) de stock qui respecte les règles de sortie de la livraison).

Dans ce cas, pour forcer la génération en rupture de cette quantité non livrable, il faut intervenir sur la valeur de WRUP.

[L]WRUP = 1

Attention, cette modification risque du coup de générer, à tord, des ruptures (stock physiquement non présent ou non livrable) puis par la suite des mouvements en attente, qui ne seront pas régularisables. 

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

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui si [F :SOH]SOHCAT<>4

Commandes ligne prix

SORDERC

Oui si [F :SOH]SOHCAT=4

Commandes ligne article

ITMMASTER

Oui

Articles

ITMSALES 

Oui 

Article vente

 

CALPORT : Calcul spécifique du port

Ce point d’entrée concerne la gestion des transporteurs.

Il permet de faire un calcul spécifique du port. Il remplace le calcul standard effectué par la recherche des tarifs transporteurs.

Ce point d'entrée est situé dans le traitement TRTVENLIV.

Il est appelé depuis les traitements permettant la génération d'une livraison : Bouton livraison dans les commandes, facturation automatique des livraisons.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (transaction de création de la livraison). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire aborter la transaction. 

Fichier trace

Il n'y a pas de fichier trace ouvert.

Différents cas d’appel - Variables et masques disponibles

Le point d’entrée est appelé depuis :

·               Le bouton livraison dans la gestion des commandes

·               La fonction livraison automatique.

Il est appelé au cours de la transaction de création de la livraison. Toutes les lignes détail sont créées avec les mises à jour associées. On se situe juste avant la mise à jour des mouvements clients et l'écriture de l'enregistrement d'entête de la livraison.

Le point d'entrée est appelé au moment de la recherche du tarif transporteur.

Les variables suivantes sont utilisées :

·               WDACDLV (local integer) est chargé avec le n° de l'élément de facturation du port donné par le paramêtre FRENUM.

·               WCRY (local char)

WCTY (local char)

WPOSCOD (local char)    :

Si rien n'a été saisi dans la fenêtre adresse livraison, ces variables sont chargées avec le code pays, la ville et le code postal du client livré (par lecture de l'adresse du client livré dans la tables des adresses) sinon elles sont chargées avec les codes saisis dans la fenêtre adresse livraison.

·               WPOINT_ENTREE (local integer)    :

Elle est initialisée à 0. Positionnée à 1, elle permet d'inhiber la recherche standard du tarif transporteur.

·               LAMTFRE (local decimal)     :

Montant du port calculé.

·              STAT (local integer)   :

Statut de retour. Positionnée à 0, elle permet le chargement du montant de port calculé dans le tableau des éléments de facturation de la livraison et son affichage.

La recherche du tarif transporteur est effectuée si le paramètre FRENUM correspondant au n° d'élément de facturation du port est différent de 0 et si la lecture de cet élément de facturation dans la table des éléments s'est bien passée (WDACDLV chargée).

C'est içi qu'est appelé le point d'entrée CALPORT.

Ensuite s'effectue la recherche standard du tarif transporteur si WPOINT_ENTREE vaut 0.

Ensuite s'effectue le chargement du montant de port calculé dans le tableau des éléments de facturation et l'affichage si STAT = 0.

Le point d'entrée CALPORT doit donc :

.        Positionner WPOINT_ENTREE à 1.

.        Positionner LAMTFRE avec le montant de port calculé.

.        Positionner STAT à 0 pour que la prise en compte de ce montant soit effectué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…

Pour les tables qui ne sont pas utilisées dans tous les traitements, on donne les noms des traitements qui les utilisent. 

Table

Contenu significatif

Intitulé Table

SDELIVERY

Non

Livraisons entête

SDELIVERYD

Non

Livraisons ligne

SORDER

Non

Commandes entête

SORDERQ

Non

Commandes ligne quantité

SORDERP

Non

Commandes ligne prix

SORDERC

Non

Commandes article / client (cdes ouvertes)

BPARTNER

Oui (tiers facture)

Tiers

BPCUSTOMER

Oui (client facture)

Clients

BPDLVCUST

Non

Clients livrés

BPCUSTMVT

Non

Mouvements clients

SALESREP

Non

Représentants

BPCARRIER

Oui

Transporteurs

ITMMASTER

Non

Articles

ITMSALES

Non

Articles vente

ITMBPC

Non

Articles clients

ITMFACILIT

Non

Articles sites

TABMODELIV

Oui

Modes de livraisons

FACILITY

Non

Sites

SFOOTINV

Oui

Eléments de facturation

TABSOHTYP

Non (SUBSOH)

Table Type commande

TABCUR

Non (SUBSOH)

Table devises

ITMMVT

Non (SUBSOH)

Mouvements articles

SPRICLINK

Non (SUBSOH)

Recherche tarif vente (link)

PRICSTRUCT

Non (SUBSOH)

Structure tarif

CONTACT

Non (SUBSOH)

Contact

ATEXTE

Non (SUBSOH)

Messages du dictionnaire

SQUOTED

Non (SUBSOH)

Détail devis

 

RECHNUMSEQ : Calcul no séquence commande

Ce point d’entrée concerne la gestion des livraisons de commandes ouvertes (pouvant être inter-site).

Lors de la livraison partielle d’une demande de livraison, il permet d’intervenir sur le no de séquence calculé pour la nouvelle demande de livraison.

Ceci permet dans le cas de livraison partielle à répétition, de ne pas se retrouver bloqué après 9 livraisons de la même demande de livraison. Le fonctionnement standard attribue en effet les no de séquence par dichotomie (afin de permettre les insertions de lignes).  

Ce point d'entrée est situé dans le traitement TRTVENLIV.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (transaction de création de la livraison). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire aborter la transaction. 

Fichier trace

Il n'y a pas de fichier trace ouvert.

Différents cas d’appel - Variables et masques disponibles

Le point d’entrée est appelé lors de chaque livraison partielle d’une demande de livraison.

[F :SOQ]SOQSEQ contient le no de séquence de la demande de livraison qui vient d’être livré.

[F :SOQ1]SOQSEQ contient le no de séquence de la demande de livraison suivante. Sa valeur est nulle si cette demande de livraison n’existe pas.

La variable WSEQ contient le no de séquence attribué pour la création de la nouvelle demande de livraison.

Pour intervenir sur le no de séquence de la nouvelle demande de livraison, il faut donc modifier la valeur de cette variable WSEQ

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…

Pour les tables qui ne sont pas utilisées dans tous les traitements, on donne les noms des traitements qui les utilisent. 

Table

Contenu significatif

Intitulé Table

SORDERQ

Oui

Commandes ligne quantité

 

CPYSLSTXT : Alimentation de textes dans le fichier SDELIVERY

Ce point d’entrée permet de prendre la main lors de l’alimentation de la classe [F:SDH] de l’entête livraison à partir de la première commande à livrer et juste après le chargement des textes entête et pied associés à cette livraison.

Il est par conséquent possible :

-         d’intervenir sur les textes à associer à cette livraison.

-         d’intervenir sur les champs de l’entête de livraison qu'ils soient standards ou spécifiques.

Il est appelé lorsque l'on livre une commande ou une DL depuis la fonction livraison des commandes.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours

Fichier trace

Il y a un fichier trace ouvert

Contexte d'appel

Il est appelé lorsque l'on livre une commande ou une DL par la fonction livraison automatique des commandes.

Il est situé dans le sous-programme ALICDESDH du traitement TRTVENLIV.

Il permet d’intervenir sur les textes à associer à cette livraison, d'alimenter des champs spécifiques de l'entête livraison dans la table [F:SDH]SDELIVERY ou de modifier des champs standards.

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

(en cours d’alimentation)

Livraisons entête

SDELIVERYD

Non

(en cours d’alimentation)

Livraisons ligne

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui

(si [F:SOH]SOHCAT<>4)

Commandes ligne prix

SORDERC

Oui

(si F:SOH]SOHCAT=4)

Commande article / client (cdes ouvertes)

BPARTNER

Oui (tiers facture)

Tiers

BPCUSTOMER

Oui (client commande)

Clients

BPDLVCUST

Oui

Clients livrés

BPCUSTMVT

Non

Mouvements clients

SALESREP

Non

Représentants

BPCARRIER

Oui

Transporteurs

ITMMASTER

Oui

Articles

ITMBPC

Non

Articles client

TABMODELIV

Oui

Modes de livraisons

FACILITY

Non

Sites

SVCRFOOT

Non

 Document ventes -  Elt pied

SVCRVAT

Non

 Document ventes -  Taxes

LASTCUSMVT

Non

 Derniers mvts clients

ITMSALES

Non

 Article vente

ITMFACILIT

Non

 Article site 

SWRKDLV

Oui

 Fichier W Livraisons automatiques

CPTANALIN

Non

 Lignes comptables analytiques

ACTIV

Non

 Codes activité

BPADDRESS

Non

 Adresses

WAREHOUSE

Non

 Dépôts

ITMWRH

Non 

 Articles - Dépôts

GACM

Non

 Modèle comptable

 

ALISOQ1 : Alimenter [F] SORDERQ en modification d'une demande de livraison

Ce point d’entrée concerne la gestion des livraisons de commandes ouvertes (pouvant être inter-site).

La modification d'une demande de livraison entraîne le solde de la ligne origine et la création d'une nouvelle ligne.

Le point d'entrée permet de garnir des champs spécifiques pour cette nouvelle ligne.   

Ce point d'entrée est situé dans le traitement TRTVENLIV.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (transaction de création de la livraison). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire aborter la transaction.

Fichier trace

Il n'y a pas de fichier trace ouvert.

Différents cas d’appel - Variables et masques disponibles

Le point d’entrée est appelé avant l'écriture de la classe [F:SOQ1] de la nouvelle ligne.

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…

Pour les tables qui ne sont pas utilisées dans tous les traitements, on donne les noms des traitements qui les utilisent.

 Table

Contenu significatif

Intitulé Table

SORDERQ1

Oui

Commandes ligne quantité

 

ALISOQSDH : Alimenter des champs détail livraison en livraison d'une commande

Ce point d’entrée permet de prendre la main à la fin de l'alimentation de l'écran détail livraison à partir d'un enregistrement détail commande lors de la création d'une livraison de commande.

Il permet ainsi d'alimenter des champs spécifiques à l'écran SDH1 ou de modifier des champs standards.

Il est appelé pour chaque ligne dans le picking d'une commande depuis la gestion des livraisons et pour chaque ligne lors de la livraison d'une commande par le bouton livraison depuis la gestion des commandes.

Contexte et mode de fonctionnement

Transaction

Il n'y a pas de transaction en cours si l'on est en picking d'une commande depuis la gestion des livraisons. Il y a une transaction en cours si l'on utilise le bouton livraison depuis la gestion des commandes.

Fichier trace

Il n'y a pas de fichier trace.

Contexte d'appel

Il est appelé pour chaque ligne dans le picking d'une commande depuis la gestion des livraisons et pour chaque ligne lors de la livraison d'une commande par le bouton livraison depuis la gestion des commandes.

Il est situé à la fin du sous-programme ALISOQSDH du traitement TRTVENLIV.

Il permet d'alimenter des champs spécifiques de l'écran SDH1 (et donc de la table SDELIVERYD) ou de modifier des champs standards de cet écran et de cette table.

Variables et masques disponibles

Les écrans de l'objet livraison sont ouverts et chargés avec la livraison en cours de création.

La variable NOL contient le numéro de la ligne en cours de création dans le tableau des lignes [M:SDH1]. Tous les champs de la ligne sont chargés.

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

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui si [F :SOH]SOHCAT<>4

Commandes ligne prix

SORDERC

Oui si [F :SOH]SOHCAT=4

Commandes ligne article

ITMMASTER

Oui

Articles

ITMSALES 

Oui 

Article vente

 

ALICDESDD : Alimenter [F]SDD en livraison commande, avant le calcul tarifs/taxe

Ce point d’entrée permet de prendre la main à la fin de l’alimentation de la classe [F] du détail livraison et par conséquent juste avant l’écriture de l’enregistrement correspondant afin de mettre des champs de cet enregistrement.

Cependant, contrairement au point d'entrée MAJCDESDD, ce point d'entrée ce situe avant le calcul des tarifs et taxes.

Il est appelé dans le traitement de mise à jour d’une livraison TRTVENLIV.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours

Fichier trace

Il y a un fichier trace ouvert.

Différents cas d’appel

Ce point d’entrée est appelé depuis les traitements de création d’une livraison suivant :

·               Fonction livraison automatique

Il se situe avant le calcul des tarifs et taxes, et avant, donc, le point d'entrée MAJCDESDD.

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

(en cours d’alimentation)

Livraisons entête

SDELIVERYD

Non

(en cours d’alimentation)

Livraisons ligne

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui

(si [F:SOH]SOHCAT<>4)

Commandes ligne prix

SORDERC

Oui

(si F:SOH]SOHCAT=4)

Commande article / client (cdes ouvertes)

BPARTNER

Oui (tiers facture)

Tiers

BPCUSTOMER

Oui (client facture)

Clients

BPDLVCUST

Oui

Clients livrés

BPCUSTMVT

Non

Mouvements clients

SALESREP

Non

Représentants

BPCARRIER

Oui

Transporteurs

ITMMASTER

Oui

Articles

ITMSALES

Oui

Articles vente

ITMBPC

Oui

(si article client existe)

Articles clients

ITMFACILIT

Non

Articles sites

TABMODELIV

Oui

Modes de livraisons

FACILITY

Non

Sites

 

BEFREWSDH : Avant écriture entête livraison

Ce point d'entrée est appelé avant l'instruction "Rewrite" de chaque entête de livraison.

Le buffer de la table SDELIVERY [SDH] est chargé et peut être modifié avec toutes les précautions d'usage.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il peut y avoir un fichier trace ouvert  (tester GTRACE)

Contexte d’appel

Appel juste avant la réécriture d'un enregistrement de la table SDELIVERY.

Variables et masques disponibles

Le fichier SDELIVERY est ouvert et alimenté.

Table

Contenu significatif

Intitulé Table

SDELIVERY

Oui

Livraisons entête

 

BEFREWSDD : Avant écriture ligne détail livraison

Ce point d'entrée est appelé avant l'instruction "Rewrite" de chaque ligne détail de livraison.

Le buffer de la table SDELIVERYD [SDD] est chargé et peut être modifié avec toutes les précautions d'usage.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il peut y avoir un fichier trace ouvert  (tester GTRACE)

Contexte d’appel

Appel juste avant la réécriture d'un enregistrement de la table SDELIVERYD.

Variables et masques disponibles

Le fichier SDELIVERYD est ouvert et alimenté.

Table

Contenu significatif

Intitulé Table

SDELIVERYD

Oui

Livraisons détail

 

ALISOHSDH : Alimenter des champs entête livraison en livraison d'une commande

Ce point d’entrée permet de prendre la main à la fin de l'alimentation des écrans entête livraison lors de la création d'une livraison de commande ou d'une DL.

Il permet ainsi d'alimenter des champs spécifiques aux écrans SDH0 SDH1 SDH2 SDH3 ou de modifier des champs standards.

Il est appelé lorsque l'on picke une commande dans le picking des commandes ou lorsque l'on picke une DL dans le picking des commandes ouvertes depuis la gestion des livraisons et lorsque l'on livre une commande par le bouton livraison depuis la gestion des commandes.

Contexte et mode de fonctionnement

Transaction

Il n'y a pas de transaction en cours si l'on est en picking d'une commande ou d'une DL depuis la gestion des livraisons. Il y a une transaction en cours si l'on utilise le bouton livraison depuis la gestion des commandes.

Fichier trace

Il n'y a pas de fichier trace.

Contexte d'appel

Il est appelé lorsque l'on picke une commande dans le picking des commandes ou lorsque l'on picke une DL dans le picking des commandes ouvertes depuis la gestion des livraisons et lorsque l'on livre une commande par le bouton livraison depuis la gestion des commandes.

Il est situé à la fin du sous-programme ALISOHSDH du traitement TRTVENLIV.

Il permet d'alimenter des champs spécifiques des écrans SDH0 SDH1 SDH2 SDH3 (et donc de la table SDELIVERY) ou de modifier des champs standards de cet écran et de cette table.

Variables et masques disponibles

Les écrans de l'objet livraison sont ouverts. Les champs entête des écrans SDH0 SDH1 SDH2 SDH3 sont chargés avec les données de la commande ou de la demande de livraison en cours de livraison.

Les écrans adresse ADB2 ADB3 sont chargés avec l'adresse de livraison et l'adresse de facturation.

Dans le cas d'une livraison de DL, [F:SOH] est chargé avec le contrat. [F:SOC] est chargé avec la ligne article. [F:SOQ] est chargé avec la ligne de DL. S'il y a des lignes de prix,  [F:SOP] est chargé avec la 1ère.

Dans le cas d'une livraison de commande, [F:SOH] est chargé avec l'entête. [F:SOQ] et [F:SOP] sont chargés avec la ligne pickée ou la 1ère de ligne de la commande dans le cas d'un bouton.

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

SORDER

Oui

Commandes entête

SORDERQ

Oui

Commandes ligne quantité

SORDERP

Oui si [F :SOH]SOHCAT<>4

Commandes ligne prix

SORDERC

Oui si [F :SOH]SOHCAT=4

Commandes ligne article

BPDLVCUST

Oui

Client livré

BPCUSTOMER

Oui 

Client commande