## PCD_IMPORT_APPRENANTS

Doc
Details
Grants
References
Dependencies
Code

TEXT
    PROCEDURE          "PCD_IMPORT_APPRENANTS" AS
    CURSOR cur_import_apprenants is select login,niveau,givenname,sn,mail,site from import_apprenants;
    v_id_acteur number;
    v_id_groupe_site number;
    i number;
    BEGIN
      i := 0;
      for enr_import_apprenants in cur_import_apprenants
      loop
        begin
        -- on met à jour le mail de l'apprenant
        Select pf_groupe into v_id_acteur from acteurs where upper(login) = upper(enr_import_apprenants.login);

        update acteurs set email = enr_import_apprenants.mail where pf_groupe = v_id_acteur;
        -- On met à jour le site de l'apprenant
        --delete groupes_parentes where
        --  pf_fils = v_id_acteur
        --  AND
        --  pf_pere in (select p_id from groupes where groupes.f_type in (select p_id from types_groupes where libelle = 'site'));
        --select p_id into v_id_groupe_site from groupes where upper(libelle) = upper(enr_import_apprenants.site)
        --and p_id in (select p_id from types_groupes where libelle = 'site');
        --insert into groupes_parentes(pf_pere, pf_fils) values (v_id_groupe_site, v_id_acteur);

        exception
          when no_data_found THEN
            dbms_output.put_line(I+1|| ' nom '||enr_import_apprenants.sn|| ' niveau '|| enr_import_apprenants.niveau);
            pcd_creer_apprenant(enr_import_apprenants.login,enr_import_apprenants.sn,enr_import_apprenants.givenname,
            enr_import_apprenants.niveau,enr_import_apprenants.site,enr_import_apprenants.mail);

            i := i+1;
        end;
      end loop;
    END PCD_IMPORT_APPRENANTS;