我正在尝试通过 RAP 创建 OData 函数导入。
当我使用抽象 CDS 视图来定义我的参数时,它工作得很好:
static function XXX parameter YYY result [0..*] $self;
define abstract entity YYY
{
importParameter: abap.string;
}
但是因为我只想要一个导入参数,所以我考虑使用 DDIC 类型,就像 CDS BDL 的 Cloud ABAP 文档中隐含的那样 - InputParameter:
输入参数实体
可以是CDS抽象实体,也可以是经典的DDIC类型ParameterEntity
当我使用 DDIC 类型时,元数据显示没有导入参数。我尝试了数据元素、域和原始类型,但即使它们都通过了语法检查,但我的服务的元数据有一个导入参数。
结构再次起作用,但话又说回来,我会拥有一个只有一个属性的结构,我更喜欢抽象 CDS 视图。
是否不能使用单一 DDIC 类型作为参数?如果可能的话,怎么可能?
试试这个, 在行为定义中, 静态函数 [fName] 参数 [inputParam] 结果 [0..] [outputParam]; 例如: 静态函数 getUserContactInfo 参数 userMasterData 结果[0..] userContactInfo ;
userMasterData 是一个结构体,可能包含 userId、UserName 或其他一些键, userContactInfo 也是一个结构体,可能包含电子邮件地址、电话、传真号码等...
在你的实施课程中, 方法 getUserContactInfo 用于读取导入 userMasterData 用于功能 [你的说唱博名字]~getUserContactInfo结果userContactInfo。