If reusability is not the concern then we can go ahead with Open SQL only.
If reusability is needed then CDS is very useful also it can further be used in Odata & Fiori.
AMDP is useful when we want to have some very complex logic which requires looping and all also the need is to use SQL Script then we can go ahead with AMDP. But now with the birth of CDS table function we can use AMDP inside CDS.