首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAP RFC如何更改PM订单上的日期

SAP RFC如何更改PM订单上的日期
EN

Stack Overflow用户
提问于 2014-06-03 12:04:59
回答 2查看 1.2K关注 0票数 0

我使用SAP函数"BAPI_ALM_ORDERHEAD_GET_LIST“检索订单编号12345。我想把日期改到2015年1月1日。我找不到关于如何更改我在SAP中输入的字段的文档。我可以用代码从SAP获得订单,但我不知道如何更改日期。这是我的代码:

代码语言:javascript
复制
objRfcFunc = doLogin()
With objRfcFunc.Tables("IT_RANGES")
    Dim arrStr(,) As String = {{"OPTIONS_FOR_ORDERID", "12345"}, _
           {"SHOW_OPEN_DOCUMENTS", "X"}, _
           {"SHOW_DOCUMENTS_IN_PROCESS", "X"}, _
           {"SHOW_COMPLETED_DOCUMENTS", "X"}, _
           {"SHOW_HISTORICAL_DOCUMENTS", "X"}, _
           {"SHOW_DOCS_WITH_FROM_DATE", "00010101"}, _
            {"SHOW_DOCS_WITH_TO_DATE", "99991231"}}

        For i = 0 To (arrStr.Length / arrStr.Rank) - 1
            If .RowCount < i + 1 Then .Rows.Add()
            .cell(i + 1, 1) = arrStr(i, 0)
            .cell(i + 1, 2) = "I"
            .cell(i + 1, 3) = "EQ"
            .cell(i + 1, 4) = arrStr(i, 1)
        Next

    End With
    If objRfcFunc.Call = False Then
        MsgBox("Error occured - " & objRfcFunc.Exception)
        Exit Sub
    End If
    'How do I change date here?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-05 14:04:29

如果有人需要的话,请看这里。

代码语言:javascript
复制
    objRfcFunc = sapFunc.Add("BAPI_ALM_ORDER_MAINTAIN")

    With objRfcFunc.Tables("IT_METHODS")
        If .RowCount < 1 Then .Rows.Add()
        .cell(1, 1) = 1
        .cell(1, 2) = "HEADER"
        .cell(1, 3) = "CHANGE"
        .cell(1, 4) = oNum
        If .RowCount < 2 Then .Rows.Add()
        .cell(2, 2) = ""
        .cell(2, 3) = "SAVE"
    End With

    With objRfcFunc.Tables("IT_HEADER")
        If .RowCount < 1 Then .Rows.Add()
        .cell(1, "ORDERID") = oNum
        .cell(1, "START_DATE") = "2016-11-03"
        .cell(1, "BASICSTART") = "1:00 AM"
    End With
    With objRfcFunc.Tables("IT_HEADER_UP")
        If .RowCount < 1 Then .Rows.Add()
        .cell(1, "START_DATE") = "X"
        .cell(1, "BASICSTART") = "X"
    End With

    If objRfcFunc.Call = False Then
        MsgBox("Error occured - " & objRfcFunc.Exception)
        Exit Sub
    End If

    Dim cmt = sapFunc.Add("BAPI_TRANSACTION_COMMIT")
    If cmt.Call = False Then
        MsgBox("Error occured Commiting - " & objRfcFunc.Exception)
        Exit Sub
    End If

    cmt.exports("wait").value = "X"

    tab = objRfcFunc.Tables("RETURN")
    For i = 1 To tab.RowCount
        If (tab.Cell(i, "TYPE") = "W" Or tab.Cell(i, "TYPE") = "E") Then
            Console.WriteLine("<<-- <" & tab.Cell(i, "TYPE") & ">" & tab.Cell(i, "MESSAGE"))
        End If
    Next
票数 0
EN

Stack Overflow用户

发布于 2014-06-03 12:48:47

据我所见,您需要为此使用BAPI BAPI_ALM_ORDER_MAINTAIN。请务必查阅该功能模块的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24014747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档