在BODS中使用Ifthenelse

2020-09-21 13:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在尝试在下面修改我的查询:

如果thethenelse(ENR_DataObjectCrossRefence('ENGC05',Q_Enrich1.EQUNR ||'|'|| Q_Enrich1.ENGC05_EQTYP ||'|'|| Q_Enrich1.ENGC05_SWERK,Q_Enrich1.DI_SOURCE_SUB_s_Data)是零, EQUNR ||'|'|| Q_Enrich1.ENGC05_SUB_EQTYP ||'|'|| Q_Enrich1.ENGC05_SUB_SWERK,Q_Enrich1.DI_SOURCE_SYSTEM),空)

这是什么,它只接受参数并检查它是ENGC05还是ENGC05_SUB,然后从XREF表返回数据。

现在需要进行的更改是,如果第一个函数返回null,则它将与另一个ENGC05_SUB参数一起重新运行该函数,以使它不会返回null。

这是我提议的逻辑外观,但我似乎无法在查询中正确输入它。

X = ENR_DataObjectCrossRefence(

'ENGC05',

Q_Enrich1.EQUNR || '|' || Q_Enrich1.ENGC05_EQTYP || '|' || Q_Enrich1.ENGC05_SWERK,

Q_Enrich1.DI_SOURCE_SYSTEM)

如果((nvl(x,’)=’’)

开始

X = ENR_DataObjectCrossRefence(

'ENGC05_SUB',

Q_Enrich1.EQUNR || '|' || Q_Enrich1.ENGC05_SUB_EQTYP || '|' || Q_Enrich1.ENGC05_SUB_SWERK,

Q_Enrich1.DI_SOURCE_SYSTEM

结束

返回x

有人可以帮我吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在尝试在下面修改我的查询:

如果thethenelse(ENR_DataObjectCrossRefence('ENGC05',Q_Enrich1.EQUNR ||'|'|| Q_Enrich1.ENGC05_EQTYP ||'|'|| Q_Enrich1.ENGC05_SWERK,Q_Enrich1.DI_SOURCE_SUB_s_Data)是零, EQUNR ||'|'|| Q_Enrich1.ENGC05_SUB_EQTYP ||'|'|| Q_Enrich1.ENGC05_SUB_SWERK,Q_Enrich1.DI_SOURCE_SYSTEM),空)

这是什么,它只接受参数并检查它是ENGC05还是ENGC05_SUB,然后从XREF表返回数据。

现在需要进行的更改是,如果第一个函数返回null,则它将与另一个ENGC05_SUB参数一起重新运行该函数,以使它不会返回null。

这是我提议的逻辑外观,但我似乎无法在查询中正确输入它。

X = ENR_DataObjectCrossRefence(

'ENGC05',

Q_Enrich1.EQUNR || '|' || Q_Enrich1.ENGC05_EQTYP || '|' || Q_Enrich1.ENGC05_SWERK,

Q_Enrich1.DI_SOURCE_SYSTEM)

如果((nvl(x,’)=’’)

开始

X = ENR_DataObjectCrossRefence(

'ENGC05_SUB',

Q_Enrich1.EQUNR || '|' || Q_Enrich1.ENGC05_SUB_EQTYP || '|' || Q_Enrich1.ENGC05_SUB_SWERK,

Q_Enrich1.DI_SOURCE_SYSTEM

结束

返回x

有人可以帮我吗?

付费偷看设置
发送
1条回答
SAP砖家
1楼-- · 2020-09-21 14:58

您好尼科尔·彭赞兰

/*创建一个NewOutput列*/
 Query_1:新的输出列
 ENR_DataObjectCrossRefence_ENGC05
 映射:
 nvl('ENGC05',Q_Enrich1.EQUNR ||'|'|| Q_Enrich1.ENGC05_EQTYP ||'|'|| Q_Enrich1.ENGC05_SWERK,Q_Enrich1.DI_SOURCE_SYSTEM,'')


 ENR_DataObjectCrossRefence_ENGC05_SUB
 映射:
 'ENGC05_SUB',Q_Enrich1.EQUNR ||  '|'  ||  Q_Enrich1.ENGC05_SUB_EQTYP ||  '|'  ||  Q_Enrich1.ENGC05_SUB_SWERK,Q_Enrich1.DI_SOURCE_SYSTEM


/*如果则为其他逻辑*/
 Query_2:IfThenElse的映射逻辑。 我相信" ENGC05"和" ENGC05_SUB"是列。
 输出电量:ENR_DataObjectCrossRefence
 映射:

 ifthenelse(ENR_DataObjectCrossRefence_ENGC05 ='',ENR_DataObjectCrossRefence_ENGC05_SUB,ENR_DataObjectCrossRefence_ENGC05)

 

致谢,
Akhilesh Kiran。

一周热门 更多>