建立自己的Convers. Routine.

來源:互聯網
上載者:User

文章轉自 http://blog.csdn.net/wren2004/article/details/6175203

 

如何建立自己的Convers. Routine? 一般我們都是用SAP標準的ALPHA, 如:

我一直很好奇這個ALPHA倒底是什麼東東, 不是FUNCTION GROUP, 不是FUNCTION MODULE, 直到最近有個需求要建立包含一些特殊邏輯的Convers. Routine, 才發現這個ALPHA只是FUNCTION MODULE名字中間的一部分, 雙擊ALPHA, 如:

原來, 只要符合CONVERSION_EXIT_XXXXX_INPUT / CONVERSION_EXIT_XXXXX_OUTPUT命名規則的FM就可以做Conversion Routine了.

這樣一來, 我們只要建立兩個FM, 按上述規則命名, 然後將中間的XXXXX分配給DOMIN就可以實現自己的轉換規則了.

當然, 這個FM不是Z開頭的, 建立時SAP會有警告提示, 忽略就好了.

 

PS: 使用上面 的 FM可以添加/去除前置字元為零,也可以通過以下方法實現:

data gv_str type char10.

gv_str = '400'.

SHIFT gv_str RIGHT DELETING TRAILING
space.
OVERLAY gv_str WITH '0000000000'.

去前置0:

SHIFT gv_str LEFT DELETING LEADING
'0'.

 

 

 

 

我們在自建表的時候也許要對domain進行一個轉換,這時我們通常使用conversion Routine

Conversion Routine的名字只有5個字元長,實際上它也算是一種增強技術,當命名好以後,要在SE37建立兩個Function module,分別是:

CONVERSION_EXIT_XXXXX_INPUT

CONVERSION_EXIT_XXXXX_OUTPUT

(XXXXX表示Conversion Routine的名字,請注意,以上兩個function module都必須要定義一個input輸入參數和output輸出參數)

前者用來對輸入時的值進行轉換(比如維護一個自建表,當你輸入欄位值進行查詢的自動補零效果),後者對輸出時的值進行轉換(比如你把資料庫表資料拿出來,

在List中Write的去前置0效果)。

 

 

如何建立自己的Convers. Routine? 一般我們都是用SAP標準的ALPHA, 如:

我一直很好奇這個ALPHA倒底是什麼東東, 不是FUNCTION GROUP, 不是FUNCTION MODULE, 直到最近有個需求要建立包含一些特殊邏輯的Convers. Routine, 才發現這個ALPHA只是FUNCTION MODULE名字中間的一部分, 雙擊ALPHA, 如:

原來, 只要符合CONVERSION_EXIT_XXXXX_INPUT / CONVERSION_EXIT_XXXXX_OUTPUT命名規則的FM就可以做Conversion Routine了.

這樣一來, 我們只要建立兩個FM, 按上述規則命名, 然後將中間的XXXXX分配給DOMIN就可以實現自己的轉換規則了.

當然, 這個FM不是Z開頭的, 建立時SAP會有警告提示, 忽略就好了.

 

PS: 使用上面 的 FM可以添加/去除前置字元為零,也可以通過以下方法實現:

data gv_str type char10.

gv_str = '400'.

SHIFT gv_str RIGHT DELETING TRAILING
space.
OVERLAY gv_str WITH '0000000000'.

去前置0:

SHIFT gv_str LEFT DELETING LEADING
'0'.

 

 

 

 

我們在自建表的時候也許要對domain進行一個轉換,這時我們通常使用conversion Routine

Conversion Routine的名字只有5個字元長,實際上它也算是一種增強技術,當命名好以後,要在SE37建立兩個Function module,分別是:

CONVERSION_EXIT_XXXXX_INPUT

CONVERSION_EXIT_XXXXX_OUTPUT

(XXXXX表示Conversion Routine的名字,請注意,以上兩個function module都必須要定義一個input輸入參數和output輸出參數)

前者用來對輸入時的值進行轉換(比如維護一個自建表,當你輸入欄位值進行查詢的自動補零效果),後者對輸出時的值進行轉換(比如你把資料庫表資料拿出來,

在List中Write的去前置0效果)。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.