点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
快速问题:生成模型时,是否可以使用变换/变换配置文件"即时"修改对象?
示例:
我有一个实体为" A"的LDM。 该实体具有10个属性。 现在,我从该LDM中生成了一个PDM,但是...表" A"与实体" A"不是100%相同。 在生成过程中,我必须添加一些其他(技术)列,分区等。 因此,最后,表" A"必须包含来自实体" A"的那10个属性和4个其他技术属性以及一些分区等。
在模型生成期间是否可以使用转换/转换配置文件?
我无法做到这一点...
感谢与BR,
Rafal
您当然可以-参见帮助主题"转换(配置文件)"。
如果模型扩展属性AutoFixMaterializedViewDone = True,则Oracle 11G数据库定义将包含一个转换。
Goeorge,你好
确定,因此可以修改定义。
另一个问题:
在LDM中,我有一个带有10个属性的实体" A"。 在属性级别上,我有一个标记(扩展属性),它指示这些属性的相关性。 相关性的意思是,我有一个指示符,指示该属性是在表X的表" A"中创建,还是在表Y的表" A"中或者在两个表" A"中创建。
我无法定义这样的转换(在PDM扩展中)来满足此要求。 如何将属性的创建限制为仅相关的属性。 如何从LDM实体" A"创建两个仅包含相关属性的PDM表" A"(用于模式X)和" A"(用于模式Y)?
如果我想使用" before generation",那么我需要先在LDM中创建那些对象(可能是临时的),然后再创建。
是否有可能触发"后代",但是在PDM中不是LDM? 我知道," befores"和" afters"是在我从中生成的源模型上触发的(因此在本例中为LDM)。
您将如何进行此类要求?
我唯一的想法是使用VBScript编写自己的生成过程。
BR,
Rafal
在转换的前代和后代中都需要编写脚本。
1)在前代中,需要保存 扩展属性值在某些地方。 例如,如果在LDM中为属性定义扩展属性,则可以将值保存在注释字段中。
2)在后期生成中,需要编写脚本来提取值。
嗨,菲利普,
不确定我是否找到你。
这是我的LDM实体:
标志" G"和" K"(布尔类型的扩展属性)用于指示特定属性是否与模式" G"或模式" K"相关。
基于这些标志,我需要创建一个PDM。
结果应如下所示:
1)对于模式G,将创建一个包含属性1,2,3的表
2)对于架构K,将创建一个包含所有属性1-5的表,因为已为所有属性设置了标志" K"。
所以我想生成这两个对象:
我可以使用自己的脚本来执行此操作,但是如何使用转换配置文件来执行此操作? 我想使用标准的工具/方法。
当然,我可以将那些LDM扩展属性的值复制到PDM,没问题。 我的问题是:我应该在哪里定义创建这两个表的方法? 我应该在LDM的前代还是后代中创建它们(以在目标模型(PDM)中创建它们)? 某种程度上,后生成的配置文件(如果我是从LDM生成PDM)不会影响PDM,但根据PD的帮助,它应该会。 或者,我做错了。
您可以使用预生成配置文件在模型生成期间删除不需要的属性-在该方法中,处理实体的属性集合,测试扩展属性。 根据值,从集合中删除属性。 现在,当PD生成或更新PDM时,这些属性将被忽略-它们不再存在。
随附的是我的示例LDM和PDM扩展。
将ctempldm.txt更改为ctempldm.ldm,将ctempremovecolumn.txt更改为ctempremovecolumn.xem。
请执行以下操作:
1)打开ldm。
2)创建一个空的PDM。 创建一个扩展。 导入我的xem
3)返回到LDM。 运行工具->生成物理数据模型。 选择更新现有物理数据模型。 与您刚刚创建的空
PDM相关联。 在"详细信息"选项卡中,单击"启用转换"按钮。 您应该同时看到转换前的标签和转换后的
标签。
4)选择两个标签的转换。
5)启动该过程。
在LDM中。 我在属性级别创建一个扩展属性。 将其标记为true表示您不希望在PDM中使用它。
在PDM中。 扩展要查找扩展的属性值,然后在值正确的情况下删除该列。
一周热门 更多>