ABAP函数:SD_VBAP_READ_WITH_VBELN(根据销售订单读取表vbap中的信息)
function:SD_VBAP_READ_WITH_VBELN
功能:根據銷售訂單讀取表vbap中的信息
參數:
? import:I_VBELN????????????????????????? 訂單號(必輸項)
????????????? I_BYPASSING_BUFFER???? 是否回避buffer
????????????? I_REFRESH_BUFFER???????? 是否清空buffer
? tables:ET_VBAPVB??????????????????????? 不清楚其意義
?????????????????? ET_VBAP??????????????????????????? vbap表
form:EDIT_LINES
功能:把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新組織
原因:如果用CREATE_TEXT登錄的長文本不存在該問題,如果是在前臺業務登錄的text,那么存到數據庫的時候會在72位的地方換行,在lines這個表中的TDFORMAT設置為空,導致READ_TEXT返回的表中的行數也許不是你需要的行數。
代碼:
FORM EDIT_LINES TABLES P_IT_LINES STRUCTURE TLINE.
? DATA:
??? L_IT_LINES TYPE STANDARD TABLE OF TLINE,
??? L_WA_LINES TYPE TLINE,
??? L_WA_LINE1 TYPE TLINE,
??? L_LINE TYPE I.
? DATA:
??? L_INDEX TYPE I,
??? L_I???? TYPE I.
? READ TABLE P_IT_LINES TRANSPORTING NO FIELDS
??? WITH KEY TDFORMAT = SPACE.
? CHECK SY-SUBRC = 0.
? L_LINE = LINES( P_IT_LINES ).
? CHECK L_LINE > 1.
? L_IT_LINES[] = P_IT_LINES[].
? CLEAR: P_IT_LINES[].
? L_INDEX = 2.
? DO.
??? CLEAR: L_WA_LINES.
??? READ TABLE L_IT_LINES INTO L_WA_LINES INDEX L_INDEX.
??? IF SY-SUBRC <> 0.
????? L_I = L_INDEX - 1.
????? READ TABLE L_IT_LINES INTO L_WA_LINES INDEX L_I.
????? IF SY-SUBRC = 0 .
??????? APPEND L_WA_LINES TO P_IT_LINES.
????? ENDIF.
????? EXIT.
??? ENDIF.
??? IF L_WA_LINES-TDFORMAT = '*'.
????? L_I = L_INDEX - 1.
????? CLEAR L_WA_LINE1.
????? READ TABLE L_IT_LINES INTO L_WA_LINE1 INDEX L_I.
????? APPEND L_WA_LINE1 TO P_IT_LINES.
????? L_INDEX = L_I + 2.
??? ELSE.
????? L_I = L_INDEX - 1.
????? READ TABLE L_IT_LINES INTO L_WA_LINE1 INDEX L_I.
????? CONCATENATE L_WA_LINE1-TDLINE L_WA_LINES-TDLINE
???????????? INTO L_WA_LINE1-TDLINE.
????? APPEND L_WA_LINE1 TO P_IT_LINES.
????? L_INDEX = L_INDEX + 2.
??? ENDIF.
? ENDDO.
ENDFORM.??????????????????? " S4110_EDIT_LINES
總結
以上是生活随笔為你收集整理的ABAP函数:SD_VBAP_READ_WITH_VBELN(根据销售订单读取表vbap中的信息)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP RFC-RFC概述
- 下一篇: 銷售訂單 (Sales Order):