3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ABAP表抛FTP通用程序

發(fā)布時(shí)間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP表抛FTP通用程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

主要功能:

1、支持R3所有表(標(biāo)準(zhǔn)、自建)下傳,下傳方式為FTP

2、支持輸出字段選擇及順序調(diào)整

3、支持動(dòng)態(tài)條件,不同的表會(huì)有不同的選擇條件,根據(jù)不同的條件選擇需要下傳的數(shù)據(jù)

4、支持單表、多表、以及輸出數(shù)據(jù)再次加工(需自己寫(xiě)輸出邏輯擴(kuò)展程序,可參考YTEMPLET

5、支持多表查詢,及多表查詢的動(dòng)態(tài)選擇條件

6、支持大數(shù)據(jù)量表分批取數(shù)、以及分批下傳(已通過(guò)BSEG大數(shù)據(jù)量表測(cè)試)

7、支持單文件下傳(只生產(chǎn)一個(gè)文件,默認(rèn)是分批下傳,會(huì)產(chǎn)生多個(gè)文件)

8、其它支持參看選擇屏幕



程序創(chuàng)建好后,請(qǐng)將屏幕代碼下載下來(lái),再通過(guò)ABAP編輯器程序中的上傳功能,即可創(chuàng)建屏幕,而不需要手動(dòng)畫(huà):屏幕代碼下載

?

Code listing for: YR3TABLE2FTP

Description: ABAP表拋FTP通用程序

REPORT YR3TABLE2FTP. *&---------------------------------------------------------------------*
*&?INCLUDE
*&---------------------------------------------------------------------* include YR3TABLE2FTP_TOP.
include YR3TABLE2FTP_SELSCR.
include YR3TABLE2FTP_FORM.

*&---------------------------------------------------------------------*
*&?初始化處理
*&---------------------------------------------------------------------* INITIALIZATION.
??but1?=?'輸出字段配置'.
??but2?=?'HIVE-TABLE-SQL'.
??but3?=?'輸出邏輯擴(kuò)展程序模板'.
??IF?sy-sysid?=?'DEV'?OR?sy-sysid?=?'QAS'?OR?sy-sysid?=?'PRE'.
????p_user?=?'adssa'.
????p_pwd?=?'fdsssdf'.
????p_host?=?'32.21.32.123'.
??ELSEIF?sy-sysid?=?'PRD'.
????p_user?=?'fsfwewrew'.
????p_pwd??=?'fsfsfs'.
????p_host?=?'34.11.53.132'.
??ENDIF.

*&---------------------------------------------------------------------*
*&?選擇屏幕控制
*&---------------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT.
??IF?p_prog?IS?NOT?INITIAL.
????PERFORM?frm_find_table?USING?'X'.
????PERFORM?frm_find_sel.
??ENDIF.

??CLEAR:p_snam1,p_snam2,p_snam3,p_snam4,p_snam5,
????????s_asist1,s_asist2,s_asist3,s_asist4,s_asist5,
????????s_asist1[],s_asist2[],s_asist3[],s_asist4[],s_asist5[].

??LOOP?AT?SCREEN.
????IF?screen-name?=?'P_PWD'.
??????screen-invisible?=?'1'.
????ELSEIF?screen-name?=?'P_SNAM1'?OR
???????????screen-name?=?'P_SNAM2'?OR
???????????screen-name?=?'P_SNAM3'?OR
???????????screen-name?=?'P_SNAM4'?OR
???????????screen-name?=?'P_SNAM5'?OR
???????????screen-name?=?'S_ASIST1-LOW'?OR?screen-name?=?'S_ASIST1-HIGH'?OR
???????????screen-name?=?'S_ASIST2-LOW'?OR?screen-name?=?'S_ASIST2-HIGH'?OR
???????????screen-name?=?'S_ASIST3-LOW'?OR?screen-name?=?'S_ASIST3-HIGH'?OR
???????????screen-name?=?'S_ASIST4-LOW'?OR?screen-name?=?'S_ASIST4-HIGH'?OR
???????????screen-name?=?'S_ASIST5-LOW'?OR?screen-name?=?'S_ASIST5-HIGH'.
??????screen-input?=?0.
??????LOOP?AT?sel_flds.
????????READ?TABLE?gt_vrm_values?WITH?KEY?key?=?sel_flds-fld.
????????CASE??sel_flds-p_snam.
??????????WHEN?'s_asist1'.
????????????IF?screen-name?=?'S_ASIST1-LOW'?OR?screen-name?=?'S_ASIST1-HIGH'.
??????????????screen-input?=?1.
??????????????p_snam1?=??gt_vrm_values-text.
????????????ENDIF.
??????????WHEN?'s_asist2'.
????????????IF?screen-name?=?'S_ASIST2-LOW'?OR?screen-name?=?'S_ASIST2-HIGH'.
??????????????screen-input?=?1.
??????????????p_snam2?=??gt_vrm_values-text.
????????????ENDIF.
??????????WHEN?'s_asist3'.
????????????IF?screen-name?=?'S_ASIST3-LOW'?OR?screen-name?=?'S_ASIST3-HIGH'.
??????????????screen-input?=?1.
??????????????p_snam3?=??gt_vrm_values-text.
????????????ENDIF.
??????????WHEN?'s_asist4'.
????????????IF?screen-name?=?'S_ASIST4-LOW'?OR?screen-name?=?'S_ASIST4-HIGH'.
??????????????screen-input?=?1.
??????????????p_snam4?=??gt_vrm_values-text.
????????????ENDIF.
??????????WHEN?'s_asist5'.
????????????IF?screen-name?=?'S_ASIST5-LOW'?OR?screen-name?=?'S_ASIST5-HIGH'.
??????????????screen-input?=?1.
??????????????p_snam5?=??gt_vrm_values-text.
????????????ENDIF.
????????ENDCASE.
??????ENDLOOP.
????ENDIF.
????MODIFY?SCREEN.
??ENDLOOP.
??CLEAR:gt_vrm_values,gt_vrm_values[].
??gt_vrm_values-key?=?'GBK'.
??gt_vrm_values-text?=?gt_vrm_values-key.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'UTF-8'.
??gt_vrm_values-text?=?gt_vrm_values-key.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'GB2312'.
??gt_vrm_values-text?=?gt_vrm_values-key.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'UTF-16BE'.
??gt_vrm_values-text?=?gt_vrm_values-key.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'UTF-16LE'.
??gt_vrm_values-text?=?gt_vrm_values-key.
??APPEND?gt_vrm_values.
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_encodi'
??????values?=?gt_vrm_values[].


??CLEAR:gt_vrm_values,gt_vrm_values[].
??gt_vrm_values-key?=?'_NNNNNN'.
??gt_vrm_values-text?=?'_NNNNNN'.
??APPEND?gt_vrm_values.
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_fileno'
??????values?=?gt_vrm_values[].

??CLEAR:gt_vrm_values,gt_vrm_values[].
??gt_vrm_values-key?=?'YYYYMMDD'.
??gt_vrm_values-text?=?'YYYYMMDD'.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'YYYYMM'.
??gt_vrm_values-text?=?'YYYYMM'.
??APPEND?gt_vrm_values.
??gt_vrm_values-key?=?'YYYYMMDDHHMMSS'.
??gt_vrm_values-text?=?'YYYYMMDDHHMMSS'.
??APPEND?gt_vrm_values.
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_ymd'
??????values?=?gt_vrm_values[].


??CHECK?p_table?<>?g_last_tbname.
??g_last_tbname?=?p_table.
??CLEAR:gt_vrm_values,gt_vrm_values[],gt_vrm_values_dt,gt_vrm_values_dt[],gt_dd03l,gt_dd03l[],rtables,rtables[].
??PERFORM?frm_val?TABLES?gt_vrm_values?rtables?gt_vrm_values_dt?gt_dd03l?USING?''.


??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name1'
??????values?=?gt_vrm_values_dt.
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name2'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name3'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name4'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name5'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name6'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name7'
??????values?=?gt_vrm_values[].
??CALL?FUNCTION?'VRM_SET_VALUES'
????EXPORTING
??????id?????=?'p_name8'
??????values?=?gt_vrm_values[].

??IF?flg2?=?'X'.
????CONCATENATE?p_table?`_`?INTO?p_fil_px.
????CLEAR:?p_name1,p_name2,p_name3,p_name4,p_name5,p_name6,p_name7,p_name8,
???????????s_val1,s_val2,s_val3,s_val4,s_val5,s_val6,s_val7,s_val8,
???????????s_val1[],s_val2[],s_val3[],s_val4[],s_val5[],s_val6[],s_val7[],s_val8[].
????LOOP?AT?gt_dd03l?WHERE?keyflag?=?'X'?.
??????CASE?sy-tabix.
????????WHEN?1.
??????????p_name2?=?gt_dd03l-fieldname.
????????WHEN?2.
??????????p_name3?=?gt_dd03l-fieldname.
????????WHEN?3.
??????????p_name4?=?gt_dd03l-fieldname.
????????WHEN?4.
??????????p_name5?=?gt_dd03l-fieldname.
????????WHEN?5.
??????????p_name6?=?gt_dd03l-fieldname.
????????WHEN?6.
??????????p_name7?=?gt_dd03l-fieldname.
????????WHEN?7.
??????????p_name8?=?gt_dd03l-fieldname.
??????ENDCASE.
????ENDLOOP.
??ENDIF.
??CLEAR:flg2.

AT SELECTION-SCREEN ON p_table.
??flg2?=?'X'.
??SELECT?SINGLE?*?FROM?dd02l?WHERE?tabname?=?p_table?AND?(?tabclass?=?'TRANSP'?OR?tabclass?=?'CLUSTER'?)?.
??IF?sy-subrc?<>?0.
????MESSAGE?'表不存在'?TYPE?'E'.
??ENDIF.

AT SELECTION-SCREEN ON p_fil_px.


AT SELECTION-SCREEN ON p_split.
??IF?p_split?=?''.
????MESSAGE?'列分隔符不能為空'?TYPE?'E'.
??ENDIF.

AT SELECTION-SCREEN ON p_counts.
??IF?p_counts?<=?0.
????MESSAGE?'每文件最大條目數(shù)需大于0'?TYPE?'E'.
??ENDIF.

AT SELECTION-SCREEN ON p_prog.
??IF??p_prog?<>?''.
????SELECT?SINGLE?*?FROM?progdir?WHERE?name?=?p_prog.
????IF?sy-subrc?<>?0.
??????MESSAGE?'輸出邏輯擴(kuò)展程序不存在'?TYPE?'E'.
????ENDIF.
??ENDIF. *&---------------------------------------------------------------------*
*&?參數(shù)輸入檢查
*&---------------------------------------------------------------------* AT SELECTION-SCREEN ON BLOCK b11.
??CLEAR:?gt_name[].

??IF?p_name1?IS?NOT?INITIAL?AND?s_val1[]?IS?NOT?INITIAL.
????gt_name-name?=?p_name1.
????APPEND?gt_name.
??ENDIF.

??IF?p_name2?IS?NOT?INITIAL?AND?s_val2[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name2.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name2.
????APPEND?gt_name.
??ENDIF.

??IF?p_name3?IS?NOT?INITIAL?AND?s_val3[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name3.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name3.
????APPEND?gt_name.
??ENDIF.

??IF?p_name4?IS?NOT?INITIAL?AND?s_val4[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name4.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name4.
????APPEND?gt_name.
??ENDIF.

??IF?p_name5?IS?NOT?INITIAL?AND?s_val5[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name5.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name5.
????APPEND?gt_name.
??ENDIF.

??IF?p_name6?IS?NOT?INITIAL?AND?s_val6[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name6.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name6.
????APPEND?gt_name.
??ENDIF.

??IF?p_name7?IS?NOT?INITIAL?AND?s_val7[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name7.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name7.
????APPEND?gt_name.
??ENDIF.

??IF?p_name8?IS?NOT?INITIAL?AND?s_val8[]?IS?NOT?INITIAL.
????READ?TABLE?gt_name?WITH?KEY?name?=?p_name8.
????IF?sy-subrc?=?0.
??????MESSAGE?'條件字段重復(fù),請(qǐng)檢查輸入條件'?TYPE?'E'.
????ENDIF.
????gt_name-name?=?p_name8.
????APPEND?gt_name.
??ENDIF.

AT SELECTION-SCREEN.
??CASE?sy-ucomm.
????WHEN?'CLI1'.
??????CALL?SCREEN?1001?STARTING?AT?37?1
??????????????????????ENDING???AT?99?20.
????WHEN?'CLI2'.
??????CALL?SCREEN?1002?STARTING?AT?37?1
??????????????????????ENDING???AT?97?20.
????WHEN?'CLI3'.
??????CALL?SCREEN?1003?STARTING?AT?30?1
??????????????????????ENDING???AT?150?20.
??ENDCASE. *&---------------------------------------------------------------------*
*&?程序開(kāi)始處理
*&---------------------------------------------------------------------* START-OF-SELECTION.
??CONDENSE?p_fil_px.
??IF?p_fil_px?=?''.
????MESSAGE?'文件名不能為空'?TYPE?'S'?DISPLAY?LIKE?'E'.
????EXIT.
??ENDIF.

??PERFORM?f_get_data.?"取數(shù)邏輯

*&---------------------------------------------------------------------*
*&?程序結(jié)束處理
*&---------------------------------------------------------------------* END-OF-SELECTION. *??PERFORM?xxxxxxx.

*GUI?Texts
*----------------------------------------------------------
*?1001?-->?輸出字段配置
*?1002?-->?HIVE-TABLE-SQL查看
*?1003?-->?輸出邏輯擴(kuò)展程序樣例

*Text?elements
*----------------------------------------------------------
*?001?源表配置
*?002?目標(biāo)FTP
*?003?條件1
*?004?條件2
*?005?條件3
*?006?條件4
*?007?條件5
*?008?主表名
*?009?輸完表名請(qǐng)回車(chē)
*?010?條件6
*?011?條件7
*?012?條件8
*?013?字段分隔符
*?014?若為T(mén)ab請(qǐng)輸入\t;換行符固定為\r\n不可指定(首次轉(zhuǎn)到FTP為\r\n,但HIVE接過(guò)去時(shí)為\n)
*?016?1、條件1為日期類型,可用于按日期增量,支持變式里的動(dòng)態(tài)日期
*?017?文件名
*?018?最終文件存放路徑:路徑+文件夾日期,文件夾日期可以不輸入
*?021?主表選擇條件
*?022?輸出字段
*?023?輸出字段選擇
*?028??NNNNNN為文件編號(hào),留空時(shí)將只產(chǎn)生一個(gè)文件
*?030?關(guān)聯(lián)表選擇條件
*?031?2、除條件1外如果是日期類型,請(qǐng)按YYYMMDD格式輸入,不帶日期格式
*?032?dddd
*?033?.
*?071?文件夾日期
*?112?輸出邏輯擴(kuò)展程序
*?114?
*?118?當(dāng)上面文件名中有YYYYMMDD(或YYYYMM),且文件日期留空時(shí),取當(dāng)前日期
*?121?是否生成標(biāo)記文件
*?122?是否生成時(shí)間戳字段(ZTIMESTAMPL)
*?123?是否帶表頭
*?124?文件名是否帶編號(hào)
*?125?如去掉,則主表會(huì)一次查出所有數(shù)據(jù)后下傳,文件名不會(huì)帶?_NNNNNN?編號(hào)
*?126?默認(rèn)不帶。表頭每列信息由字段名+字段描述+長(zhǎng)度(字段名:字段描述(長(zhǎng)度))組成
*?127?SQL性能日志
*?128?生成的表頭里是否帶?表字段名+字段長(zhǎng)度?信息
*?129?抽取時(shí)間戳(YYYYMMDDhhmmss.mmmuuun)
*?132?文件字符編碼
*?133?標(biāo)記文件擴(kuò)展名
*?140?
*?213?表頭是否帶技術(shù)信息
*?231?_YYYYMMDD
*?771?文件日期
*?900?輸完程序名請(qǐng)回車(chē)


*Selection?texts
*----------------------------------------------------------
*?FTP_PATH?????????路徑
*?PFLGFILE?????????標(biāo)記文件
*?P_COUNTS?????????主表分批查詢記錄數(shù)
*?P_DIR_DT?????????文件夾日期
*?P_ENCODI?????????文件字符編碼
*?P_EXTENS?????????數(shù)據(jù)文件擴(kuò)展名
*?P_FIL_PX?????????數(shù)據(jù)文件名
*?P_FLG_FL?????????標(biāo)記文件名
*?P_HEADER?????????是否帶表頭
*?P_HOST?????????主機(jī)IP
*?P_NAME1?????????條件1字段名
*?P_NAME2?????????條件2字段名
*?P_NAME3?????????條件3字段名
*?P_NAME4?????????條件4字段名
*?P_NAME5?????????條件5字段名
*?P_NAME6?????????條件6字段名
*?P_NAME7?????????條件7字段名
*?P_NAME8?????????條件8字段名
*?P_PROG?????????輸出擴(kuò)展邏輯程序名
*?P_PWD?????????密碼
*?P_SNAM1?????????關(guān)聯(lián)表選擇條件名1
*?P_SNAM2?????????關(guān)聯(lián)表選擇條件名2
*?P_SNAM3?????????關(guān)聯(lián)表選擇條件名3
*?P_SNAM4?????????關(guān)聯(lián)表選擇條件名4
*?P_SNAM5?????????關(guān)聯(lián)表選擇條件名5
*?P_SPLIT?????????列分隔符
*?P_TABLE?????????主表名
*?P_USER?????????用戶名
*?P_VARUSR?????????變式創(chuàng)建者
*?S_ASIST1?????????關(guān)聯(lián)表選擇條件值1
*?S_ASIST2?????????關(guān)聯(lián)表選擇條件值2
*?S_ASIST3?????????關(guān)聯(lián)表選擇條件值3
*?S_ASIST4?????????關(guān)聯(lián)表選擇條件值4
*?S_ASIST5?????????關(guān)聯(lián)表選擇條件值5
*?S_VAL1?????????條件1值
*?S_VAL2?????????條件2值
*?S_VAL3?????????條件3值
*?S_VAL4?????????條件4值
*?S_VAL5?????????條件5值
*?S_VAL6?????????條件6值
*?S_VAL7?????????條件7值
*?S_VAL8?????????條件8值


*Messages
*----------------------------------------------------------
*
*?Message?class:?Hard?coded
*???請(qǐng)輸入內(nèi)容
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

Code listing for: YR3TABLE2FTP_FORM

Description: Include YR3TABLE2FTP_FORM

*&---------------------------------------------------------------------*
*&??包括??????????????YR3TABLE2FTP_FORM
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
*&??????Form??f_get_data
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM f_get_data .
??FIELD-SYMBOLS:?<dyn_table>?TYPE?STANDARD?TABLE,
?????????????????<dyn_table_new>?TYPE?STANDARD?TABLE,
?????????????????<dyn_wa>.
??DATA:?dy_table?TYPE?REF?TO?data,
????????dy_line?TYPE?REF?TO?data.
??DATA:?str?TYPE?string.
??DATA:?lv_selflds?TYPE?string.

??IF?p_ymd?=?'YYYYMMDD'.
????IF?p_ymd2?IS?NOT?INITIAL.
??????CONCATENATE?p_fil_px?p_ymd2?INTO?p_fil_px2.
????ELSE.
??????CONCATENATE?p_fil_px?sy-datum?INTO?p_fil_px2.
????ENDIF.
??ELSEIF?p_ymd?=?'YYYYMM'.
????IF?p_ymd2?IS?NOT?INITIAL.
??????CONCATENATE?p_fil_px?p_ymd2+0(6)?INTO?p_fil_px2.
????ELSE.
??????CONCATENATE?p_fil_px?sy-datum+0(6)?INTO?p_fil_px2.
????ENDIF.
??ELSEIF?p_ymd?=?'YYYYMMDDHHMMSS'.
????IF?p_ymd2?IS?NOT?INITIAL.
??????CONCATENATE?p_fil_px?p_ymd2?sy-uzeit?INTO?p_fil_px2.
????ELSE.
??????CONCATENATE?p_fil_px?sy-datum?sy-uzeit?INTO?p_fil_px2.
????ENDIF.
??ELSE.
????p_fil_px2?=?p_fil_px.
??ENDIF.

??CLEAR:?gt_YTEST300,gt_YTEST300[].
??SELECT?*?FROM?YTEST300?INTO?TABLE?gt_YTEST300?WHERE?username?=?p_varusr?AND?tabname?=?p_table?ORDER?BY?sequence?ASCENDING.
??struct_type??=?cl_abap_typedescr=>describe_by_name(?p_table?).
??comp_tab[]?=?struct_type->get_components(?).
??PERFORM?frm_comp_tab?TABLES?comp_tab.

??IF?gt_YTEST300[]?IS?NOT?INITIAL.
????CLEAR:comp_tab2[].
????LOOP?AT?gt_YTEST300.
??????READ?TABLE?comp_tab?WITH?KEY?name?=?gt_YTEST300-fldname.
??????MOVE-CORRESPONDING?comp_tab?TO?comp_tab2.
??????APPEND?comp_tab2.
??????CONCATENATE?lv_selflds?`?`?gt_YTEST300-fldname?INTO?lv_selflds.
????ENDLOOP.
????comp_tab[]?=?comp_tab2[].


????IF?timestmp?=?'X'.
??????comp_tab-name?=?'ZTIMESTAMPL'.
??????comp_tab-type?=?cl_abap_elemdescr=>get_c(?22?).
??????APPEND?comp_tab.
????ENDIF.

????struct_type?=?cl_abap_structdescr=>create(?comp_tab[]?).
??ELSE.
????LOOP?AT?comp_tab.
??????CONCATENATE?lv_selflds?`?`?comp_tab-name?INTO?lv_selflds.
????ENDLOOP.

????IF?timestmp?=?'X'.
??????comp_tab-name?=?'ZTIMESTAMPL'.
??????comp_tab-type?=?cl_abap_elemdescr=>get_c(?22?).
??????APPEND?comp_tab.
??????struct_type?=?cl_abap_structdescr=>create(?comp_tab[]?).
????ENDIF.

??ENDIF.

??table_type?=?cl_abap_tabledescr=>create(?struct_type?).

??CREATE?DATA?dy_table?TYPE?HANDLE?table_type.
??ASSIGN?dy_table->*?TO?<dyn_table>.
??CREATE?DATA?dy_line?LIKE?LINE?OF?<dyn_table>.
??ASSIGN?dy_line->*?TO?<dyn_wa>.

??DATA:?cond?TYPE?string,orderby?TYPE?string.

??CLEAR:cond?.
??IF?p_name1?IS?NOT?INITIAL?AND?s_val1[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name1?`?in?s_val1?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name1?`?in?s_val1`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name2?IS?NOT?INITIAL?AND?s_val2[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name2?`?in?s_val2?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name2?`?in?s_val2`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name3?IS?NOT?INITIAL?AND?s_val3[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name3?`?in?s_val3?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name3?`?in?s_val3`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name4?IS?NOT?INITIAL?AND?s_val4[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name4?`?in?s_val4?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name4?`?in?s_val4`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name5?IS?NOT?INITIAL?AND?s_val5[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name5?`?in?s_val5?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name5?`?in?s_val5`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name6?IS?NOT?INITIAL?AND?s_val6[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name6?`?in?s_val6?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name6?`?in?s_val6`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name7?IS?NOT?INITIAL?AND?s_val7[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name7?`?in?s_val7?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name7?`?in?s_val7`?INTO?cond.
????ENDIF.
??ENDIF.

??IF?p_name8?IS?NOT?INITIAL?AND?s_val8[]?IS?NOT?INITIAL.
????IF?cond?=?''.
??????CONCATENATE??p_name8?`?in?s_val8?`?INTO?cond.
????ELSE.
??????CONCATENATE?cond?`?and?`?p_name8?`?in?s_val8`?INTO?cond.
????ENDIF.
??ENDIF.

??DATA:?str_len?TYPE?i.
??str_len?=?STRLEN(?ftp_path?).
??str_len?=?str_len?-?1.
??REPLACE?ALL?OCCURRENCES?OF?`\`?IN?ftp_path??WITH?`/`.
??CONDENSE?ftp_path.
??IF?ftp_path+str_len?=?'/'?AND?p_dir_dt?IS?NOT?INITIAL.
????CONCATENATE?ftp_path?p_dir_dt?INTO?ftp_path.
??ELSEIF?p_dir_dt?IS?NOT?INITIAL.
????CONCATENATE?ftp_path?'/'?p_dir_dt?INTO?ftp_path.
??ENDIF.

??IF?ftp_path+str_len?=?'/'?AND?str_len?<>?0.
????ftp_path?=?ftp_path+0(str_len).
??ENDIF.
??FIELD-SYMBOLS:?<fldvalue>,<key_constr>.
??DATA:?key_constr?TYPE?TABLE?OF?string?WITH?HEADER?LINE,l_total?TYPE?string,lins?TYPE?i,lins2?TYPE?i,strtmp?TYPE?string.
??DATA:lt_dd03l?TYPE?TABLE?OF?dd03l?WITH?HEADER?LINE,wa_dd03l?LIKE?lt_dd03l.
??SELECT?tabname?fieldname?keyflag?rollname?position?inttype?leng?decimals?FROM?dd03l?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd03l
??????????WHERE?tabname?=?p_table?AND?keyflag?=?'X'?.
??SORT?lt_dd03l?BY?position.

??LOOP?AT?lt_dd03l.
????CONCATENATE?`?`?orderby?`?`?lt_dd03l-fieldname?INTO?orderby.
??ENDLOOP.
??CONDENSE?orderby.

??DELETE?lt_dd03l?WHERE?fieldname?=?'MANDT'.
??READ?TABLE?lt_dd03l?INTO?wa_dd03l?INDEX?1."第一主鍵字段

??DATA:?counts?TYPE?i,diff_counts?TYPE?i.
??DO.
????g_count?=?sy-index.
????CONCATENATE?`_`?g_count?INTO?g_count_c.

????CLEAR:key_constr,key_constr[].
????IF?sy-index?=?1."首次查
??????IF?cond?IS?INITIAL.
????????IF?wa_dd03l-inttype?=?'C'.
??????????CONCATENATE?wa_dd03l-fieldname?`?>=?''`?INTO?key_constr.
????????ELSE.
??????????CONCATENATE?`(?`?wa_dd03l-fieldname?`?>=?-128?)`INTO?key_constr.
????????ENDIF.
??????ELSE.
????????IF?wa_dd03l-inttype?=?'C'.
??????????CONCATENATE?`(?`?wa_dd03l-fieldname?`?>=?''?)?AND?(?`?cond?`?)`?INTO?key_constr.
????????ELSE.
??????????CONCATENATE?`(?`?wa_dd03l-fieldname?`?>=?-128?)?AND?(?`?cond?`?)`?INTO?key_constr.
????????ENDIF.
??????ENDIF.

??????APPEND?key_constr.
??????CLEAR?key_constr.
????ELSE.
??????IF?<dyn_table>?IS?NOT?INITIAL?."最近一次查到數(shù)據(jù)后
????????DESCRIBE?TABLE?lt_dd03l?LINES?lins.
????????IF?lins?>?1."如果主鍵字段個(gè)數(shù)大于1
??????????PERFORM?frm_key_constr?TABLES?<dyn_table>?lt_dd03l?key_constr.
??????????LOOP?AT?key_constr?ASSIGNING?<key_constr>.
????????????IF?cond?IS?NOT?INITIAL.
??????????????CONCATENATE?`(?`?<key_constr>?`?)?AND?(?`?cond?`?)`?INTO?<key_constr>.
????????????ENDIF.
??????????ENDLOOP.
????????ENDIF.

????????CLEAR?<dyn_wa>.
????????DESCRIBE?TABLE?<dyn_table>?LINES?lins.
????????READ?TABLE?<dyn_table>?INTO?<dyn_wa>?INDEX?lins.
????????ASSIGN?COMPONENT?wa_dd03l-fieldname?OF?STRUCTURE?<dyn_wa>?TO?<fldvalue>.

????????"非首次查詢時(shí),無(wú)論怎樣第一主鍵字段大于條件需要
????????IF?cond?IS?INITIAL.
??????????CONCATENATE?wa_dd03l-fieldname?`?>?'`?<fldvalue>?`'`?INTO?key_constr.
????????ELSE.
??????????CONCATENATE?wa_dd03l-fieldname?`?>?'`?<fldvalue>?`'?AND?(?`?cond?`?)`?INTO?key_constr.
????????ENDIF.
????????APPEND?key_constr.
??????ENDIF.
????ENDIF.

????CONCATENATE??`正在讀取第?`?g_count?`?批數(shù)據(jù)...`?INTO?str.
????CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
??????EXPORTING
????????percentage?=?20
????????text???????=?str.

????FREE?<dyn_table>.
????LOOP?AT?key_constr.
??????DESCRIBE?TABLE?<dyn_table>?LINES?lins.
??????diff_counts?=?p_counts?-?lins.
??????IF?diff_counts?<=?0?.
????????EXIT.
??????ENDIF.
??????strtmp?=?key_constr.
??????GET?RUN?TIME?FIELD?tm1.
??????SELECT?(lv_selflds)?APPENDING?CORRESPONDING?FIELDS?OF?TABLE?<dyn_table>?FROM?(p_table)?UP?TO?diff_counts?ROWS?WHERE?(strtmp)?ORDER?BY?(orderby).
??????DESCRIBE?TABLE?<dyn_table>?LINES?lins2.
??????diff_counts?=?lins2?-?lins.
??????IF?psqllog?=?'X'.
????????PERFORM?frm_write_file2?USING?strtmp?diff_counts?sy-tabix.
??????ENDIF.
????ENDLOOP.
????IF?psqllog?=?'X'.
??????PERFORM?frm_write_file3?.
????ENDIF.

????"首次查詢?yōu)榭諘r(shí),需要下傳空文件
????IF?sy-index?>?1?AND?<dyn_table>?IS?INITIAL.
??????EXIT.
????ENDIF.

????DATA:dy_table_new?TYPE?REF?TO?data.
????IF?p_prog?IS?NOT?INITIAL. ************************************ CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
????????EXPORTING
??????????percentage?=?20
??????????text???????=?`輸出字段邏輯擴(kuò)展處理...`.

??????PERFORM?frm_dyn?IN?PROGRAM?(p_prog)?TABLES?<dyn_table>?comp_tab[]
????????????????????????????????s_asist1?s_asist2?s_asist3?s_asist4?s_asist5
????????????????????????????????USING?dy_table_new?.
??????ASSIGN?dy_table_new->*?TO?<dyn_table_new>.
??????IF?p_fileno?IS?NOT?INITIAL."分文件拋FTP
????????PERFORM?to_ftptab?TABLES?<dyn_table_new>.
??????ELSE."不分文件
????????IF?g_count?=?1.
??????????PERFORM?to_ftptab?TABLES?<dyn_table_new>.
????????ELSE.
??????????PERFORM?frm_write_file?TABLES?<dyn_table_new>.
????????ENDIF.
??????ENDIF.
??????DESCRIBE?TABLE?<dyn_table_new>?LINES?lins. ************************************ ELSE.
??????IF?p_fileno?IS?NOT?INITIAL.
????????PERFORM?to_ftptab?TABLES?<dyn_table>.
??????ELSE.
????????IF?g_count?=?1.
??????????PERFORM?to_ftptab?TABLES?<dyn_table>.
????????ELSE.
??????????PERFORM?frm_write_file?TABLES?<dyn_table>.
????????ENDIF.
??????ENDIF.
??????DESCRIBE?TABLE?<dyn_table>?LINES?lins.
????ENDIF.
????l_total?=?l_total?+?lins.
????IF?flg_ftp?IS?NOT?INITIAL.
??????EXIT.
????ENDIF.
??ENDDO.

??IF?p_fileno?IS?INITIAL.
????CONCATENATE??`正在將SAP服務(wù)上文件Append到FTP:`?gv_filename?INTO?str.
????CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
??????EXPORTING
????????percentage?=?20
????????text???????=?str.
????PERFORM?frm_ftp_append.
????CONCATENATE??`/usr/sap/tmp/`?p_fil_px2?`.`?p_extens?INTO?gv_filename?SEPARATED?BY?``.
????DELETE?DATASET?gv_filename.
??ENDIF.

??CHECK?flg_ftp?IS?INITIAL?AND?pflgfile?=?'X'.

??DATA:?codepage?TYPE?cpcodepage,
?????encoding?TYPE?abap_encoding,
????convout?TYPE?REF?TO?cl_abap_conv_out_ce,
????buffer?TYPE?xstring.
??DATA:?BEGIN?OF?dest_xtab?OCCURS?0,
????????x(6144)?TYPE?x,
??????END?OF?dest_xtab.

??CALL?FUNCTION?'SCP_CODEPAGE_BY_EXTERNAL_NAME'
????EXPORTING
??????external_name?=?p_encodi
????IMPORTING
??????sap_codepage??=?codepage.
??encoding?=?codepage.

??CALL?METHOD?cl_abap_conv_out_ce=>create
????EXPORTING
??????encoding?=?encoding
????RECEIVING
??????conv?????=?convout. *??CONCATENATE?`數(shù)據(jù)總條數(shù):`?l_total?INTO?l_total. CONDENSE?l_total.
??CALL?METHOD?convout->write
????EXPORTING
??????data?=?l_total.

??CALL?METHOD?convout->get_buffer
????RECEIVING
??????buffer?=?buffer.

??DATA:?lv_binary_len?TYPE?i.
??CALL?FUNCTION?'SCMS_XSTRING_TO_BINARY'
????EXPORTING
??????buffer????????=?buffer
????IMPORTING
??????output_length?=?lv_binary_len
????TABLES
??????binary_tab????=?dest_xtab.

??PERFORM?f_ftp_connect.
??PERFORM?frm_cd_dir.

??CONCATENATE?p_fil_px2?`.`?p_flgex?INTO?gv_filename.

??CONDENSE?gv_filename.
??CALL?FUNCTION?'FTP_R3_TO_SERVER'
????EXPORTING
??????handle????????=?thandle
??????fname?????????=?gv_filename
??????blob_length???=?lv_binary_len
????TABLES
??????blob??????????=?dest_xtab
????EXCEPTIONS
??????tcpip_error???=?1
??????command_error?=?2
??????data_error????=?3
??????OTHERS????????=?4.
??IF?sy-subrc?EQ?0.
????WRITE:/?gv_filename,'傳輸成功!'.
??ELSE.
????WRITE:/?gv_filename,'數(shù)據(jù)文件傳輸失敗!'.
??ENDIF.
??PERFORM?f_ftp_disconnect.
ENDFORM. " f_get_data

*&---------------------------------------------------------------------*
*&??????Form??to_ftptab
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->P_SRC_TAB????text
*??????-->P_DEST_XTAB??text
*??????-->OF???????????text
*??????-->X????????????text
*----------------------------------------------------------------------* FORM to_ftptab TABLES p_src_tab.
??DATA:?BEGIN?OF?dest_xtab?OCCURS?0,
????????x(6144)?TYPE?x,
??????END?OF?dest_xtab.
??DATA:?lv_binary_len?TYPE?i.

??DATA:str?TYPE?string.
??IF?p_fileno?IS?NOT?INITIAL.
????CONCATENATE??p_fil_px2?g_count_c?`.`?p_extens?INTO?gv_filename?SEPARATED?BY?``.
??ELSE.
????CONCATENATE??p_fil_px2?`.`?p_extens?INTO?gv_filename?SEPARATED?BY?``.
??ENDIF.
??CONCATENATE??`正在準(zhǔn)備文件:`?gv_filename?INTO?str.
??CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
????EXPORTING
??????percentage?=?20
??????text???????=?str.

??PERFORM?frm_data_to_binary?TABLES?p_src_tab?dest_xtab?USING?lv_binary_len?'X'.

??CONCATENATE??`正在上傳文件:`?gv_filename?INTO?str.
??CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
????EXPORTING
??????percentage?=?20
??????text???????=?str.
??PERFORM?f_ftp_connect.
??PERFORM?frm_mkdir.
??PERFORM?frm_cd_dir.

??PERFORM?f_ftp?TABLES?dest_xtab?USING?lv_binary_len.
??PERFORM?f_ftp_disconnect.
??CLEAR:dest_xtab.
??REFRESH:dest_xtab[].
ENDFORM. "to_ftptab

*&---------------------------------------------------------------------*
*&??????Form??to_ftptab2
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->P_SRC_TAB??text
*----------------------------------------------------------------------* FORM frm_data_to_binary TABLES p_src_tab dest_xtab USING lv_binary_len TYPE i first.
??DATA:strct_type_ref?TYPE?REF?TO?cl_abap_structdescr,
???????tab_type_ref?TYPE?REF?TO?cl_abap_tabledescr,
???????t_component?TYPE?cl_abap_structdescr=>component_table,
???????wa_component?LIKE?LINE?OF?t_component.
??FIELD-SYMBOLS:?<fldvalue>.
??DATA:time_stamp?TYPE?timestampl,timestamp_c(22).

??DATA:?l_str?TYPE?string,fldstr?TYPE?string,fldtype,firsttime?VALUE?'X'.
??DATA:?str?TYPE?string.
??DATA:?len?TYPE?string.
??DATA:?codepage?TYPE?cpcodepage,
?????encoding?TYPE?abap_encoding,
????convout?TYPE?REF?TO?cl_abap_conv_out_ce,
????buffer?TYPE?xstring.

??CALL?FUNCTION?'SCP_CODEPAGE_BY_EXTERNAL_NAME'
????EXPORTING
??????external_name?=?p_encodi
????IMPORTING
??????sap_codepage??=?codepage.
??encoding?=?codepage.

??CALL?METHOD?cl_abap_conv_out_ce=>create
????EXPORTING
??????encoding?=?encoding
????RECEIVING
??????conv?????=?convout.

??tab_type_ref??=?cl_abap_tabledescr=>describe_by_data(?p_src_tab[]?).
??strct_type_ref??=?tab_type_ref->get_table_line_type(?).
??t_component?=?strct_type_ref->get_components(?).

??str?=?p_split.
??REPLACE?ALL?OCCURRENCES?OF?`\t`?IN?str??WITH?c_tab.
??REPLACE?ALL?OCCURRENCES?OF?`\T`?IN?str??WITH?c_tab.
??REPLACE?ALL?OCCURRENCES?OF?`?`?IN?str??WITH?``.

??IF?p_header?=?'X'?AND?first?IS?NOT?INITIAL.
????PERFORM?frm_find_table?USING?'X'.

????CLEAR:fldstr,l_str.
????LOOP?AT?t_component?INTO?wa_component.
??????READ?TABLE?gt_dd03l?WITH?KEY?fieldname?=?wa_component-name.
??????IF?sy-subrc?=?0.
????????len?=?gt_dd03l-leng?+?gt_dd03l-decimals.
????????CONDENSE?len.
????????READ?TABLE?gt_vrm_values?WITH?KEY?key?=?wa_component-name.
????????IF?sy-subrc?=?0.
??????????REPLACE?ALL?OCCURRENCES?OF?str?IN?gt_vrm_values-text??WITH?`?`.
??????????IF?fldstr?=?''.
????????????IF?p_hdtlg?IS?NOT?INITIAL.
??????????????CONCATENATE?gt_vrm_values-text?`(`?len?`)`?INTO?fldstr.
????????????ELSE.
??????????????CLEAR:?itab,itab[].
??????????????SPLIT?gt_vrm_values-text?AT?`:`?INTO?TABLE?itab.
??????????????READ?TABLE?itab?INDEX?2.
??????????????fldstr?=?itab?.
????????????ENDIF.
??????????ELSE.
????????????IF?p_hdtlg?IS?NOT?INITIAL.
??????????????CONCATENATE?fldstr?str?gt_vrm_values-text?`(`?len?`)`?INTO?fldstr.
????????????ELSE.
??????????????CLEAR:?itab,itab[].
??????????????SPLIT?gt_vrm_values-text?AT?`:`?INTO?TABLE?itab.
??????????????READ?TABLE?itab?INDEX?2.
??????????????CONCATENATE?fldstr?str?itab?INTO?fldstr.
????????????ENDIF.
??????????ENDIF.
????????ELSE.
??????????IF?fldstr?=?''.
????????????IF?p_hdtlg?IS?NOT?INITIAL.
??????????????CONCATENATE?gt_dd03l-fieldname?`(`?len?`)`?INTO?fldstr.
????????????ELSE.
??????????????fldstr?=?gt_dd03l-fieldname.
????????????ENDIF.
??????????ELSE.
????????????IF?p_hdtlg?IS?NOT?INITIAL.
??????????????CONCATENATE?fldstr?str?gt_dd03l-fieldname?`(`?len?`)`?INTO?fldstr.
????????????ELSE.
??????????????CONCATENATE?fldstr?str?gt_dd03l-fieldname?INTO?fldstr.
????????????ENDIF.
??????????ENDIF.
????????ENDIF.
??????ELSE.
????????elem_type??=?wa_component-type.
????????len?=?elem_type->length?+?elem_type->decimals.
????????CONDENSE?len.
????????IF?fldstr?=?''.
??????????IF?p_hdtlg?IS?NOT?INITIAL.
????????????CONCATENATE?wa_component-name?`(`?len?`)`?INTO?fldstr.
??????????ELSE.
????????????fldstr?=?wa_component-name.
??????????ENDIF.
????????ELSE.
??????????IF?p_hdtlg?IS?NOT?INITIAL.
????????????CONCATENATE?fldstr?str?wa_component-name?`(`?len?`)`?INTO?fldstr.
??????????ELSE.
????????????CONCATENATE?fldstr?str?wa_component-name?INTO?fldstr.
??????????ENDIF.
????????ENDIF.
??????ENDIF.
????ENDLOOP.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?fldstr.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?cl_abap_char_utilities=>cr_lf.
??ENDIF.


??GET?TIME?STAMP?FIELD?time_stamp.
??timestamp_c?=?time_stamp.


??LOOP?AT?p_src_tab.
????firsttime?=?'X'.
????CLEAR:fldstr,l_str.
????LOOP?AT?t_component?INTO?wa_component.

??????IF?wa_component-name?=?'ZTIMESTAMPL'.
????????IF?firsttime?=?'X'.
??????????fldstr?=?time_stamp.
??????????CLEAR?firsttime.
????????ELSE.
??????????CONCATENATE?fldstr?timestamp_c?INTO?fldstr?SEPARATED?BY?str.
????????ENDIF.
????????CONTINUE.
??????ENDIF.

??????fldtype?=?wa_component-type->type_kind.
??????ASSIGN?COMPONENT?wa_component-name?OF?STRUCTURE?p_src_tab?TO?<fldvalue>.
??????l_str?=?<fldvalue>.
??????IF?fldtype?=?'P'?OR?fldtype?=?'F'
????????OR?fldtype?=?'I'?OR?fldtype?=?'b'
????????OR?fldtype?=?'s'.
????????CALL?FUNCTION?'CLOI_PUT_SIGN_IN_FRONT'
??????????CHANGING
????????????value?=?l_str.
??????ENDIF.
??????REPLACE?ALL?OCCURRENCES?OF?str?IN?l_str??WITH?`?`.
??????IF?firsttime?=?'X'.
????????fldstr?=?l_str?.
????????CLEAR?firsttime.
??????ELSE.
????????CONCATENATE?fldstr?l_str?INTO?fldstr?SEPARATED?BY?str.
??????ENDIF.
????ENDLOOP.

????CONDENSE?fldstr.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?fldstr.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?cl_abap_char_utilities=>cr_lf.
??ENDLOOP.

??CALL?METHOD?convout->get_buffer
????RECEIVING
??????buffer?=?buffer.

??CALL?FUNCTION?'SCMS_XSTRING_TO_BINARY'
????EXPORTING
??????buffer????????=?buffer
????IMPORTING
??????output_length?=?lv_binary_len
????TABLES
??????binary_tab????=?dest_xtab.
ENDFORM. "frm_data_to_binary

*&---------------------------------------------------------------------*
*&??????Form??f_ftp_connect
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* FORM f_ftp_connect .
??DATA:?thosts(45),tusers(45),tpword(45).
??thosts?=?p_host.
??tusers?=?p_user.
??tpword?=?p_pwd.
??slen?=?STRLEN(?tpword?).

***對(duì)密碼值進(jìn)行加密解析處理 CALL?FUNCTION?'HTTP_SCRAMBLE'
????EXPORTING
??????SOURCE??????=?tpword
??????sourcelen???=?slen
??????key?????????=?key
????IMPORTING
??????destination?=?tpword. ***定義RFC連接目標(biāo),前后臺(tái)執(zhí)行時(shí)不同
*??IF?sy-batch?=?'X'. trfcdest?=?'SAPFTPA'. *??ELSE.
*????trfcdest?=?'SAPFTP'.
*??ENDIF.
***該函數(shù)可以定義有網(wǎng)關(guān)是賬戶密碼,一般公司內(nèi)部訪問(wèn)無(wú)此設(shè)置 CALL?FUNCTION?'FTP_CONNECT'
????EXPORTING
??????user????????????=?tusers
??????password????????=?tpword
??????host????????????=?thosts
??????rfc_destination?=?trfcdest
????IMPORTING
??????handle??????????=?thandle
????EXCEPTIONS
??????not_connected???=?1
??????OTHERS??????????=?2.

??IF?sy-subrc?NE?0.
????WRITE:/?'FTP連接失敗!'.
????STOP.
??ENDIF.

ENDFORM. " f_ftp_connect *&---------------------------------------------------------------------*
*&??????Form??frm_mkdir
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM frm_mkdir .
??DATA:?dirstr?TYPE?string.
??CLEAR:com,com[],res,res[].
??CLEAR:?itab,?itab[].
??SPLIT?ftp_path?AT?`/`?INTO?TABLE?itab?.
??DELETE?itab?WHERE?table_line?=?''.
??LOOP?AT?itab?.
????IF?sy-tabix?=?1.
??????CONCATENATE?`/`?itab?INTO?dirstr?SEPARATED?BY?``.
????ELSE.
??????CONCATENATE?dirstr?`/`?itab?INTO?dirstr?SEPARATED?BY?``.
????ENDIF.
????CONCATENATE?`mkdir?`?dirstr?INTO?com-cmd?SEPARATED?BY?``.
????APPEND?com.
??ENDLOOP.

??LOOP?AT?com.
????CALL?FUNCTION?'FTP_COMMAND'
??????EXPORTING
????????handle????????=?thandle
????????command???????=?com-cmd
??????TABLES
????????data??????????=?res
??????EXCEPTIONS
????????tcpip_error???=?1
????????command_error?=?2
????????data_error????=?3
????????OTHERS????????=?4.
??ENDLOOP.
ENDFORM. " frm_mkdir *&---------------------------------------------------------------------*
*&??????Form??frm_cd_dir
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM frm_cd_dir .
??CLEAR:com,com[],res,res[].
??CONCATENATE?'cd'?ftp_path?INTO?com-cmd?SEPARATED?BY?''.

??CALL?FUNCTION?'FTP_COMMAND'
????EXPORTING
??????handle????????=?thandle
??????command???????=?com-cmd
????TABLES
??????data??????????=?res
????EXCEPTIONS
??????tcpip_error???=?1
??????command_error?=?2
??????data_error????=?3
??????OTHERS????????=?4.

ENDFORM. " frm_cd_dir *&---------------------------------------------------------------------*
*&??????Form??f_ftp_disconnect
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM f_ftp_disconnect .
??CALL?FUNCTION?'FTP_DISCONNECT'
????EXPORTING
??????handle?=?thandle.
ENDFORM. " f_ftp_disconnect *&---------------------------------------------------------------------*
*&??????Form??f_ftp
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM f_ftp TABLES p_ftptab USING lv_binary_len.
??CONDENSE?gv_filename. *??DATA:str?TYPE?string.
*??CONCATENATE??`正在上傳文件:`?gv_filename?INTO?str.
*??CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
*????EXPORTING
*??????percentage?=?20
*??????text???????=?str.

CALL?FUNCTION?'FTP_R3_TO_SERVER'
????EXPORTING
??????handle????????=?thandle
??????fname?????????=?gv_filename
??????blob_length???=?lv_binary_len
????TABLES
??????blob??????????=?p_ftptab
????EXCEPTIONS
??????tcpip_error???=?1
??????command_error?=?2
??????data_error????=?3
??????OTHERS????????=?4.
??IF?sy-subrc?EQ?0.
????WRITE:/?gv_filename,'傳輸成功!'.
??ELSE.
????WRITE:/?gv_filename,'數(shù)據(jù)文件傳輸失敗!'.
????flg_ftp?=?'X'.
??ENDIF.
ENDFORM. " f_ftp *&---------------------------------------------------------------------*
*&??????Module??STATUS_1001??OUTPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE status_1001 OUTPUT.
??SET?PF-STATUS?'ST_1001'.
??SET?TITLEBAR?'1001'.
??CLEAR:?texttable[],line,gt_YTEST300,gt_YTEST300[].
??CLEAR:gt_vrm_values,gt_vrm_values[],gt_vrm_values_dt,gt_vrm_values_dt[],gt_dd03l,gt_dd03l[],rtables,rtables[].
??PERFORM?frm_val?TABLES?gt_vrm_values?rtables?gt_vrm_values_dt?gt_dd03l?USING?'X'.

??SELECT?*?FROM?YTEST300?INTO?TABLE?gt_YTEST300?WHERE?username?=?p_varusr?AND?tabname?=?p_table?ORDER?BY?sequence?ASCENDING.
??IF?sy-subrc?=?0.
????LOOP?AT?gt_YTEST300.
??????READ?TABLE?gt_vrm_values?WITH?KEY?key?=?gt_YTEST300-fldname.
??????CLEAR:itab[].
??????SPLIT?gt_vrm_values-text?AT?`:`?INTO?itab?c1?.
??????CONCATENATE?line?c_crlf?gt_YTEST300-fldname?`:`?c1?INTO?line?SEPARATED?BY?``.
????ENDLOOP.
??ELSE.
????LOOP?AT?gt_vrm_values.
??????CLEAR:itab[].
??????SPLIT?gt_vrm_values-text?AT?`:`?INTO?itab?c1?.
??????CONCATENATE?line?c_crlf?gt_vrm_values-key?`:`?c1?INTO?line?SEPARATED?BY?``.
????ENDLOOP.
??ENDIF.
??line?=?line+2.
??APPEND?line?TO?texttable.

??IF?editor_container?IS?NOT?BOUND.
????CREATE?OBJECT?editor_container
??????????EXPORTING
????????????container_name?=??'EDITOR'.

????CREATE?OBJECT?editor
????????EXPORTING
??????????parent?=?editor_container
??????????wordwrap_mode?=?1
??????????max_number_chars?=?10000.
??ENDIF.
??editor->set_textstream(?line?).
ENDMODULE. " STATUS_1001 OUTPUT *&---------------------------------------------------------------------*
*&??????Module??USER_COMMAND_1001??INPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE user_command_1001 INPUT.
??CASE?sy-ucomm.
????WHEN?'RW'.
??????LEAVE?TO?SCREEN?0.
????WHEN?'SAVE'.
??????CALL?METHOD?editor->get_text_as_stream
????????IMPORTING
??????????text?=?texttable[].
??????CLEAR:?line.
??????LOOP?AT?texttable.
????????CONCATENATE?line?texttable-line?INTO?line?SEPARATED?BY?``.
??????ENDLOOP.
??????IF?sy-subrc?<>?0.
????????MESSAGE?`請(qǐng)輸入內(nèi)容`?TYPE?'E'.
??????ELSE.
????????CLEAR:itab[].
????????SPLIT?line?AT?c_crlf?INTO?TABLE?itab?.
????????IF?itab[]?IS?INITIAL.
??????????MESSAGE?`請(qǐng)輸入內(nèi)容`?TYPE?'E'.
????????ELSE.
??????????CLEAR:itab2[].
??????????LOOP?AT?itab?.
????????????SPLIT?itab?AT?`:`?INTO?itab?c1.
????????????CONDENSE?itab.
????????????TRANSLATE?itab?TO?UPPER?CASE.
????????????APPEND?itab?TO?itab2.
??????????ENDLOOP.

??????????LOOP?AT?itab?.
????????????g_tabix?=?sy-tabix.
????????????SPLIT?itab?AT?`:`?INTO?itab?c1.
????????????CONDENSE?itab.
????????????TRANSLATE?itab?TO?UPPER?CASE.
????????????IF?itab?<>?''.
??????????????CLEAR?repeat.
??????????????LOOP?AT?itab2?WHERE?table_line?=??itab.
????????????????repeat?=?repeat?+?1.
??????????????ENDLOOP.
??????????????IF?repeat?>?1.
????????????????CONCATENATE?itab?`?重復(fù)輸入`?INTO?c1.
????????????????MESSAGE?c1?TYPE?'E'.
????????????????EXIT.
??????????????ENDIF.
??????????????MODIFY?itab?INDEX?g_tabix.
????????????ELSE.
??????????????DELETE?itab?INDEX?g_tabix.
????????????ENDIF.
??????????ENDLOOP.
??????????IF?itab[]?IS?INITIAL.
????????????MESSAGE?`請(qǐng)輸入內(nèi)容`?TYPE?'E'.
??????????ELSE.
????????????CLEAR:gt_YTEST300[],gt_YTEST300.

????????????LOOP?AT?itab.
??????????????gt_YTEST300-sequence?=?sy-tabix.
??????????????READ?TABLE?gt_vrm_values?WITH?KEY?key?=?itab.
??????????????IF?sy-subrc?<>?0.
????????????????CONCATENATE?itab?`?字段不存在`?INTO?c1.
????????????????CLEAR:gt_YTEST300[],gt_YTEST300.
????????????????MESSAGE?c1?TYPE?'E'.
??????????????ENDIF.
??????????????gt_YTEST300-username?=?p_varusr.
??????????????gt_YTEST300-tabname?=?p_table.
??????????????gt_YTEST300-fldname?=?itab.
??????????????APPEND?gt_YTEST300.
????????????ENDLOOP.

????????????DATA:lt_dd03l?TYPE?TABLE?OF?dd03l?WITH?HEADER?LINE,msg?TYPE?string.
????????????CLEAR:msg,lt_dd03l,lt_dd03l[].
????????????SELECT?tabname?fieldname?keyflag?rollname?position?inttype?leng?decimals?FROM?dd03l?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd03l
????????????????????WHERE?tabname?=?p_table?AND?keyflag?=?'X'.

????????????LOOP?AT?lt_dd03l.
??????????????READ?TABLE?gt_YTEST300?WITH?KEY?fldname?=?lt_dd03l-fieldname.
??????????????IF?sy-subrc?<>?0.
????????????????CONCATENATE?lt_dd03l-fieldname?`為主鍵,不能刪除`?INTO?msg.
????????????????MESSAGE?msg?TYPE?'E'.
??????????????ENDIF.
????????????ENDLOOP.

????????????DELETE?FROM?YTEST300?WHERE?username?=?p_varusr?AND?tabname?=?p_table.
????????????MODIFY?YTEST300?FROM?TABLE?gt_YTEST300.
????????????COMMIT?WORK.
????????????MESSAGE?'保存成功'?TYPE?'I'.
??????????ENDIF.
????????ENDIF.
??????ENDIF.
????WHEN?'RE_LOAD'.
??????DATA:?l_answer.
??????CALL?FUNCTION?'POPUP_TO_CONFIRM'
????????EXPORTING
??????????text_question?????????=?'重置會(huì)將當(dāng)前配置從YTEST300中刪除,是否繼續(xù)?'
??????????icon_button_1?????????=?'是'
??????????icon_button_2?????????=?'否'
??????????default_button????????=?'2'
??????????display_cancel_button?=?''
????????IMPORTING
??????????answer????????????????=?l_answer
????????EXCEPTIONS
??????????text_not_found????????=?1
??????????OTHERS????????????????=?2.
??????IF?l_answer?=?'1'.
????????DELETE?FROM?YTEST300?WHERE?username?=?p_varusr?AND?tabname?=?p_table.
??????ENDIF.

??ENDCASE.
ENDMODULE. " USER_COMMAND_1001 INPUT

*&---------------------------------------------------------------------*
*&??????Form??frm_val
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* FORM frm_val TABLES lt_vrm_values TYPE vrm_values rtables STRUCTURE range_c35 lt_vrm_values_dt TYPE vrm_values lt_dd03l STRUCTURE dd03l USING mandt.
??DATA:lt_dd03t?TYPE?TABLE?OF?dd03t?WITH?HEADER?LINE,
???????lt_dd04t?TYPE?TABLE?OF?dd04t?WITH?HEADER?LINE.
??DATA:ls_vrm_values??LIKE?LINE?OF?lt_vrm_values.
??DATA:BEGIN?OF??fieldname?OCCURS?0,
????fieldname?TYPE?dd03t-fieldname?,
????END?OF?fieldname.
??DATA:BEGIN?OF?rollname?OCCURS?0,
????rollname?TYPE?dd04t-rollname?,
????END?OF?rollname.

??IF?rtables[]?IS?INITIAL.
????rtables-sign?=?'I'.
????rtables-option?=?'EQ'.
????rtables-low?=?p_table.
????APPEND?rtables.
??ENDIF.

??IF?mandt?IS?NOT?INITIAL.
????SELECT?tabname?fieldname?keyflag?rollname?position?inttype?leng?decimals?FROM?dd03l?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd03l
????????????WHERE?tabname?IN?rtables?AND?fieldname?<>?'.INCLU--AP'?AND?fieldname?<>?'.INCLUDE'.
??ELSE.
????SELECT?tabname?fieldname?keyflag?rollname?position?inttype?leng?decimals?FROM?dd03l?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd03l
????????????WHERE?tabname?IN?rtables?AND?fieldname?<>?'MANDT'?AND?fieldname?<>?'.INCLU--AP'?AND?fieldname?<>?'.INCLUDE'.
??ENDIF.

??SORT?lt_dd03l?BY?position.
??LOOP?AT?lt_dd03l?.
????IF?lt_dd03l-rollname?=?''.
??????APPEND?lt_dd03l-fieldname?TO?fieldname.
????ELSE.
??????APPEND?lt_dd03l-rollname?TO?rollname.
????ENDIF.
??ENDLOOP.

??IF?fieldname[]?IS?NOT?INITIAL.
????SELECT?fieldname?ddtext?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd03t
???????????????FROM?dd03t
???????????????FOR?ALL?ENTRIES?IN?fieldname
???????????????WHERE?tabname?=?p_table
?????????????????AND?ddlanguage?=?'1'
?????????????????AND?fieldname?=?fieldname-fieldname.
??ENDIF.

??IF?rollname[]?IS?NOT?INITIAL.
????SELECT?rollname?ddtext?INTO?CORRESPONDING?FIELDS?OF?TABLE?lt_dd04t
???????????????FROM?dd04t
???????????????FOR?ALL?ENTRIES?IN?rollname
???????????????WHERE?ddlanguage?=?'1'
?????????????????AND?rollname?=?rollname-rollname.
??ENDIF.


??REFRESH?lt_vrm_values.
??LOOP?AT?lt_dd03l.
????ls_vrm_values-key?=?lt_dd03l-fieldname.
????IF?lt_dd03l-rollname?=?''.
??????READ?TABLE?lt_dd03t?WITH?KEY?fieldname?=?lt_dd03l-fieldname.
??????IF?sy-subrc?=?0.
????????CONCATENATE?lt_dd03l-fieldname?`:`?lt_dd03t-ddtext?INTO?ls_vrm_values-text?SEPARATED?BY??``.
??????ENDIF.
????ELSE.
??????READ?TABLE?lt_dd04t?WITH?KEY?rollname?=?lt_dd03l-rollname.
??????IF?sy-subrc?=?0.
????????CONCATENATE?lt_dd03l-fieldname?`:`?lt_dd04t-ddtext?INTO?ls_vrm_values-text?SEPARATED?BY??``.
??????ENDIF.
????ENDIF.
????IF?lt_dd03l-inttype?=?'D'.
??????APPEND?ls_vrm_values?TO?lt_vrm_values_dt.
????ENDIF.
????APPEND?ls_vrm_values?TO?lt_vrm_values.
??ENDLOOP.

ENDFORM. "frm_val *&---------------------------------------------------------------------*
*&??????Module??STATUS_1002??OUTPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE status_1002 OUTPUT.
??SET?PF-STATUS?'ST_1002'.
??SET?TITLEBAR?'1002'.
??CLEAR:?texttable[],line,gt_YTEST300,gt_YTEST300[].

??CLEAR:gt_vrm_values,gt_vrm_values[],gt_vrm_values_dt,gt_vrm_values_dt[],gt_dd03l,gt_dd03l[],rtables,rtables[].
??PERFORM?frm_val?TABLES?gt_vrm_values?rtables?gt_vrm_values_dt?gt_dd03l?USING?'X'.

??CONCATENATE?`CREATE?TABLE?IF?NOT?EXISTS?SAP_R3_`?p_table?`(`?INTO?line.
??SELECT?*?FROM?YTEST300?INTO?TABLE?gt_YTEST300?WHERE?username?=?p_varusr?AND?tabname?=?p_table?ORDER?BY?sequence?ASCENDING.
??IF?sy-subrc?=?0.
????LOOP?AT?gt_YTEST300.
??????READ?TABLE?gt_vrm_values?WITH?KEY?key?=?gt_YTEST300-fldname.
??????CLEAR:itab[].
??????SPLIT?gt_vrm_values-text?AT?`:`?INTO?itab?c1?.
??????REPLACE?ALL?OCCURRENCES?OF?`'`?IN?c1??WITH?``.
??????REPLACE?ALL?OCCURRENCES?OF?`,`?IN?c1??WITH?``.
??????CONCATENATE?line?c_crlf?gt_YTEST300-fldname?`?STRING?COMMENT?'`?c1?`',`?INTO?line?SEPARATED?BY?``.
????ENDLOOP.
??ELSE.
????LOOP?AT?gt_vrm_values.
??????CLEAR:itab[].
??????SPLIT?gt_vrm_values-text?AT?`:`?INTO?itab?c1?.
??????REPLACE?ALL?OCCURRENCES?OF?`'`?IN?c1??WITH?``.
??????REPLACE?ALL?OCCURRENCES?OF?`,`?IN?c1??WITH?``.
??????CONCATENATE?line?c_crlf?gt_vrm_values-key?`?STRING?COMMENT?'`?c1?`',`?INTO?line?SEPARATED?BY?``.
????ENDLOOP.
??ENDIF.
??DATA:?str_len?TYPE?i.
??str_len?=?STRLEN(?line?).
??str_len?=?str_len?-?1.
??line?=?line+0(str_len).
??CONCATENATE?line?c_crlf?`);`?INTO?line.
??APPEND?line?TO?texttable.

??IF?editor_container2?IS?NOT?BOUND.
????CREATE?OBJECT?editor_container2
??????????EXPORTING
????????????container_name?=??'EDITOR2'.

????CREATE?OBJECT?editor2
????????EXPORTING
??????????parent?=?editor_container2
??????????wordwrap_mode?=?1
??????????max_number_chars?=?12000.
??ENDIF.
??editor2->set_textstream(?line?).
ENDMODULE. " STATUS_1002 OUTPUT *&---------------------------------------------------------------------*
*&??????Module??user_command_1002??INPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE user_command_1002 INPUT.
??CASE?sy-ucomm.
????WHEN?'RW'.
??????LEAVE?TO?SCREEN?0.
??ENDCASE.
ENDMODULE. " user_command_1002 INPUT *&---------------------------------------------------------------------*
*&??????Module??STATUS_1003??OUTPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE status_1003 OUTPUT.
??SET?PF-STATUS?'ST_1003'.
??SET?TITLEBAR?'1003'.

??DATA:?code?TYPE?TABLE?OF?string?WITH?HEADER?LINE.

??CLEAR:?line,gt_YTEST300,gt_YTEST300[].

??IF?editor_container3?IS?NOT?BOUND.
????CREATE?OBJECT?editor_container3
??????????EXPORTING
????????????container_name?=??'EDITOR3'.

????CREATE?OBJECT?editor3
????????EXPORTING
??????????parent?=?editor_container3
??????????wordwrap_mode?=?1
??????????max_number_chars?=?600000.
??ENDIF.
??READ?REPORT?'YTEMPLET'?INTO?code.
??LOOP?AT?code.
????IF?line?=?''.
??????line?=?code.
????ELSE.
??????CONCATENATE??line?cl_abap_char_utilities=>cr_lf?code?INTO?line.
????ENDIF.
??ENDLOOP.
??editor3->set_textstream(?line?).
ENDMODULE. " STATUS_1003 OUTPUT

*&---------------------------------------------------------------------*
*&??????Form??frm_key_constr
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->P_SRC_TAB?????text
*??????-->LT_DD03L??????text
*??????-->P_KEY_CONSTR??text
*??????-->P_ORDERBY?????text
*----------------------------------------------------------------------* FORM frm_key_constr TABLES p_src_tab pt_dd03l STRUCTURE dd03l key_constr.
??DATA:lin?TYPE?i.
??DATA:?counts?TYPE?i.
??FIELD-SYMBOLS:?<fldvalue>.
??DATA:?wa_dd03l?LIKE?lt_dd03l.
??DATA:?p_key_constr?TYPE?string.
??DATA:?lt_dd03l?TYPE?TABLE?OF?dd03l?WITH?HEADER?LINE.
??lt_dd03l[]?=?pt_dd03l[].
??READ?TABLE?lt_dd03l?INTO?wa_dd03l?INDEX?1.
??DELETE?lt_dd03l?INDEX?1.
??DESCRIBE?TABLE?lt_dd03l?LINES?counts.
??DESCRIBE?TABLE?p_src_tab?LINES?lin.
??CHECK?lin?>?0.
??READ?TABLE?p_src_tab?INDEX?lin.

??DO.
????DO?counts?TIMES.
??????READ?TABLE?lt_dd03l?INDEX?sy-index.
??????ASSIGN?COMPONENT?lt_dd03l-fieldname?OF?STRUCTURE?p_src_tab?TO?<fldvalue>.
??????IF?sy-index?<?counts.
????????IF?p_key_constr?<>??''.
??????????CONCATENATE?p_key_constr?lt_dd03l-fieldname?`?=?'`?<fldvalue>?`'`?INTO?p_key_constr.
????????ELSE.
??????????CONCATENATE?lt_dd03l-fieldname?`?=?'`?<fldvalue>?`'`?INTO?p_key_constr.
????????ENDIF.
????????CONCATENATE?p_key_constr?`?AND?`?INTO?p_key_constr.
??????ELSEIF?sy-index?=?counts.
????????IF?p_key_constr?<>??''.
??????????CONCATENATE?p_key_constr?lt_dd03l-fieldname?`?>?'`?<fldvalue>?`'`?INTO?p_key_constr.
????????ELSE.
??????????CONCATENATE?lt_dd03l-fieldname?`?>?'`?<fldvalue>?`'`?INTO?p_key_constr.
????????ENDIF.
??????ENDIF.
????ENDDO.
????counts?=?counts?-?1.
????IF?counts?<=?0.
??????EXIT.
????ELSE.
??????CONCATENATE?p_key_constr?`?OR?`?INTO?p_key_constr.
????ENDIF.
??ENDDO.
??CLEAR:?itab,itab[].
??SPLIT?p_key_constr?AT?`?OR?`?INTO?TABLE?itab?.
??DESCRIBE?TABLE?itab?LINES?counts.
??ASSIGN?COMPONENT?wa_dd03l-fieldname?OF?STRUCTURE?p_src_tab?TO?<fldvalue>.
??DO?counts?TIMES.
????READ?TABLE?itab?INDEX?sy-index.
????CONCATENATE?wa_dd03l-fieldname?`?=?'`?<fldvalue>?`'?AND?`?itab?INTO?key_constr.
????APPEND?key_constr.
??ENDDO.
ENDFORM. " frm_key_constr

*&---------------------------------------------------------------------*
*&??????Form??frm_comp_tab
*&---------------------------------------------------------------------*
*???????遞歸將某結(jié)構(gòu)組件展開(kāi)(如:由于BKPF表中.APPEND附加結(jié)構(gòu),通過(guò)
*???????struct_type??=?cl_abap_typedescr=>describe_by_name(?'BKPF'?)獲得
*???????的組件中就會(huì)有STRU類型的組件,而非基本類型組件,所以需遞歸展開(kāi))
*----------------------------------------------------------------------*
*??????-->COMP_TAB???某結(jié)構(gòu)的組件
*----------------------------------------------------------------------* FORM frm_comp_tab TABLES comp_tab TYPE cl_abap_structdescr=>component_table.
??DATA:?lt_comp_tab?LIKE?comp_tab[]?WITH?HEADER?LINE.
??DATA:struct_type3?TYPE?REF?TO?cl_abap_structdescr,
?????comp_tab3?TYPE?cl_abap_structdescr=>component_table?WITH?HEADER?LINE.

??LOOP?AT?comp_tab?.
????IF?comp_tab-name?<>?''.
??????APPEND?comp_tab?TO?lt_comp_tab.
????ELSE.
??????struct_type3??=?comp_tab-type.
??????comp_tab3[]?=?struct_type3->get_components(?).
??????PERFORM?frm_comp_tab?TABLES?comp_tab3.
??????APPEND?LINES?OF?comp_tab3?TO?lt_comp_tab.
????ENDIF.
??ENDLOOP.
??comp_tab[]?=?lt_comp_tab[].
ENDFORM. " frm_comp_tab

*&---------------------------------------------------------------------*
*&??????Form??frm_find_table
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* FORM frm_find_table USING p_tablex.
??DATA:?code?TYPE?TABLE?OF?string?WITH?HEADER?LINE.
??DATA:?off??TYPE?i,
????????moff?TYPE?i,
????????mlen?TYPE?i,
????????diffoff?TYPE?i.
??DATA:?tmpstr?TYPE?string.
??CLEAR:rtables,rtables[].


??IF?p_prog?IS?NOT?INITIAL.
????READ?REPORT?p_prog?INTO?code.
????line?=?''.
????LOOP?AT?code.
??????REPLACE?ALL?OCCURRENCES?OF?cl_abap_char_utilities=>horizontal_tab?IN?code?WITH?`?`.
??????CONDENSE?code.
??????CLEAR?itab.
??????SPLIT?code?AT?`?`?INTO?TABLE?itab?.
??????LOOP?AT?itab?WHERE?table_line?IS?NOT?INITIAL.
????????IF?line?=?''.
??????????line?=?itab.
????????ELSE.
??????????CONCATENATE??line?`?`?itab?INTO?line?SEPARATED?BY?``.
????????ENDIF.
??????ENDLOOP.
????ENDLOOP.
????off?=?0.
????DO.
??????FIND?`?FROM?`?IN?SECTION?OFFSET?off?OF
???????????line
???????????IGNORING?CASE
???????????MATCH?OFFSET?moff
???????????MATCH?LENGTH?mlen.
??????IF?sy-subrc?=?0.
????????off?=?moff?+?mlen.
????????FIND?`?`?IN?SECTION?OFFSET?off?OF
???????????line
???????????IGNORING?CASE
???????????MATCH?OFFSET?moff
???????????MATCH?LENGTH?mlen.
????????tmpstr?=?line.
????????diffoff?=?moff?-?off.
????????tmpstr?=?tmpstr+off(diffoff).
????????CONDENSE?tmpstr.
????????rtables-sign?=?'I'.
????????rtables-option?=?'EQ'.
????????rtables-low?=?tmpstr.
????????SET?LOCALE?LANGUAGE?'1'?.
????????TRANSLATE?rtables-low?TO?UPPER?CASE.
????????APPEND?rtables.
??????ELSE.
????????EXIT.
??????ENDIF.
????ENDDO.

????off?=?0.
????DO.
??????FIND?`?JOIN?`?IN?SECTION?OFFSET?off?OF
???????????line
???????????IGNORING?CASE
???????????MATCH?OFFSET?moff
???????????MATCH?LENGTH?mlen.
??????IF?sy-subrc?=?0.
????????off?=?moff?+?mlen.
????????FIND?`?`?IN?SECTION?OFFSET?off?OF
???????????line
???????????IGNORING?CASE
???????????MATCH?OFFSET?moff
???????????MATCH?LENGTH?mlen.
????????tmpstr?=?line.
????????diffoff?=?moff?-?off.
????????tmpstr?=?tmpstr+off(diffoff).
????????CONDENSE?tmpstr.
????????rtables-sign?=?'I'.
????????rtables-option?=?'EQ'.
????????rtables-low?=?tmpstr.
????????SET?LOCALE?LANGUAGE?'1'?.
????????TRANSLATE?rtables-low?TO?UPPER?CASE.
????????APPEND?rtables.
??????ELSE.
????????EXIT.
??????ENDIF.
????ENDDO.
??ENDIF.

??IF?rtables[]?IS?NOT?INITIAL?AND?p_tablex?IS?NOT?INITIAL.
????rtables-sign?=?'I'.
????rtables-option?=?'EQ'.
????rtables-low?=?p_table.
????SET?LOCALE?LANGUAGE?'1'?.
????TRANSLATE?rtables-low?TO?UPPER?CASE.
????APPEND?rtables.
??ENDIF.

??CLEAR:gt_vrm_values,gt_vrm_values[],gt_vrm_values_dt,gt_vrm_values_dt[],gt_dd03l,gt_dd03l[].
??PERFORM?frm_val?TABLES?gt_vrm_values?rtables?gt_vrm_values_dt?gt_dd03l?USING?'X'.

ENDFORM. "frm_find_table


*&---------------------------------------------------------------------*
*&??????Form??frm_find_sel
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* FORM frm_find_sel .
??DATA:?code?TYPE?TABLE?OF?string?WITH?HEADER?LINE.
??DATA:?off??TYPE?i,
????????moff?TYPE?i,
????????moff2?TYPE?i,
????????mlen?TYPE?i,
????????diffoff?TYPE?i.


??DATA:?BEGIN?OF?lt_sel?OCCURS?0,
????sel?TYPE?string,
??END?OF?lt_sel.
??lt_sel-sel?=?`?IN?S_ASIST1`.
??APPEND?lt_sel.
??lt_sel-sel?=?`?IN?S_ASIST2`.
??APPEND?lt_sel.
??lt_sel-sel?=?`?IN?S_ASIST3`.
??APPEND?lt_sel.
??lt_sel-sel?=?`?IN?S_ASIST4`.
??APPEND?lt_sel.
??lt_sel-sel?=?`?IN?S_ASIST5`.
??APPEND?lt_sel.

??CLEAR:sel_flds,sel_flds[].
??IF?p_prog?IS?NOT?INITIAL.
????READ?REPORT?p_prog?INTO?code.
????line?=?''.
????LOOP?AT?code.
??????REPLACE?ALL?OCCURRENCES?OF?cl_abap_char_utilities=>horizontal_tab?IN?code?WITH?`?`.
??????CONDENSE?code.
??????CLEAR?itab.
??????SPLIT?code?AT?`?`?INTO?TABLE?itab?.
??????LOOP?AT?itab?WHERE?table_line?IS?NOT?INITIAL.
????????IF?line?=?''.
??????????line?=?itab.
????????ELSE.
??????????CONCATENATE??line?`?`?itab?INTO?line?SEPARATED?BY?``.
????????ENDIF.
??????ENDLOOP.
????ENDLOOP.
????off?=?0.
????LOOP?AT?lt_sel.
??????DO.
????????FIND?lt_sel-sel?IN?SECTION?OFFSET?off?OF
?????????????line
?????????????IGNORING?CASE
?????????????MATCH?OFFSET?moff
?????????????MATCH?LENGTH?mlen.
????????IF?sy-subrc?=?0.
??????????moff2?=?moff?-?1.
??????????WHILE?line+moff2(1)?<>?`?`.
????????????moff2?=?moff2?-?1.
????????????IF?moff2?<?0.
??????????????EXIT.
????????????ENDIF.
??????????ENDWHILE.
??????????diffoff?=?moff?-?moff2.
??????????sel_flds-fld?=?line+moff2(diffoff).
??????????SHIFT?sel_flds-fld?UP?TO?`~`?LEFT.
??????????REPLACE?ALL?OCCURRENCES?OF?`~`?IN?sel_flds-fld?WITH?``.
??????????CONDENSE?sel_flds-fld.
??????????TRANSLATE?sel_flds-fld?TO?UPPER?CASE.
??????????CASE?lt_sel-sel.
????????????WHEN?`?IN?S_ASIST1`.
??????????????sel_flds-p_snam?=?'s_asist1'.
????????????WHEN?`?IN?S_ASIST2`.
??????????????sel_flds-p_snam?=?'s_asist2'.
????????????WHEN?`?IN?S_ASIST3`.
??????????????sel_flds-p_snam?=?'s_asist3'.
????????????WHEN?`?IN?S_ASIST4`.
??????????????sel_flds-p_snam?=?'s_asist4'.
????????????WHEN?`?IN?S_ASIST5`.
??????????????sel_flds-p_snam?=?'s_asist5'.
??????????ENDCASE.
??????????APPEND?sel_flds.
??????????off?=?moff?+?mlen.
????????ELSE.
??????????EXIT.
????????ENDIF.
??????ENDDO.
????ENDLOOP.
??ENDIF.

ENDFORM. "frm_find_table *&---------------------------------------------------------------------*
*&??????Module??user_command_1003??INPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* MODULE user_command_1003 INPUT.
??CASE?sy-ucomm.
????WHEN?'RW'.
??????LEAVE?TO?SCREEN?0.
??ENDCASE.
ENDMODULE. " user_command_1003 INPUT

*&---------------------------------------------------------------------*
*&??????Form??frm_write_file
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->P_SRC_TAB??text
*----------------------------------------------------------------------* FORM frm_write_file TABLES p_src_tab.

??DATA:str?TYPE?string.
??CONCATENATE??`/usr/sap/tmp/`?p_fil_px2?`.`?p_extens?INTO?gv_filename?SEPARATED?BY?``.
??CONCATENATE??`正在向SAP服務(wù)上Append文件:`?gv_filename?INTO?str.

??IF?g_count?=?2.
????DELETE?DATASET?gv_filename.
??ENDIF.

??CALL?FUNCTION?'SAPGUI_PROGRESS_INDICATOR'
????EXPORTING
??????percentage?=?20
??????text???????=?str.

??DATA?buffer?TYPE?xstring.
??PERFORM?frm_buffer?TABLES?p_src_tab?USING?buffer.
??OPEN?DATASET?gv_filename?FOR?APPENDING?IN?BINARY?MODE.

??TRANSFER?buffer?TO?gv_filename.

??CLOSE?DATASET?gv_filename.
ENDFORM. " frm_write_file *&---------------------------------------------------------------------*
*&??????Form??frm_ftp_append
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------* FORM frm_ftp_append .
??DATA:?localfile?TYPE?string.
??PERFORM?f_ftp_connect.
??PERFORM?frm_cd_dir.
??CONCATENATE??p_fil_px2?`.`?p_extens?INTO?gv_filename?SEPARATED?BY?``.
??CONCATENATE??`/usr/sap/tmp/`?p_fil_px2?`.`?p_extens?INTO?localfile?SEPARATED?BY?``.
??CLEAR:com,com[],res,res[].
??CONCATENATE?'append?'?localfile??gv_filename?INTO?com-cmd?SEPARATED?BY?'?'.

??CALL?FUNCTION?'FTP_COMMAND'
????EXPORTING
??????handle????????=?thandle
??????command???????=?com-cmd
????TABLES
??????data??????????=?res
????EXCEPTIONS
??????tcpip_error???=?1
??????command_error?=?2
??????data_error????=?3
??????OTHERS????????=?4.

??PERFORM?f_ftp_disconnect.

ENDFORM. " frm_ftp_append *&---------------------------------------------------------------------*
*&??????Form??frm_buffer
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->P_BUFFER??text
*----------------------------------------------------------------------* FORM frm_buffer TABLES p_src_tab USING p_buffer.
??DATA:strct_type_ref?TYPE?REF?TO?cl_abap_structdescr,
??????????tab_type_ref?TYPE?REF?TO?cl_abap_tabledescr,
??????????t_component?TYPE?cl_abap_structdescr=>component_table,
??????????wa_component?LIKE?LINE?OF?t_component.
??FIELD-SYMBOLS:?<fldvalue>.

??DATA:?l_str?TYPE?string,fldstr?TYPE?string,fldtype,firsttime?VALUE?'X'.

??DATA:?str?TYPE?string.
??DATA:?codepage?TYPE?cpcodepage,
?????encoding?TYPE?abap_encoding,
????convout?TYPE?REF?TO?cl_abap_conv_out_ce.
??DATA:time_stamp?TYPE?timestampl,timestamp_c(22).

??CALL?FUNCTION?'SCP_CODEPAGE_BY_EXTERNAL_NAME'
????EXPORTING
??????external_name?=?p_encodi
????IMPORTING
??????sap_codepage??=?codepage.
??encoding?=?codepage.

??CALL?METHOD?cl_abap_conv_out_ce=>create
????EXPORTING
??????encoding?=?encoding
????RECEIVING
??????conv?????=?convout.

??tab_type_ref??=?cl_abap_tabledescr=>describe_by_data(?p_src_tab[]?).
??strct_type_ref??=?tab_type_ref->get_table_line_type(?).
??t_component?=?strct_type_ref->get_components(?).

??str?=?p_split.
??REPLACE?ALL?OCCURRENCES?OF?`\t`?IN?str??WITH?c_tab.
??REPLACE?ALL?OCCURRENCES?OF?`\T`?IN?str??WITH?c_tab.
??REPLACE?ALL?OCCURRENCES?OF?`?`?IN?str??WITH?``.


??GET?TIME?STAMP?FIELD?time_stamp.
??timestamp_c?=?time_stamp.


??LOOP?AT?p_src_tab.
????firsttime?=?'X'.
????CLEAR:fldstr,l_str.
????LOOP?AT?t_component?INTO?wa_component.

??????IF?wa_component-name?=?'ZTIMESTAMPL'.
????????IF?firsttime?=?'X'.
??????????fldstr?=?time_stamp.
??????????CLEAR?firsttime.
????????ELSE.
??????????CONCATENATE?fldstr?timestamp_c?INTO?fldstr?SEPARATED?BY?str.
????????ENDIF.
????????CONTINUE.
??????ENDIF.

??????fldtype?=?wa_component-type->type_kind.
??????ASSIGN?COMPONENT?wa_component-name?OF?STRUCTURE?p_src_tab?TO?<fldvalue>.
??????l_str?=?<fldvalue>.
??????IF?fldtype?=?'P'?OR?fldtype?=?'F'
????????OR?fldtype?=?'I'?OR?fldtype?=?'b'
????????OR?fldtype?=?'s'.
????????CALL?FUNCTION?'CLOI_PUT_SIGN_IN_FRONT'
??????????CHANGING
????????????value?=?l_str.
??????ENDIF.
??????REPLACE?ALL?OCCURRENCES?OF?str?IN?l_str??WITH?`?`.
??????IF?firsttime?=?'X'.
????????fldstr?=?l_str?.
????????CLEAR?firsttime.
??????ELSE.
????????CONCATENATE?fldstr?l_str?INTO?fldstr?SEPARATED?BY?str.
??????ENDIF.
????ENDLOOP.

????CONDENSE?fldstr.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?fldstr.
????CALL?METHOD?convout->write
??????EXPORTING
????????data?=?cl_abap_char_utilities=>cr_lf.
??ENDLOOP.
??CALL?METHOD?convout->get_buffer
????RECEIVING
??????buffer?=?p_buffer.
ENDFORM. " frm_buffer

*&---------------------------------------------------------------------*
*&??????Form??frm_write_file2
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??????-->STR1???????text
*??????-->STR2???????text
*----------------------------------------------------------------------* FORM frm_write_file2 USING str1 lins tabix .
??DATA:str?TYPE?string.
??GET?RUN?TIME?FIELD?tm2.
??tm?=?(?tm2?-?tm1?)?/?1000?/?1000.
??tm1?=?tm2.
??str?=?lins.
??CONCATENATE??`/usr/sap/tmp/`?p_fil_px2?`.log`?INTO?gv_filename?SEPARATED?BY?``.
??IF?tabix?=?1?AND?g_count?=?1.
????DELETE?DATASET?gv_filename.
??ENDIF.
??OPEN?DATASET?gv_filename?FOR?APPENDING?IN?TEXT?MODE?ENCODING??DEFAULT.
??CONCATENATE?`【`?str?`條】`?str1?`?:?【`?tm?`秒】`INTO?str.
??TRANSFER?str?TO?gv_filename.
??CLOSE?DATASET?gv_filename.
ENDFORM. "frm_write_file2


*&---------------------------------------------------------------------*
*&??????Form??frm_write_file3
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------* FORM frm_write_file3.
??DATA:str?TYPE?string.
??CONCATENATE??`/usr/sap/tmp/`?p_fil_px2?`.log`?INTO?gv_filename?SEPARATED?BY?``.

??OPEN?DATASET?gv_filename?FOR?APPENDING?IN?TEXT?MODE?ENCODING??DEFAULT.
??TRANSFER?g_count?TO?gv_filename.
??TRANSFER?`?`?TO?gv_filename.
??CLOSE?DATASET?gv_filename.
ENDFORM. "frm_write_file3
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

Code listing for: YR3TABLE2FTP_SELSCR

Description: Include YR3TABLE2FTP_SELSCR

*&---------------------------------------------------------------------*
*&??包括??????????????YR3TABLE2FTP_SELSCR
*&---------------------------------------------------------------------* DATA: d TYPE sy-datum,c(35),c35(35).

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-008?FOR?FIELD?p_table,
?POSITION?POS_LOW.
PARAMETERS:p_table(16) OBLIGATORY.
SELECTION-SCREEN COMMENT 50(20) text-009.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN: BEGIN OF BLOCK b11 WITH FRAME TITLE text-021.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(10)?text-003?FOR?FIELD?p_name1,
?POSITION?POS_LOW.
PARAMETERS: p_name1(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val1 FOR d .

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-004?FOR?FIELD?p_name2,
?POSITION?POS_LOW.
PARAMETERS: p_name2(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val2 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-005?FOR?FIELD?p_name3,
?POSITION?POS_LOW.
PARAMETERS: p_name3(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val3 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-006?FOR?FIELD?p_name4,
?POSITION?POS_LOW.
PARAMETERS: p_name4(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val4 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-007?FOR?FIELD?p_name5,
?POSITION?POS_LOW.
PARAMETERS: p_name5(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val5 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-010?FOR?FIELD?p_name6,
?POSITION?POS_LOW.
PARAMETERS: p_name6(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val6 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-011?FOR?FIELD?p_name7,
?POSITION?POS_LOW.
PARAMETERS: p_name7(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val7 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-012?FOR?FIELD?p_name8,
?POSITION?POS_LOW.
PARAMETERS: p_name8(20) AS LISTBOX VISIBLE LENGTH 30.
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_val8 FOR c VISIBLE LENGTH 30.
SELECTION-SCREEN END OF LINE.

PARAMETERS:p_counts(10) TYPE n DEFAULT '100000' OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?63(75)?text-016.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?63(75)?text-031.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(40) but1 USER-COMMAND cli1
???????????????????????????VISIBLE?LENGTH?15.
SELECTION-SCREEN PUSHBUTTON 20(40) but2 USER-COMMAND cli2
???????????????????????????VISIBLE?LENGTH?15.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b11.


SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(18) text-112 FOR FIELD p_name8,
POSITION POS_LOW.
PARAMETERS: p_prog(20) .
SELECTION-SCREEN COMMENT 54(16) text-900.
SELECTION-SCREEN PUSHBUTTON 70(20) but3 USER-COMMAND cli3
???????????????????????????VISIBLE?LENGTH?20.
SELECTION-SCREEN END OF LINE.


SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE text-030.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-003?FOR?FIELD?p_snam1,
?POSITION?POS_LOW.
PARAMETERS: p_snam1(30) .
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_asist1 FOR c35 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-004?FOR?FIELD?p_snam2,
?POSITION?POS_LOW.
PARAMETERS: p_snam2(30) .
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_asist2 FOR c35 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-005?FOR?FIELD?p_snam3,
?POSITION?POS_LOW.
PARAMETERS: p_snam3(30) .
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_asist3 FOR c35 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-006?FOR?FIELD?p_snam4,
?POSITION?POS_LOW.
PARAMETERS: p_snam4(30) .
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_asist4 FOR c35 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-007?FOR?FIELD?p_snam5,
?POSITION?POS_LOW.
PARAMETERS: p_snam5(30) .
SELECTION-SCREEN POSITION 61.
SELECT-OPTIONS:s_asist5 FOR c35 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b3.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS:
????????????p_host(60)??LOWER?CASE?OBLIGATORY?VISIBLE?LENGTH?15
????????????????????????DEFAULT?'10.27.15.33'?,
????????????p_user(15)?TYPE?c??LOWER?CASE?OBLIGATORY
??????????????????????????DEFAULT?'ftp_r3_w',
????????????p_pwd(15)?TYPE?c?LOWER?CASE?OBLIGATORY
??????????????????????????DEFAULT?'ftp_r3_w@123',
????????????ftp_path(100)??LOWER?CASE?DEFAULT?'/'?VISIBLE?LENGTH?30?OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-071?FOR?FIELD?p_dir_dt,
?POSITION?POS_LOW.
PARAMETERS: p_dir_dt TYPE sy-datum DEFAULT sy-datum.
SELECTION-SCREEN: COMMENT 45(64) text-018.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-017?FOR?FIELD??p_fil_px,
?POSITION?POS_LOW.
PARAMETERS: p_fil_px(20) LOWER CASE. *SELECTION-SCREEN:?COMMENT?54(9)?text-231. PARAMETERS p_ymd(14) AS LISTBOX VISIBLE LENGTH 9 DEFAULT 'YYYYMMDD'.
PARAMETERS p_fileno(7) AS LISTBOX VISIBLE LENGTH 9 DEFAULT '_NNNNNNN'.
SELECTION-SCREEN: COMMENT 74(1) text-033.
SELECTION-SCREEN:POSITION 75.
PARAMETERS: p_extens(6) LOWER CASE DEFAULT 'DAT' VISIBLE LENGTH 3.
SELECTION-SCREEN: COMMENT 79(75) text-028.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-771?FOR?FIELD?p_ymd2,
?POSITION?POS_LOW.
PARAMETERS: p_ymd2 TYPE sy-datum DEFAULT sy-datum.
SELECTION-SCREEN: COMMENT 45(64) text-118.
SELECTION-SCREEN END OF LINE.

PARAMETERS:p_encodi(10) AS LISTBOX VISIBLE LENGTH 10 DEFAULT 'UTF-8' OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-013?FOR?FIELD?p_split,
?POSITION?POS_LOW.
PARAMETERS p_split(3) OBLIGATORY DEFAULT '|'.
SELECTION-SCREEN COMMENT 37(79) text-014 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(14)?text-133?FOR?FIELD?p_flgex,
?POSITION?POS_LOW.
PARAMETERS p_flgex(6) LOWER CASE OBLIGATORY VISIBLE LENGTH 3 DEFAULT 'FLG'.
SELECTION-SCREEN COMMENT 37(79) text-140 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(12)?text-123?,
?POSITION?POS_LOW.
PARAMETERS: p_header AS CHECKBOX DEFAULT ''.
SELECTION-SCREEN:COMMENT 37(73) text-126 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(18)?text-213?,
?POSITION?POS_LOW.
PARAMETERS: p_hdtlg AS CHECKBOX DEFAULT ''.
SELECTION-SCREEN:COMMENT 37(73) text-128 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(32)?text-121?,
?POSITION?POS_LOW.
PARAMETERS: pflgfile AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(32)?text-122?,
?POSITION?POS_LOW.
PARAMETERS: timestmp AS CHECKBOX DEFAULT ''.
SELECTION-SCREEN:COMMENT 37(73) text-129 .
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN:
?COMMENT?1(18)?text-127?,
?POSITION?POS_LOW.
PARAMETERS: psqllog AS CHECKBOX DEFAULT ''.
SELECTION-SCREEN END OF LINE.

PARAMETERS: p_varusr TYPE usr02-bname DEFAULT sy-uname NO-DISPLAY.
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

Code listing for: YR3TABLE2FTP_TOP

Description: Include YR3TABLE2FTP_TOP

*&---------------------------------------------------------------------*
*&??包括??????????????YR3TABLE2FTP_TOP
*&---------------------------------------------------------------------* TYPE-POOLS:vrm.
TABLES: dd02l,progdir.

DATA:g_count(6) TYPE n,
?????g_count_c(7).

DATA: key TYPE i VALUE 26101957,
??????trfcdest?LIKE?rfcdes-rfcdest,
??????thandle?TYPE?i,
??????slen?TYPE?i.

DATA: gv_filename(50).

DATA: BEGIN OF com OCCURS 0,
????????cmd(100)?TYPE?c,
??????END?OF?com.
DATA: BEGIN OF res OCCURS 0,
????????line(100)?TYPE?c,
??????END?OF?res.


DATA: flg_ftp.
DATA: g_last_tbname(16).

DATA: BEGIN OF gt_name OCCURS 0,
??????name?TYPE?string,
??????END?OF?gt_name.
DATA:gt_YTEST300 TYPE TABLE OF YTEST300 WITH HEADER LINE. *DATA:gt_zfit699?TYPE?TABLE?OF?zfit699?WITH?HEADER?LINE. DATA: editor_container TYPE REF TO cl_gui_custom_container,
?editor?TYPE?REF?TO?cl_gui_textedit.
DATA: editor_container2 TYPE REF TO cl_gui_custom_container,
editor2 TYPE REF TO cl_gui_textedit.
DATA: editor_container3 TYPE REF TO cl_gui_custom_container,
editor3 TYPE REF TO cl_gui_textedit.
CONSTANTS: c_line_length TYPE i VALUE 255.
TYPES: BEGIN OF st_text,
??line?TYPE?c?LENGTH?c_line_length,
END OF st_text.
TYPES: tt_text TYPE STANDARD TABLE OF st_text.
DATA texttable TYPE tt_text WITH HEADER LINE.
DATA line TYPE string.
DATA: itab TYPE TABLE OF string WITH HEADER LINE,
??????itab2?TYPE?TABLE?OF?string?WITH?HEADER?LINE,
??????c1(50),repeat?TYPE?i,
??????g_tabix?TYPE?sy-tabix.
CONSTANTS: c_crlf(2) TYPE c VALUE cl_abap_char_utilities=>cr_lf.
CONSTANTS: c_tab(1) TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
DATA:gt_vrm_values TYPE vrm_values WITH HEADER LINE,gt_vrm_values_dt TYPE vrm_values.
DATA:gt_dd03l TYPE TABLE OF dd03l WITH HEADER LINE.

DATA:struct_type TYPE REF TO cl_abap_structdescr,
????elem_type?TYPE?REF?TO?cl_abap_elemdescr,
????table_type?TYPE?REF?TO?cl_abap_tabledescr,
????comp_tab?TYPE?cl_abap_structdescr=>component_table?WITH?HEADER?LINE,
????comp_tab2?TYPE?cl_abap_structdescr=>component_table?WITH?HEADER?LINE.
DATA: flg2.
DATA: rtables TYPE TABLE OF range_c35 WITH HEADER LINE.

DATA: BEGIN OF sel_flds OCCURS 0,
??fld?TYPE?string,
??p_snam?TYPE?string,
END OF sel_flds.
DATA: p_fil_px2 TYPE string.

DATA: tm1 TYPE i,tm2 TYPE i,tm TYPE string.
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

Table: YTEST300

Description: 輸出字段配置

RowField namePositionKeyData elementDomainDatatypeLengthLowercaseDomain text
1MANDT1XMANDTMANDTCLNT3?客戶端
2USERNAME2XXUBNAMEXUBNAMECHAR12?用戶主記錄中的用戶名稱
3TABNAME3X??CHAR20?表名
4FLDNAME4X??CHAR20?字段名
5SEQUENCE5X??INT25?位置
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

?

Code listing for: YTEMPLET

Description: 輸出擴(kuò)展模板程序

REPORT YTEMPLET. *&---------------------------------------------------------------------*
*&??????Form??frm_dyn
*&---------------------------------------------------------------------*
*???????YR3TABLE2FTP(R3表拋FTP通用程序)輸出邏輯擴(kuò)展程序
*----------------------------------------------------------------------*
*??????-->OUTPUT_TAB???原主表輸出內(nèi)表
*??????-->COMP_TAB?????原主表輸出內(nèi)表結(jié)構(gòu)
*??????-->S_ASIST1?????關(guān)聯(lián)表?xiàng)l件1
*??????-->S_ASIST2?????關(guān)聯(lián)表?xiàng)l件2
*??????-->S_ASIST3?????關(guān)聯(lián)表?xiàng)l件3
*??????-->S_ASIST4?????關(guān)聯(lián)表?xiàng)l件4
*??????-->S_ASIST5?????關(guān)聯(lián)表?xiàng)l件5
*??????-->DY_TAB_NEW_REF??新輸出內(nèi)表內(nèi)存地址
*----------------------------------------------------------------------* FORM frm_dyn TABLES output_tab
comp_tab TYPE cl_abap_structdescr=>component_table
s_asist1 STRUCTURE range_c35
s_asist2 STRUCTURE range_c35
s_asist3 STRUCTURE range_c35
s_asist4 STRUCTURE range_c35
s_asist5 STRUCTURE range_c35
USING dy_tab_new_ref TYPE REF TO data.
??"-------------------------------------------勿動(dòng)--BEGIN----------------------------------------->>
??FIELD-SYMBOLS:?<dyn_table>?TYPE?STANDARD?TABLE,<dyn_wa>.
??FIELD-SYMBOLS:?<dyn_table2>?TYPE?STANDARD?TABLE,<dyn_wa2>.
??FIELD-SYMBOLS:?<fldvalue>.
??DATA:?dy_table?TYPE?REF?TO?data,?dy_line?TYPE?REF?TO?data.
??DATA:?dy_table2?TYPE?REF?TO?data,?dy_line2?TYPE?REF?TO?data.
??DATA:?elem_type?TYPE?REF?TO?cl_abap_elemdescr,
????????struct_type_new?TYPE?REF?TO?cl_abap_structdescr,
????????struct_type_new2?TYPE?REF?TO?cl_abap_structdescr,
????????table_type_new?TYPE?REF?TO?cl_abap_tabledescr,
????????table_type_new2?TYPE?REF?TO?cl_abap_tabledescr,
????????comp_tab_new?TYPE?cl_abap_structdescr=>component_table?WITH?HEADER?LINE."最終輸出結(jié)構(gòu)
??"-------------------------------------------勿動(dòng)--E-N-D-----------------------------------------<<

??"在這里自定義變量
??DATA:struct_type_YTEST200?TYPE?REF?TO?cl_abap_structdescr,
???????comp_tab_YTEST200?TYPE?cl_abap_structdescr=>component_table?WITH?HEADER?LINE.

??DATA:?BEGIN?OF?it_gwnr?OCCURS?0,
????????gwnr?TYPE?YTEST100-gwnr,
??END?OF?it_gwnr.
??DATA:?it_YTEST200?TYPE?TABLE?OF?YTEST200?WITH?HEADER?LINE.
??FIELD-SYMBOLS:<it_YTEST200>?TYPE?YTEST200.

??"在這里修改輸出結(jié)構(gòu)
??LOOP?AT?comp_tab?WHERE?name?=?'GWNR'.
????APPEND?comp_tab?TO?comp_tab_new.
??ENDLOOP.
??struct_type_YTEST200??=?cl_abap_typedescr=>describe_by_name(?'YTEST200'?).
??comp_tab_YTEST200[]?=?struct_type_YTEST200->get_components(?).
??"遞歸將深層組件結(jié)構(gòu)展平
??PERFORM?frm_comp_tab?IN?PROGRAM?YR3TABLE2FTP?TABLES?comp_tab_YTEST200. *??"刪除不需要的輸出字段
*??DELETE?comp_tab_YTEST200?WHERE?name?<>?'OMS_ORDER_ITEM_I'?AND
*????????????????????????????????name?<>?'OMS_OLD_NO'?AND
*????????????????????????????????name?<>?'CMMDTY_CODE'?AND
*????????????????????????????????name?<>?'POSORDERID'?AND
*????????????????????????????????name?<>?'SUPPLIER_CODE'?AND
*????????????????????????????????name?<>?'ORDER_DATE'?AND
*????????????????????????????????name?<>?'COST_PRICE'?AND
*????????????????????????????????name?<>?'ORDER_SALE_TOTAL'?AND
*????????????????????????????????name?<>?'QUANTITY'?AND
*????????????????????????????????name?<>?'BILL_TYPE'?AND
*????????????????????????????????name?<>?'SALE_COMPANY'.
*??APPEND?LINES?OF?comp_tab_YTEST200?TO?comp_tab_new. READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'OMS_ORDER_ITEM_I'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'OMS_OLD_NO'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'CMMDTY_CODE'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new. *??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'POSORDERID'.
*??APPEND?comp_tab_YTEST200?TO?comp_tab_new. CLEAR:?comp_tab_new.
??comp_tab_new-name?=?'POSORDERID'.
??elem_type?=?cl_abap_elemdescr=>get_c(?14?).
??comp_tab_new-type?=?elem_type.
??APPEND?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'SALE_OFFICE'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'SUPPLIER_CODE'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new. *??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'ORDER_DATE'.
*??APPEND?comp_tab_YTEST200?TO?comp_tab_new. CLEAR:?comp_tab_new.
??comp_tab_new-name?=?'ORDER_DATE'.
??elem_type?=?cl_abap_elemdescr=>get_c(?10?).
??comp_tab_new-type?=?elem_type.
??APPEND?comp_tab_new.

??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'COST_PRICE'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'ORDER_SALE_TOTAL'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'QUANTITY'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'BILL_TYPE'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.
??READ?TABLE?comp_tab_YTEST200?WITH?KEY?name?=?'SALE_COMPANY'.
??APPEND?comp_tab_YTEST200?TO?comp_tab_new.

??"除了上面通過(guò)?cl_abap_typedescr=>describe_by_name(table)從表直接獲取外,如表中沒(méi)有的可手動(dòng)增加列,比如這里在輸出結(jié)構(gòu)最后加上一列fldname *??comp_tab_new-name?=?'fldname'."設(shè)置列名為fldname
*??elem_type?=?cl_abap_elemdescr=>get_c(?2?).?"類型為c(2),不同的類型需調(diào)用不同的方法獲取,具體參照下面描述
*??comp_tab_new-type?=?elem_type.
*??APPEND?comp_tab_new. "**************************************************
??"不同的ABAP類型需要調(diào)用不同的方法來(lái)獲得:
??"ABAP類型?N:elem_type?=?cl_abap_elemdescr=>get_n(?內(nèi)部長(zhǎng)度?).
??"ABAP類型?D:elem_type?=?cl_abap_elemdescr=>get_d(?).
??"ABAP類型?P:CALL?METHOD?cl_abap_elemdescr=>get_p
??" EXPORTING
??" p_length???=?內(nèi)部長(zhǎng)度
??" p_decimals?=?小數(shù)位
??" RECEIVING
??" p_result???=?elem_type.
??"ABAP類型?T:elem_type?=?cl_abap_elemdescr=>get_t(?).
??"ABAP類型?C:elem_type?=?cl_abap_elemdescr=>get_c(?內(nèi)部長(zhǎng)度?)."
??"ABAP類型?X:elem_type?=?cl_abap_elemdescr=>get_x(?內(nèi)部長(zhǎng)度?).
??"ABAP類型?F:elem_type?=?cl_abap_elemdescr=>get_f(?).
??"ABAP類型?I、b、s:elem_type?=?cl_abap_elemdescr=>get_i(?).
??"ABAP類型?g:elem_type?=?cl_abap_elemdescr=>get_string(?).
??"ABAP類型?y:elem_type?=?cl_abap_elemdescr=>get_xstring(?).
??"**************************************************

??"-------------------------------------------勿動(dòng)--BEGIN----------------------------------------->>
??struct_type_new?=?cl_abap_structdescr=>create(?comp_tab_new[]?).
??table_type_new?=?cl_abap_tabledescr=>create(?struct_type_new?).
??CREATE?DATA?dy_table?TYPE?HANDLE?table_type_new.
??ASSIGN?dy_table->*?TO?<dyn_table>.
??CREATE?DATA?dy_line?LIKE?LINE?OF?<dyn_table>.
??ASSIGN?dy_line->*?TO?<dyn_wa>.
??"-------------------------------------------勿動(dòng)--E-N-D-----------------------------------------<<

??"在這里進(jìn)行數(shù)據(jù)處理與輸出數(shù)據(jù)重組
??LOOP?AT?output_tab.
????ASSIGN?COMPONENT?'GWNR'?OF?STRUCTURE?output_tab?TO?<fldvalue>.
????it_gwnr-gwnr?=?<fldvalue>.
????COLLECT?it_gwnr.
??ENDLOOP.
??IF?it_gwnr[]?IS?NOT?INITIAL.
????SELECT?*?INTO?CORRESPONDING?FIELDS?OF?TABLE?it_YTEST200
???????????????FROM
?????????????????????YTEST200?AS?a
???????????????FOR?ALL?ENTRIES?IN
???????????????it_gwnr
???????????????WHERE?gwnr?=?it_gwnr-gwnr
???????????????AND?a~rec_date?IN?s_asist3.
??ENDIF.

??DELETE?TABLE?comp_tab_new?WITH?TABLE?KEY?name?=?'SALE_OFFICE'.
??struct_type_new2?=?cl_abap_structdescr=>create(?comp_tab_new[]?).
??table_type_new2?=?cl_abap_tabledescr=>create(?struct_type_new2?).
??CREATE?DATA?dy_table2?TYPE?HANDLE?table_type_new2.
??ASSIGN?dy_table2->*?TO?<dyn_table2>.
??CREATE?DATA?dy_line2?LIKE?LINE?OF?<dyn_table2>.
??ASSIGN?dy_line2->*?TO?<dyn_wa2>.
??DATA:?posorderid?TYPE?string,sale_office?TYPE?string.

??LOOP?AT?it_YTEST200?ASSIGNING?<it_YTEST200>.
????<it_YTEST200>-cost_price?=?<it_YTEST200>-cost_price?*?<it_YTEST200>-quantity.
????IF?<it_YTEST200>-bill_type?=?'-1'.
??????<it_YTEST200>-bill_type?=?2.
????ENDIF.
????<it_YTEST200>-cost_price?=?ABS(?<it_YTEST200>-cost_price?).
????<it_YTEST200>-quantity?=?ABS(?<it_YTEST200>-quantity?).
????posorderid?=?<it_YTEST200>-posorderid.
????sale_office?=??<it_YTEST200>-sale_office.
????CONDENSE:?posorderid,sale_office.

????CONCATENATE?posorderid?sale_office?INTO?posorderid?SEPARATED?BY?``.
????CONCATENATE?<it_YTEST200>-order_date+0(4)?`-`?<it_YTEST200>-order_date+4(2)?`-`?<it_YTEST200>-order_date+6(2)?INTO?sale_office?SEPARATED?BY?``.
????MOVE-CORRESPONDING?<it_YTEST200>?TO?<dyn_wa2>.
????ASSIGN?COMPONENT?'POSORDERID'?OF?STRUCTURE?<dyn_wa2>?TO?<fldvalue>.
????<fldvalue>?=?posorderid.
????ASSIGN?COMPONENT?'ORDER_DATE'?OF?STRUCTURE?<dyn_wa2>?TO?<fldvalue>.
????<fldvalue>?=?sale_office.
????APPEND?<dyn_wa2>?TO?<dyn_table2>.
??ENDLOOP.

??"-------------------------------------------勿動(dòng)--BEGIN----------------------------------------->> *??GET?REFERENCE?OF?<dyn_table>?INTO?dy_tab_new_ref. GET?REFERENCE?OF?<dyn_table2>?INTO?dy_tab_new_ref.
??"-------------------------------------------勿動(dòng)--E-N-D-----------------------------------------<<
ENDFORM. "frm_dyn
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2017. Sap Release 640

總結(jié)

以上是生活随笔為你收集整理的ABAP表抛FTP通用程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

精品人妻人人做人人爽夜夜爽 | 性生交大片免费看女人按摩摩 | 精品aⅴ一区二区三区 | 男女性色大片免费网站 | 激情综合激情五月俺也去 | 天天摸天天透天天添 | 人人澡人人妻人人爽人人蜜桃 | 亚洲热妇无码av在线播放 | 四虎国产精品一区二区 | 精品国产一区av天美传媒 | 精品 日韩 国产 欧美 视频 | 亚洲精品综合一区二区三区在线 | 国产无遮挡又黄又爽免费视频 | 国内少妇偷人精品视频免费 | 日韩精品无码免费一区二区三区 | 全黄性性激高免费视频 | 中文字幕无码日韩专区 | 日本大香伊一区二区三区 | 无码中文字幕色专区 | 亚洲 高清 成人 动漫 | 东京热男人av天堂 | 国产一区二区三区影院 | 一本色道久久综合狠狠躁 | 国产真实夫妇视频 | 男人和女人高潮免费网站 | 成在人线av无码免观看麻豆 | 日本高清一区免费中文视频 | 日韩av无码一区二区三区不卡 | 永久黄网站色视频免费直播 | 亚洲综合精品香蕉久久网 | 日韩欧美群交p片內射中文 | 一本精品99久久精品77 | 中文字幕乱码人妻二区三区 | 欧美日韩色另类综合 | 国产舌乚八伦偷品w中 | 沈阳熟女露脸对白视频 | av无码不卡在线观看免费 | 小sao货水好多真紧h无码视频 | 亚洲国产精品无码一区二区三区 | 久久www免费人成人片 | 国产人妻精品一区二区三区 | 牲欲强的熟妇农村老妇女视频 | 少妇的肉体aa片免费 | 成人性做爰aaa片免费看 | 欧美成人高清在线播放 | 精品久久综合1区2区3区激情 | 麻花豆传媒剧国产免费mv在线 | 日韩人妻无码一区二区三区久久99 | 初尝人妻少妇中文字幕 | 欧美阿v高清资源不卡在线播放 | 99久久无码一区人妻 | 色噜噜亚洲男人的天堂 | 男女爱爱好爽视频免费看 | 亚洲色大成网站www | 美女黄网站人色视频免费国产 | 日韩成人一区二区三区在线观看 | 波多野结衣高清一区二区三区 | 国产成人无码午夜视频在线观看 | 美女黄网站人色视频免费国产 | 亚洲欧美日韩综合久久久 | 久久午夜夜伦鲁鲁片无码免费 | 成人亚洲精品久久久久 | 国产97人人超碰caoprom | 中文字幕+乱码+中文字幕一区 | 最新国产乱人伦偷精品免费网站 | 性做久久久久久久免费看 | 超碰97人人做人人爱少妇 | 天堂亚洲免费视频 | 97久久精品无码一区二区 | 欧美日本日韩 | 狠狠噜狠狠狠狠丁香五月 | 强开小婷嫩苞又嫩又紧视频 | 国产一区二区三区日韩精品 | 狂野欧美性猛xxxx乱大交 | 国产97人人超碰caoprom | 成年美女黄网站色大免费全看 | 国产国产精品人在线视 | 日本肉体xxxx裸交 | 国产精品自产拍在线观看 | 久久99精品国产.久久久久 | 帮老师解开蕾丝奶罩吸乳网站 | 免费观看的无遮挡av | a在线观看免费网站大全 | 无码国模国产在线观看 | 男女超爽视频免费播放 | 成人av无码一区二区三区 | 国产两女互慰高潮视频在线观看 | 婷婷六月久久综合丁香 | 图片小说视频一区二区 | 国产特级毛片aaaaaa高潮流水 | 国产人妻精品一区二区三区不卡 | 国产成人无码午夜视频在线观看 | 亚洲 另类 在线 欧美 制服 | 国产做国产爱免费视频 | 99精品视频在线观看免费 | 久久无码专区国产精品s | 国产精品久久久久久无码 | 亚洲成av人片天堂网无码】 | 久久精品99久久香蕉国产色戒 | 亚洲色欲色欲天天天www | 人妻少妇精品无码专区二区 | 久久精品中文字幕一区 | 日日干夜夜干 | 亚洲熟妇色xxxxx亚洲 | 国产精品欧美成人 | 亚洲欧美中文字幕5发布 | 女人被男人躁得好爽免费视频 | 少妇性俱乐部纵欲狂欢电影 | 人妻熟女一区 | 午夜熟女插插xx免费视频 | 国产精品国产自线拍免费软件 | 思思久久99热只有频精品66 | 亚洲七七久久桃花影院 | 亚洲精品一区二区三区在线观看 | 亚洲日本在线电影 | 丰满护士巨好爽好大乳 | 国产综合在线观看 | 色噜噜亚洲男人的天堂 | 丰满人妻被黑人猛烈进入 | 欧美 日韩 亚洲 在线 | 午夜肉伦伦影院 | 日韩人妻无码中文字幕视频 | 色婷婷久久一区二区三区麻豆 | 漂亮人妻洗澡被公强 日日躁 | 给我免费的视频在线观看 | 秋霞成人午夜鲁丝一区二区三区 | 精品无码一区二区三区爱欲 | 精品久久久中文字幕人妻 | 成熟妇人a片免费看网站 | 一本久久a久久精品亚洲 | 国产精品.xx视频.xxtv | 午夜成人1000部免费视频 | 久久久久国色av免费观看性色 | 国产午夜亚洲精品不卡下载 | 无码人中文字幕 | 高中生自慰www网站 | 亚洲の无码国产の无码影院 | 精品久久久无码人妻字幂 | 国产日产欧产精品精品app | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亲嘴扒胸摸屁股激烈网站 | 亚洲va中文字幕无码久久不卡 | 精品久久久久久人妻无码中文字幕 | 人妻无码久久精品人妻 | 丝袜人妻一区二区三区 | 熟妇人妻无乱码中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | √天堂资源地址中文在线 | 亚洲一区二区三区在线观看网站 | 99久久精品国产一区二区蜜芽 | 国产国产精品人在线视 | 国产精品成人av在线观看 | 婷婷丁香五月天综合东京热 | 亚洲色欲久久久综合网东京热 | 日日碰狠狠丁香久燥 | 99久久精品午夜一区二区 | 日韩精品成人一区二区三区 | 图片区 小说区 区 亚洲五月 | 欧美性猛交xxxx富婆 | 国产精品久久久久久亚洲毛片 | 成人欧美一区二区三区黑人 | 麻花豆传媒剧国产免费mv在线 | 国产97色在线 | 免 | 丰满人妻被黑人猛烈进入 | 亚洲精品成a人在线观看 | 精品国偷自产在线视频 | 无码av免费一区二区三区试看 | 内射欧美老妇wbb | 无码av最新清无码专区吞精 | 性色欲网站人妻丰满中文久久不卡 | 老熟女乱子伦 | 亚洲 激情 小说 另类 欧美 | 欧美精品免费观看二区 | 日本欧美一区二区三区乱码 | 强伦人妻一区二区三区视频18 | 久久久久久亚洲精品a片成人 | 在线精品亚洲一区二区 | 女人高潮内射99精品 | 久久亚洲精品成人无码 | 亚洲色www成人永久网址 | 1000部啪啪未满十八勿入下载 | 久久午夜无码鲁丝片午夜精品 | 久久久久久av无码免费看大片 | 色欲久久久天天天综合网精品 | 国内精品人妻无码久久久影院蜜桃 | 国产成人人人97超碰超爽8 | 精品国精品国产自在久国产87 | 国产 浪潮av性色四虎 | 精品人人妻人人澡人人爽人人 | 色婷婷久久一区二区三区麻豆 | 狠狠色欧美亚洲狠狠色www | 少妇一晚三次一区二区三区 | 国产精品无码一区二区桃花视频 | 国产后入清纯学生妹 | 免费无码肉片在线观看 | 亚洲娇小与黑人巨大交 | 中文字幕av伊人av无码av | av香港经典三级级 在线 | 伊人久久大香线蕉午夜 | 无码免费一区二区三区 | 国产色视频一区二区三区 | 欧美真人作爱免费视频 | 国产精品丝袜黑色高跟鞋 | 亚洲中文字幕av在天堂 | 宝宝好涨水快流出来免费视频 | 久久综合九色综合欧美狠狠 | 76少妇精品导航 | 欧美人与禽zoz0性伦交 | 西西人体www44rt大胆高清 | 精品国产精品久久一区免费式 | 性生交大片免费看女人按摩摩 | 日本饥渴人妻欲求不满 | 又大又硬又黄的免费视频 | 久久久国产一区二区三区 | 欧美阿v高清资源不卡在线播放 | 窝窝午夜理论片影院 | 国产国语老龄妇女a片 | 午夜无码人妻av大片色欲 | 亚洲 另类 在线 欧美 制服 | 377p欧洲日本亚洲大胆 | 狠狠噜狠狠狠狠丁香五月 | 色情久久久av熟女人妻网站 | 欧美精品无码一区二区三区 | 亚洲熟女一区二区三区 | 亚洲国产精品美女久久久久 | 对白脏话肉麻粗话av | 无码中文字幕色专区 | 亚洲精品国偷拍自产在线观看蜜桃 | 中文字幕中文有码在线 | 久久综合色之久久综合 | 国产av剧情md精品麻豆 | 日本欧美一区二区三区乱码 | 久久久久国色av免费观看性色 | 欧美猛少妇色xxxxx | 国产特级毛片aaaaaa高潮流水 | 国产精品内射视频免费 | 国产精品无码mv在线观看 | 东京热无码av男人的天堂 | 久久久久久a亚洲欧洲av冫 | 高潮喷水的毛片 | 成人免费视频视频在线观看 免费 | 无码人妻精品一区二区三区下载 | 亚洲第一网站男人都懂 | 露脸叫床粗话东北少妇 | 亚洲 a v无 码免 费 成 人 a v | 2019午夜福利不卡片在线 | 日日麻批免费40分钟无码 | 成人精品视频一区二区三区尤物 | av无码不卡在线观看免费 | 精品水蜜桃久久久久久久 | 国产又爽又猛又粗的视频a片 | 无遮挡国产高潮视频免费观看 | 亚洲精品国产精品乱码视色 | 国产精品久久久午夜夜伦鲁鲁 | 少妇性l交大片 | 欧美精品免费观看二区 | 美女毛片一区二区三区四区 | 精品国产成人一区二区三区 | 国产精品无码一区二区桃花视频 | 小鲜肉自慰网站xnxx | 欧美性猛交xxxx富婆 | 波多野结衣aⅴ在线 | 亚洲自偷自拍另类第1页 | 亚洲色在线无码国产精品不卡 | 俺去俺来也在线www色官网 | 亚洲精品午夜国产va久久成人 | 扒开双腿吃奶呻吟做受视频 | 乱人伦人妻中文字幕无码久久网 | 国产精品无码一区二区桃花视频 | 玩弄少妇高潮ⅹxxxyw | 老太婆性杂交欧美肥老太 | 精品少妇爆乳无码av无码专区 | 亚洲中文字幕在线无码一区二区 | 国产麻豆精品一区二区三区v视界 | 色综合久久久无码网中文 | 日韩精品久久久肉伦网站 | 老子影院午夜伦不卡 | 日本一本二本三区免费 | 鲁鲁鲁爽爽爽在线视频观看 | 欧美老妇与禽交 | 成人毛片一区二区 | 久久精品国产一区二区三区肥胖 | 欧美熟妇另类久久久久久不卡 | 久久精品女人天堂av免费观看 | 亚洲の无码国产の无码步美 | 丰满少妇女裸体bbw | 乌克兰少妇性做爰 | 国产精品亚洲专区无码不卡 | 久久成人a毛片免费观看网站 | 精品国产一区二区三区四区 | 亚洲色大成网站www | 成熟女人特级毛片www免费 | 亚洲综合精品香蕉久久网 | 国产又粗又硬又大爽黄老大爷视 | 亚洲午夜福利在线观看 | 国产真实伦对白全集 | 精品成人av一区二区三区 | 国产激情无码一区二区 | 国产美女精品一区二区三区 | 婷婷丁香五月天综合东京热 | 欧美xxxx黑人又粗又长 | 欧美老人巨大xxxx做受 | a片免费视频在线观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产在热线精品视频 | 丰满人妻翻云覆雨呻吟视频 | 日日天干夜夜狠狠爱 | 中国女人内谢69xxxxxa片 | 亚洲欧美日韩成人高清在线一区 | 久久久久99精品国产片 | 国产午夜视频在线观看 | 亚洲色无码一区二区三区 | 宝宝好涨水快流出来免费视频 | 国产区女主播在线观看 | 午夜熟女插插xx免费视频 | 国产成人精品三级麻豆 | 亚洲欧美色中文字幕在线 | 色欲久久久天天天综合网精品 | 精品国产麻豆免费人成网站 | 欧美国产日产一区二区 | 澳门永久av免费网站 | 午夜精品久久久久久久久 | 伊人久久大香线蕉午夜 | 午夜肉伦伦影院 | aa片在线观看视频在线播放 | 色老头在线一区二区三区 | 国产人妻精品一区二区三区 | 97精品国产97久久久久久免费 | 国色天香社区在线视频 | 亚洲 激情 小说 另类 欧美 | 久久综合网欧美色妞网 | 少妇性荡欲午夜性开放视频剧场 | 国产激情综合五月久久 | 99麻豆久久久国产精品免费 | 亚洲a无码综合a国产av中文 | 伊人久久大香线蕉亚洲 | 日本成熟视频免费视频 | 噜噜噜亚洲色成人网站 | 国内综合精品午夜久久资源 | 精品夜夜澡人妻无码av蜜桃 | 国内精品九九久久久精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 中文精品久久久久人妻不卡 | 无套内射视频囯产 | 无码国产激情在线观看 | 一二三四社区在线中文视频 | 亚洲天堂2017无码中文 | 亚洲熟悉妇女xxx妇女av | 国产综合在线观看 | 欧美人与禽猛交狂配 | 中文字幕日韩精品一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 无码av免费一区二区三区试看 | 成 人 网 站国产免费观看 | 成人免费无码大片a毛片 | 成人无码精品一区二区三区 | 亚洲一区二区三区 | 鲁大师影院在线观看 | 欧美怡红院免费全部视频 | 国产做国产爱免费视频 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 水蜜桃亚洲一二三四在线 | 中文字幕av无码一区二区三区电影 | 精品偷自拍另类在线观看 | 精品国产一区二区三区四区在线看 | аⅴ资源天堂资源库在线 | 国产亚洲欧美日韩亚洲中文色 | 久久精品人妻少妇一区二区三区 | 亚洲春色在线视频 | 久久久成人毛片无码 | 欧美丰满老熟妇xxxxx性 | 亚洲经典千人经典日产 | 亚洲爆乳精品无码一区二区三区 | 久久久国产一区二区三区 | 亚洲国产精品毛片av不卡在线 | 亚洲狠狠色丁香婷婷综合 | 亚洲爆乳大丰满无码专区 | 97人妻精品一区二区三区 | 欧美人与善在线com | 国产av一区二区精品久久凹凸 | 午夜时刻免费入口 | 女人被男人爽到呻吟的视频 | 中文字幕 亚洲精品 第1页 | 老子影院午夜精品无码 | 亚洲日本va中文字幕 | 日日天日日夜日日摸 | 纯爱无遮挡h肉动漫在线播放 | 国产精品香蕉在线观看 | 亲嘴扒胸摸屁股激烈网站 | 精品人妻中文字幕有码在线 | а天堂中文在线官网 | 亚洲成a人片在线观看无码3d | 狠狠综合久久久久综合网 | 理论片87福利理论电影 | 日日麻批免费40分钟无码 | 两性色午夜免费视频 | 亚洲一区二区三区香蕉 | 少妇激情av一区二区 | 高清无码午夜福利视频 | 国产精品久久久久无码av色戒 | 亚洲 高清 成人 动漫 | 99精品久久毛片a片 | 国产精品久久国产精品99 | 久久97精品久久久久久久不卡 | 欧美zoozzooz性欧美 | 日韩精品无码一区二区中文字幕 | 精品国产一区二区三区四区 | 精品一区二区三区无码免费视频 | 国产亚洲tv在线观看 | 国产成人一区二区三区别 | 熟女少妇在线视频播放 | 免费无码午夜福利片69 | 国产性生交xxxxx无码 | 久久国语露脸国产精品电影 | 欧美午夜特黄aaaaaa片 | 久久人人爽人人爽人人片av高清 | 99久久亚洲精品无码毛片 | 国产精品久久久久影院嫩草 | 久久99精品国产麻豆 | 丰满妇女强制高潮18xxxx | av在线亚洲欧洲日产一区二区 | 一本大道久久东京热无码av | 久久久久久久久888 | 色妞www精品免费视频 | 免费播放一区二区三区 | 少妇被黑人到高潮喷出白浆 | 熟女少妇在线视频播放 | 性色欲情网站iwww九文堂 | 亚洲欧美日韩成人高清在线一区 | 国产精品亚洲五月天高清 | 无码人妻久久一区二区三区不卡 | 国产艳妇av在线观看果冻传媒 | 人妻少妇被猛烈进入中文字幕 | 无码国产激情在线观看 | 国产av无码专区亚洲awww | 人妻互换免费中文字幕 | 亚洲中文字幕无码一久久区 | 亚洲色偷偷偷综合网 | 亚洲s码欧洲m码国产av | 大肉大捧一进一出好爽视频 | 日日橹狠狠爱欧美视频 | 丰满肥臀大屁股熟妇激情视频 | 18禁黄网站男男禁片免费观看 | 国产精品无码mv在线观看 | 欧美人与动性行为视频 | 伊在人天堂亚洲香蕉精品区 | 日韩av无码一区二区三区 | 中文字幕乱码中文乱码51精品 | 亚洲自偷自偷在线制服 | 国产精品无码一区二区桃花视频 | 亚洲中文字幕va福利 | 日韩成人一区二区三区在线观看 | 性欧美熟妇videofreesex | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美 日韩 亚洲 在线 | 天下第一社区视频www日本 | 国产麻豆精品一区二区三区v视界 | 久久人人97超碰a片精品 | 无码吃奶揉捏奶头高潮视频 | 中文字幕无码日韩欧毛 | 清纯唯美经典一区二区 | www国产精品内射老师 | 日本va欧美va欧美va精品 | 国产高清不卡无码视频 | 综合激情五月综合激情五月激情1 | 亚洲欧洲中文日韩av乱码 | 亚洲 激情 小说 另类 欧美 | 欧美日韩久久久精品a片 | 成年美女黄网站色大免费视频 | 欧美肥老太牲交大战 | 精品一二三区久久aaa片 | 亚洲男人av天堂午夜在 | 精品久久综合1区2区3区激情 | 欧美亚洲日韩国产人成在线播放 | 欧美国产日韩久久mv | 国产69精品久久久久app下载 | 久青草影院在线观看国产 | 亚洲人成网站色7799 | 免费国产成人高清在线观看网站 | 中文字幕精品av一区二区五区 | 无码av最新清无码专区吞精 | 蜜桃无码一区二区三区 | 欧美阿v高清资源不卡在线播放 | 亚洲国产精品无码一区二区三区 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲高清偷拍一区二区三区 | 亚洲乱码国产乱码精品精 | 日本爽爽爽爽爽爽在线观看免 | 丁香花在线影院观看在线播放 | 激情综合激情五月俺也去 | 天下第一社区视频www日本 | 精品人人妻人人澡人人爽人人 | 中文字幕人妻无码一区二区三区 | 青青久在线视频免费观看 | 欧美日韩视频无码一区二区三 | 娇妻被黑人粗大高潮白浆 | 狠狠cao日日穞夜夜穞av | 天天拍夜夜添久久精品大 | 蜜桃无码一区二区三区 | 99精品无人区乱码1区2区3区 | 俄罗斯老熟妇色xxxx | 亚洲精品一区二区三区大桥未久 | 日韩亚洲欧美精品综合 | 无码纯肉视频在线观看 | 欧美国产亚洲日韩在线二区 | 亚洲色偷偷偷综合网 | 18禁黄网站男男禁片免费观看 | 日产精品高潮呻吟av久久 | 精品午夜福利在线观看 | 成年美女黄网站色大免费视频 | 亚洲日韩中文字幕在线播放 | 性欧美牲交在线视频 | 高潮毛片无遮挡高清免费视频 | 无码国产乱人伦偷精品视频 | 亚洲乱码中文字幕在线 | 天天拍夜夜添久久精品 | 99久久亚洲精品无码毛片 | 欧美性猛交内射兽交老熟妇 | 久久综合九色综合97网 | 亚洲精品一区二区三区在线 | 国产乱码精品一品二品 | 成 人 网 站国产免费观看 | 狂野欧美性猛xxxx乱大交 | 国产av无码专区亚洲awww | www国产亚洲精品久久久日本 | 少妇性荡欲午夜性开放视频剧场 | 国产猛烈高潮尖叫视频免费 | 欧美激情一区二区三区成人 | 成熟人妻av无码专区 | 亚洲成av人影院在线观看 | 在线观看国产午夜福利片 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产网红无码精品视频 | 亚洲国产精品一区二区美利坚 | 精品国产福利一区二区 | 色欲人妻aaaaaaa无码 | 少妇性l交大片 | 国产亚洲视频中文字幕97精品 | 国产亚洲精品久久久久久大师 | 沈阳熟女露脸对白视频 | 国产人妻精品午夜福利免费 | 中文字幕人成乱码熟女app | 人妻无码久久精品人妻 | 天天综合网天天综合色 | 亚洲成av人片在线观看无码不卡 | 国产偷抇久久精品a片69 | 亚洲精品中文字幕久久久久 | 国产99久久精品一区二区 | 白嫩日本少妇做爰 | 成人精品视频一区二区三区尤物 | 亚洲欧美精品aaaaaa片 | 色婷婷综合激情综在线播放 | 熟妇人妻中文av无码 | 综合激情五月综合激情五月激情1 | 国产精品久久久久久久9999 | 久久久婷婷五月亚洲97号色 | 国产真实乱对白精彩久久 | 亚洲一区二区三区在线观看网站 | 日韩av无码一区二区三区 | 欧美老熟妇乱xxxxx | 免费无码午夜福利片69 | 日产精品99久久久久久 | 中文字幕色婷婷在线视频 | 国产午夜无码视频在线观看 | 俄罗斯老熟妇色xxxx | 午夜福利一区二区三区在线观看 | 少妇一晚三次一区二区三区 | 97久久国产亚洲精品超碰热 | 国产在线精品一区二区高清不卡 | 日日碰狠狠丁香久燥 | 无遮挡啪啪摇乳动态图 | 最新版天堂资源中文官网 | 无码人妻精品一区二区三区下载 | 国产午夜亚洲精品不卡 | 蜜桃av抽搐高潮一区二区 | 国产精品久久久久久无码 | 天海翼激烈高潮到腰振不止 | 成人精品天堂一区二区三区 | 999久久久国产精品消防器材 | 国产亚洲人成在线播放 | 中文字幕无码热在线视频 | 东京热无码av男人的天堂 | 国产精品人人妻人人爽 | 日本精品人妻无码77777 天堂一区人妻无码 | 在线a亚洲视频播放在线观看 | 5858s亚洲色大成网站www | 亚洲色在线无码国产精品不卡 | 人人妻人人澡人人爽人人精品浪潮 | 国产精品对白交换视频 | 精品一区二区不卡无码av | 精品夜夜澡人妻无码av蜜桃 | 在线成人www免费观看视频 | 欧美野外疯狂做受xxxx高潮 | 亚洲人成人无码网www国产 | 在线天堂新版最新版在线8 | 亚洲国产精品久久人人爱 | 国产婷婷色一区二区三区在线 | 国产一区二区三区四区五区加勒比 | 色窝窝无码一区二区三区色欲 | 国产av人人夜夜澡人人爽麻豆 | 国精品人妻无码一区二区三区蜜柚 | 特黄特色大片免费播放器图片 | 成人影院yy111111在线观看 | 亚洲一区二区三区无码久久 | 人人妻人人澡人人爽人人精品浪潮 | 久久国产36精品色熟妇 | 日韩少妇白浆无码系列 | 日本熟妇人妻xxxxx人hd | 日本一卡二卡不卡视频查询 | 国产亚洲精品精品国产亚洲综合 | 国产黄在线观看免费观看不卡 | 永久免费观看美女裸体的网站 | 日本熟妇人妻xxxxx人hd | 亚洲 欧美 激情 小说 另类 | 成人欧美一区二区三区黑人 | 粉嫩少妇内射浓精videos | 粗大的内捧猛烈进出视频 | 国产又粗又硬又大爽黄老大爷视 | 久在线观看福利视频 | 欧美黑人巨大xxxxx | www国产亚洲精品久久网站 | 国产亚洲精品久久久久久 | 97精品人妻一区二区三区香蕉 | 一本久久a久久精品vr综合 | 国产片av国语在线观看 | 成人亚洲精品久久久久 | 国产精品怡红院永久免费 | 精品无码国产自产拍在线观看蜜 | 2019nv天堂香蕉在线观看 | 久久综合色之久久综合 | 理论片87福利理论电影 | 国产香蕉尹人综合在线观看 | 特黄特色大片免费播放器图片 | 日韩精品无码免费一区二区三区 | 日日夜夜撸啊撸 | 亚洲区欧美区综合区自拍区 | 97久久超碰中文字幕 | 亚洲精品久久久久avwww潮水 | 天天躁日日躁狠狠躁免费麻豆 | 午夜时刻免费入口 | 久久久久人妻一区精品色欧美 | 日本大香伊一区二区三区 | 久久久久久久人妻无码中文字幕爆 | 99精品视频在线观看免费 | 1000部啪啪未满十八勿入下载 | 色五月丁香五月综合五月 | 亚洲国产成人a精品不卡在线 | 亚洲理论电影在线观看 | 无码国产激情在线观看 | 领导边摸边吃奶边做爽在线观看 | 亚洲综合久久一区二区 | 人妻无码αv中文字幕久久琪琪布 | 青青青手机频在线观看 | 一本色道久久综合狠狠躁 | 久久zyz资源站无码中文动漫 | 亚洲精品中文字幕乱码 | 老司机亚洲精品影院 | 熟女体下毛毛黑森林 | 男女猛烈xx00免费视频试看 | 久久综合激激的五月天 | 国产美女极度色诱视频www | 亚洲精品一区二区三区四区五区 | 国产婷婷色一区二区三区在线 | 亚洲精品久久久久久一区二区 | 日本又色又爽又黄的a片18禁 | 精品亚洲韩国一区二区三区 | 领导边摸边吃奶边做爽在线观看 | а√资源新版在线天堂 | 精品无码国产一区二区三区av | 久久久久亚洲精品男人的天堂 | 好屌草这里只有精品 | 在线看片无码永久免费视频 | 亚洲精品午夜国产va久久成人 | 粉嫩少妇内射浓精videos | 欧美乱妇无乱码大黄a片 | 国产精品无码一区二区三区不卡 | 性生交大片免费看l | 无遮挡啪啪摇乳动态图 | 亚洲а∨天堂久久精品2021 | 任你躁国产自任一区二区三区 | 日韩欧美中文字幕公布 | 99国产精品白浆在线观看免费 | 国产肉丝袜在线观看 | 日韩欧美中文字幕公布 | 国产精品久久久久无码av色戒 | 亚洲国产欧美在线成人 | 色婷婷综合中文久久一本 | 十八禁视频网站在线观看 | 男人扒开女人内裤强吻桶进去 | 久久精品人人做人人综合试看 | 亚洲性无码av中文字幕 | 熟妇激情内射com | 亚洲精品一区二区三区大桥未久 | 中文精品无码中文字幕无码专区 | 人妻人人添人妻人人爱 | 久久综合色之久久综合 | 又粗又大又硬毛片免费看 | 粗大的内捧猛烈进出视频 | 国产在线一区二区三区四区五区 | 香港三级日本三级妇三级 | 久久久久久久久888 | 国产乱子伦视频在线播放 | 亚洲中文字幕在线无码一区二区 | 无套内射视频囯产 | 天天躁夜夜躁狠狠是什么心态 | 一二三四在线观看免费视频 | 18无码粉嫩小泬无套在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 久久精品人人做人人综合 | 中文字幕无码人妻少妇免费 | 欧洲欧美人成视频在线 | 亚洲成av人综合在线观看 | 国产香蕉尹人综合在线观看 | 人妻天天爽夜夜爽一区二区 | 国产三级精品三级男人的天堂 | 任你躁国产自任一区二区三区 | 内射老妇bbwx0c0ck | 亚洲色欲色欲欲www在线 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美乱妇无乱码大黄a片 | 天堂а√在线地址中文在线 | 久久五月精品中文字幕 | 亚洲精品一区二区三区四区五区 | 天天做天天爱天天爽综合网 | 性色av无码免费一区二区三区 | 久久99精品久久久久久动态图 | 亚洲国产综合无码一区 | 亚洲狠狠色丁香婷婷综合 | 欧美 丝袜 自拍 制服 另类 | 撕开奶罩揉吮奶头视频 | 国产精品爱久久久久久久 | 色综合久久久无码网中文 | 99精品国产综合久久久久五月天 | 久久精品人人做人人综合 | 精品国产一区二区三区四区 | 一本精品99久久精品77 | 99久久亚洲精品无码毛片 | a片免费视频在线观看 | 国产无套粉嫩白浆在线 | 亚洲中文字幕无码中字 | 波多野结衣av在线观看 | 国产亚洲人成a在线v网站 | 精品人妻中文字幕有码在线 | 露脸叫床粗话东北少妇 | 无码播放一区二区三区 | 亚洲国产av精品一区二区蜜芽 | 国产sm调教视频在线观看 | 亚洲s色大片在线观看 | 天天做天天爱天天爽综合网 | 水蜜桃亚洲一二三四在线 | 一本色道久久综合狠狠躁 | 成 人 网 站国产免费观看 | 国产尤物精品视频 | 久久精品中文字幕大胸 | 国产网红无码精品视频 | 性欧美牲交xxxxx视频 | 天天摸天天透天天添 | 熟女体下毛毛黑森林 | 乱码av麻豆丝袜熟女系列 | 久久99精品国产麻豆 | 亚洲va欧美va天堂v国产综合 | 午夜免费福利小电影 | 无码一区二区三区在线 | 露脸叫床粗话东北少妇 | 日本欧美一区二区三区乱码 | 曰韩少妇内射免费播放 | 精品国产aⅴ无码一区二区 | 亚洲精品中文字幕乱码 | 精品无码一区二区三区爱欲 | 国产精品沙发午睡系列 | 欧美乱妇无乱码大黄a片 | 亲嘴扒胸摸屁股激烈网站 | 亚洲 激情 小说 另类 欧美 | 国内少妇偷人精品视频 | 狠狠噜狠狠狠狠丁香五月 | 玩弄人妻少妇500系列视频 | 亚洲精品欧美二区三区中文字幕 | 国产精品手机免费 | 国产莉萝无码av在线播放 | 久久亚洲国产成人精品性色 | 久久综合色之久久综合 | 婷婷六月久久综合丁香 | 成人欧美一区二区三区黑人免费 | 国产精品美女久久久久av爽李琼 | 国产精品高潮呻吟av久久4虎 | 日本免费一区二区三区最新 | 国产综合久久久久鬼色 | 成人亚洲精品久久久久 | 精品国产aⅴ无码一区二区 | 国产在线精品一区二区高清不卡 | 伊人久久大香线蕉av一区二区 | 欧美阿v高清资源不卡在线播放 | 乌克兰少妇性做爰 | 少女韩国电视剧在线观看完整 | 中文字幕乱码亚洲无线三区 | 久久人人爽人人爽人人片av高清 | 国产成人综合色在线观看网站 | 国产特级毛片aaaaaa高潮流水 | 色五月五月丁香亚洲综合网 | а√天堂www在线天堂小说 | 四虎国产精品免费久久 | 小鲜肉自慰网站xnxx | 亚洲综合久久一区二区 | 在线观看国产午夜福利片 | 免费看男女做好爽好硬视频 | 成年美女黄网站色大免费全看 | 98国产精品综合一区二区三区 | 亚洲精品国产a久久久久久 | 激情爆乳一区二区三区 | 精品国产青草久久久久福利 | 小sao货水好多真紧h无码视频 | 亚洲成av人影院在线观看 | 一本无码人妻在中文字幕免费 | 99麻豆久久久国产精品免费 | √8天堂资源地址中文在线 | 成人无码精品一区二区三区 | 日本精品少妇一区二区三区 | 久久精品99久久香蕉国产色戒 | 精品国产福利一区二区 | 国产深夜福利视频在线 | 狠狠躁日日躁夜夜躁2020 | 国产av人人夜夜澡人人爽麻豆 | 51国偷自产一区二区三区 | 精品国精品国产自在久国产87 | 午夜福利不卡在线视频 | 精品成人av一区二区三区 | 在线观看国产一区二区三区 | 亚洲一区二区三区在线观看网站 | 亚洲精品一区二区三区四区五区 | av无码不卡在线观看免费 | 欧美兽交xxxx×视频 | 无码国产色欲xxxxx视频 | 波多野结衣高清一区二区三区 | 中文字幕色婷婷在线视频 | 欧美成人午夜精品久久久 | 国产激情无码一区二区 | 荫蒂添的好舒服视频囗交 | 亚洲精品欧美二区三区中文字幕 | 日日天干夜夜狠狠爱 | 少妇人妻偷人精品无码视频 | 久久久久久九九精品久 | 国产乱码精品一品二品 | 熟女体下毛毛黑森林 | 国产无套粉嫩白浆在线 | 国产av无码专区亚洲awww | 日韩欧美群交p片內射中文 | 欧美自拍另类欧美综合图片区 | 18黄暴禁片在线观看 | 国产无套内射久久久国产 | 国产人妻大战黑人第1集 | 全黄性性激高免费视频 | а√天堂www在线天堂小说 | 黑人粗大猛烈进出高潮视频 | 国产精品香蕉在线观看 | 国产舌乚八伦偷品w中 | 国产卡一卡二卡三 | 久久熟妇人妻午夜寂寞影院 | 中文字幕乱码人妻无码久久 | 亚洲国产精品一区二区美利坚 | 欧美人与善在线com | 国产乱人无码伦av在线a | 精品久久久中文字幕人妻 | 亚洲中文字幕无码中字 | 中文毛片无遮挡高清免费 | 国产又粗又硬又大爽黄老大爷视 | 亚洲欧美精品伊人久久 | 欧美国产亚洲日韩在线二区 | 亚洲成在人网站无码天堂 | 荫蒂被男人添的好舒服爽免费视频 | 久久国产精品萌白酱免费 | 久久久久久九九精品久 | 麻豆国产人妻欲求不满 | 狠狠色丁香久久婷婷综合五月 | 美女张开腿让人桶 | 国产精品永久免费视频 | 亚洲国产欧美在线成人 | 亚洲爆乳精品无码一区二区三区 | 精品无码成人片一区二区98 | 激情五月综合色婷婷一区二区 | 国产精品免费大片 | 国产精品第一国产精品 | 国产精品亚洲综合色区韩国 | 国产无套内射久久久国产 | 少妇高潮喷潮久久久影院 | 少妇高潮一区二区三区99 | 纯爱无遮挡h肉动漫在线播放 | 亚洲人成网站在线播放942 | 中文字幕无码乱人伦 | 国产亚洲日韩欧美另类第八页 | 少妇厨房愉情理9仑片视频 | 国产免费久久精品国产传媒 | 欧美日韩一区二区三区自拍 | 国产绳艺sm调教室论坛 | 荫蒂添的好舒服视频囗交 | 亚洲人亚洲人成电影网站色 | 俄罗斯老熟妇色xxxx | 无码午夜成人1000部免费视频 | 丰满人妻被黑人猛烈进入 | 中文字幕无码日韩欧毛 | 强辱丰满人妻hd中文字幕 | 永久黄网站色视频免费直播 | 精品久久久无码人妻字幂 | 宝宝好涨水快流出来免费视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 强开小婷嫩苞又嫩又紧视频 | 国产香蕉尹人综合在线观看 | aa片在线观看视频在线播放 | 奇米影视7777久久精品 | 欧美丰满老熟妇xxxxx性 | 综合激情五月综合激情五月激情1 | 激情内射亚州一区二区三区爱妻 | 欧美老妇交乱视频在线观看 | 亚洲男女内射在线播放 | 国产色精品久久人妻 | 婷婷五月综合缴情在线视频 | 色综合久久久无码中文字幕 | 精品一二三区久久aaa片 | 免费无码肉片在线观看 | 一二三四在线观看免费视频 | 97无码免费人妻超级碰碰夜夜 | 中文精品久久久久人妻不卡 | 伊在人天堂亚洲香蕉精品区 | 久久久久免费看成人影片 | 中文字幕av伊人av无码av | 荫蒂添的好舒服视频囗交 | 波多野结衣高清一区二区三区 | 亚洲国产精品久久久天堂 | 粗大的内捧猛烈进出视频 | 一个人看的视频www在线 | 亚洲国产欧美在线成人 | 亚洲日韩中文字幕在线播放 | 性做久久久久久久久 | 自拍偷自拍亚洲精品被多人伦好爽 | 中文字幕无码乱人伦 | 影音先锋中文字幕无码 | 97久久国产亚洲精品超碰热 | 日韩欧美成人免费观看 | 综合激情五月综合激情五月激情1 | 国产热a欧美热a在线视频 | 精品无码国产自产拍在线观看蜜 | 久久久久久av无码免费看大片 | 国产极品美女高潮无套在线观看 | 国内揄拍国内精品少妇国语 | 精品国产青草久久久久福利 | 亚洲精品一区二区三区在线 | 精品国产精品久久一区免费式 | 99久久人妻精品免费一区 | 日产精品高潮呻吟av久久 | 日韩精品无码一本二本三本色 | 天天躁夜夜躁狠狠是什么心态 | 中文字幕精品av一区二区五区 | 装睡被陌生人摸出水好爽 | 撕开奶罩揉吮奶头视频 | 欧美国产日产一区二区 | 大地资源中文第3页 | 99久久99久久免费精品蜜桃 | 国产精品亚洲lv粉色 | 国产手机在线αⅴ片无码观看 | 久久久亚洲欧洲日产国码αv | 成人一区二区免费视频 | 久久久av男人的天堂 | 人人妻人人澡人人爽人人精品浪潮 | 国产精品久久久久7777 | 无码任你躁久久久久久久 | 在线播放免费人成毛片乱码 | 日本丰满护士爆乳xxxx | 日日碰狠狠躁久久躁蜜桃 | 欧美熟妇另类久久久久久多毛 | 老司机亚洲精品影院无码 | 国产成人综合色在线观看网站 | 亚欧洲精品在线视频免费观看 | 亚洲色欲久久久综合网东京热 | 国产精品无码一区二区桃花视频 | 一本久久a久久精品亚洲 | 成人片黄网站色大片免费观看 | 伊人久久大香线蕉亚洲 | 国产高清不卡无码视频 | 综合激情五月综合激情五月激情1 | 日本护士毛茸茸高潮 | 无码人妻少妇伦在线电影 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产精品久久久午夜夜伦鲁鲁 | 青草青草久热国产精品 | 久久99精品国产麻豆 | 性做久久久久久久免费看 | 免费国产黄网站在线观看 | 亚洲乱亚洲乱妇50p | 久久国产精品二国产精品 | 国产激情艳情在线看视频 | 老熟女重囗味hdxx69 | 婷婷丁香六月激情综合啪 | 欧美性黑人极品hd | 装睡被陌生人摸出水好爽 | 露脸叫床粗话东北少妇 | 国产精品久久久久久久9999 | 欧美真人作爱免费视频 | 亚洲一区二区三区偷拍女厕 | 精品国产麻豆免费人成网站 | 久久精品人人做人人综合 | 丁香啪啪综合成人亚洲 | 国产精品久久久久无码av色戒 | 亚洲国产日韩a在线播放 | 久久久久久国产精品无码下载 | 中文字幕无码人妻少妇免费 | 国产av无码专区亚洲a∨毛片 | 欧美日韩精品 | √8天堂资源地址中文在线 | 亚洲精品久久久久avwww潮水 | 久久婷婷五月综合色国产香蕉 | 免费无码av一区二区 | 国产午夜亚洲精品不卡 | 欧美日本免费一区二区三区 | 野狼第一精品社区 | 中文字幕无线码免费人妻 | 国产亚洲欧美在线专区 | 九九在线中文字幕无码 | 亚洲国产日韩a在线播放 | 亚洲s码欧洲m码国产av | 国产精品无码mv在线观看 | 日韩人妻少妇一区二区三区 | 成在人线av无码免费 | 少妇的肉体aa片免费 | 性做久久久久久久免费看 | 国产艳妇av在线观看果冻传媒 | 亚洲精品久久久久久久久久久 | 亚洲人成影院在线观看 | 亚洲乱亚洲乱妇50p | 东京热一精品无码av | 精品久久综合1区2区3区激情 | 波多野结衣 黑人 | 亚洲日韩中文字幕在线播放 | 国产熟女一区二区三区四区五区 | 亚洲精品一区二区三区在线观看 | 国产高潮视频在线观看 | 牲交欧美兽交欧美 | 人人妻人人澡人人爽人人精品 | 无码人妻丰满熟妇区毛片18 | 亚洲s码欧洲m码国产av | 国产成人人人97超碰超爽8 | 精品亚洲成av人在线观看 | 性色av无码免费一区二区三区 | 亚洲人成影院在线观看 | 夜夜影院未满十八勿进 | 国产舌乚八伦偷品w中 | 天天拍夜夜添久久精品大 | 亚洲色成人中文字幕网站 | 国产综合在线观看 | 日日橹狠狠爱欧美视频 | 亚洲熟妇色xxxxx欧美老妇y | 中文字幕av无码一区二区三区电影 | 欧美一区二区三区视频在线观看 | 丰满少妇高潮惨叫视频 | 欧美xxxxx精品 | 久久无码中文字幕免费影院蜜桃 | 97久久超碰中文字幕 | 国产一区二区三区精品视频 | 曰韩无码二三区中文字幕 | 久久久久久av无码免费看大片 | 精品无码av一区二区三区 | 久久久久人妻一区精品色欧美 | 成熟女人特级毛片www免费 | 久久精品中文字幕大胸 | 97久久超碰中文字幕 | 无遮无挡爽爽免费视频 | 精品无码国产一区二区三区av | 色综合久久88色综合天天 | 亚洲色偷偷男人的天堂 | 亚洲成a人片在线观看无码3d | 十八禁视频网站在线观看 | 午夜熟女插插xx免费视频 | 人妻中文无码久热丝袜 | 久久国产精品_国产精品 | 亚洲日韩中文字幕在线播放 | 久久精品国产大片免费观看 | 无码人妻丰满熟妇区五十路百度 | 亚洲国产精品久久久天堂 | 国产亲子乱弄免费视频 | 国产精品视频免费播放 | 久久久无码中文字幕久... | 麻豆精品国产精华精华液好用吗 | 亚洲日本va中文字幕 | 国产在线精品一区二区三区直播 | 97精品国产97久久久久久免费 | 免费乱码人妻系列无码专区 | 99精品无人区乱码1区2区3区 | 国产午夜亚洲精品不卡下载 | 亚洲精品www久久久 | 亚洲国产精品无码久久久久高潮 | 性欧美熟妇videofreesex | 男女猛烈xx00免费视频试看 | 无码一区二区三区在线 | 无码av最新清无码专区吞精 | 少妇高潮一区二区三区99 | 偷窥村妇洗澡毛毛多 | 成人精品一区二区三区中文字幕 | 精品久久久中文字幕人妻 | 在教室伦流澡到高潮hnp视频 | 奇米影视7777久久精品 | 久久久久免费看成人影片 | 性啪啪chinese东北女人 | 国产av一区二区精品久久凹凸 | 伊人久久婷婷五月综合97色 | 东京热一精品无码av | 在线天堂新版最新版在线8 | 久久久久成人精品免费播放动漫 | 中文字幕无线码免费人妻 | 东京无码熟妇人妻av在线网址 | 亚洲一区二区三区在线观看网站 | 无码人妻精品一区二区三区不卡 | 国产做国产爱免费视频 | 国产精品手机免费 | 特黄特色大片免费播放器图片 | 67194成是人免费无码 | 亚洲 激情 小说 另类 欧美 | 国产口爆吞精在线视频 | 中文字幕av伊人av无码av | 特大黑人娇小亚洲女 | 亚洲国产欧美日韩精品一区二区三区 | 十八禁视频网站在线观看 | 国产性生大片免费观看性 | 国产真实伦对白全集 | 国产偷国产偷精品高清尤物 | 国产亚洲视频中文字幕97精品 | 亚洲欧洲日本综合aⅴ在线 | 欧美日本免费一区二区三区 | 久久婷婷五月综合色国产香蕉 | a在线观看免费网站大全 | 激情五月综合色婷婷一区二区 | 国产精品久久福利网站 | av无码电影一区二区三区 | 国产成人精品一区二区在线小狼 | 日韩在线不卡免费视频一区 | 人人澡人人妻人人爽人人蜜桃 | 一本色道久久综合狠狠躁 | 国产精品多人p群无码 | 无码任你躁久久久久久久 | 麻豆成人精品国产免费 | 国产人妻精品一区二区三区 | 日韩视频 中文字幕 视频一区 | 亚洲精品鲁一鲁一区二区三区 | 久久99热只有频精品8 | 亚洲gv猛男gv无码男同 | 日本一本二本三区免费 | 成人片黄网站色大片免费观看 | 亚洲区欧美区综合区自拍区 | 午夜精品一区二区三区的区别 | 免费人成网站视频在线观看 | 亚洲爆乳精品无码一区二区三区 | 国内揄拍国内精品少妇国语 | 中文毛片无遮挡高清免费 | 欧美丰满少妇xxxx性 | 亚洲大尺度无码无码专区 | 久久国语露脸国产精品电影 | 国产超级va在线观看视频 | 激情内射日本一区二区三区 | 中文字幕乱码中文乱码51精品 | 丰满妇女强制高潮18xxxx | 在线a亚洲视频播放在线观看 | 国产超级va在线观看视频 | 国产高清不卡无码视频 | 岛国片人妻三上悠亚 | 午夜男女很黄的视频 | 日本一区二区更新不卡 | 日本护士毛茸茸高潮 | 久久国产精品精品国产色婷婷 | 久久亚洲中文字幕精品一区 | 又粗又大又硬毛片免费看 | 久久无码专区国产精品s | 精品欧美一区二区三区久久久 | 亚洲色欲色欲天天天www | 欧美激情内射喷水高潮 | 国内精品久久毛片一区二区 | 宝宝好涨水快流出来免费视频 | 国产精品无码永久免费888 | 午夜精品久久久久久久 | 国产人妻精品一区二区三区 | 日本熟妇人妻xxxxx人hd | 亚洲精品国产品国语在线观看 | 福利一区二区三区视频在线观看 | 亚洲国产欧美在线成人 | 强伦人妻一区二区三区视频18 | 狂野欧美性猛xxxx乱大交 | 亚洲中文字幕乱码av波多ji | 日韩精品乱码av一区二区 | 国产热a欧美热a在线视频 | 九月婷婷人人澡人人添人人爽 | 人人妻人人澡人人爽人人精品 | 精品午夜福利在线观看 | 国产精品鲁鲁鲁 | 99国产欧美久久久精品 | 任你躁在线精品免费 | 乱人伦人妻中文字幕无码 | 亚洲码国产精品高潮在线 | 爽爽影院免费观看 | 一区二区三区乱码在线 | 欧洲 | 人人澡人摸人人添 | 少妇高潮喷潮久久久影院 | 精品久久久无码人妻字幂 | 扒开双腿吃奶呻吟做受视频 | 亚洲自偷精品视频自拍 | 日本精品人妻无码77777 天堂一区人妻无码 | 熟妇人妻无乱码中文字幕 | 色噜噜亚洲男人的天堂 | 青春草在线视频免费观看 | 我要看www免费看插插视频 | 亚洲欧美日韩成人高清在线一区 | 欧洲美熟女乱又伦 | 久久久精品欧美一区二区免费 | 性开放的女人aaa片 | 亚洲综合无码一区二区三区 | 国产精品99久久精品爆乳 | 97人妻精品一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 日本成熟视频免费视频 | 丰满诱人的人妻3 | 男女爱爱好爽视频免费看 | 国产成人无码午夜视频在线观看 | 人妻少妇精品无码专区二区 | 久久久久免费看成人影片 | 国产人妖乱国产精品人妖 | 日本熟妇大屁股人妻 | 久久zyz资源站无码中文动漫 | 国产精品久久久久久久9999 | 激情五月综合色婷婷一区二区 | 精品国产国产综合精品 | 久久午夜无码鲁丝片 | 中文字幕无码免费久久99 | 18禁黄网站男男禁片免费观看 | 国产精品成人av在线观看 | 中文字幕无码视频专区 | 国产成人午夜福利在线播放 | 无遮无挡爽爽免费视频 | 久久精品无码一区二区三区 | 天堂а√在线地址中文在线 | 精品无码成人片一区二区98 | 中国女人内谢69xxxxxa片 | 内射白嫩少妇超碰 | 久久精品人人做人人综合试看 | 久久99精品国产.久久久久 | 国产综合久久久久鬼色 | 狠狠亚洲超碰狼人久久 | √天堂资源地址中文在线 | 日本熟妇浓毛 | 免费观看又污又黄的网站 | 国精品人妻无码一区二区三区蜜柚 | 精品 日韩 国产 欧美 视频 | 亚洲天堂2017无码 | 免费人成网站视频在线观看 | 99久久精品日本一区二区免费 | 国产成人无码a区在线观看视频app | 国内揄拍国内精品少妇国语 | 1000部夫妻午夜免费 | 无码av最新清无码专区吞精 | 99在线 | 亚洲 | 日日天干夜夜狠狠爱 | 98国产精品综合一区二区三区 | 国产一区二区不卡老阿姨 | 久久久久久九九精品久 | 亚洲欧美综合区丁香五月小说 | 精品夜夜澡人妻无码av蜜桃 | 国产熟妇高潮叫床视频播放 | 无码帝国www无码专区色综合 | 久久熟妇人妻午夜寂寞影院 | 中文字幕亚洲情99在线 | 精品一区二区不卡无码av | 久久综合激激的五月天 | 伊人色综合久久天天小片 | 99久久婷婷国产综合精品青草免费 | 国产午夜无码视频在线观看 | 在线播放亚洲第一字幕 | 国产欧美熟妇另类久久久 | 巨爆乳无码视频在线观看 | 国产激情精品一区二区三区 | 国产无遮挡吃胸膜奶免费看 | 思思久久99热只有频精品66 | 无码午夜成人1000部免费视频 | 正在播放老肥熟妇露脸 | 人人妻人人澡人人爽欧美一区 | 欧美精品无码一区二区三区 | 日本一区二区三区免费播放 | 大色综合色综合网站 | 国产av久久久久精东av | 亚洲性无码av中文字幕 | 日本xxxx色视频在线观看免费 | 国产高清不卡无码视频 | 少妇一晚三次一区二区三区 | 国产成人一区二区三区在线观看 | 精品久久久久香蕉网 | 亚洲自偷精品视频自拍 | 亚洲最大成人网站 | 特级做a爰片毛片免费69 | 久久成人a毛片免费观看网站 | 久久久久av无码免费网 | 玩弄人妻少妇500系列视频 | 国产免费无码一区二区视频 | 正在播放东北夫妻内射 | 九月婷婷人人澡人人添人人爽 | av无码电影一区二区三区 | 欧美日韩在线亚洲综合国产人 | 亚洲一区二区三区在线观看网站 | 男女超爽视频免费播放 | 国产精品内射视频免费 | 亚洲第一网站男人都懂 | 久热国产vs视频在线观看 | 领导边摸边吃奶边做爽在线观看 | 丰满岳乱妇在线观看中字无码 | 在线成人www免费观看视频 | 人人澡人摸人人添 | 久久久久久九九精品久 | 日韩无码专区 | www国产精品内射老师 | 亚洲狠狠色丁香婷婷综合 | 国产精品久久久久久久影院 | 红桃av一区二区三区在线无码av | 久久www免费人成人片 | 东京一本一道一二三区 | 午夜精品一区二区三区在线观看 | 风流少妇按摩来高潮 | 无码午夜成人1000部免费视频 | 日韩精品无码一区二区中文字幕 | 亚洲男人av香蕉爽爽爽爽 | 亚洲日韩av一区二区三区四区 | 中文亚洲成a人片在线观看 | 国产精品嫩草久久久久 | 九九综合va免费看 | 亚洲中文无码av永久不收费 | 成年美女黄网站色大免费视频 | 精品欧美一区二区三区久久久 | 日韩少妇内射免费播放 | 欧美xxxxx精品 | 美女张开腿让人桶 | 国产suv精品一区二区五 | 午夜肉伦伦影院 | 欧美性猛交内射兽交老熟妇 | 欧美猛少妇色xxxxx | 人妻少妇精品无码专区二区 | 亚洲啪av永久无码精品放毛片 | 97久久精品无码一区二区 | 久久久久久久久蜜桃 | 老司机亚洲精品影院 | 国产成人无码区免费内射一片色欲 | 亚洲欧美日韩综合久久久 | 中文字幕 亚洲精品 第1页 | 无码任你躁久久久久久久 | 图片小说视频一区二区 | 丰满少妇熟乱xxxxx视频 | 免费观看又污又黄的网站 | 大胆欧美熟妇xx | 麻豆国产人妻欲求不满 | 成人女人看片免费视频放人 | 5858s亚洲色大成网站www | 动漫av网站免费观看 | 国产网红无码精品视频 | 欧美35页视频在线观看 | 精品国产青草久久久久福利 | 国产亚洲精品久久久久久大师 | 成在人线av无码免费 | 色妞www精品免费视频 | 东京无码熟妇人妻av在线网址 | 免费观看的无遮挡av | 日韩人妻无码中文字幕视频 | 野狼第一精品社区 | 一本色道婷婷久久欧美 | 亚洲天堂2017无码 | 又粗又大又硬毛片免费看 | 狠狠色噜噜狠狠狠7777奇米 | 精品一二三区久久aaa片 | 九九在线中文字幕无码 | www成人国产高清内射 | 樱花草在线播放免费中文 | 国产一区二区不卡老阿姨 | 未满成年国产在线观看 | 国产精品-区区久久久狼 | 少妇无码一区二区二三区 | 国产成人无码av一区二区 | 亚洲熟妇色xxxxx欧美老妇y | 网友自拍区视频精品 | 人妻少妇精品无码专区动漫 | 欧美放荡的少妇 | 日本免费一区二区三区最新 | 少妇无套内谢久久久久 | 日韩欧美中文字幕公布 | 国产高清av在线播放 | 国产精品久久久一区二区三区 | 奇米影视7777久久精品人人爽 | 在线亚洲高清揄拍自拍一品区 | 国产精品嫩草久久久久 | 欧美人与禽猛交狂配 | 亚洲 a v无 码免 费 成 人 a v | 性啪啪chinese东北女人 | 亚洲乱亚洲乱妇50p | 7777奇米四色成人眼影 | 久久久精品国产sm最大网站 | 性欧美牲交在线视频 | 国产亲子乱弄免费视频 | 无码一区二区三区在线观看 | 日韩av无码中文无码电影 | 久青草影院在线观看国产 | 人人妻人人澡人人爽人人精品浪潮 | 中文字幕无码av波多野吉衣 | 久热国产vs视频在线观看 | 久久久久99精品国产片 | 亚洲一区二区三区在线观看网站 | 丰满少妇人妻久久久久久 | 内射爽无广熟女亚洲 | 日本欧美一区二区三区乱码 | 思思久久99热只有频精品66 | 夜夜影院未满十八勿进 | 永久免费观看美女裸体的网站 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 在线播放亚洲第一字幕 | 粗大的内捧猛烈进出视频 | 扒开双腿疯狂进出爽爽爽视频 | 水蜜桃色314在线观看 | 亚洲精品综合五月久久小说 | 亚洲成a人片在线观看日本 | 亚洲大尺度无码无码专区 | 久久久成人毛片无码 | 国产成人无码区免费内射一片色欲 | 99久久人妻精品免费二区 | 99麻豆久久久国产精品免费 | 性做久久久久久久久 | 一区二区传媒有限公司 | 鲁鲁鲁爽爽爽在线视频观看 | 国产疯狂伦交大片 | 无码吃奶揉捏奶头高潮视频 | 色婷婷综合激情综在线播放 | 人人澡人人妻人人爽人人蜜桃 | 欧洲极品少妇 | aⅴ亚洲 日韩 色 图网站 播放 | 极品嫩模高潮叫床 | 国产人妻精品一区二区三区不卡 | 暴力强奷在线播放无码 | 国产亚洲日韩欧美另类第八页 | 亚洲午夜福利在线观看 | 玩弄少妇高潮ⅹxxxyw | 亚洲国精产品一二二线 | 亚洲狠狠色丁香婷婷综合 | 无码人妻黑人中文字幕 | 国产精品.xx视频.xxtv | 国产成人综合在线女婷五月99播放 | 日本又色又爽又黄的a片18禁 | 捆绑白丝粉色jk震动捧喷白浆 | 老熟妇仑乱视频一区二区 | 牲交欧美兽交欧美 | 久久人人爽人人爽人人片ⅴ | 国产精品丝袜黑色高跟鞋 | 一本精品99久久精品77 | 亚洲精品综合五月久久小说 | 国产高潮视频在线观看 | 欧美喷潮久久久xxxxx | 精品国产精品久久一区免费式 | 精品国产乱码久久久久乱码 | 性色欲情网站iwww九文堂 | 国产凸凹视频一区二区 | 国色天香社区在线视频 | 久久精品国产日本波多野结衣 | 国产97人人超碰caoprom | 老熟女乱子伦 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 九九久久精品国产免费看小说 | 97色伦图片97综合影院 | 人妻aⅴ无码一区二区三区 | 久久99国产综合精品 | 国产莉萝无码av在线播放 | 最近免费中文字幕中文高清百度 | 国产片av国语在线观看 | 天堂亚洲免费视频 | 亚洲中文字幕在线无码一区二区 | 亚洲日本va中文字幕 | 亚洲va中文字幕无码久久不卡 | 午夜福利不卡在线视频 | 无码毛片视频一区二区本码 | 人妻人人添人妻人人爱 | 国产av无码专区亚洲a∨毛片 | 妺妺窝人体色www在线小说 | 无遮无挡爽爽免费视频 | 精品欧美一区二区三区久久久 | 国产成人无码a区在线观看视频app | 精品乱子伦一区二区三区 | 国产精品va在线观看无码 | 亚洲aⅴ无码成人网站国产app | 一区二区三区高清视频一 | 色婷婷综合中文久久一本 | 日韩精品乱码av一区二区 | 老熟妇仑乱视频一区二区 | 97久久国产亚洲精品超碰热 | 色狠狠av一区二区三区 | 丰满岳乱妇在线观看中字无码 | 国产亚洲人成在线播放 | 亚洲精品一区国产 | 国产高清av在线播放 | 最新国产麻豆aⅴ精品无码 | 亚洲の无码国产の无码影院 | 国产日产欧产精品精品app | 国内揄拍国内精品人妻 | 国产成人人人97超碰超爽8 | 日本免费一区二区三区最新 | 久久99精品国产麻豆 | 99久久99久久免费精品蜜桃 | 2019午夜福利不卡片在线 | 久久久精品456亚洲影院 | 久久97精品久久久久久久不卡 | 欧美丰满老熟妇xxxxx性 | 欧美国产日韩久久mv | 未满小14洗澡无码视频网站 | 野狼第一精品社区 | 久9re热视频这里只有精品 | 精品午夜福利在线观看 | 国产口爆吞精在线视频 | 亚洲精品鲁一鲁一区二区三区 | 小泽玛莉亚一区二区视频在线 | 天堂а√在线中文在线 | 亚洲精品中文字幕 | 国产乡下妇女做爰 | 亚洲中文字幕在线观看 | 亚洲色偷偷男人的天堂 | 国产成人无码区免费内射一片色欲 | 久久久久亚洲精品中文字幕 | 亚洲成色www久久网站 | 夜精品a片一区二区三区无码白浆 | 97久久国产亚洲精品超碰热 | 亚洲欧洲日本综合aⅴ在线 | 日韩精品成人一区二区三区 | 国内精品人妻无码久久久影院 | 无码吃奶揉捏奶头高潮视频 | 国产av一区二区精品久久凹凸 | 成人无码精品一区二区三区 | 亚洲伊人久久精品影院 | 午夜肉伦伦影院 | 久久久久久a亚洲欧洲av冫 | 国产精品久久国产三级国 | 久久综合九色综合欧美狠狠 | 国内揄拍国内精品少妇国语 | 亚欧洲精品在线视频免费观看 | 国产成人精品无码播放 | 国产免费观看黄av片 | 久久综合九色综合欧美狠狠 | 久久久久成人片免费观看蜜芽 | 亚欧洲精品在线视频免费观看 | 18精品久久久无码午夜福利 | 国产精品二区一区二区aⅴ污介绍 | 丰满少妇人妻久久久久久 | 最新国产麻豆aⅴ精品无码 | 久久亚洲日韩精品一区二区三区 | 国产成人人人97超碰超爽8 | aⅴ在线视频男人的天堂 | 最近免费中文字幕中文高清百度 | 亚洲成av人综合在线观看 | 色一情一乱一伦一视频免费看 | 自拍偷自拍亚洲精品10p | 亚洲天堂2017无码中文 | 鲁一鲁av2019在线 | 人妻人人添人妻人人爱 | 十八禁视频网站在线观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲热妇无码av在线播放 | 人人爽人人澡人人人妻 | 熟妇人妻激情偷爽文 | 亚洲国产欧美在线成人 | 久久亚洲a片com人成 | 无码成人精品区在线观看 | 巨爆乳无码视频在线观看 | 丰满妇女强制高潮18xxxx | 亚洲中文字幕在线无码一区二区 | 人人妻人人澡人人爽欧美精品 | 久久亚洲a片com人成 | 青青青手机频在线观看 | 国产成人无码专区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲色欲色欲欲www在线 | 九九在线中文字幕无码 | 亚洲一区二区三区香蕉 | 国产真实伦对白全集 | 亚洲欧美日韩国产精品一区二区 | 中文字幕乱码人妻二区三区 | 久久伊人色av天堂九九小黄鸭 | 午夜无码人妻av大片色欲 | 人人妻人人澡人人爽人人精品浪潮 | 55夜色66夜色国产精品视频 | 荫蒂被男人添的好舒服爽免费视频 | aa片在线观看视频在线播放 | 乱码午夜-极国产极内射 | 爽爽影院免费观看 | 亚洲熟女一区二区三区 | 成人女人看片免费视频放人 | 亚洲成a人片在线观看日本 | 天堂无码人妻精品一区二区三区 | 狠狠色欧美亚洲狠狠色www | 高潮喷水的毛片 | 国产精品.xx视频.xxtv | 亚洲精品午夜国产va久久成人 | 给我免费的视频在线观看 | 亚洲熟熟妇xxxx | 老司机亚洲精品影院无码 | 亚洲日韩精品欧美一区二区 | 国产成人综合色在线观看网站 | 亚洲天堂2017无码中文 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 成 人 网 站国产免费观看 | 国产性生大片免费观看性 | 少妇高潮一区二区三区99 | 成人影院yy111111在线观看 | а天堂中文在线官网 | 帮老师解开蕾丝奶罩吸乳网站 | 久久久久久亚洲精品a片成人 | 无套内射视频囯产 | 日本又色又爽又黄的a片18禁 | 又色又爽又黄的美女裸体网站 | 亚洲精品一区二区三区在线观看 | 99久久人妻精品免费一区 | 午夜熟女插插xx免费视频 | 国产成人综合色在线观看网站 | 一本加勒比波多野结衣 | 在线播放免费人成毛片乱码 | 国产无套内射久久久国产 | 领导边摸边吃奶边做爽在线观看 | 久9re热视频这里只有精品 | 国产亚洲精品精品国产亚洲综合 | 久久精品女人天堂av免费观看 | 国产精品对白交换视频 | 骚片av蜜桃精品一区 | 俺去俺来也在线www色官网 | 一本色道久久综合狠狠躁 | 国产亚洲精品久久久久久 | 乱人伦人妻中文字幕无码久久网 | 国产亚洲欧美日韩亚洲中文色 | 美女毛片一区二区三区四区 | 亚洲综合无码一区二区三区 | 在线天堂新版最新版在线8 | 国产片av国语在线观看 | 骚片av蜜桃精品一区 | 亚洲国产精品美女久久久久 | 久久精品国产大片免费观看 | 亚洲国产精品成人久久蜜臀 | 亚洲熟妇色xxxxx欧美老妇 | 国产精品久久久久久无码 | 麻豆国产人妻欲求不满谁演的 | 久久久久久九九精品久 | 久久人人爽人人爽人人片av高清 | 色婷婷久久一区二区三区麻豆 | 亚洲综合另类小说色区 | 人人妻人人藻人人爽欧美一区 | 国产超碰人人爽人人做人人添 | 乌克兰少妇xxxx做受 | 2019nv天堂香蕉在线观看 | 夜先锋av资源网站 | 97久久国产亚洲精品超碰热 | 骚片av蜜桃精品一区 | 成人欧美一区二区三区 | 国产人妻久久精品二区三区老狼 | 亚洲精品一区二区三区四区五区 | 国语自产偷拍精品视频偷 | 成人亚洲精品久久久久 | 欧美人与物videos另类 | 国产激情无码一区二区app | 天堂亚洲免费视频 | www一区二区www免费 | 伊人久久大香线焦av综合影院 | 久久精品国产一区二区三区肥胖 | 久久精品中文闷骚内射 | 久9re热视频这里只有精品 | 成人一在线视频日韩国产 | 亚洲乱码中文字幕在线 | 最近中文2019字幕第二页 | 999久久久国产精品消防器材 | 露脸叫床粗话东北少妇 | 少妇无套内谢久久久久 | 国产97人人超碰caoprom | 亚洲狠狠色丁香婷婷综合 | 亚洲色偷偷男人的天堂 | 老子影院午夜伦不卡 | 强奷人妻日本中文字幕 | 成熟人妻av无码专区 |