Delimiter //
Drop Procedure if exists LOADER_CREATE_TABLE_SUMMARIES//
Create Procedure LOADER_CREATE_TABLE_SUMMARIES ()
Begin
    Drop Table If Exists LOADER_SUMMARIES;
    
    Create Table LOADER_SUMMARIES (
        ID_LOADER_SUMMARIES Int Unsigned Not Null Auto_increment
        -- champs pour le traitements de l'import
        , LOADER_STATUS_ID_LOADER_STATUS Int Unsigned Not Null

        -- champs de références

		, DF_SUMMARIES_CODE Varchar(12)
		, DF_SUMMARIES_ID_DF_SUMMR Int Unsigned Null

		-- #6787 règle pour la mise à jour des historiques
		-- liste des codes catégorie séparé par des virgule(,), point virgule(;) ou pipe (|)
		-- pour lequel la mise à jour est autorisés
		-- Si le code catégories du code fourni match avec une des valeurs ci dessous, la mise à jour sera autorisé
		, SUMMARIES_CATEGORIES_CODES_ALLOWED_FOR_UPDATE Text Null
		-- ci dessous sera remplis en fonction du champ ci dessus
		, SUMMARIES_ALLOWED_FOR_UPDATE_EXP Text Null
		-- ci-dessous sera remplis par l'évaluation du champ ci dessus
		-- peut être rempli directement par le mappage
		, LOADER_SUMMARIES_UPDATE_ALLOWED SmallInt Null

		-- sera recopié à partir de la priorité défini dans DF_SUMMARIES
		-- car non nullable
		, DF_PRIORITY_ID_DF_PRIORITY Int Unsigned Null

		-- historique attaché à un compte
        , ACCOUNTS_REF Varchar(40) Null -- reference du compte. fourni par le fichier
        , ACCOUNTS_ID_ACCOUNTS Int Unsigned Null -- id du compte issu normalisation

		-- hitorique attaché à une écriture
        , ENTRIES_ACC_EXT_REF Varchar(45) Null -- reference du compte. fourni par le fichier
        , ENTRIES_ID_ENTRIES Int Unsigned Null -- id du compte issu normalisation

		-- hitorique attaché à une réclamation
		-- non géreable à ce jour (21/05/2015)
		-- => pas d'identifiant externe au niveau des reclamation
		-- => les reclamation ne sont pas integrable

		--  
		, ID_SUMMARIES Int Unsigned Null
		, ID_SUMMARIES_NEW Int Unsigned Null

		, SUMMARIES_DATE DateTime Null
		, SUMMARIES_SUBJECT Varchar(100) Null
		, SUMMARIES_COMMENTS Varchar(2000) Null
		, SUMMARIES_OUTSTANDING Decimal(19,4) Null
		, SUMMARIES_OVERDUE Decimal(19,4) Null

--		@todo gerer les document attaché de type texte
--		si le la longueur du commentaire > 2000 caractère
--		créer un document attaché de type text
-- 		, SUMMARIES_ATTACHED_TEXT_DOC TEXT Null


        -- contraintes et indexes
        , Primary Key (ID_LOADER_SUMMARIES)
        , Index (LOADER_STATUS_ID_LOADER_STATUS)
        , Index (ACCOUNTS_ID_ACCOUNTS, ENTRIES_ACC_EXT_REF)
        , Index (ENTRIES_ID_ENTRIES)
        , Index (ACCOUNTS_REF)
        , Index (DF_SUMMARIES_CODE)
        , Index (DF_SUMMARIES_ID_DF_SUMMR)

    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
End //
Delimiter ;
call LOADER_CREATE_TABLE_SUMMARIES();