如何使用项目ID扩展销售订单?

2020-08-15 17:59发布

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

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


Hello ByD社区

我的问题如下:

我想在销售订单标题中添加一个扩展字段,这是分配给该销售订单的项目ID。

我的用例每个销售订单仅涉及一个项目ID,并且从订单项到另一个项目的任务相同。 因此,我只能使用GetFirst()来仅检索第一个订单项。

过去一周,我问了一个类似的采购订单问题,在丹的提示下,我成功地做到了!

关于采购订单,我认为项目分配是通过SalesOrder.Item.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectReference构建的,但似乎有所不同。

因此,一旦我尝试检查此Association IsSet()是否会立即向我返回它不是!

我成功地在我的Extension字段中直截了当地将TaskUUID推送用于测试目的,而没有进行任何检查和验证,但没有通过良好验证的Project ID。

我也尝试使用SalesItem Association而不是Item Node进行查看,但这是相同的。 每当我尝试不同的检查时,它都会向我返回该字段的N/A,如果未设置关联,这是我的最后条件! 让我发疯的是,您的项目ID显示在销售订单的顶部,但是我只是找不到在Studio中找回它的方法!

这是我的After-Modify事件中的示例代码(我也尝试过保存),其中ProjectIDSalesOrder是我在Cloud Solution中的扩展字段:

导入ABSL;

如果(this.Item.GetFirst()。ItemAccountingCodingBlockDistribution.IsSet())

{

如果(this.SalesItem.GetFirst()。ItemProduct.ProductCategoryHierarchyProductCategoryIDKey.ProductCategoryInternalID.Matches(" 130"))

{

this.ProjectIDSalesOrder = this.SalesItem.GetFirst()。ItemServiceTerms.ProjectTaskUUID.content.ToString();

/*我实际上需要的是:this.ProjectIDSalesOrder = this.Item.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.GetFirst()。ProjectReference.ProjectID.content; */

}

else {this.ProjectIDSalesOrder ="未分配项目";}

}

else {this.ProjectIDSalesOrder =" N/A";}

如果有人可以帮助我,将不胜感激。

谢谢社区!

最诚挚的问候。

雅克·安托万

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

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


Hello ByD社区

我的问题如下:

我想在销售订单标题中添加一个扩展字段,这是分配给该销售订单的项目ID。

我的用例每个销售订单仅涉及一个项目ID,并且从订单项到另一个项目的任务相同。 因此,我只能使用GetFirst()来仅检索第一个订单项。

过去一周,我问了一个类似的采购订单问题,在丹的提示下,我成功地做到了!

关于采购订单,我认为项目分配是通过SalesOrder.Item.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectReference构建的,但似乎有所不同。

因此,一旦我尝试检查此Association IsSet()是否会立即向我返回它不是!

我成功地在我的Extension字段中直截了当地将TaskUUID推送用于测试目的,而没有进行任何检查和验证,但没有通过良好验证的Project ID。

我也尝试使用SalesItem Association而不是Item Node进行查看,但这是相同的。 每当我尝试不同的检查时,它都会向我返回该字段的N/A,如果未设置关联,这是我的最后条件! 让我发疯的是,您的项目ID显示在销售订单的顶部,但是我只是找不到在Studio中找回它的方法!

这是我的After-Modify事件中的示例代码(我也尝试过保存),其中ProjectIDSalesOrder是我在Cloud Solution中的扩展字段:

导入ABSL;

如果(this.Item.GetFirst()。ItemAccountingCodingBlockDistribution.IsSet())

{

如果(this.SalesItem.GetFirst()。ItemProduct.ProductCategoryHierarchyProductCategoryIDKey.ProductCategoryInternalID.Matches(" 130"))

{

this.ProjectIDSalesOrder = this.SalesItem.GetFirst()。ItemServiceTerms.ProjectTaskUUID.content.ToString();

/*我实际上需要的是:this.ProjectIDSalesOrder = this.Item.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.GetFirst()。ProjectReference.ProjectID.content; */

}

else {this.ProjectIDSalesOrder ="未分配项目";}

}

else {this.ProjectIDSalesOrder =" N/A";}

如果有人可以帮助我,将不胜感激。

谢谢社区!

最诚挚的问候。

雅克·安托万

付费偷看设置
发送
2条回答
灬番茄
1楼-- · 2020-08-15 18:47

大家好,

要跟进此问题,我发现在SalesOrderOverview节点中有一个QueryByElements。 我们可以通过ProjectID查询SalesOrder。

好! 但是,我们无法检索ProjectID。 因此,在查询中永远不会提出该建议。 我们可以再次查询一个ProjectID,但无法检索它。

由于似乎从未设置ItemAccountingblockDistribution关联,因此我们也无法从中检索ProjectID。

我将发布一个事件,以查看ProjectID是否可以作为实体在SalesOrderOverview中发布。 QueryByElements结果,以便能够使用它。

感谢您的关注。

Jacques-Antoine

SAP砖家
2楼-- · 2020-08-15 18:29

Hi Jacques-Antoine Ollier,

我知道已经6年了,但是您是否找到了这个问题的答案?

提前谢谢!

亲切的问候

Bill Giot

一周热门 更多>