供应商发票的发票输入(供应商退货)中的指示符字段的值。

2020-09-13 16:43发布

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

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


亲爱的

我们在供应商发票XBO中添加了扩展字段指示符,并将固定值设置为true。

我们从发票分录创建供应商发票(所有退货都需要发票)⇒创建CreditMemo。

尽管我们将指标字段的初始值设置为true,但指标字段的初始值为false。

在其他情况下,作为发票输入(所有要发票的交货)⇒创建CreditMemo或发票。

发票输入(所有要发票的订单)⇒创建CreditMemo或发票。

指标字段的初始值为true。

※如果我们通过使用2个发票分录(所有应退还发票)创建捆绑贷项凭证,则指标的初始值为true。 如果我们使用一个发票条目(所有退货发票)创建一个贷项凭证,则指示符的初始值为false。

实际上,我们要将指标的初始值设置为true。

我们尝试调试逻辑,仅在供应商发票的发票条目(所有要发票的退货)中,标志的初始值已设置为false。

在这种情况下为什么指示符字段的初始值发生了更改(所有退货都已开具发票)?

这是我们的逻辑,我们在SupplierInvoice.xbo的aftermodify.absl中编写。

*************************************************** ************************************

我们在xbo中声明该标志并将初始值设置为true。

元素标志:Indicator = true;

*************************************************** ************************************

导入ABSL;

导入AP.Purchasing.Global;

var refID;

var refName;

var PurchaseOrderReference;

如果(this.IsSet()){

PurchaseOrderReference = this.PurchaseOrderReference;

if(this.Status.SupplierInvoiceLifeCycleStatusCode ==" 4" || this.Status.SupplierInvoiceLifeCycleStatusCode ==" 8" || this.Status.SupplierInvoiceLifeCycleStatusCode ==" 9" || this.Status.SupplierInvoiceLifeCycleStatusCode ="" "

{//只读模式}

其他{

如果(purchaseOrderReference.Count()> 0){

if(this.flag){t

his.flag = false;

refID = PurchaseOrderReference.GetFirst()。BusinessTransactionDocumentReference.ID.content; refName = PurchaseOrderReference.GetFirst()。BusinessTransactionDocumentReference.TypeCode.GetDescription();

if(refName =="购买顺序"){

this.isFromPOFlag = true;

}

如果(this.isFromPOFlag){

var porderQry = PurchaseOrder.QueryByElements;

var porderParams = porderQry.CreateSelectionParams(); porderParams.Add(porderQry.ID.content," I"," EQ",refID);

var porderResult = porderQry.Execute(porderParams);

foreach(porderResult中的可变项){

this.N_EXTValue = item.N_EXTValue; }

}

}

}

}

}

*************************************************** ************************************

最好的问候

魅力M

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

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


亲爱的

我们在供应商发票XBO中添加了扩展字段指示符,并将固定值设置为true。

我们从发票分录创建供应商发票(所有退货都需要发票)⇒创建CreditMemo。

尽管我们将指标字段的初始值设置为true,但指标字段的初始值为false。

在其他情况下,作为发票输入(所有要发票的交货)⇒创建CreditMemo或发票。

发票输入(所有要发票的订单)⇒创建CreditMemo或发票。

指标字段的初始值为true。

※如果我们通过使用2个发票分录(所有应退还发票)创建捆绑贷项凭证,则指标的初始值为true。 如果我们使用一个发票条目(所有退货发票)创建一个贷项凭证,则指示符的初始值为false。

实际上,我们要将指标的初始值设置为true。

我们尝试调试逻辑,仅在供应商发票的发票条目(所有要发票的退货)中,标志的初始值已设置为false。

在这种情况下为什么指示符字段的初始值发生了更改(所有退货都已开具发票)?

这是我们的逻辑,我们在SupplierInvoice.xbo的aftermodify.absl中编写。

*************************************************** ************************************

我们在xbo中声明该标志并将初始值设置为true。

元素标志:Indicator = true;

*************************************************** ************************************

导入ABSL;

导入AP.Purchasing.Global;

var refID;

var refName;

var PurchaseOrderReference;

如果(this.IsSet()){

PurchaseOrderReference = this.PurchaseOrderReference;

if(this.Status.SupplierInvoiceLifeCycleStatusCode ==" 4" || this.Status.SupplierInvoiceLifeCycleStatusCode ==" 8" || this.Status.SupplierInvoiceLifeCycleStatusCode ==" 9" || this.Status.SupplierInvoiceLifeCycleStatusCode ="" "

{//只读模式}

其他{

如果(purchaseOrderReference.Count()> 0){

if(this.flag){t

his.flag = false;

refID = PurchaseOrderReference.GetFirst()。BusinessTransactionDocumentReference.ID.content; refName = PurchaseOrderReference.GetFirst()。BusinessTransactionDocumentReference.TypeCode.GetDescription();

if(refName =="购买顺序"){

this.isFromPOFlag = true;

}

如果(this.isFromPOFlag){

var porderQry = PurchaseOrder.QueryByElements;

var porderParams = porderQry.CreateSelectionParams(); porderParams.Add(porderQry.ID.content," I"," EQ",refID);

var porderResult = porderQry.Execute(porderParams);

foreach(porderResult中的可变项){

this.N_EXTValue = item.N_EXTValue; }

}

}

}

}

}

*************************************************** ************************************

最好的问候

魅力M

付费偷看设置
发送
2条回答
SAP砖家
1楼-- · 2020-09-13 17:15

嗨,魅力

下面是我的观察

1)通常,当您从发票输入触发发票或贷记凭证创建时,会在修改脚本后触发

2)当您捆绑两个或多个发票条目以创建贷项凭证时,采购订单参考将位于所创建的贷项凭证的项目级别。 因此,在您的情况下,修改后的脚本不会进入将标志值更改为false的循环。

3)但是,当您从单个发票条目创建贷项凭证时,采购订单参考将处于根级别,这将触发您的脚本将标志的值更改为false(因为我相信这是您唯一的位置 将标志设置为false)

以上内容是根据我的分析得出的,但是请告诉我这是否不能解决您的问题

致谢

G。 Venkatesh

WhatsApp +91 74027 35345

打个大熊猫
2楼-- · 2020-09-13 17:33

G。Venkatesh,

感谢您的努力。

我删除了将标志更改为false的逻辑,并尝试调试该逻辑。

标志值的第一次为false,并且不会进入循环。

最好的问候

魅力M。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答