ABAP 语法备忘 刘欣
生活随笔
收集整理的這篇文章主要介紹了
ABAP 语法备忘 刘欣
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
---------在循環(huán)中---------
CONTINUE:
結(jié)束當(dāng)前循環(huán)進(jìn)行下一次循環(huán)
CHECK:
判斷條件,不符合時結(jié)束當(dāng)前循環(huán)進(jìn)入下一次循環(huán)
EXIT:
結(jié)束整個循環(huán),繼續(xù)向下運行
RETURN:
退出當(dāng)前的程序塊
-------分類匯總處理--------
(1/2)得到按主鍵去重的小表:
sort Gt_head_little by ORDERID . DELETE ADJACENT DUPLICATES FROM Gt_head_little. "小表去重(2/2)按小表主鍵每一行,每次取大表的多條數(shù)據(jù):
LOOP?AT?Gt_head??INTO?DATA(gs_line)?WHERE?ORDERID?=?<gs100>-ORDERID.MOVE-CORRESPONDING?gs_line?TO?gs_temp.APPEND?gs_temp?to?gt_temp.ENDLOOP.-------分條數(shù)下發(fā)數(shù)據(jù)給接口--------
"下面代碼,分批發(fā)送 DATA:lt_esb_com TYPE zsca_esb_com_tab,lt_response TYPE STANDARD TABLE OF zsca_esb_return_common,lt_out TYPE STANDARD TABLE OF zspp_pr2dfsk,gv_message TYPE string, "#EC NEEDEDlv_lines TYPE char10,lv_rfcdest TYPE rfcdest,ls_rfc TYPE ZSPP_PR2DFSK,p_rows TYPE i VALUE 200.DATA lv_indicator_line TYPE I VALUE 0.lv_lines = lines( gt_rfc ).LOOP AT gt_rfc into ls_rfc.APPEND ls_rfc TO lt_out.lv_indicator_line = lv_indicator_line + 1.IF ( sy-tabix MOD p_rows ) EQ 0. "滿足200行,todoCALL FUNCTION 'ZSAP_PP_JKSCM_PR_OUT' DESTINATION lv_rfcdestTABLEStt_esb_com = lt_esb_comet_response = lt_responseet_data = lt_outEXCEPTIONSsystem_failure = 1communication_failure = 2OTHERS = 3.IF sy-subrc <> 0.MESSAGE e038 WITH sy-subrc INTO gv_message.ELSE.MESSAGE s000 WITH '已經(jīng)發(fā)送條數(shù):' && lv_indicator_line INTO gv_message .ENDIF."進(jìn)度條提示CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'EXPORTINGpercentage = lv_indicator_line / lv_lines * 100 " 注意這里sy-tabix早已經(jīng)改變,所以只有用自己的計數(shù)器text = '已經(jīng)發(fā)送條數(shù):' && lv_indicator_line . "提示文本W(wǎng)RITE:/ '已經(jīng)發(fā)送條數(shù):' && lv_indicator_line .REFRESH: lt_out,lt_out[],lt_esb_com,lt_esb_com[].ENDIF."完成LOOP前,不夠整發(fā)的數(shù)據(jù)會積累到lt_out ENDLOOP."完成LOOP后,把剩下的數(shù)據(jù)發(fā)一次。 感覺函數(shù)出現(xiàn)兩次,主要是原來代碼加日志太多了,只能這樣了IF lt_out IS NOT INITIAL.lv_lines = lines( lt_out ).CALL FUNCTION 'ZSAP_PP_JKSCM_PR_OUT' DESTINATION lv_rfcdestTABLEStt_esb_com = lt_esb_comet_response = lt_responseet_data = lt_outEXCEPTIONSsystem_failure = 1communication_failure = 2OTHERS = 3.IF sy-subrc <> 0.MESSAGE e038 WITH sy-subrc INTO gv_message.ELSE.MESSAGE s000 WITH '最后發(fā)送條數(shù):' lv_lines INTO gv_message.ENDIF.WRITE: / '最后發(fā)送條數(shù):' && lv_lines.REFRESH: lt_out,lt_out[],lt_esb_com,lt_esb_com[].ENDIF.REFRESH: GT_RFC, GT_RFC[].總結(jié)
以上是生活随笔為你收集整理的ABAP 语法备忘 刘欣的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招行线上笔试java_今天参加了招行科技
- 下一篇: 谷歌电子邮件服务器,谷歌Gmail为什么