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

CALCDAT : Calcul spécifique d'une date

Ce point d’entrée concerne le calcul d’une date dans le module vente.

Il permet de faire un calcul spécifique de la date et remplace le calcul effectué en standard.

Ce point d'entrée est situé dans le traitement TRTVENDAT dans le sous-programme CALC_DAT.

Il est appelé chaque fois que l’on a un calcul de date dans les ventes.  

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.

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

Ce point d’entrée est appelé :

·               Dans la gestion des commandes, chaque fois que l’on calcule la date d’expédition (en fonction de la date de livraison et du délai de livraison), que l’on calcule la date de livraison demandée ou la date de livraison prévue (en fonction de la date d’expédition et du délai de livraison).

·               Dans la gestion des livraisons, chaque fois que l’on calcule la date de livraison (en fonction de la date d’expédition et du délai de livraison).

Il est appelé dans le sous-programme CALC_DAT après le calcul standard de la date et avant son contrôle en fonction des jours ouvrés et des périodes d’indisponibilité du site d’expédition pour une date d’expédition ou du client livré pour une date de livraison.

Les paramètres suivants sont passés au sous-programme:

·               SCONTEXTE (value char)            :           Contexte d'appel ("SHI" depuis les commandes, "DLV" depuis les livraisons

·               ORIDAT (value date)            :           Date d’origine

·               LTI  (value integer)                 :           Délai

·               UVYDAY  (value libelle)         :           Jours ouvrés

·               UVYCOD  (value char)          :           Code période d’indisponibilité

·               SENCAL (value integer)        :           Sens de calcul de la date (0=+ ;1=-)

·               SENDEC (value integer)        :           Sens de décalage si le jour calculé est non ouvré (0=+ ;1=-)

·               DSTDAT (variable date)        :           Date destination

Ces variables sont disponibles par le PE.

Le point d’entrée est situé juste après le calcul standard. Par conséquent DSTDAT est alimentée et est égale à ORIDAT+LTI ou ORIDAT-LTI (en fonction du sens de calcul).

C’est DSTDAT que le PE doit alimenter.

Le point d’entrée est situé juste avant le contrôle de la date calculée DSTDAT.

La variable WPE_CTLDAT (local integer) a été ajoutée pour permettre de ne pas faire ce contrôle.  WPE_CTLDAT est initialisée à 1. Il faut la positionner à 0 pour ne pas faire le contrôle.

Lorsque l’on est dans la gestion des commandes, les classes écrans  SOH0  SOH1  SOH2  SOH3  SOH4 sont disponibles.

Lorsque l’on est dans la gestion des livraisons, les classes écrans  SDH0  SDH1  SDH2  SDH3  sont disponibles.

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

Gestion des commandes

SORDER

Non

Commandes entête

SORDERQ

Non

Commandes ligne quantité

SORDERP

Non

Commandes ligne prix

SORDERC

Non

Commandes article / client (cdes ouvertes)

BPARTNER

Non

Tiers

BPCUSTOMER

Non

Clients

BPDLVCUST

Non

Clients livrés

FACILITY

Non

Sites

Gestion des livraisons

SDELIVERY

Non

Livraisons entête

SDELIVERYD

Non

Livraisons ligne

BPARTNER

Non

Tiers

BPCUSTOMER

Non

Clients

BPDLVCUST

Non

Clients livrés

FACILITY

Non

Sites