Lors de l’activation du mode « Draft » sur votre Business Object, si vous avez une gestion d’autorisations sur vos CDS, alors il est important d’appliquer la même chose sur vos tables draft. Explications !
1. Création du Business Object et des autorisations
Ici nous créons une CDS qui permet de lister les anomalies possible pour une unité de manutention

Puis nous créons le BDEF associé :

Nous ajoutons une Access Control CDS qui permet de filtrer les entrées remontées à l’utilisateur.
Ainsi, nous n’affichons que les anomalies paramétrées sur les organisations d’achats où l’utilisateur à les droits en visualisation

2. Tests et problèmes
Une fois les annotations et l’application Fiori element crée, nous pouvons tester avec un utilisateur ayant les droits en visualisation sur l’organisation d’achat « FRMA » uniquement.

Nous voyons que le filtre est correctement effectué.
Cependant, en activant le mode Draft sur l’application Fiori, nous pouvons voir que l’utilisateur est capable de visuliser les entrées en « Draft » dans l’application, même si elles ne font pas parti de son organisation d’achat :

3. Solution
Dans ce cas, il faut créer une nouvelle CDS de type « Draft Query View » par dessus la table de draft, et y appliquer les autorisations souhaitées :

Puis la DCL Access Control. Ici, nous voulons les mêmes autorisations que sur la CDS de base.

Puis l’ajouter au BDEF

Désormais, sur l’application Fiori, l’utilisateur, même lors de la visualisation des Drafts, ne verra que les entrées qu’il est autorisé de visualiser

Conclusion
Nous avons donc pu voir que lorsque nous activons le mode draft sur un business object RAP, il faut penser a ajouter un controle d’autorisation egalement sur les table de draft.
