SAP系統中的內碼和外碼轉換 (WBS號)

weixin_30488085發表於2020-04-06

在ABAP開發中,有時候我們會遇到需要轉化內外碼的情況,下面以專案裡的一個專案定義編碼來做講解。

內碼為PSPNR,外碼為PSPID。

1、首先我們可能會遇到一個“顯示欄位文字”或“欄位名”的問題,如圖

[轉載]【ABAP】SAP系統中的內碼和外碼轉換

[轉載]【ABAP】SAP系統中的內碼和外碼轉換
小紅框如果選上,會檢查轉換退出,現像就是PSPNR和PSPID的值相同,不果不勾選,內外碼不同,PSPNR顯示內碼,PSPID顯示外碼值。
在一個表中,如果兩個欄位之間存在內外碼的轉換,如何來看呢?如下圖。雙擊進入資料元素
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
再雙擊進入域
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
再雙擊轉換路由處
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
就可以找到這兩個相互轉換的模組了
[轉載]【ABAP】SAP系統中的內碼和外碼轉換


為了搞清楚,他們是如何相互轉換的,我們可以進行測試,如圖使用SE37,以CONVERSION_EXIT_KONPD_INPUT為例,在100系統中,找到PROJ表中的兩組資料,如圖
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
輸入其中的一個資料
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
執行後得到
[轉載]【ABAP】SAP系統中的內碼和外碼轉換
如上,準確得到了另一個對應的資料,這說明這個函式功能是把專案外碼轉為專案內碼。
 
 
 
WBS號在採購訂單行專案中顯示和標準表EKKN裡顯示不同,是因為表EKKN顯示的是內碼,而在採購訂單裡顯示的外面,下圖所示:

 

 
WBS號轉化內外碼的程式:CONVERSION_EXIT_ABPSP_INPUT

轉載於:https://www.cnblogs.com/275147378abc/p/6552295.html

相關文章