2016-09-30 169 views
1

在SAP數據庫中,存在格式爲PxDTyH的值,其中x是天數,y是小時數。像P2DT0H這樣的值是2天+0小時。我可以看到,通過SE16顯示的格式化持續時間

Data in database, screenshot from SE16

不幸的是,這也正是顯示等向用戶,「3」對應於在數據庫中的索引(未示在上面的屏幕截圖)。 Time displayed to user

我想看到它顯示

  • 沒有指數(改變「下拉列表中顯示鍵」選項並沒有產生效果)
  • ,而不是技術名稱P2DT0H我希望看到「2天0時間」(或類似)

有沒有一種方法以前被顯示在組合框中來處理數據?開發人員無法更改數據庫中的格式,因爲它會更改API。我只是一個測試人員,我不知道如何在ABAP中編寫代碼,但是從其他編程語言的知識中,我會說數據可以在顯示之前進行轉換。我不需要一個完整的答案,只需要一個指向SAP鉤子或事件的指針,它可以寫入一個轉換函數。

+0

這是SAP標準表還是自定義表(通常在其名稱的開頭使用Y或Z)?如果它是標準表格,你能提供它的名字嗎? – Jagger

+0

@Jagger:表是/ OURNAMESPACE/TABLENAME,所以它不是SAP標準表。 –

+0

你想要的輸出是'P2DT0H'而沒有領先的'3'? – futu

回答

1

可能轉換例程可能是您的一個選項。你應該做的是:

  1. 把你的域名(這是用於PxDTyH值)或專門爲此創建一個新的。
  2. 創建名稱爲CONVERSION_EXIT_%NAME%_OUTPUT的FM,並在其中放置轉換邏輯。強制性參數INPUTOUTPUT應該存在。
  3. 在域屬性中輸入%NAME%Convers.routine字段。
  4. 啓用檢查轉換在用戶參數中退出複選框。

更多的信息是here

+0

這聽起來不錯。不幸的是我會離開公司,在我來這裏時不會執行,所以我不能判斷這是否會解決問題。 –