• HR-部门内部调动报表



    *&---------------------------------------------------------------------*
    *& Report  ZHRPA038
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*

    REPORT ZHRPA038.
    TABLES:PERNR.
    INFOTYPES:0000,0001,0002.
    INFOTYPES:0008.

    TYPES:BEGIN OF TY_RESULT,
            CHANGE_TYPE TYPE C LENGTH 30"异动类型
            DTEXT       TYPE UTEXT,       "变动范围  Add by xpf 20160506
            SITE_YN     TYPE C LENGTH 6,    "SITE是否变更  Add by cx 20160106
            GO_OR_NOT   TYPE C LENGTH 6,  "是否需要改签合同
            BEGDA       TYPE PA0001-BEGDA"生效日期
            SAP_NUMBER  TYPE PA0001-PERNR"SAP编号
            NUMBER      TYPE C LENGTH 20"工号    “根据SAP编号从IT0002取出调动后原工号
            ENAME       TYPE PA0001-ENAME"姓名
            FIRST_NAME  TYPE C LENGTH 10"姓拼音
            LAST_NAME   TYPE C LENGTH 30"名拼音
            NEW_SITE    TYPE C LENGTH 40,    "现SITE  Add by cx 20160106 (根据调动后人事范围对应调动后SITE)
            NEW_HETONG  TYPE C LENGTH 40"现劳动合同
            NEW_OBJID_1 TYPE C LENGTH 40"现一级部门
            NEW_OBJID_2 TYPE C LENGTH 40"现二级部门
            NEW_OBJID_3 TYPE C LENGTH 40"现三级部门
            NEW_OBJID_4 TYPE C LENGTH 40"现四级部门
            NEW_OBJID_5 TYPE C LENGTH 40"现部门编码
            NEW_PLANS   TYPE C LENGTH 80"现职位
            ZZ_BZ       TYPE C LENGTH 40,    "备注    Add by cx 20160106 (P0008-ZZ_BZ)
            ZZ_ORI_NO   TYPE C LENGTH 40,    "原工号  Add by cx 20160106 (P0002-ZZ_ORI_NO)
            OLD_SITE    TYPE C LENGTH 40,    "原SITE  Add by cx 20160106 (Site划分配置表:Z02_T_DEPTSITE)[???]
            OLD_HETONG  TYPE C LENGTH 40"原劳动合同公司
            OLD_OBJID_1 TYPE C LENGTH 40"原一级部门
            OLD_OBJID_2 TYPE C LENGTH 40"原二级部门
            OLD_OBJID_3 TYPE C LENGTH 40"原三级部门
            OLD_OBJID_4 TYPE C LENGTH 40"原四级部门
            OLD_PLANS   TYPE C LENGTH 80"原职位
          END OF TY_RESULT.
    DATA:G_O1 TYPE HRP1000-SHORT,
         G_O2 TYPE HRP1000-SHORT,
         G_O3 TYPE HRP1000-SHORT,
         G_O4 TYPE HRP1000-SHORT.
    DATA:GT_RESULT TYPE STANDARD TABLE OF TY_RESULT,
         GW_RESULT TYPE TY_RESULT.
    DATA:GT_T530T TYPE STANDARD TABLE OF T530T,
         GW_T530T TYPE T530T,
         GT_T588T TYPE STANDARD TABLE OF T588T,   "Add by xpf 20160506
         GW_T588T TYPE T588T,                     "Add by xpf 20160506
         GT_T500P TYPE STANDARD TABLE OF T500P,
         GW_T500P TYPE T500P.
    DATA:G_DAT LIKE SY-DATUM.
    DATA:GW_P0001 TYPE P0001.
    DATA:GDF_PATH     TYPE STRING"add by shikai.liao
         GDF_FILENAME TYPE STRING,
         GDF_FULLPATH TYPE STRING.

    INITIALIZATION.

    AT SELECTION-SCREEN OUTPUT.

    START-OF-SELECTION.
      SELECT *
        FROM T500P
      INTO CORRESPONDING FIELDS OF TABLE GT_T500P.
      IF SY-LANGU '1'.
        SELECT *
          FROM T530T
          INTO CORRESPONDING FIELDS OF TABLE GT_T530T
          WHERE ( MASSN 'ZC' OR MASSN 'ZS' OR MASSN 'ZT' )  "Add by xpf 20160318增加跨薪资范围调动
            AND SPRSL = SY-LANGU.
    *&->add by cx 20170106 增加“ZA员工雇用”且操作原因为“A1 TCL内调”的员工
        SELECT *
          FROM T530T
     APPENDING CORRESPONDING FIELDS OF TABLE GT_T530T
         WHERE MASSN 'ZA'
           AND MASSG 'A1'
           AND SPRSL = SY-LANGU.
    *&->end add.
      ELSE.
        SELECT *
        FROM T530T
        INTO CORRESPONDING FIELDS OF TABLE GT_T530T
        WHERE ( MASSN 'ZC' OR MASSN 'ZS' OR MASSN 'ZT' )  "Add by xpf 20160318增加跨薪资范围调动
        AND SPRSL 'E'.
    *&->add by cx 20170106 增加“ZA员工雇用”且操作原因为“A1 TCL内调”的员工
        SELECT *
          FROM T530T
     APPENDING CORRESPONDING FIELDS OF TABLE GT_T530T
         WHERE MASSN 'ZA'
           AND MASSG 'A1'
           AND SPRSL 'E'.
    *&->end add.

    *&+get SITE.

      ENDIF.
    *-------------Add by xpf 20160506取变动范围文本----------------*Begin
      CLEAR GT_T588T.
      IF SY-LANGU '1'.
        SELECT *
          FROM T588T
          INTO CORRESPONDING FIELDS OF TABLE GT_T588T
          WHERE SPRSL = SY-LANGU
            AND MNTYP 'G'
            AND ( MENUE 'ZC' OR MENUE 'ZS' OR MENUE 'ZT'   OR MENUE 'ZA')."add by cx on 20160107 add员工雇用操作取值
      ELSE.
        SELECT *
        FROM T588T
        INTO CORRESPONDING FIELDS OF TABLE GT_T588T
        WHERE SPRSL 'E'
            AND MNTYP 'G'
            AND ( MENUE 'ZC' OR MENUE 'ZS' OR MENUE 'ZT'   OR MENUE 'ZA')."add by cx on 20160107 add员工雇用操作取值
      ENDIF.
    *-------------Add by xpf 20160506取变动范围文本----------------*End
      GET PERNR.
      SORT P0000[] BY BEGDA.
    *--------Modified by xpf 20160318---------*Begin
      DELETE  P0000[] WHERE MASSN NE 'ZC' AND MASSN NE 'ZS' AND MASSN NE 'ZT' AND  MASSN NE 'ZA'."AND MASSG NE 'A1' ).
    *&->add
      DELETE  P0000[] WHERE MASSN 'ZA' AND MASSG NE 'A1' .

      DELETE  P0000[] WHERE BEGDA < PN-BEGDA OR BEGDA > PN-ENDDA .
    *  DELETE  p0000[] WHERE massn <> 'ZC' OR ( begda < pn-begda OR begda > pn-endda ).
    *--------Modified by xpf 20160318---------*End
      LOOP AT P0000.
        READ TABLE GT_T530T INTO GW_T530T WITH KEY MASSG = P0000-MASSG.
        IF SY-SUBRC EQ 0.
          GW_RESULT-CHANGE_TYPE = GW_T530T-MGTXT.
        ENDIF.
    *-------------Add by xpf 20160506取变动范围文本----------------*Begin
        CLEAR GW_T588T.
        READ TABLE GT_T588T INTO GW_T588T WITH KEY MENUE = P0000-MASSN.
        IF SY-SUBRC EQ 0.
          GW_RESULT-DTEXT = GW_T588T-DTEXT.
        ENDIF.
    *-------------Add by xpf 20160506取变动范围文本----------------*End
        GW_RESULT-BEGDA = P0000-BEGDA.
        G_DAT = P0000-BEGDA 1.
        GW_RESULT-GO_OR_NOT 'N'.
    *&->Add cx xpf 20170106 SITE是否变更
        GW_RESULT-SITE_YN 'N'.
    *&->end add

        READ TABLE P0001 INTO GW_P0001 WITH KEY ENDDA = G_DAT.     
    IF SY-SUBRC EQ 0."之前的组织信息       
    CLEAR:G_O4,G_O3,G_O2,G_O1.       
    CALL FUNCTION 'ZHR_GET_STRUC'         
    EXPORTING           ORGEH  
    = GW_P0001-ORGEH           BEGDA  
    = GW_P0001-ENDDA           ENDDA  
    = GW_P0001-ENDDA         
    IMPORTING           SHORT1 
    = G_O1           SHORT2 
    = G_O2           SHORT3 
    = G_O3           SHORT4 
    = G_O4.       GW_RESULT
    -OLD_OBJID_1 = G_O1.       GW_RESULT
    -OLD_OBJID_2 = G_O2.       GW_RESULT
    -OLD_OBJID_3 = G_O3.       GW_RESULT
    -OLD_OBJID_4 = G_O4.       
    "取得长文本(职位)       
    SELECT SINGLE STEXT         
    INTO GW_RESULT-OLD_PLANS         
    FROM HRP1000         
    WHERE PLVAR '01'         
    AND OTYPE 'S'         
    AND OBJID = GW_P0001-PLANS         
    AND BEGDA <= G_DAT         
    AND ENDDA >= G_DAT       
    AND LANGU '1'.
    *&->add by cx on 20170106 +取得原SITE
    *PERSA  人事范围
    *BTRTL  人事子范围       
    SELECT SINGLE SITE         
    INTO GW_RESULT-OLD_SITE         
    FROM Z02_T_DEPTSITE        
    WHERE PERSA = GW_P0001-WERKS          
    AND BTRTL = GW_P0001-BTRTL          
    AND BEGDA <= G_DAT          
    AND ENDDA >= G_DAT.       

    READ TABLE GT_T500P INTO GW_T500P WITH KEY PERSA = GW_P0001-WERKS.       
    IF SY-SUBRC EQ 0.         GW_RESULT
    -OLD_HETONG = GW_T500P-NAME1.       
    ENDIF.       
    READ TABLE P0001 WITH KEY BEGDA = P0000-BEGDA."目前的信息       
    IF SY-SUBRC EQ 0.         

    CLEAR:G_O4,G_O3,G_O2,G_O1.         
    CALL FUNCTION 'ZHR_GET_STRUC'           
    EXPORTING             ORGEH  
    = P0001-ORGEH             BEGDA  
    = P0001-BEGDA             ENDDA  
    = P0001-BEGDA           
    IMPORTING             SHORT1 
    = G_O1             SHORT2 
    = G_O2             SHORT3 
    = G_O3             SHORT4 
    = G_O4.         GW_RESULT
    -NEW_OBJID_1 = G_O1.         GW_RESULT
    -NEW_OBJID_2 = G_O2.         GW_RESULT
    -NEW_OBJID_3 = G_O3.         GW_RESULT
    -NEW_OBJID_4 = G_O4.         GW_RESULT
    -NEW_OBJID_5 = P0001-ORGEH.
    *& 现职位         
    SELECT SINGLE STEXT      
    INTO GW_RESULT-NEW_PLANS      
    FROM HRP1000      
    WHERE PLVAR '01'      
    AND OTYPE 'S'      
    AND OBJID = P0001-PLANS      
    AND BEGDA <= P0001-BEGDA      
    AND ENDDA >= P0001-BEGDA    
    AND LANGU '1'.

    *&add by cx on 20160106 +现SITE         
    SELECT SINGLE SITE           
    INTO GW_RESULT-NEW_SITE           
    FROM Z02_T_DEPTSITE          
    WHERE PERSA = P0001-WERKS            
    AND BTRTL = P0001-BTRTL            
    AND BEGDA <= P0001-BEGDA            
    AND ENDDA >= P0001-BEGDA.
    * if GW_RESULT-SITE_NOW NE SPAEC.         
    IF GW_RESULT-NEW_SITE NE GW_RESULT-OLD_SITE.           GW_RESULT
    -SITE_YN 'Y'.         
    ELSE.           GW_RESULT
    -SITE_YN 'N'.         
    ENDIF.         

    READ TABLE GT_T500P INTO GW_T500P WITH KEY PERSA = P0001-WERKS.         
    IF SY-SUBRC EQ 0.           GW_RESULT
    -NEW_HETONG = GW_T500P-NAME1.           
    IF GW_P0001-WERKS <> P0001-WERKS.             GW_RESULT
    -GO_OR_NOT 'Y'.           
    ENDIF.         
    ENDIF.       
    ENDIF.     

    ENDIF.     

    LOOP AT P0002 WHERE BEGDA <= P0000-BEGDA AND ENDDA >= P0000-BEGDA.       GW_RESULT
    -SAP_NUMBER = P0000-PERNR.       GW_RESULT
    -ENAME = P0002-NACHN.       GW_RESULT
    -FIRST_NAME = P0002-INITS.       GW_RESULT
    -LAST_NAME = P0002-VORNA.       GW_RESULT
    -NUMBER = P0002-ZZ_ORI_NO.       
    EXIT.     
    ENDLOOP.

    *&->add by cx on 20170106 原工号
    *  GW_RESULT-ZZ_ORI_NO = P0002-ZZ_ORI_NO.     
    LOOP AT P0002 WHERE ENDDA <= P0000-BEGDA.       GW_RESULT
    -ZZ_ORI_NO = P0002-ZZ_ORI_NO.       
    EXIT.     
    ENDLOOP.
    * SELECT SINGLE
    *&->end add.

    *&->add by cx on 20170106 find 备注     
    LOOP AT P0008 WHERE BEGDA <= P0000-BEGDA AND ENDDA >= P0000-BEGDA.       GW_RESULT
    -ZZ_BZ = P0008-ZZ_BZ.       
    EXIT.     
    ENDLOOP.     

    APPEND GW_RESULT TO GT_RESULT.     
    CLEAR GW_RESULT.   

    ENDLOOP.


    END-OF-SELECTION.   
    PERFORM FRM_EXPORT_DATA.
    FORM FRM_EXPORT_DATA .   
    DATA:LDF_PATH TYPE LOCALFILE.   
    .   
    "弹出路径框   
    CLEAR: GDF_PATH,          GDF_FILENAME
    ,          GDF_FULLPATH
    .   
    PERFORM FRM_GET_PATH_038 CHANGING GDF_PATH GDF_FILENAME GDF_FULLPATH .   
    IF GDF_FULLPATH IS INITIAL .     
    MESSAGE '请选择要保存的文件夹和输入文件名' TYPE 'I'.   
    ELSE.     
    CLEAR LDF_PATH.     
    MOVE GDF_FULLPATH TO LDF_PATH.     

    PERFORM FRM_OUTPUT_EXCEL_38 TABLES GT_RESULT USING 'ZHRPA038' LDF_PATH .
    *    PERFORM FRM_OUTPUT_EXCEL_38 TABLES GT_RESULT USING 'zhrpa038_C1' LDF_PATH .   
    ENDIF.
    ENDFORM.                    " FRM_EXPORT_DATA

    FORM FRM_GET_PATH_038 CHANGING:FU_PATH                            FU_FILENAME                            FU_FULLPATH  

    .   


    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG     
    EXPORTING       WINDOW_TITLE              
    'Select Folder and Enter Filename to Save File'       DEFAULT_EXTENSION         
    'xls' "'xlsx'
    *     DEFAULT_FILE_NAME         =
    *     WITH_ENCODING             =       FILE_FILTER               
    '*.xls' "'*.xlsx'
    *     INITIAL_DIRECTORY         =
    *     PROMPT_ON_OVERWRITE       = 'X'     
    CHANGING       FILENAME                  
    = FU_FILENAME       PATH                      
    = FU_PATH       FULLPATH                  
    = FU_FULLPATH
    *     USER_ACTION               =
    *     FILE_ENCODING             =     
    EXCEPTIONS       CNTL_ERROR                
    1       ERROR_NO_GUI              
    2       NOT_SUPPORTED_BY_GUI      
    3       INVALID_DEFAULT_FILE_NAME 
    4       
    OTHERS                    5.   
    IF SY-SUBRC <> 0.
    *   Implement suitable error handling here   
    ENDIF.

    *   CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    *     EXPORTING
    *       WINDOW_TITLE         = 'Select Folder to Save File'
    *    CHANGING
    *       SELECTED_FOLDER      = gdf_path
    *     EXCEPTIONS
    *       CNTL_ERROR           = 1
    *       ERROR_NO_GUI         = 2
    *       NOT_SUPPORTED_BY_GUI = 3
    *       OTHERS               = 4.
    *   IF SY-SUBRC <> 0.
    *
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *  ENDIF.


    ENDFORM.                    " FRM_GET_PATH

    FORM FRM_OUTPUT_EXCEL_38 TABLES PT_EXCEL TYPE STANDARD TABLE                                     
    USING PV_TEMPLATE TYPE BDS_PROPVA                                           PV_FILE     
    TYPE LOCALFILE.   

    DATA:L_IREF_TEMPLATE    TYPE REF TO CL_BDS_DOCUMENT_SET,        L_OREF_CONTAINER   
    TYPE REF TO CL_GUI_CUSTOM_CONTAINER,        L_IREF_CONTROL     
    TYPE REF TO I_OI_CONTAINER_CONTROL,        L_IREF_ERROR       
    TYPE REF TO I_OI_ERROR,        L_IREF_DOCUMENT    
    TYPE REF TO I_OI_DOCUMENT_PROXY,        L_IREF_SPREADSHEET 
    TYPE REF TO I_OI_SPREADSHEET,        L_RETCODE          
    TYPE SOI_RET_STRING.   

    DATA: LT_SIGNATURE TYPE SBDST_SIGNATURE,         LW_SIGNATURE 
    TYPE BAPISIGNAT,         LT_URI       
    TYPE SBDST_URI,         LW_URI       
    TYPE BAPIURI,         LT_SHEET     
    TYPE SOI_SHEETS_TABLE,         L_DOC        
    TYPE CNTL_HANDLE ,         L_APL        
    TYPE OBJ_RECORD ,         LW_SHEET     
    TYPE SOI_SHEETS.   

    DATA: LT_FIELDS   TYPE STANDARD TABLE OF RFC_FIELDS,         LS_FIELDS   
    TYPE RFC_FIELDS,         LV_LAST_ROW 
    TYPE I,         LV_LAST_COL 
    TYPE I.   
    DATA:      GDF_ERROR  TYPE REF TO I_OI_ERROR,              GDS_ERRORS 
    TYPE REF TO I_OI_ERROR OCCURS WITH HEADER LINE.   

    DATA:LDF_OBJECTKEY TYPE BAPIBDS01-OBJKEY.   
    CALL METHOD C_OI_CONTAINER_CONTROL_CREATOR=>GET_CONTAINER_CONTROL     
    IMPORTING       
    CONTROL = L_IREF_CONTROL       RETCODE 
    = L_RETCODE.   

    CHECK L_RETCODE = C_OI_ERRORS=>RET_OK.   

    CALL METHOD L_IREF_CONTROL->INIT_CONTROL     
    EXPORTING       R3_APPLICATION_NAME      
    = PV_TEMPLATE       INPLACE_ENABLED          
    'X'       INPLACE_SCROLL_DOCUMENTS 
    'X'       PARENT                   
    = L_OREF_CONTAINER     
    IMPORTING       RETCODE                  
    = L_RETCODE.   
    IF L_RETCODE <> C_OI_ERRORS=>RET_OK.     
    MESSAGE '保存Excel文件出错' TYPE 'E'.   
    ENDIF.   
    CHECK L_RETCODE = C_OI_ERRORS=>RET_OK.   

    CREATE OBJECT L_IREF_TEMPLATE.   LW_SIGNATURE
    -PROP_NAME  'BDS_KEYWORD'.   LW_SIGNATURE
    -PROP_VALUE = PV_TEMPLATE.   
    APPEND LW_SIGNATURE TO LT_SIGNATURE.   

    REFRESH LT_URI.   
    CLEAR LDF_OBJECTKEY.   
    MOVE PV_TEMPLATE TO LDF_OBJECTKEY.   
    CALL METHOD L_IREF_TEMPLATE->GET_WITH_URL     
    EXPORTING       CLASSNAME       
    'SOFFICEINTEGRATION'       CLASSTYPE       
    'OT'       OBJECT_KEY      
    = LDF_OBJECTKEY     
    CHANGING       URIS            
    = LT_URI       SIGNATURE       
    = LT_SIGNATURE     
    EXCEPTIONS       NOTHING_FOUND   
    1       ERROR_KPRO      
    2       INTERNAL_ERROR  
    3       PARAMETER_ERROR 
    4       NOT_AUTHORIZED  
    5       NOT_ALLOWED     
    6.   

    CLEAR LW_URI.   
    READ TABLE LT_URI INTO LW_URI INDEX 1.   
    IF SY-SUBRC <> 0.     
    MESSAGE '请检查EXCEL模板不存在或者设置不正确' TYPE 'E'.   
    ENDIF.   
    CHECK SY-SUBRC 0.   

    CALL METHOD L_IREF_CONTROL->GET_DOCUMENT_PROXY     
    EXPORTING       DOCUMENT_TYPE  
    'Excel.Sheet'     
    IMPORTING       DOCUMENT_PROXY 
    = L_IREF_DOCUMENT       RETCODE        
    = L_RETCODE.   
    IF L_RETCODE <> C_OI_ERRORS=>RET_OK.     
    MESSAGE '保存Excel文件出错' TYPE 'E'.   
    ENDIF.   
    CHECK L_RETCODE = C_OI_ERRORS=>RET_OK.   

    CALL METHOD L_IREF_DOCUMENT->OPEN_DOCUMENT     
    EXPORTING       DOCUMENT_URL 
    = LW_URI-URI       OPEN_INPLACE 
    'X'     
    IMPORTING       RETCODE      
    = L_RETCODE.   
    IF L_RETCODE <> C_OI_ERRORS=>RET_OK.     
    MESSAGE '保存Excel文件出错' TYPE 'E'.   
    ENDIF.   
    CHECK L_RETCODE = C_OI_ERRORS=>RET_OK.   

    FREE L_IREF_ERROR.   

    CALL METHOD L_IREF_DOCUMENT->GET_SPREADSHEET_INTERFACE     
    IMPORTING       ERROR           
    = L_IREF_ERROR       SHEET_INTERFACE 
    = L_IREF_SPREADSHEET.   

    CALL METHOD L_IREF_SPREADSHEET->GET_SHEETS     
    IMPORTING       SHEETS 
    = LT_SHEET       ERROR  
    = L_IREF_ERROR.   

    CHECK L_IREF_ERROR->ERROR_CODE = C_OI_ERRORS=>RET_OK.   

    CLEAR LW_SHEET.   LV_LAST_ROW 


    LINES( PT_EXCEL ).   

    READ TABLE LT_SHEET INTO LW_SHEET INDEX 1.   
    CHECK SY-SUBRC 0.   

    CALL METHOD L_IREF_SPREADSHEET->SELECT_SHEET     
    EXPORTING       NAME  
    = LW_SHEET-SHEET_NAME     
    IMPORTING       ERROR 
    = L_IREF_ERROR.   


    CHECK L_IREF_ERROR->ERROR_CODE = C_OI_ERRORS=>RET_OK.   
    "calculate The columns of Data   
    REFRESH LT_FIELDS.   
    CALL FUNCTION 'DP_GET_FIELDS_FROM_TABLE'     
    TABLES       
    DATA   = PT_EXCEL       
    FIELDS = LT_FIELDS.   LV_LAST_COL 


    LINES( LT_FIELDS ).   

    CALL METHOD L_IREF_SPREADSHEET->SET_SELECTION     
    EXPORTING       
    LEFT    1       TOP     
    2       
    ROWS    = LV_LAST_ROW       COLUMNS 
    = LV_LAST_COL.   

    CALL METHOD L_IREF_SPREADSHEET->INSERT_RANGE     
    EXPORTING       COLUMNS 
    = LV_LAST_COL       
    ROWS    = LV_LAST_ROW       NAME    
    = PV_TEMPLATE.   

    CALL METHOD L_IREF_SPREADSHEET->INSERT_ONE_TABLE     
    EXPORTING       DATA_TABLE   
    = PT_EXCEL[]       FIELDS_TABLE 
    = LT_FIELDS       RANGENAME    
    = PV_TEMPLATE.   



    CALL METHOD L_IREF_DOCUMENT->SAVE_AS     
    EXPORTING       FILE_NAME 
    = PV_FILE.   

    CALL METHOD L_IREF_DOCUMENT->RELEASE_DOCUMENT     
    IMPORTING       RETCODE 
    = L_RETCODE.   
    IF L_RETCODE <> C_OI_ERRORS=>RET_OK.     
    MESSAGE '保存Excel文件出错' TYPE 'E'.   
    ELSE.     
    MESSAGE 'Excel文件已保存' TYPE 'S'.   
    ENDIF.   
    FREE: L_IREF_SPREADSHEET,         L_IREF_DOCUMENT
    .   

    CALL METHOD L_IREF_CONTROL->RELEASE_ALL_DOCUMENTS.   
    CALL METHOD L_IREF_CONTROL->DESTROY_CONTROL.
    ENDFORM.                    " FRM_OUTPUT_EXCEL

  • 相关阅读:
    Android上的水果忍者刀锋效果(JAVA实现)
    界址坐标转换器说明
    C# MVC4 执行特性之后不再执行Action
    广西公需科目自动学习
    mvc4 利用filters特性来 实现自己的权限验证 之二
    mvc4 利用filters特性来 实现自己的权限验证 之一
    利用hao123天气插件的地址选择提供的api进行跨域调用实现地址的省 地级市 县 联动选择。
    javascript 判断变量 是否为空null,undefined, 空数组,空对象(空Object),字符串是否为空或全由空白字符组成,数字是否为0,布尔是否为false。
    git使用
    ios微信公众号分享回调事件
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6275007.html
Copyright © 2020-2023  润新知