日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

上载数据

發布時間:2023/11/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 上载数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

*&---------------------------------------------------------------------*
*&??包括????????????????ZHENGZJ_TEST001_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&??????Form??SELECT_FILE
*&---------------------------------------------------------------------*
*???????說明????選擇本地的ASCII數據文件
*----------------------------------------------------------------------*
*??????<--T_SELFILE??text
*??????<--P_FLAG??text
*----------------------------------------------------------------------*
FORM?SELECT_FILE??USING?P_FLAG?TYPE?I
??????????????????CHANGING?T_SELFILE.
??DATA:?l_rc?????????TYPE?I,
????????l_FileTable??TYPE?FILETABLE.

??DATA:?L_NAME???????TYPE?STRING.

??IF?P_FLAG?=?1.
????L_NAME?=?'請選擇文件保存路徑'.
??ELSE.
????L_NAME?=?'請選擇導入文件'.
??ENDIF.

*?Open?The?txt?File
??CALL?METHOD?CL_GUI_FrontEnd_Services=>File_Open_Dialog
????EXPORTING
??????WINDOW_TITLE????????????=?L_NAME
??????FILE_FILTER?????????????=?'文本文件?(*.XLS)|*.XLS|全部文件?(*.*)|*.*|'
??????MULTISELECTION??????????=?space
????CHANGING
??????FILE_TABLE??????????????=?l_FileTable
??????RC??????????????????????=?l_rc
????EXCEPTIONS
??????file_open_dialog_failed?=?1
??????cntl_error??????????????=?2
??????error_no_gui????????????=?3
??????not_supported_by_gui????=?4
??????others??????????????????=?5.

??IF?SY-SUBRC?=?0?AND?l_rc?=?1.
????READ?TABLE?l_FileTable?INTO?T_SELFILE?INDEX?1.
??ENDIF.

ENDFORM.????????????????????"?SELECT_FILE
*&---------------------------------------------------------------------*
*&??????Form??UPLOAD
*&---------------------------------------------------------------------*
*???????說明:獲得并處理上載數據
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------*
FORM?UPLOAD?.

??DATA:?l_FileName???TYPE?RLGRAP-FILENAME,
????????l_rc?????????TYPE?I,
????????l_FileTable??TYPE?FILETABLE,
????????l_rlt????????TYPE?C.

??data:l_line?type?CHAR01.

??DATA:L_LEN??TYPE?I,
???????STR????TYPE?STRING,
???????G_FILE?TYPE?RLGRAP-FILENAME,
???????ITAB???TYPE?HRPFDNL_T_EXCEL.

??DATA?WA_ITAB?LIKE?LINE?OF?ITAB.

*??P_RtnCode?=?-1.
??G_DataFile?=?F_INFILE.

??l_rlt?=?CL_GUI_FRONTEND_SERVICES=>FILE_EXIST(?G_DataFile?).

??IF?l_rlt?IS?INITIAL.
????MESSAGE?E000(ZHRIS_PA015).
????EXIT.
??ENDIF.
*??P_RtnCode?=?0.
??DATA:FROM?TYPE?I,
???????TO???TYPE?I.

??L_LEN?=?STRLEN(?F_INFILE?).
??FROM?=?0?-?(?4?-?L_LEN?).
??TO???=?L_LEN?-?FROM.
??STR?=?F_INFILE+FROM(TO)?.
??CASE?STR.
????WHEN?'.TXT'?OR?'.txt'.
*?Upload?the?file?txt

??????CALL?FUNCTION?'GUI_UPLOAD'
????????EXPORTING
??????????FILENAME????????????????=?G_DataFile
??????????FILETYPE????????????????=?'ASC'
*??????HAS_FIELD_SEPARATOR?????=?'O'
??????????READ_BY_LINE????????????=?'X'
????????TABLES
??????????DATA_TAB????????????????=?TAB_DATA
????????EXCEPTIONS
??????????CONVERSION_ERROR????????=?1
??????????FILE_OPEN_ERROR?????????=?2
??????????FILE_READ_ERROR?????????=?3
??????????INVALID_TYPE????????????=?4
??????????NO_BATCH????????????????=?5
??????????UNKNOWN_ERROR???????????=?6
??????????INVALID_TABLE_WIDTH?????=?7
??????????GUI_REFUSE_FILETRANSFER?=?8
??????????CUSTOMER_ERROR??????????=?9
??????????DP_OUT_OF_MEMORY????????=?10
??????????ACCESS_DENIED???????????=?11.

??????IF?SY-SUBRC?<>?0.
????????MESSAGE?E001(ZHRIS_PA015)?WITH?SY-TABIX.
*????P_RtnCode?=?-1.
??????ENDIF.

????WHEN?'.xls'?OR?'.XLS'.
****發現此處是一個盲點,整理出來以備后用??ZHENGZJ?2011.11.18??不知道是否有更好的方法可以使用,空了再研究一下
**歡迎學習??版權所有,違者必究?O(∩_∩)O哈哈~
??????G_FILE?=?F_INFILE.
??????CALL?FUNCTION?'HR_PK_EXCEL_TO_INTERNAL_TABLE'
????????EXPORTING
??????????FILENAME????????????????=?G_FILE
??????????I_BEGIN_COL?????????????=?1
??????????I_BEGIN_ROW?????????????=?1
??????????I_END_COL???????????????=?10
??????????I_END_ROW???????????????=?10
????????CHANGING
??????????INTERN??????????????????=?ITAB
????????EXCEPTIONS
??????????INCONSISTENT_PARAMETERS?=?1
??????????UPLOAD_OLE??????????????=?2
??????????OTHERS??????????????????=?3.
??????IF?SY-SUBRC?<>?0.
*???????MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
*???????????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
??????ENDIF.

??????SORT?itab?BY?row.

??????DATA:?descr_ref?TYPE?REF?TO?cl_abap_structdescr.
??????FIELD-SYMBOLS:?<field_name>????TYPE?abap_compdescr.
??????DATA:xfc????????TYPE?lvc_s_fcat,???????????????????????"列結構
???????????ifc????????TYPE?lvc_t_fcat.???????????????????????"列內表
??????DATA?INDEX?TYPE?I?VALUE?1.

??????descr_ref??=?cl_abap_typedescr=>describe_by_data(?TAB_DATA?).
??????LOOP?AT?descr_ref->components?ASSIGNING?<field_name>.
????????xfc-fieldname?=?<field_name>-name.
????????xfc-decimals??=?<field_name>-decimals.
????????xfc-inttype???=?<field_name>-type_kind.
????????xfc-COL_POS???=?INDEX.
????????APPEND?xfc?TO?ifc.
????????INDEX?=?INDEX?+?1.
??????ENDLOOP.

??????DATA:?L_NAME??TYPE?STRING.

??????FIELD-SYMBOLS:?<FS_FIELD>?TYPE?ANY.???????"字段(值)

??????LOOP?AT?ITAB?INTO?WA_ITAB.
????????READ?TABLE?IFC?INTO?xfc?WITH?KEY?COL_POS?=?WA_ITAB-COL.
????????l_name?=?xfc-fieldname.
????????ASSIGN?COMPONENT?L_NAME?OF?STRUCTURE?TAB_DATA?TO?<FS_FIELD>.
????????<FS_FIELD>?=?WA_ITAB-value.
????????AT?END?OF?row.
??????????APPEND?TAB_DATA.
??????????CLEAR?TAB_DATA.
????????ENDAT.
??????ENDLOOP.
????WHEN?OTHERS.
??ENDCASE.

??DATA:L_ID(19)????TYPE?C,
???????L_STEXT(50)?TYPE?C.
??SORT?TAB_DATA?BY?ID?DESCENDING.
??LOOP?AT?TAB_DATA?FROM?2.
????IF?TAB_DATA-ID?=?L_ID?AND?TAB_DATA-STEXT?=?L_STEXT.
??????MOVE-CORRESPONDING?TAB_DATA?to?out_data.
??????append?out_data.
??????clear??out_data.
??????PERNR_LIST-pernr?=?TAB_DATA-pernr.
??????append?PERNR_LIST.
??????clear??PERNR_LIST.
????else.
??????CLEAR:?l_id,?l_stext.
??????L_ID?=?TAB_DATA-ID.
??????L_STEXT?=?TAB_DATA-STEXT.
????endif.
??ENDLOOP.

??SORT?out_data?by?pernr.

??SORT?PERNR_LIST?by?pernr.
??delete?ADJACENT?DUPLICATES?FROM?PERNR_LIST.

??data:lin?type?i.
??DESCRIBE?TABLE?PERNR_LIST?lines?lin.
??write?lin.

ENDFORM.????????????????????"?UPLOAD

轉載于:https://www.cnblogs.com/purehunter/archive/2012/01/30/2331850.html

總結

以上是生活随笔為你收集整理的上载数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。