在SAP訂單作業中中如果有CTO特性的話
如果要查詢
相關特性更改紀錄的話
可以透過畫面上的
該訂單項目的->其它->組態
進入組態畫面後

上方的
環境->更改文件
來查看相關的更改紀錄

====================================================
這些更改紀錄如果要寫成程式的話則要參考IBIN這個TABLE
然後藉由IN_RECNO的值可以串到CDPOS等更改紀錄的表中...找到詳細的特性值
我們發現到當工單產生後,系統會針對該訂單項目複製一份CTO特性總表出來
所以在IBIN裡面會發現兩筆資料,然後如果此時再更改CTO特性則會跑出第三個CTO特性總表
所以如果要查看這兩次特性的異動狀況
在IBIN的表格中有個生效日期VALFR
依照大到小排列,後面在寫程式第一筆跟第二筆比較
第二筆跟第三筆比較,來對應出不同的更改特性值

=============================================
  SELECT
  A~VBELN B~VALFR B~IN_RECNO B~INSTANCE
  INTO CORRESPONDING FIELDS OF TABLE IBIN_DB
  FROM VBAP AS A
  JOIN IBIN AS B
  ON A~CUOBJ = B~INSTANCE
  WHERE A~VBELN IN VBELN_T
  ORDER BY B~VALFR DESCENDING.
===========================================

從CDPOS找到詳細的更改的特性總表
SELECT *
APPENDING CORRESPONDING FIELDS OF TABLE IBINVA_dB
 FROM CDPOS WHERE OBJECTCLAS = 'IBINVALUES'
AND OBJECTID = IBIN_DB-IN_RECNO.
===========================================
從IBINVALUES跟IBSYMBOL可以知道詳細的ATINN(特性)跟ATWRT(該特性對應的選擇值)

         SELECT SINGLE B~ATINN B~ATWRT B~SYMBOL_ID
         INTO (IBINVA_dB-ATINN,IBINVA_dB-ATWRT,IBINVA_dB-SYMBOL_ID)
         FROM IBINVALUES AS A
         JOIN IBSYMBOL AS B
         ON A~SYMBOL_ID = B~SYMBOL_ID
         WHERE A~IN_RECNO = IBINVA_dB-TABKEY+3(22)
           AND A~IN_SEGMCNT = IBINVA_dB-TABKEY+25(4).
============================================
然後再用ATINN串TABLE:cabnt得知主項說明
再串CAWN跟CAWNT就可以得知子項說明
============================================


創作者介紹
創作者 ROACH 的頭像
ROACH

ROACH部落落

ROACH 發表在 痞客邦 留言(0) 人氣()