SAP万能导入程序_第1页
SAP万能导入程序_第2页
SAP万能导入程序_第3页
SAP万能导入程序_第4页
SAP万能导入程序_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SAP万能导入程序 Author:SUNZK QQ:1131341075REPORT YMPSRIMPORTING MESSAGE-ID YMTT.INCLUDE OLE2INCL.INCLUDE Z_BATCHIMPORT_TOP.INCLUDE Z_BATCHIMPORT_SCR.INCLUDE Z_BATCHIMPORT_F01.AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.  PERFORM

2、0;GET_FILENAME_ON_F4 USING P_FILE.AT SELECTION-SCREEN OUTPUT.AT SELECTION-SCREEN.START-OF-SELECTION.  IF P_FILE IS INITIAL.    MESSAGE '请输入文件路径!' TYPE 'S' DISPLAY LIKE 'E'.

3、0; ELSE.    DATA:LV_MSG TYPE C.    DATA:LV_FILE TYPE STRING.    LV_FILE = P_FILE.    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST      EXP

4、ORTING        FILE                 = LV_FILE      RECEIVING        RESULT    

5、60;          = LV_MSG      EXCEPTIONS        CNTL_ERROR           = 1       

6、0;ERROR_NO_GUI         = 2        WRONG_PARAMETER      = 3        NOT_SUPPORTED_BY_GUI = 4      

7、;  OTHERS               = 5.    IF SY-SUBRC <> 0.    ENDIF.    IF LV_MSG IS INITIAL.     

8、 MESSAGE '文件不存在' TYPE 'S'.    ELSE.      CLEAR:GV_MESSAGE.      "获取到EXCEL的 SHEET页名      PERFORM GET_SHEETNAMES.    

9、0; "检查SHEET页名对应的表是否存在(并且仅允许操作Y,Z开头的自建表)      PERFORM CHECK_TABLE_NAME CHANGING GV_MESSAGE.      IF GV_MESSAGE IS NOT INITIAL.        MESSAGE GV_MESSAG

10、E TYPE 'S' DISPLAY LIKE 'E'.        STOP.      ENDIF.      "根据SHEET页表名 生成其表结构对应的动态内表      PERFORM CREATE_DYNAMIC_T

11、ABLE.      "根据表结构 生成 ALV字段列表      PERFORM CREATE_ALV_FCAT.      "上载EXCEL数据到内表      PERFORM UPLOAD_DATA_FROM_EXCEL.      

12、"填充状态栏上 按钮动态文本、初始状态、标题等。      PERFORM FILL_BUTTON_TEXT.      "数据屏幕      CALL SCREEN 1001.    ENDIF.  ENDIF.TYPES:BEGIN OF TY_BUTTON, &#

13、160;      BT01 TYPE CHAR30,        BT02 TYPE CHAR30,        BT03 TYPE CHAR30,        BT04 TYPE CHAR30, &#

14、160;      BT05 TYPE CHAR30,        BT06 TYPE CHAR30,        BT07 TYPE CHAR30,        BT08 TYPE CHAR30, &#

15、160;      BT09 TYPE CHAR30,        BT10 TYPE CHAR30,      END OF TY_BUTTON."按钮文本结构,十个按钮TYPES:BEGIN OF TY_SHEETNAME,      

16、0; SHEETNAME TYPE CHAR30,      END OF TY_SHEETNAME."EXCEL sheet页DATA:GS_BUTTON TYPE TY_BUTTON."BUTTON 描述DATA:GV_TITLE TYPE STRING."用于标识 当前状态下的 标题DATA:GV_SCR1001_MODE TYPE CHAR30.&q

17、uot;用于标识 当前屏幕的状态DATA:GV_CURRENT_TABLE TYPE CHAR30."用于记录当前 数据表名DATA:GT_SHEETNAME TYPE STANDARD TABLE OF TY_SHEETNAME."SHEET页名 内表"动态内表定义DATA:DYN_TABLE01 TYPE REF TO DATA,     DYN_TABLE02 

18、TYPE REF TO DATA,     DYN_TABLE03 TYPE REF TO DATA,     DYN_TABLE04 TYPE REF TO DATA,     DYN_TABLE05 TYPE REF TO DATA,     D

19、YN_TABLE06 TYPE REF TO DATA,     DYN_TABLE07 TYPE REF TO DATA,     DYN_TABLE08 TYPE REF TO DATA,     DYN_TABLE09 TYPE REF TO DATA,  

20、60;  DYN_TABLE10 TYPE REF TO DATA."动态内表指针FIELD-SYMBOLS: <DYN_TABLE01> TYPE STANDARD TABLE,               <DYN_TABLE02> TYPE STANDARD TABLE,

21、0;              <DYN_TABLE03> TYPE STANDARD TABLE,               <DYN_TABLE04> TYPE STANDARD TABLE,  &#

22、160;            <DYN_TABLE05> TYPE STANDARD TABLE,               <DYN_TABLE06> TYPE STANDARD TABLE,    

23、           <DYN_TABLE07> TYPE STANDARD TABLE,               <DYN_TABLE08> TYPE STANDARD TABLE,     

24、0;         <DYN_TABLE09> TYPE STANDARD TABLE,               <DYN_TABLE10> TYPE STANDARD TABLE."ALV字段内表DATA:GT_FCAT01 TYPE L

25、VC_T_FCAT,     GT_FCAT02 TYPE LVC_T_FCAT,     GT_FCAT03 TYPE LVC_T_FCAT,     GT_FCAT04 TYPE LVC_T_FCAT,     GT_FCAT05 TYPE LVC_T_FCAT,    &#

26、160;GT_FCAT06 TYPE LVC_T_FCAT,     GT_FCAT07 TYPE LVC_T_FCAT,     GT_FCAT08 TYPE LVC_T_FCAT,     GT_FCAT09 TYPE LVC_T_FCAT,     GT_FCAT10 TYPE LVC_T_F

27、CAT.DATA:GV_MESSAGE TYPE CHAR255."ALV、容器对象定义DATA:GO_ALV_GRID         TYPE REF TO CL_GUI_ALV_GRID,     GO_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.CONSTANTS:CNS_CONTAINE

28、R TYPE CHAR50 VALUE 'CONTAINER_ALV'.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.PARAMETERS: p_file LIKE rlgrap-filename MEMORY ID m01."上传文件路径PARAMETERS: p1 RADIOBUTTON

29、60;GROUP g1,              "原样数据 上传            p2 RADIOBUTTON GROUP g1 DEFAULT 'X'.  "外码转换到内码后 上传SELECT

30、ION-SCREEN END OF BLOCK b1.*&-*&  包含                Z_BATCHIMPORT_F01*&-*&-*&      Form  SET_STATUS_1001*&-*   

31、    设置1001屏幕状态栏*-*FORM SET_STATUS_1001 .  DATA:LT_EXCLUDE TYPE UI_FUNCTIONS,       LS_EXCLUDE TYPE UI_FUNC.  REFRESH:LT_EXCLUDE.  "用于测试时  方便删除 数据,其他情况屏蔽删除按钮 

32、60;IF SY-MANDT EQ '123' AND ( SY-UNAME EQ 'AB_GENGJH' OR SY-UNAME EQ 'TEST823' ).  ELSE.    LS_EXCLUDE = 'DELETE'.    APPEND LS_EXCLUDE

33、60;TO LT_EXCLUDE.  ENDIF.  SET PF-STATUS 'STATUS_1001' EXCLUDING LT_EXCLUDE.  SET TITLEBAR 'TITLE_1001' WITH GV_TITLE.ENDFORM.              

34、;      " SET_STATUS_1001*&-*&      Form  PROCESS_USER_COMMAND_1001*&-*       处理1001屏幕按钮事件*-*FORM PROCESS_USER_COMMAND_1001 .  DATA:LV_LINES TYPE

35、0;I.  DATA:LS_SHEETNAME TYPE TY_SHEETNAME.  DATA:LV_ANSWER TYPE C.  DEFINE CHANGE_DATA_STATU."根据按钮切换 当前数据    clear:gv_title.    describe table &1 lines lv_lines. 

36、0;  gv_title = lv_lines.    read table gt_sheetname into ls_sheetname index &2.    concatenate '当前表:' ls_sheetname-sheetname ' , 条目数:' gv_title into g

37、v_title.    gv_scr1001_mode = sy-ucomm.    gv_current_table = ls_sheetname-sheetname.  END-OF-DEFINITION.  CASE SY-UCOMM.    WHEN 'BACK' OR 'EXIT'.   

38、;   LEAVE TO SCREEN 0.    WHEN 'CANCEL'.      LEAVE PROGRAM.    WHEN 'BT01'.      CHANGE_DATA_STATU <DYN_TABLE01> 1. &

39、#160;  WHEN 'BT02'.      CHANGE_DATA_STATU <DYN_TABLE02> 2.    WHEN 'BT03'.      CHANGE_DATA_STATU <DYN_TABLE03> 3.    WHEN 

40、9;BT04'.      CHANGE_DATA_STATU <DYN_TABLE04> 4.    WHEN 'BT05'.      CHANGE_DATA_STATU <DYN_TABLE05> 5.    WHEN 'BT06'.   

41、   CHANGE_DATA_STATU <DYN_TABLE06> 6.    WHEN 'BT07'.      CHANGE_DATA_STATU <DYN_TABLE07> 7.    WHEN 'BT08'.      CHANGE_DATA_

42、STATU <DYN_TABLE08> 8.    WHEN 'BT09'.      CHANGE_DATA_STATU <DYN_TABLE09> 9.    WHEN 'BT10'.      CHANGE_DATA_STATU <DYN_TABLE10>

43、 10.    WHEN 'IMPORT'.      CLEAR:LV_ANSWER.      "弹出确认框      PERFORM POPUP_TO_CONFIRM CHANGING LV_ANSWER.      IF LV

44、_ANSWER EQ '1'.        "导入数据        PERFORM IMPORT_DATA_TO_DBTABLE.      ENDIF.    WHEN 'DELETE'."用于部分账号在 测试时 清空数据

45、      DELETE FROM (GV_CURRENT_TABLE).      COMMIT WORK AND WAIT.    WHEN OTHERS.  ENDCASE.  "释放ALV对象  PERFORM FREE_ALV_OBJECT.  CLEAR:SY-UCO

46、MM.ENDFORM.                    " PROCESS_USER_COMMAND_1001*&-*&      Form  get_sheetnames*&-*       获取上

47、载EXCEL的 SHEET页名称*-*FORM GET_SHEETNAMES.  DATA: APPLICATION TYPE OLE2_OBJECT,        BOOK        TYPE OLE2_OBJECT,        SHEET  &#

48、160;    TYPE OLE2_OBJECT .  DATA:LV_SHEETCOUNT TYPE I,       LV_INDEX      TYPE SY-INDEX.  DATA:LS_SHEETNAME TYPE TY_SHEETNAME.  REFRESH:GT_SHEETNAME.

49、  CREATE OBJECT APPLICATION 'Excel.Application'.  SET PROPERTY OF APPLICATION  'Visible' = 0 .  CALL METHOD OF    APPLICATION      'Wor

50、kbooks' = BOOK.  CALL METHOD OF    BOOK    'Open'    EXPORTING      #1 = P_FILE.  CALL METHOD OF    APPLICATION &

51、#160;    'WORKSHEETS' = SHEET.  GET PROPERTY OF SHEET 'COUNT' = LV_SHEETCOUNT.  DO LV_SHEETCOUNT TIMES.    LV_INDEX = SY-INDEX.    CLEAR:LS_SHEE

52、TNAME.    CALL METHOD OF        APPLICATION        'WORKSHEETS' = SHEET      EXPORTING        #1 

53、          = LV_INDEX.    GET PROPERTY OF SHEET 'NAME' = LS_SHEETNAME-SHEETNAME .    TRANSLATE LS_SHEETNAME-SHEETNAME TO UPPER CASE.  

54、;  APPEND LS_SHEETNAME TO GT_SHEETNAME.  ENDDO.  GET PROPERTY OF APPLICATION 'ActiveWorkbook' = BOOK .*  CALL METHOD OF book 'SAVE' .  CALL METHOD OF

55、    BOOK    'close'.  CALL METHOD OF    APPLICATION    'QUIT'.ENDFORM.                   

56、 "get_sheetnames*&-*&      Form  CHECK_TABLE_NAME*&-*       以页签名 检查 数据表是否存在,不存在则报错*       若操作表 不是 Z/Y 开头的,则报错。*-*FORM CHECK_TABLE_NAME

57、0; CHANGING PV_MESSAGE TYPE CHAR255.  DATA:LS_SHEETNAME TYPE TY_SHEETNAME,       LS_DD02T     TYPE DD02T.  LOOP AT GT_SHEETNAME INTO LS_SHEETNAME.   &

58、#160;IF LS_SHEETNAME-SHEETNAME(1) NE 'Z' AND LS_SHEETNAME-SHEETNAME(1) NE 'Y'.      CONCATENATE '不允许操作表<' LS_SHEETNAME-SHEETNAME        '>,请检查!'

59、60;INTO GV_MESSAGE.      RETURN.    ENDIF.    SELECT SINGLE * INTO LS_DD02T FROM DD02T      WHERE TABNAME = LS_SHEETNAME-SHEETNAME.   &

60、#160;IF SY-SUBRC NE 0.      CONCATENATE '不存在<' LS_SHEETNAME-SHEETNAME        '>页签对应的数据表,请检查!' INTO GV_MESSAGE.      RETURN.   &#

61、160;ENDIF.  ENDLOOP.ENDFORM.                    " CHECK_TABLE_NAME*&-*&      Form  FILL_BUTTON_TEXT*&-*    &

62、#160;  根据SHEET页名 填充 状态栏上 按钮名*-*FORM FILL_BUTTON_TEXT .  DATA:LV_LINES TYPE I.  DATA:LS_SHEETNAME TYPE TY_SHEETNAME.  DATA:LV_TABIX TYPE SY-TABIX.  CLEAR:GS_BUTTON,GV_TITLE.  CLEAR:GV_SC

63、R1001_MODE.  LOOP AT GT_SHEETNAME INTO LS_SHEETNAME.    LV_TABIX = SY-TABIX.    CASE LV_TABIX.      WHEN 1.        GS_BUTTON-BT01 =

64、0;LS_SHEETNAME-SHEETNAME.        GV_SCR1001_MODE = 'BT01'.        GV_CURRENT_TABLE = LS_SHEETNAME-SHEETNAME.        DESCRIBE TABLE <DYN_TAB

65、LE01> LINES LV_LINES.        GV_TITLE = LV_LINES.        CONCATENATE '当前表:' LS_SHEETNAME-SHEETNAME ' , 条目数:' GV_TITLE INTO GV_TITLE. 

66、60;    WHEN 2.        GS_BUTTON-BT02 = LS_SHEETNAME-SHEETNAME.      WHEN 3.        GS_BUTTON-BT03 = LS_SHEETNAME-SHEETNAME.   

67、;   WHEN 4.        GS_BUTTON-BT04 = LS_SHEETNAME-SHEETNAME.      WHEN 5.        GS_BUTTON-BT05 = LS_SHEETNAME-SHEETNAME.    &

68、#160; WHEN 6.        GS_BUTTON-BT06 = LS_SHEETNAME-SHEETNAME.      WHEN 7.        GS_BUTTON-BT07 = LS_SHEETNAME-SHEETNAME.     

69、60;WHEN 8.        GS_BUTTON-BT08 = LS_SHEETNAME-SHEETNAME.      WHEN 9.        GS_BUTTON-BT09 = LS_SHEETNAME-SHEETNAME.      WHEN&

70、#160;10.        GS_BUTTON-BT10 = LS_SHEETNAME-SHEETNAME.      WHEN OTHERS.    ENDCASE.  ENDLOOP.ENDFORM.             

71、60;      " FILL_BUTTON_TEXT*&-*&      Form  GET_FILENAME_ON_F4*&-*       文件路径搜索帮助*-*FORM GET_FILENAME_ON_F4 CHANGING PV_NAME TYPE LOCALFILE. &#

72、160;CALL FUNCTION 'KD_GET_FILENAME_ON_F4'    EXPORTING*     PROGRAM_NAME  = SYST-REPID*     DYNPRO_NUMBER = SYST-DYNNR*     FIELD_NAME    =

73、60;' '      STATIC    = 'X'*     MASK      = ' '    CHANGING      FILE_NAME = PV_NAME.ENDFO

74、RM.                    " GET_FILENAME_ON_F4*&-*&      Form  CREATE_DYNAMIC_TABLE*&-*       创建动态内表*-*FOR

75、M CREATE_DYNAMIC_TABLE .  DATA:LO_STRUC TYPE REF TO CL_ABAP_STRUCTDESCR,       LO_TABLE TYPE REF TO CL_ABAP_TABLEDESCR.  DATA:LS_SHEETNAME TYPE TY_SHEETNAME.  DATA:LV_TABIX

76、60;TYPE SY-TABIX.  LOOP AT GT_SHEETNAME INTO LS_SHEETNAME.    LV_TABIX = SY-TABIX.    LO_STRUC ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( LS_SHEETNAME-SHEETNAME ).    LO_TABLE

77、 ?= CL_ABAP_TABLEDESCR=>CREATE( P_LINE_TYPE = LO_STRUC ).    CASE LV_TABIX.      WHEN 1.        CREATE DATA DYN_TABLE01 TYPE HANDLE LO_TABLE.&

78、#160;       ASSIGN DYN_TABLE01->* TO <DYN_TABLE01>.      WHEN 2.        CREATE DATA DYN_TABLE02 TYPE HANDLE LO_TABLE.    

79、    ASSIGN DYN_TABLE02->* TO <DYN_TABLE02>.      WHEN 3.        CREATE DATA DYN_TABLE03 TYPE HANDLE LO_TABLE.        

80、;ASSIGN DYN_TABLE03->* TO <DYN_TABLE03>.      WHEN 4.        CREATE DATA DYN_TABLE04 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE0

81、4->* TO <DYN_TABLE04>.      WHEN 5.        CREATE DATA DYN_TABLE05 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE05->* TO &l

82、t;DYN_TABLE05>.      WHEN 6.        CREATE DATA DYN_TABLE06 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE06->* TO <DYN_TABLE06>. 

83、;     WHEN 7.        CREATE DATA DYN_TABLE07 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE07->* TO <DYN_TABLE07>.    

84、0; WHEN 8.        CREATE DATA DYN_TABLE08 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE08->* TO <DYN_TABLE08>.      WHEN 9.

85、60;       CREATE DATA DYN_TABLE09 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE09->* TO <DYN_TABLE09>.      WHEN 10.    &

86、#160;   CREATE DATA DYN_TABLE10 TYPE HANDLE LO_TABLE.        ASSIGN DYN_TABLE10->* TO <DYN_TABLE10>.      WHEN OTHERS.    ENDCASE.  

87、;  CLEAR:LS_SHEETNAME.  ENDLOOP.ENDFORM.                    " CREATE_DYNAMIC_TABLE*&-*&      Form  upload_data_from_excel*

88、&-*       分SHEET页签上载EXCEL 数据*-*FORM UPLOAD_DATA_FROM_EXCEL .  DATA:LS_SHEETNAME TYPE TY_SHEETNAME.  DATA:LV_TABIX TYPE SY-TABIX.  LOOP AT GT_SHEETNAME INTO LS_SHEETNAME. &

89、#160;  LV_TABIX = SY-TABIX.    CASE LV_TABIX.      WHEN 1.*        PERFORM convert_to_internal_table TABLES <dyn_table01> USING ls_sheetname-sheetnam

90、e.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE01> USING LS_SHEETNAME-SHEETNAME.      WHEN 2.*        PERFORM convert_to_internal_t

91、able TABLES <dyn_table02> USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE02> USING LS_SHEETNAME-SHEETNAME.      WHEN 3.*

92、60;       PERFORM convert_to_internal_table TABLES <dyn_table03> USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE03> USING&#

93、160;LS_SHEETNAME-SHEETNAME.      WHEN 4.*        PERFORM convert_to_internal_table TABLES <dyn_table04> USING ls_sheetname-sheetname.        PERFORM 

94、CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE04> USING LS_SHEETNAME-SHEETNAME.      WHEN 5.*        PERFORM convert_to_internal_table TABLES <dyn_table05> USING ls_sh

95、eetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE05> USING LS_SHEETNAME-SHEETNAME.      WHEN 6.*        PERFORM conve

96、rt_to_internal_table TABLES <dyn_table06> USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE06> USING LS_SHEETNAME-SHEETNAME.      

97、WHEN 7.*        PERFORM convert_to_internal_table TABLES <dyn_table07> USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE07&

98、gt; USING LS_SHEETNAME-SHEETNAME.      WHEN 8.*        PERFORM convert_to_internal_table TABLES <dyn_table08> USING ls_sheetname-sheetname.       

99、60;PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE08> USING LS_SHEETNAME-SHEETNAME.      WHEN 9.*        PERFORM convert_to_internal_table TABLES <dyn_table09> 

100、USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE09> USING LS_SHEETNAME-SHEETNAME.      WHEN 10.*        P

101、ERFORM convert_to_internal_table TABLES <dyn_table10> USING ls_sheetname-sheetname.        PERFORM CONVERT_TO_INTERNAL_TABLE_NEW TABLES <DYN_TABLE10> USING LS_SHEETNAME-SHEETNAME.   &

102、#160;  WHEN OTHERS.    ENDCASE.  ENDLOOP.ENDFORM.                    " upload_data_from_excel*&-*&      For

103、m  convert_to_internal_table_new*&-*       原上载EXCEL数据的函数 ZZALSM_EXCEL_TO_INTERNAL_TABLE*       在大数据量时,ZALSMEX_TABLINE结构的内表容量不够,并且速度慢*       计划改为 剪贴板的方式上载数据,待完成。*-*FORM

104、0;CONVERT_TO_INTERNAL_TABLE_NEW TABLES PT_DYNTABLE                                    USING PV_SHEETNAME&

105、#160;TYPE CHAR30.  DATA:EXCEL    TYPE OLE2_OBJECT,       SHEET    TYPE OLE2_OBJECT,       RANGE    TYPE OLE2_OBJECT,    

106、   CELL1    TYPE OLE2_OBJECT,       CELL2    TYPE OLE2_OBJECT,       WORKBOOK TYPE OLE2_OBJECT.  DATA:LV_SEPARATOR TYPE C.  T

107、YPES: BEGIN OF TY_EXCEL,           TEXT TYPE C LENGTH 10000 ,         END   OF TY_EXCEL.  TYPES: BEGIN OF TY_COL,&#

108、160;          VALUE TYPE C LENGTH 10000 ,         END   OF TY_COL.  DATA:LV_ENDROW    TYPE I,     &#

109、160;                    "结束行       LV_BEGINROW  TYPE I,               

110、         "起始行       LV_ADDEDROWS TYPE I.                       "增加行数  DATA:

111、LT_EXCEL TYPE STANDARD TABLE OF TY_EXCEL,       LS_EXCEL TYPE                   TY_EXCEL.  DATA:LT_COL TYPE STANDARD

112、0;TABLE OF TY_COL,       LS_COL TYPE                   TY_COL.  DATA:LT_COMP TYPE         ABAP_

113、COMPDESCR_TAB,                " 表结构字段内表       LS_COMP LIKE LINE OF LT_COMP.  DATA:LT_DFIES TYPE STANDARD TABLE OF DFIES,

114、           " 字段信息内表       LS_DFIES TYPE                   DFIES.  DATA:LV_COL  &

115、#160;TYPE I,"用于记录字段序号       LV_TABIX TYPE SY-TABIX.  DATA:LO_STRUC TYPE REF TO CL_ABAP_STRUCTDESCR. "结构对象  DATA:DYN_WA TYPE REF TO DATA.                "动态工作区  FIELD-SYMBOLS:<DYN_FIELD> TYPE ANY,             "动态字段指针      

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论