为Book产品ItemType添加Author ItemType的最佳方法?

2020-08-22 20:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试遵循一些文档,这些文档...

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

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


我正在尝试遵循一些文档,这些文档讨论有关在SAP Commerce中创建书店的问题。 该模型要求存在与书籍具有多对多(Book2Author)关系的Author ItemType。 在我查看的图中,看来这应该是作者的与众不同之处:

 
  


问题1:我不喜欢作者扩展用户这一事实。 我认为这更多是从业务角度来看,作者不是真正的用户,或者...他们是用户吗? 您是否要设计一个系统,使作者能够登录并处理他们的书,也许可以回复评论或其他内容?

Q2:我试图让Author扩展用户扩展的相同内容,Principal,所以看起来像这样:

 
  

但是当我编译代码(删除自动生成的Java文件后)时,出现此错误:

 [testClassesScanner]在1.406毫秒内找到57个chdfulfilmentprocess测试类
     [触摸]创建/Users/sam/hybris/CD1904P10/hybris/temp/hybris/touch/chdfulfilmentprocess_testsrctouch
      [echo]建立扩展名" chdcore" ...
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
     [mkdir]创建的目录:/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac]将76个源文件编译到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac] ----------
    [yjavac] 1./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.isAdmin()
    [yjavac] ----------
    [yjavac] 2./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(在线 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getAllDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 3./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.checkSystemPrincipal()
    [yjavac] ----------
    [yjavac] 4./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 4个问题(4个错误)

 建立失败
/Users/sam/hybris/CD1904P10/hybris/bin/platform/build.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:90:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:148:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:155:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:328:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:533:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:595:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:91:编译失败; 有关详细信息,请参见编译器错误输出。

这使我相信用户定义中有一些东西可以实现这些方法,或者我不应该扩展Principal。 有什么想法吗?

2条回答
黑丝骑士
2020-08-22 21:08

早上好

我同意您的观点,即如果Auther并不是系统的真正用户,那么Author不应是User的实例。

在这种情况下,我将为Author创建一个专用的ItemType,如下所示:

 
 我的作者ItemType 
 
   <属性>
     
       
       <修饰符read =" true" write =" true" search =" true"初始=" true"可选=" false" unique =" true"/> 

一周热门 更多>