1、新建文件NewFile 创建get_bp_addresses_by_role_sql.procedure
2、Local Table Type中定义本地类型
/*
You can create new table types and use them as input and output parameters in a procedure.
The table types must be defined using SQL syntax, for example:
CREATE TYPE <Type Name> AS TABLE (<filed Name1> <Filed Type1>, <filed Name2> <Filed Type2>,...).
*/
create type tt_bp_addresses as table (
PartnerId nvarchar(10),
PartnerRole nvarchar(3),
EmailAddress nvarchar(255),
CompanyName nvarchar(80),
AddressId nvarchar(10),
City nvarchar(40),
PostalCode nvarchar(10),
Street nvarchar(60)
)
![计算机生成了可选文字: 乙‘ApHANADeve,opmen,瓜‘AP学习资料\HAN从c'ouds卜areRepo、‘,o州orks卜op\、e、,'ona\0o\mode's\get--bn--addre,、e、一呱ro,e一sq‘·prooedure一S丽HANAStud‘。1口『月口口口口口口口口FIIeEditNavigateSearchprojectRunWindowHelp:r当,履自}争,O,甲,i勿甲xplore。小吃弘p日ANARep。,;tor;g'甲令中甲甲,'SAp"ANAs'"'m尽宁get-bp一dd『e,,e,一b二『o'e-,q’·p『oCedu『e备心巴HOB一“QL鱼n,o'elHDB(SYSTEM)uvolbawcub45qagPtgu.vm.cld.sroo司曰sAp日ANA口〔良sQLscri醉一Local丁able砂pes…/*'Youcancreatenewtabletypesandusethemasinputandoutputparametersinaprocedure.ThetabletypesoustbedefinedusingSQLsyntax,forexaople:cREATEWPE<TypeNaoe>ASTABLE(<filedNamel><FiledTypel>,<filedNameZ><FiledTypeZ>,…).*/createtypett_bp_addressesastable(partner工dnvarchar(le),partnerRolenvarchar(3),巨。ai1Addressnvarchar(255),CoopanyNamenvarchar(se),Address工dnvarchar(10),citynvarchar(姆),postalcodenvarchar(10),Streetnvarchar(6e))!蜡卜eIloodata〔Errorwhileinitializingteamprovider]」砺opensApl【HDB(sysTEM,'works卜op.se、siona.oo')]卜以JavascriptRe,ource,卜身data‘身model,比get--bp一ddresse,_b火role_,ql.procedure昆.x,acce,,盛己·xsapp比·x,privilege,。,吩RetrieveData.xsjs](https://img-blog.youkuaiyun.com/20131202111200500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdsZWljaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3、SQLScript Tab页中代码创建Procedure
CREATE PROCEDUREget_bp_addresses_by_role_sql (
in partnerrole nvarchar(3),
out bp_addresses tt_bp_addresses
)
LANGUAGESQLSCRIPT
SQLSECURITY INVOKER
READSSQL DATA AS
BEGIN
/*****************************
Writeyour procedure logic
*****************************/
bp_addresses =
selecta."PartnerId", a."PartnerRole", a."EmailAddress",a."CompanyName",
a."AddressId",b."City", b."PostalCode", b."Street"
from"SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner"as a
inner join"SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::addresses"as b
ona."AddressId" = b."AddressId"
wherea."PartnerRole" = :partnerrole;
END;
4、Team→Commit& Activate之后,在SQL Console中调用代码,生成procedure,如下图所示:
call"_SYS_BIC"."WorkShop.sessiona.00.models/get_bp_addresses_by_role_sql"(
partnerrole =>'02', bp_addresses => ? )