日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

loop循環(huán)時須注意效率問題

系統(tǒng) 2923 0

以前寫循環(huán)時,都是一條記錄一條記錄的比較,代碼示例如下:

loop at S_VAL_CHAR into VAL_CHAR.
??? if VAL_CHAR-CHARACT eq 'P0008_7'."箱型
??????? IT_ITEM-BOX = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'S0012'."客戶編號
??????? IT_ITEM-CLIENT_CODE = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'CP_CW'."客戶編號
??????? IT_ITEM-CP_CW = VAL_CHAR-VALUE_CHAR.
??? ENDIF.
ENDLOOP.

這樣的話要循環(huán)lines(? S_VAL_CHAR ).

應該改成如下,效率應該會好一點.

loop at S_VAL_CHAR into VAL_CHAR WHERE CHARACT eq 'P0008_7' OR CHARACT eq 'S0012' OR CHARACT eq 'CP_CW'.
??? if VAL_CHAR-CHARACT eq 'P0008_7'."箱型
??????? IT_ITEM-BOX = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'S0012'."客戶編號
??????? IT_ITEM-CLIENT_CODE = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'CP_CW'."客戶編號
??????? IT_ITEM-CP_CW = VAL_CHAR-VALUE_CHAR.
??? ENDIF.
ENDLOOP.

?若條件很多,條件語句寫起來太長,可用range,代碼如下:

data:lr_character type range of BAPI1003_ALLOC_VALUES_CHAR-CHARACT,
lr_character_line like line of lr_character.
CLEAR: lr_character_line,lr_character[].
lr_character_line = 'IEQ'.
lr_character_line-low = 'P0008_7'.
append lr_character_line to lr_character.

CLEAR: lr_character_line.
lr_character_line = 'IEQ'.
lr_character_line-low = 'S0012'.
append lr_character_line to lr_character.

CLEAR: lr_character_line.
lr_character_line = 'IEQ'.
lr_character_line-low = 'CP_CW'.
append lr_character_line to lr_character.

loop at S_VAL_CHAR into VAL_CHAR WHERE CHARACT in lr_character.
??? if VAL_CHAR-CHARACT eq 'P0008_7'."箱型
??????? IT_ITEM-BOX = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'S0012'."客戶編號
??????? IT_ITEM-CLIENT_CODE = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'CP_CW'."客戶編號
??????? IT_ITEM-CP_CW = VAL_CHAR-VALUE_CHAR.
??? ENDIF.
ENDLOOP.

?

繼續(xù)優(yōu)化一下,把那些重復的代碼提取出來,最后如下:

data:?? ?lr_character type range of BAPI1003_ALLOC_VALUES_CHAR-CHARACT,
?? ??? ??? ?lr_character_line like line of lr_character.
?? ??? ??? ?
form ADD_CHARACTER_TO_RANGE USING value(s) CHANGING r.
??? clear lr_character_line.
??? lr_character_line = 'IEQ'.
??? lr_character_line-low = s.
??? append lr_character_line to lr_character.
ENDFORM.

CLEAR: lr_character[].
perform ADD_CHARACTER_TO_RANGE using 'P0008_7' changing lr_character.
perform ADD_CHARACTER_TO_RANGE using 'S0012' changing lr_character.
perform ADD_CHARACTER_TO_RANGE using 'CP_CW' changing lr_character.

loop at S_VAL_CHAR into VAL_CHAR WHERE CHARACT in lr_character.
??? if VAL_CHAR-CHARACT eq 'P0008_7'."箱型
??????? IT_ITEM-BOX = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'S0012'."客戶編號
??????? IT_ITEM-CLIENT_CODE = VAL_CHAR-VALUE_CHAR.
??? ELSEIF VAL_CHAR-CHARACT eq 'CP_CW'."客戶編號
??????? IT_ITEM-CP_CW = VAL_CHAR-VALUE_CHAR.
??? ENDIF.
ENDLOOP.?

loop循環(huán)時須注意效率問題


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 上杭县| 甘洛县| 教育| 茂名市| 土默特左旗| 怀宁县| 敦煌市| 义乌市| 旺苍县| 武山县| 蒙自县| 遂宁市| 贵德县| 平乐县| 曲阜市| 广南县| 军事| 阳东县| 洞头县| 赞皇县| 德钦县| 邹城市| 茌平县| 洪洞县| 娱乐| 彰化市| 长乐市| 咸宁市| 安陆市| 屏南县| 固始县| 彩票| 磐安县| 永泰县| 穆棱市| 威信县| 漳州市| 民乐县| 嘉鱼县| 温州市| 财经|