SD–關於定價過程中的儲存順序的參考結構和參考欄位的使用代碼跟蹤

來源:互聯網
上載者:User

在sap的定價配置中,我們常常會使用到參考結構和參考欄位(條件表和儲存順序),這些欄位是如何使用的呢,我帶著這個好奇閱讀了sap的源碼(函數SD_COND_ACCESS),並將我的理解記錄下來供大家參考。

Step 1 調用t682z_select子過程從T682Z讀取儲存順序儲存到t682z_tab
 PERFORM t682z_select TABLES   t682z_tab
                       USING    t682i_i
                       CHANGING subrc.
並根據參考結構和參考欄位拼接存放到內表的欄位kommfield中
            CONCATENATE t682z_buf-qustr '-' t682z_buf-qufna
                        INTO t682z_buf-kommfield.

 

Step 2 在子常式sel_kondtab中根據儲存順序裡的參考結構和欄位名提取參考結構的對應欄位值
  ASSIGN TABLE FIELD (proto_fld_tab-kommfield) TO <f>.
  proto_fld_tab-wert = <f>.

註:proto_fld_tab-kommfield的值,如:KOMP-PRODH1 

 

Step 3 在子常式sel_kondtab中拼接查詢條件(放在coding_tab內表中)
* buffered with wrong value -> replace value
          coding_template-value = proto_fld_tab-wert.
          REPLACE ALL OCCURRENCES OF   ''''    IN proto_fld_tab-wert
                                  WITH ''''''  IN CHARACTER MODE.
          CONCATENATE '''' proto_fld_tab-wert '''' INTO h_value.
          CONCATENATE <t682z>-zifna '=' h_value
                      INTO coding_template-line
                      SEPARATED BY ' '.
          MODIFY coding_template INDEX sy-tabix TRANSPORTING value line.
          IF first = yes.
            first = no.
            coding_tab = coding_template-line.
          ELSE.
            CONCATENATE 'AND' coding_template-line INTO coding_tab
                        SEPARATED BY ' '.
          ENDIF.
        ENDIF.
        APPEND coding_tab.

Step 4 在子常式sel_kondtab中根據拼接(放在coding_tab內表中)出查詢條件取讀取條件記錄。
          SELECT * FROM (t681-kotab) APPENDING TABLE <cond_tab>
                 UP TO 1 ROWS
                 WHERE kappl  = se_kappl
                 AND   kschl  = se_kschl
                 AND   (coding_tab).

註:t681-kotab為條件表名稱如:A802 ;coding_tab內容參見

 有了這些,我們對參考欄位和參考結構的使用的理解就應該很容易了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.