日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ABAP RANGES 在 RFC 的应用示例

發布時間:2025/3/20 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP RANGES 在 RFC 的应用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫一個RFC,在VK11下,把條件類型是Z907的一些數據輸出。

在IMPORT下入參 定義2個

IT_VKORG LIKEA907-VKORG? ? ? ? ? ? ? ? ? ??銷售組織?
IT_KUNNR LIKE ?A907-KUNNR ? ? ? ? ? ? ? ? ? ??客戶號?


當輸入IT_VKOGR 或者 IT_KUNNR 時,或者2個都輸入都能獲取到數據。 這個看似簡單的需求,我確花費了大概1天的時間。

其中卡就卡在:

第一,對ranges基本用法的不理解;

第二,沒有進行判斷就執行;

第三,對where條件后的 and 和 or 不了解。

下面看看最后正確的做法:

定義ranges

[plain]?view plaincopy
  • RANGES?:?s_vkorg?FOR?itab-vkorg,??
  • ?????????s_kunnr?FOR?itab-kunnr.??
  • ??
  • ??????????IF?it_vkorg?IS?NOT?INITIAL.??"一定要判斷輸入的值是否為空。??
  • ????????????s_vkorg-sign?=?'I'.??
  • ????????????s_vkorg-option?=?'EQ'.?"?如果option='EQ'.后面就不需要HIGH??
  • ????????????s_vkorg-low?=?it_vkorg.??
  • ????????????APPEND?s_vkorg.??
  • ??????????ENDIF.??
  • [plain]?view plaincopy
  • IF?it_kunnr?IS?NOT?INITIAL.??
  • ??s_kunnr-sign?=?'I'.??
  • ??s_kunnr-option?=?'EQ'.??
  • ??s_kunnr-low?=?it_kunnr.??
  • ??APPEND?s_kunnr.??
  • ENDIF.??

  • 在WHERE 條件下用IN?

    [plain]?view plaincopy
  • SELECT?a~kappl?a~kschl?a~vkorg??a~kunnr?a~knumh?a~datab?a~datbi?b~kbetr?b~konwa??
  • ???INTO?CORRESPONDING?FIELDS?OF?TABLE?itab??
  • ???FROM?a907?AS?a?JOIN?konp?AS?b?ON??a~knumh?=?b~knumh??
  • ???WHERE?a~vkorg?IN?s_vkorg??
  • ?????AND?a~kunnr?IN?s_kunnr.??

  • ranges知識:

    RANGES <seltab> FOR <f>.
    該語句創建 選擇表 <seltab>, 該表參考數 據庫表的列 <f> 或內部字段 <f>。選 擇表 <seltab> 必須在程序 中填充。不 必在程序中 再用 TABLES 語句聲明數 據庫表。
    RANGES 語句是下列 語句的短格 式:
    DATA: BEGIN OF <seltab> OCCURS 10,
    ? ? ? ? ?SIGN(1),
    ? ? ? ? ?OPTION(2)
    ? ? ? ? ?LOW ?LIKE <f>,
    ? ? ? ? ?HIGH LIKE <f>,
    ? ? ? END OF <seltab>.

    總結

    以上是生活随笔為你收集整理的ABAP RANGES 在 RFC 的应用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。