17 Ağustos 2017 Perşembe

SAPUI5, ODATA and anonymous database access in the HCP: How to do it

SAP Hana sisteminde servis oluşturdunuz.Her servis çağırdığınızda kullanıcı adı ve şifresi girmek istemiyorsanız servisinizi anonymous users 'a çevirip işlem yaptırabilirsiniz.Bu güvenlik açığı oluşturur.Bu açığı kapatmak için APIKEY,KEYCODE vb. bir parametre oluşturarak servis açığını kapatabilirsiniz.
anonymous database access in the HCP için:

1-
.xsaccess
{
"exposed"      : true,
"authentication" : null,
"anonymous_connection": "packet_name::anonuser"
}

2-
anonuser.xssqlcc
{
"description" : "Anon SQL connection"
}

Bu kısıma kadar yaparsanız servise erişim anonymous yapılabilir.Fakat servis data'larını göremezsiniz.

3-Oluşturulan anonymous user,Hana database deki 1 kullanıcı ile eşleşmesi için aşağıdaki güncellemeyi yapıyoruz.

UPDATE "_SYS_XS"."SQL_CONNECTIONS"
        SET username = 'USERNAME'
WHERE name = 'packet_name::anonuser';



16 Ağustos 2017 Çarşamba

Error : Sorry, a technical error occurred! Please try again later.

SAP web ide'nize yeni bir servis bağladığınızda aşağıdaki hatayı alabilirsiniz.
Error : Sorry, a technical error occurred! Please try again later.
Servisi eklediniz ama uygulama çalışmamasının nedeni,destination'ızı bulamaması.
Direk çözüm servis url'sini uygulama içerisinden çalıştırmak ama aşağıdaki şekilde yapmanız daha sağlıklı çözüm olur.

1-neo-app.json :
2-manifest.json :

15 Ağustos 2017 Salı

403 - Forbidden The server refused to fulfill the request.

SAP HANA da oluşturduğunuz servise POST,PUT,DELETE işlemlerini yapmak istediğinizde aşağıdaki hatayı alabilirsiniz.
403 - Forbidden The server refused to fulfill the request.

bu hatanın çözümü
.xsaccess dosyasının içindeki prevent_xsrf değerini false yapmanız.


.xsaccess
{
"exposed"      : true,
        "prevent_xsrf" : false
}

14 Ağustos 2017 Pazartesi

Stored Procedure - Could not create catalog object: insufficient privilege; Not authorized

SAP Hana insert-update-delete işlemlerini yapacağınız bir stored procedure oluşturduğunuz zaman aşağıdaki hatayı alabilirsiniz.

Stored Procedure - Could not create catalog object: insufficient privilege; Not authorized

çözüm yolu:

Users  >_SYS_REPO and Object Privileges tab 

Ve işlem yaptığınız tabloyu ekleyip transcation'larını seçmek.




9 Ağustos 2017 Çarşamba

create procedure and call on hana

create procedure on hana:


PROCEDURE "MAINTENANCE"."maintenance.procedures::get_userInfo"(
IN im_USER       "MAINTENANCE"."TT_USERLOGIN",
    OUT ex_userInfo  "MAINTENANCE"."TT_USERINFO" )
 LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
--DEFAULT SCHEMA <default_schema_name>
READS SQL DATA AS
BEGIN
 /*****************************
Write your procedure logic
 *****************************/
 declare lv_EMPLOYEEID nvarchar(10);
 declare lv_password nvarchar(1000);


select EMPLOYEEID,PASSWORD
     into lv_EMPLOYEEID,lv_password
                      from :im_USER;
                   
                   
 ex_userInfo = select * from "MAINTENANCE"."EMPLOYEES"
               where EMPLOYEEID = :lv_EMPLOYEEID and
                     PASSWORD   = :lv_password;
END;

----call procedure----------

drop table #LOGINUSER;
CREATE LOCAL TEMPORARY COLUMN TABLE #LOGINUSER LIKE "MAINTENANCE"."TT_USERLOGIN";
INSERT INTO #LOGINUSER VALUES ('1001','ADMIN');

call "MAINTENANCE"."maintenance.procedures::get_userInfo"( #LOGINUSER,
                                                           ?)

8 Ağustos 2017 Salı

Odata service with error: Service exception: insufficient privilege

Odata service with error: Service exception: insufficient privilege 

hatasının çözümü için 2 yol önerebilirim.
1- *.hdbrole oluşturup,ilgili kullanıcıya bu yetkiyi vermek.

  role pXXXtrial.mybackend::role_name{
    catalog schema "WORKSHOP_01": SELECT,UPDATE,INSERT,DELETE;
}
daha sonra oluşturduğunuz role ilgili kullanıcıya vermek.
CALL "HCP"."HCP_GRANT_ROLE_TO_USER"('pXXXtrial.mybackend::role_name','pXXX');


2-Bu yöntemde ise manuel role yaratıp ilgili kullanıcılara atamak.
 


2 Ağustos 2017 Çarşamba

SAP Hana Attribute Views export SQL

Hana sisteminde oluşturduğunuz attribute Views'leri ,
_SYS_BIC --> Column Views ,
çift tıklayarak export SQL yapabilirsiniz.




Getting the "Cannot get the data provider outline" Error due to "insufficient privilege: Not authorized"

Eclipse de attribute view de karşınıza çıkan hatayı aşağıdaki şekilde düzeltebilirsiniz:

Getting the "Cannot get the data provider outline" Error due to "insufficient privilege: Not authorized"


SQL command dan aşağıdaki gibi çalıştırın :

GRANT SELECT ON SCHEMA "<schema name>" TO _SYS_REPO WITH GRANTOPTION