c#SAPMethod.ZMM_TRAN_RESERVATION_IU outIu = new SAPMethod.ZMM_TRAN_RESERVATION_IU();
outIu.CHNGIND = "I";
outIu.GCID = "当前功能所属工厂的 MES ID"; // 给 MES 查看的,一般传工厂Id
outIu.WERKS = "出货工厂的 SAP ID"; // 科发4001
outIu.UMWRK = "收货工厂的 SAP ID";
outIu.UMLGO = "收货库位";
outIu.ZRSNUM = outIu.GetZRSNUM("KF_MatReturn", record.Id.ToString()); // 此次创建的唯一标识:参数一是功能标识(用于获取前两位),参数二是此次请求标识(一般是流程单Id;或字典表里存储一个Id,每次请求后自增)
foreach (MatReturnDetail matItem in record.MatDetailList)
{
outIu.AllDetails.Add(new SAPMethod.ZMM_TRAN_RESERVATION_IU_INPUT
{
LGORT = "出货库位",
MATNR = "物料编码",
BDMNG = "物料调拨数量",
MEINS = "物料计量单位"
});
}
new OuterAccess().ZMM_TRAN_RESERVATION_IU(outIu, out SAPMethod.ZMM_TRAN_RESERVATION_IU_Return outReturn, pUser, "ConnKf");
if (outReturn.EP_TYPE == "S")
{
// 成功
// outReturn.EP_MBLNR: 预留单号
}
else
{
// 失败
// outReturn.EP_MSG: 失败信息
}
c#SAPMethod.ZMM_TRANSFER_GI_AND_CANCEL inGi = new SAPMethod.ZMM_TRANSFER_GI_AND_CANCEL();
inGi.CHNGIND = "I";
inGi.GCID = "当前功能所属工厂的 MES ID"; // 给 MES 查看的,一般传工厂Id
inGi.BUDAT = DateTime.Now.ToString("yyyy-MM-dd"); // 过账日期
inGi.ZMBLNR = "预留单号";
foreach (SAPMethod.SapPlzclog sapYlItem in GetObjectList<SAPMethod.SapPlzclog>($"RSNUM = '{预留单号}'"))
{
inGi.AllDetails.Add(new SAPMethod.ZMM_TRANSFER_GI_AND_CANCEL_INPUT
{
MATNR = sapYlItem.MATNR,
WERKS = sapYlItem.WERKS,
LGORT = sapYlItem.LGORT,
UMLGO = sapYlItem.UMLGO,
UMWRK = sapYlItem.UMWRK,
MENGE = sapYlItem.BDMNG,
MEINS = sapYlItem.MEINS,
SGTXT = sapYlItem.SGTXT,
RSNUM = sapYlItem.RSNUM,
RSPOS = sapYlItem.RSPOS,
});
}
new OuterAccess().ZMM_TRANSFER_GI_AND_CANCEL(pUser, inGi, out SAPMethod.ZMM_TRAN_RESERVATION_IU_Return inReturn, "ConnKf");
if (inReturn.EP_TYPE == "S")
{
// 成功
// inReturn.EP_MBLNR: 过账单号
}
else
{
// 失败
// inReturn.EP_MSG: 失败信息
}
本文作者:张武腾
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!