急救!!!关于SAP调用BAPI_GOODSMVT_CREATE()函数的问题,各位帮忙!!!!

andybang 2008-11-19 04:30:41
各位大佬帮帮忙:
要求:根据采购订单进行收货
新建一张采购订单,通过BAPI函数得到订单明细,如:订单号450000000011,MATERIAL:MAT001,QUANTIRY:11等
在调用是可执行通过,未提示错误, 但库存数量未增加,不知哪个参数有问题,各位看看吧!!!!

SAP.Connector.SAPLogonDestination myDest;
SAP.Connector.SAPConnection myConn;
SAPProxy7 myProx;
System.Data.DataTable dMara;
SAPOK.BAPI2017_GM_CODE bapi1;
SAPOK.BAPI2017_GM_HEAD_01 bapi2;
SAPOK.BAPI2017_GM_HEAD_RET bapi3;
SAPOK.BAPI2017_GM_ITEM_CREATETable bapi4;
SAPOK.BAPI2017_GM_SERIALNUMBERTable bapi5;
SAPOK.BAPIRET2Table bapi6;
try
{
myDest = new SAP.Connector.SAPLogonDestination();
myDest.DestinationName = "test2003";
myDest.Client = short.Parse("000");
myDest.Username = "aaa";
myDest.Password = "123123";
myDest.Language = "EN";
//myDest.AppServerHost = "192.168.123.15";
myConn = new SAP.Connector.SAPConnection(myDest);
myConn.Open();
string strMat;
string strMaterial;
bapi1 = new BAPI2017_GM_CODE();
bapi1.Gm_Code = "01";
bapi2 = new BAPI2017_GM_HEAD_01();
bapi2.Pstng_Date = "19112008";
bapi2.Doc_Date = "19112008";
bapi2.Gr_Gi_Slip_No = "01";
bapi3 = new BAPI2017_GM_HEAD_RET();
bapi4 = new BAPI2017_GM_ITEM_CREATETable();
bapi5 = new BAPI2017_GM_SERIALNUMBERTable();
bapi6 = new BAPIRET2Table();
myProx = new SAPProxy7();
myProx.Connection = myConn;
SAPOK.BAPI2017_GM_ITEM_CREATE bapi7 = new BAPI2017_GM_ITEM_CREATE();
bapi7.Material = this.textBox2.Text;
bapi7.Po_Number = this.textBox5.Text;
bapi7.Plant = this.textBox3.Text;
bapi7.Quantity = Decimal.Parse(this.textBox4.Text);
bapi7.Stge_Loc = this.textBox6.Text;
bapi4.Add(bapi7);
myProx.Bapi_Goodsmvt_Create(bapi1, bapi2, "", out bapi3,
out strMat, out strMaterial, ref bapi4,
ref bapi5, ref bapi6);
MessageBox.Show("Goods Moved OK!");
myConn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
...全文
1682 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
poorhappy 2010-10-28
  • 打赏
  • 举报
回复
然也,是这样的
emptyjim 2010-09-01
  • 打赏
  • 举报
回复
COMMIT WORK AND WAIT.
Carina_xx 2009-11-18
  • 打赏
  • 举报
回复
你需要判断表BAPIRET2Table里的TYPE项的值是否有E,若不包含则需调用'BAPI_TRANSACTION_COMMIT'
否则需调用 'BAPI_TRANSACTION_ROLLBACK'
ruyue318 2009-09-29
  • 打赏
  • 举报
回复
你将这组数据给ABAPer在SAP系统中跑一下答案就有了。
Jony 2009-03-17
  • 打赏
  • 举报
回复
传说那玩意可以用于提交日志
colvin316 2009-02-26
  • 打赏
  • 举报
回复
我也在做Bapi_Goodsmvt_Create这个函数的事件,但是我这边SAP的人员给了我另一个BAPI_TRANSACTION_COMMIT函数,他们说这个函数是用来提交所要写入的信息,不知道这个函数你调用了没有,希望有帮助!!!
andybang 2008-12-15
  • 打赏
  • 举报
回复
每个参数都有值的,做过的请指教,谢谢啦!!!!!
wangping_li 2008-12-15
  • 打赏
  • 举报
回复
这东西跟踪一下不就好了,肯定是不问题
myProx.Bapi_Goodsmvt_Create(bapi1, bapi2, "", out bapi3,
out strMat, out strMaterial, ref bapi4,
ref bapi5, ref bapi6);
你看看上面这个函数时面的初始化的值是不是都已经有了
sunshine_anycall 2008-11-25
  • 打赏
  • 举报
回复
这个东西每个帮助,demo什么的吗?
shily_fly 2008-11-25
  • 打赏
  • 举报
回复
不会,爱莫能助,只有UP
andybang 2008-11-20
  • 打赏
  • 举报
回复
哪位大佬路过帮帮忙啊,顶顶顶!!!!!!

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧