Delimiter //
/**
 * Author:  armen
 * Created: 20 juil. 2020
 */
Drop Procedure if exists LOADER_CREDITPROVIDERS_NORMALIZE//
Create Procedure LOADER_CREDITPROVIDERS_NORMALIZE(
    In batchnum int
)
Begin
    set @lcpn_batchnum = batchnum;
    if @lcpn_batchnum = 0 then
        -- la procédure ci-dessous ne dois pas être appelée dans la normalisation
        -- car elle vide la table mappé -> plus de données à traiter
--         call LOADER_CREATE_TABLE_CREDITPROVIDERS();
        
        -- les données dans la table CREDITPROVIDERS_ACCOUNTS sont issue de 
        -- de la procédure de normalisation
        -- on purge les données dans le lot 0, par recreation de la table
        call LOADER_CREATE_TABLE_CREDITPROVIDERS_ACCOUNTS();
    End if;

    Call LOADER_CREDITPROVIDERS_NORMALIZE_CHECK_REF_PROVIDED(@lcpn_batchnum);
    Call LOADER_CREDITPROVIDERS_NORMALIZE_CHECK_ACCOUNT_PROVIDED(@lcpn_batchnum);

    Call LOADER_CREDITPROVIDERS_NORMALIZE_MAP_ACCOUNTS(@lcpn_batchnum);

    Call LOADER_CREDITPROVIDERS_NORMALIZE_MAP_CREATE_OR_UPDATE(@lcpn_batchnum);

    Call LOADER_CREDITPROVIDERS_NORMALIZE_MAP_DATE_NOT_PROVIDED(@lcpn_batchnum);

End //
Delimiter ;
