库存转移交易不会回滚!

2020-09-27 10:45发布

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

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


我正尝试从我的代码回滚库存转移事务,但条目已保存。 我在下面粘贴我的代码。 任何帮助将不胜感激。

私有字符串Create_InvTransfer_BeforeSave(SAPbouiCOM.Form oform,字符串类型,字符串Warehouse,int QCDocentry)
 {


     字符串DisplayError ="";


     尝试
     {


         oEdit1 =(SAPbouiCOM.EditText)oform.Items.Item(" txtDocEnt")。Specific;
         oEdit2 =(SAPbouiCOM.EditText)oform.Items.Item(" txtDocNum")。Specific;
         oComboBox1 =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbPrdCd")。Specific;
         oEdit4 =(SAPbouiCOM.EditText)oform.Items.Item(" txtInspQty")。


         如果(类型=="批准")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtApprQty")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbAppWH")。Specific;
         }
         否则,如果(类型=="样本")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtQcSmp")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbSamWH")。Specific;
         }
         否则,如果(类型=="拒绝")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtManRej")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbRejWH")。Specific;
         }


        


         int RetVal = 0;
         字符串ErrMsg ="";
         int ErrCode = 0;
         oCompany.StartTransaction();
         SAPbobsCOM.StockTransfer oInvTrans =默认值(SAPbobsCOM.StockTransfer);
         oInvTrans =(SAPbobsCOM.StockTransfer)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oStockTransfer);


         oInvTrans.DocDate = DateTime.Now;
         oInvTrans.FromWarehouse =仓库;
         oInvTrans.ToWarehouse = oComboBox.Value.Trim();


         oInvTrans.Lines.SetCurrentLine(0);
         oInvTrans.Lines.ItemCode = oComboBox1.Value.Trim();
         oInvTrans.Lines.FromWarehouseCode =仓库;
         oInvTrans.Lines.WarehouseCode = oComboBox.Value.Trim();
         oInvTrans.Lines.Quantity = double.Parse(oEdit3.Value);


         oInvTrans.Lines.UserFields.Fields.Item(" U_DocEntry")。Value = QCDocentry;
         如果(类型=="批准")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         否则,如果(类型=="样本")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         否则,如果(类型=="拒绝")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         oInvTrans.Lines.UserFields.Fields.Item(" U_InspQty")。Value = double.Parse(oEdit4.Value);


         oInvTrans.Lines.Add();
         RetVal = oInvTrans.Add();
         如果(RetVal!= 0)
         {
             oCompany.GetLastError(out ErrCode,out ErrMsg);
             DisplayError = ErrMsg;
             返回DisplayError;


         }
         其他
         {
             oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
             返回DisplayError;


         }


     }
     抓住(前例外)
     {
         oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
         DisplayError = ex.ToString();
         返回DisplayError;
     }
 }
 

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

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


我正尝试从我的代码回滚库存转移事务,但条目已保存。 我在下面粘贴我的代码。 任何帮助将不胜感激。

私有字符串Create_InvTransfer_BeforeSave(SAPbouiCOM.Form oform,字符串类型,字符串Warehouse,int QCDocentry)
 {


     字符串DisplayError ="";


     尝试
     {


         oEdit1 =(SAPbouiCOM.EditText)oform.Items.Item(" txtDocEnt")。Specific;
         oEdit2 =(SAPbouiCOM.EditText)oform.Items.Item(" txtDocNum")。Specific;
         oComboBox1 =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbPrdCd")。Specific;
         oEdit4 =(SAPbouiCOM.EditText)oform.Items.Item(" txtInspQty")。


         如果(类型=="批准")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtApprQty")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbAppWH")。Specific;
         }
         否则,如果(类型=="样本")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtQcSmp")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbSamWH")。Specific;
         }
         否则,如果(类型=="拒绝")
         {
             oEdit3 =(SAPbouiCOM.EditText)oform.Items.Item(" txtManRej")。Specific;
             oComboBox =(SAPbouiCOM.ComboBox)oform.Items.Item(" cmbRejWH")。Specific;
         }


        


         int RetVal = 0;
         字符串ErrMsg ="";
         int ErrCode = 0;
         oCompany.StartTransaction();
         SAPbobsCOM.StockTransfer oInvTrans =默认值(SAPbobsCOM.StockTransfer);
         oInvTrans =(SAPbobsCOM.StockTransfer)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oStockTransfer);


         oInvTrans.DocDate = DateTime.Now;
         oInvTrans.FromWarehouse =仓库;
         oInvTrans.ToWarehouse = oComboBox.Value.Trim();


         oInvTrans.Lines.SetCurrentLine(0);
         oInvTrans.Lines.ItemCode = oComboBox1.Value.Trim();
         oInvTrans.Lines.FromWarehouseCode =仓库;
         oInvTrans.Lines.WarehouseCode = oComboBox.Value.Trim();
         oInvTrans.Lines.Quantity = double.Parse(oEdit3.Value);


         oInvTrans.Lines.UserFields.Fields.Item(" U_DocEntry")。Value = QCDocentry;
         如果(类型=="批准")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         否则,如果(类型=="样本")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         否则,如果(类型=="拒绝")
         {
             oInvTrans.Lines.UserFields.Fields.Item(" U_ObjType")。Value =" Is_OnlQc" +类型;
         }
         oInvTrans.Lines.UserFields.Fields.Item(" U_InspQty")。Value = double.Parse(oEdit4.Value);


         oInvTrans.Lines.Add();
         RetVal = oInvTrans.Add();
         如果(RetVal!= 0)
         {
             oCompany.GetLastError(out ErrCode,out ErrMsg);
             DisplayError = ErrMsg;
             返回DisplayError;


         }
         其他
         {
             oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
             返回DisplayError;


         }


     }
     抓住(前例外)
     {
         oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
         DisplayError = ex.ToString();
         返回DisplayError;
     }
 }
 
付费偷看设置
发送
2条回答
代楠1984
1楼 · 2020-09-27 11:16.采纳回答

你好,尼基塔,

我不明白你的目的是什么。 但是使用您的代码,您的操作将被回滚。

您确定问题出在此功能上吗?

亲切的问候,

迭戈·拉瑟

暮风yp
2楼-- · 2020-09-27 11:09

嗨迭戈

感谢您的回复。 问题是由于我的事件而不是函数引起的。

此致

Nikita Arora

一周热门 更多>