/* =========================================================================================== */
/* Transfert DOC - Update des lignes présentes dans DW, à partir des Tables de référence       */
/* =========================================================================================== */
update doc set DOC_LIBELLE_MODE_PAIEMENT_CDE =  LIBELLE 
from <PREFIXE_HA>MODEPAIE ha  with (nolock) , <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_CODE_MODE_PAIEMENT_CDE = ha.CODE_MDP and  left(DOC_LIBELLE_MODE_PAIEMENT_CDE,5)<>left(ha.LIBELLE,5)

<SEPARATEUR>
update doc set DOC_LIBELLE_MODE_LIVRAISON_CDE = LIBELLE
from <PREFIXE_HA>MODELIVR ha  with (nolock) , <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_CODE_MODE_LIVRAISON_CDE = ha.CODE_MDL
and DOC_LIBELLE_MODE_LIVRAISON_CDE <> LIBELLE
and DOC_DATEMODI>='' and DOC_DATEMODI<='20501231'

<SEPARATEUR>
update doc
set DOC_LIBELLE_CONDITION_PAIE_CDE = LIBELLE
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_HA>CONDPAIE ha where doc.DOC_CODE_CONDITION_PAIE_CDE=ha.CODE_CDP and DOC_LIBELLE_CONDITION_PAIE_CDE <> LIBELLE

<SEPARATEUR>
update doc set DOC_LIBELLE_DOCUMENT_CDE = LIBELLE 
	from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_HA>TYPDOC ha  with (nolock) where DOC_TYPE_DOCUMENT_CDE=ha.TYPE
	and DOC_LIBELLE_DOCUMENT_CDE <> LIBELLE 

<SEPARATEUR>
update doc set DOC_LIBELLE_PAYS_CDE = ha.LIBELLE
    from <PREFIXE_HA>COUNTRY ha  with (nolock) , <PREFIXE_DW>DOCUMENTS doc
    where doc.DOC_CODE_PAYS_CDE = ha.CODE_PAYS
    and DOC_LIBELLE_PAYS_CDE <> ha.LIBELLE

<SEPARATEUR>
update <PREFIXE_DW>DOCUMENTS
set 
DOC_LIBELLE_PAYS_DEST_EXP = 
(
select LIBELLE from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>
where doc.DOC_CODE_PAYS_DEST_EXP = ha.CODE_PAYS
)
from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>, <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_CODE_PAYS_DEST_EXP = ha.CODE_PAYS
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'
<SEPARATEUR>


update <PREFIXE_DW>DOCUMENTS
set 
DOC_LIBELLE_PAYS_ORIGINE = 
(
select LIBELLE from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>
where doc.DOC_PAYS_ORIGINE = ha.CODE_PAYS
)
from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>, <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_PAYS_ORIGINE = ha.CODE_PAYS
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'
<SEPARATEUR>


update <PREFIXE_DW>DOCUMENTS
set 
DOC_LIBELLE_PAYS_PROVENANCE = 
(
select LIBELLE from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>
where doc.DOC_PAYS_PROVENANCE = ha.CODE_PAYS
)
from <PREFIXE_HA>COUNTRY<SUFFIXE_HA> ha <WITHNOLOCK>, <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_PAYS_PROVENANCE = ha.CODE_PAYS
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'
<SEPARATEUR>


update <PREFIXE_DW>DOCUMENTS
set 
DOC_LIBELLE_MODE_PAIEMENT_FAC = 
(
select LIBELLE from <PREFIXE_HA>MODEPAIE<SUFFIXE_HA> ha <WITHNOLOCK>
where doc.DOC_CODE_MODE_PAIEMENT_FAC = ha.CODE_MDP
)
from <PREFIXE_HA>MODEPAIE<SUFFIXE_HA> ha <WITHNOLOCK>, <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_CODE_MODE_PAIEMENT_FAC = ha.CODE_MDP
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'

<SEPARATEUR>
/* Unité de l'article (avant req. conversion des qtés) */
update doc set DOC_UNITE_ARTICLE = art.UNIT
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_HA>ARTICLES art  with (nolock)   
where doc.DOC_CODE_ARTICLE <> ' ' 
/* Jointure interne art/doc */
and art.CODE_ART    = doc.DOC_CODE_ARTICLE
and DOC_DATEMODI>='' and DOC_DATEMODI<='20501231'
and DOC_UNITE_ARTICLE <> art.UNIT

<SEPARATEUR>
/* Conversion des qtés :  Unité de Doc vers Unité Article  (après requete unité article) */
update doc 
set 
 /* Bloc DA */
DOC_QUANTITE_UNITE_ARTICLE_DA  = DOC_QUANTITE_DA     * ( CASE WHEN conv.VAL_1_2 = 0 THEN 1 ELSE conv.VAL_1_2 END ), 
DOC_QTE_TOT_LIG_UA_DA          = DOC_QTE_TOT_LIG_DA  * ( CASE WHEN conv.VAL_1_2 = 0 THEN 1 ELSE conv.VAL_1_2 END ), 
/* Bloc CA */
DOC_QUANTITE_UNITE_ARTICLE_CDE = DOC_QUANTITE_CDE    * ( CASE WHEN conv.VAL_1_2 = 0 THEN 1 ELSE conv.VAL_1_2 END ), 
DOC_QTE_TOT_LIG_UA_CDE         = DOC_QTE_TOT_LIG_CDE * ( CASE WHEN conv.VAL_1_2 = 0 THEN 1 ELSE conv.VAL_1_2 END ) 
/* Tables */
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_HA>CONVERS<SUFFIXE_HA> conv <WITHNOLOCK> 
/* Critères */
where doc.DOC_UNITE_LIGNE     <> doc.DOC_UNITE_ARTICLE /* Unité sur doc différente de celle de la fiche article */
/* Jointure interne conv/doc */
and conv.CODE_UNI1 = doc.DOC_UNITE_LIGNE
and conv.CODE_UNI2 = doc.DOC_UNITE_ARTICLE
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'
<SEPARATEUR>

/*<VERSION_MINIMUM>9.99an</VERSION_MINIMUM>*/
update <PREFIXE_DW>DOCUMENTS
set 
DOC_CODE_CATALOGUE_CDE = 
(
select ID_CAT_ORI from <PREFIXE_HA>CA_LIGNE ha   <WITHNOLOCK>
where doc.DOC_NUMERO_DOC = ha.NO_CDE and DOC_NUMERO_LIGNE_1=NO_PO
)
from <PREFIXE_HA>CA_LIGNE ha <WITHNOLOCK>, <PREFIXE_DW>DOCUMENTS doc
where doc.DOC_NUMERO_DOC = ha.NO_CDE and DOC_NUMERO_LIGNE_1=NO_PO
and DOC_DATEMODI>='<DATEMODIMIN>' and DOC_DATEMODI<='<DATEMODIMAX>'
<SEPARATEUR>
/*MAJ DOC_CODE_SIGNATAIRE DA*/
update <PREFIXE_DW>DOCUMENTS set DOC_CODE_SIGNATAIRE = EVE_UTILISATEUR
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_DW>EVENEMENTS eve, <PREFIXE_HA>DA_ENTET e
where DOC_NUMERO_DA=e.NO_DA and DOC_NUMERO_DA=EVE_NUMERO_DOCUMENT and e.EVE_SIG=EVE_NUMERO_ORDRE and EVE_TYPE_EVENEMENT='DA' and DOC_TYPE_TRANSACTION='DA'

<SEPARATEUR>
/*MAJ DOC_CODE_SIGNATAIRE CA*/
update doc set DOC_CODE_SIGNATAIRE = EVE_UTILISATEUR
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_DW>EVENEMENTS eve, <PREFIXE_HA>CA_ENTET e
where DOC_NUMERO_DOC=NO_CDE 
and DOC_NUMERO_DOC=EVE_NUMERO_DOCUMENT 
and e.EVE_SIG=EVE_NUMERO_ORDRE 
and EVE_TYPE_EVENEMENT='CDE' 
and DOC_TYPE_TRANSACTION='CA'
and DOC_CODE_SIGNATAIRE <> eve.EVE_UTILISATEUR

<SEPARATEUR>
/*MAJ DOC_CODE_SIGNATAIRE FAC*/
update <PREFIXE_DW>DOCUMENTS set DOC_CODE_SIGNATAIRE = EVE_UTILISATEUR
from <PREFIXE_DW>DOCUMENTS doc, <PREFIXE_DW>EVENEMENTS eve, <PREFIXE_HA>FAC_ENT e
where DOC_NUMERO_FAC=NUM_FACT and DOC_NUMERO_FAC=EVE_NUMERO_DOCUMENT and e.EVE_SIG=EVE_NUMERO_ORDRE and EVE_TYPE_EVENEMENT='FAC' and DOC_TYPE_TRANSACTION='FAC'
