SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx

上传人:b****6 文档编号:6779936 上传时间:2023-01-10 格式:DOCX 页数:32 大小:54.72KB
下载 相关 举报
SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx_第1页
第1页 / 共32页
SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx_第2页
第2页 / 共32页
SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx_第3页
第3页 / 共32页
SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx_第4页
第4页 / 共32页
SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx

《SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx》由会员分享,可在线阅读,更多相关《SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx(32页珍藏版)》请在冰豆网上搜索。

SEPCERP试点阶段技术书HRZHRR0014 国家工作人员登记表V1.docx

SEPCERP试点阶段技术书HRZHRR0014国家工作人员登记表V1

四川省电力公司

企业资源管理(ERP)系统实施项目

技术设计说明书

第一部分:

基本信息

(生成新的版本后,以下内容要相应改动)

开发类型

增强接口单据报表

技术工具

EnhancementUserExitBAdI

DialogInteractivelist

ABAPOOFunctiongroup

RFCBAPIfunctionExecutiveProgram

BDCTableContentsModification

ServerfileLocalfile

SAPScriptSmartformsOutput-onlyList

模块

HR

开发机及集团

110

事务代码

ZHRR0014

程序ID

ZHRR0014

程序名称

国家工作人员登记备案表

功能设计者

王丹

技术设计者

王学会

ABAP程序员

王学会

 

第二部分:

设计书维护记录

更新日期

更新人员

简要说明

2009-07-07

王学会

人事主管理部门改为报表导出之后人工输入;工作单位在取值时,如遇到人事范围和人事子范围相同时,取人事子范围。

2009-07-09

王学会

将职务职称中的取数修改成取PA0001中的职务职级

第三部分:

技术方案描述

3.1业务需求描述

根据人员编号、就业状态、人事范围、人事子范围、员工组员工子组从系统中提取相关字段,生成国家工作人员登记备案表以备查阅

3.2技术解决方案

1、使用逻辑数据库PERNR获取数据

2、使用函数REUSE_ALV_GRID_DISPLAY展示数据

3、使用SMW0上载的数据模板,将内表的数据导入到数据模板中,打印或者导入到本地

3.3系统简单架构图

 

 

 

第四部分:

程序逻辑描述—将主要代码功能描述清楚,

程序处理逻辑

START-OF-SELECTION.

RP_SET_DATA_INTERVAL 'P0001' PN-BEGDA PN-ENDDA.

GET PERNR.

  PERFORM GET_DATA.

END-OF-SELECTION.

  PERFORM SORT_ITAB.

  PERFORM ALV_DISPLAY.

 

下载通过SMW0上载的模板文件(P_OBJID)到(P_DEST)指定的本地文件路径下的EXCEL文件里

FORM FRM_DOWNLOAD_EXCEL_FROMSERVER USING P_OBJID LIKE WWWDATATAB-OBJID

                                    P_DEST LIKE SAPB-SAPPFAD.

  DATA:

 LO_OBJDATA LIKE WWWDATATAB,

        LO_MIME LIKE W3MIME,

        LS_DESTINATION LIKE RLGRAP-FILENAME,

        LS_OBJNAM TYPE STRING,

        LI_RC LIKE SY-SUBRC,

        LS_ERRTXT TYPE STRING.

  CONCATENATE P_OBJID '.XLS' INTO LS_OBJNAM.

  CONDENSE LS_OBJNAM NO-GAPS.

  SELECT SINGLE RELID OBJID FROM WWWDATA

    INTO CORRESPONDING FIELDS OF LO_OBJDATA

    WHERE SRTF2    = 0

      AND RELID    = 'MI'

      AND OBJID    = P_OBJID.

  IF SY-SUBRC NE 0 OR LO_OBJDATA-OBJID EQ SPACE.

    CONCATENATE '模板文件:

' LS_OBJNAM '不存在,请用TCODE:

SMW0进行加载' INTO LS_ERRTXT.

    MESSAGE E000 WITH LS_ERRTXT.

  ENDIF.

  LS_DESTINATION   = P_DEST.

  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'

    EXPORTING

      KEY         = LO_OBJDATA

      DESTINATION = LS_DESTINATION

    IMPORTING

      RC          = LI_RC.

  IF LI_RC NE 0.

    CONCATENATE '模板文件:

' LS_OBJNAM '下载失败' INTO LS_ERRTXT.

    MESSAGE E000 WITH LS_ERRTXT.

  ENDIF.

ENDFORM.  

 

ALV自定义工具栏的事件处理

FORM ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

                RS_SELFIELD TYPE SLIS_SELFIELD.

  CASE R_UCOMM.

打印

    WHEN 'PNT'.

      CHECK ITAB[] IS NOT INITIAL.

      PERFORM PRINT."填充excel(输出路径定位C:

\)

      PERFORM FRM_PREVIEW."预览打印格式(功能:

EXCEL的打印预览)

      PERFORM QUIT_EXCEL."释放并从本地删除EXCEL对象

导入到本地文件

    WHEN 'EXPORT'.

      CHECK ITAB[] IS NOT INITIAL.

      PERFORM FILEPATH.   "获取输出路径(输出路径由用户自己选定)

      PERFORM PRINT.      "填充excel

      PERFORM FREE_EXCEL. "保存填充数据、释放excel对象

WHEN OTHERS.

  ENDCASE.

ENDFORM.    

 

FORM PRINT.

  DATA:

      LI_MOD TYPE I,                  "分页标记,

      LI_ROW TYPE I VALUE 5,          "excel 表从第5行开始填充数据

      LI_CURRENTROW TYPE I VALUE 0,   "内表当前行数(第。

条数据)

      LS_CURRENTROW TYPE STRING,      "字符格式的内表当前行数(用于concatenate)

      LS_LINES TYPE STRING,           "字符格式的内表行项目数

      LS_PERCENT(3)  TYPE I,          "数值格式的百分比

      LS_PERCENT1 TYPE STRING,        "字符格式的百分比

      LN_PERCENT(3) TYPE N,           "已处理内表数据的百分比

      LS_INDCATORTXT TYPE STRING,     "用于输出的说明

      LI_CELL TYPE I.

  DATA:

        YEAR(4) VALUE 0,

        MONTH

(2) VALUE 0,

        DAY

(2) VALUE 0,

        DATE TYPE STRING.

  DESCRIBE TABLE ITAB LINES LI_LINES.

如果为事件为打印的话则指定EXCEL模板的本地下载路径

(EXCEL文件在打印执行完毕后会被删除)

  IF SY-UCOMM = 'PNT'.

    CONCATENATE CS_PATH CO_OBJID '-' SY-DATUM '.XLS' INTO P_FILENAME.

  ENDIF.

  "下载模板

  LS_INDCATORTXT = '程序正在下载模板'.

  PERFORM FRM_PROCESS_INDCATOR USING LS_INDCATORTXT 0 .

从服务器下载EXCEL模板到P_FILENAME指定的路径下

  PERFORM FRM_DOWNLOAD_EXCEL_FROMSERVER USING CO_OBJID P_FILENAME.

  CHECK NOT P_FILENAME IS INITIAL.

  LS_INDCATORTXT = '程序正在初始化OLE控件'.

  PERFORM FRM_PROCESS_INDCATOR USING LS_INDCATORTXT 0 .

初始化EXCEL文件,并打开sheet以供填充数据

  PERFORM INIT_EXCEL USING P_FILENAME.

将内表的数据填充到本地EXCEL适当的单元格里

  LOOP AT ITAB.

    "处理信息提示

    LI_CURRENTROW = SY-TABIX.

    LN_PERCENT    = ( LI_CURRENTROW * 100 ) / LI_LINES. "已处理数据的百分比

    LS_PERCENT1 = LS_PERCENT = LN_PERCENT.

    CONCATENATE '已处理 ' LS_PERCENT1 '% 的数据记录,请稍候.....'

           INTO LS_INDCATORTXT.

    PERFORM FRM_PROCESS_INDCATOR USING LS_INDCATORTXT 0 .

    "向EXCEL表格行项目填充数据

    PERFORM FILL_CELL USING LI_ROW 1 0 ITAB-NUM.   "序号

    PERFORM FILL_CELL USING LI_ROW 2 0 ITAB-NACHN. "姓

    PERFORM FILL_CELL USING LI_ROW 3 0 ITAB-VORNA. "名

    PERFORM FILL_CELL USING LI_ROW 4 0 ITAB-GBDAT. "出生日期

    PERFORM FILL_CELL USING LI_ROW 5 0 ITAB-GENER. "性别

    PERFORM FILL_CELL USING LI_ROW 6 0 ITAB-ICNUM. "身份证号

    PERFORM FILL_CELL_LEFT USING LI_ROW 7 0 ITAB-GZDW.  "工作单位

    PERFORM FILL_CELL_LEFT USING LI_ROW 8 0 ITAB-STEXT. "职务职级

    PERFORM FILL_CELL_LEFT USING LI_ROW 9 0 ITAB-HRSTE. "人事主管单位

    PERFORM FILL_CELL_LEFT USING LI_ROW 10 0 ITAB-ZZMM.  "政治面貌

    PERFORM FILL_CELL_LEFT USING LI_ROW 11 0 ITAB-ORT01. "户口所在地

    LI_ROW = LI_ROW + 1.

    CLEAR ITAB.

  ENDLOOP.

  CLEAR DATE.

ENDFORM.               

第五部分:

源程序----复杂性功能实现可贴主要功能代码部分

INCLUDE ZHRR0014_DATA_DECALRE.  "数据声明

INCLUDE ZHRR0014_EXCEL.         "EXCEL 相关数据及程序

INCLUDE ZHRR0014_GET_DATA.      "数据获取

INCLUDE ZHRR0014_ALV_DISPLAY.   "ALV 输出

INCLUDE ZHRR0014_PRINT.         "打印及输出相关子程序

INCLUDE ZHRR0014_EVENT.         "程序的处理流程

*&---------------------------------------------------------------------*

*&  包括                ZHRR0014_DATA_DECALRE

*&---------------------------------------------------------------------*

REPORT  ZHRR0014 NO STANDARD PAGE HEADING

                  MESSAGE-ID ZHR01.

TABLES:

 PERNR,   "HR 主数据报告的标准选

        HRP1000, "

        HRP1003, "

        T7CN5R,  "政治面貌文本

        T001P,   "子范围文本

        T500P.   "人事范围文本

INFOTYPES:

 0000, "HR主记录:

信息类别0000(事件)

           0001, "人力资源主记录:

信息类型0001 (原始分配)

           0002, "HR 主记录:

 信息类型 0002 (人员数据)

           0006, "HR主记录:

信息类型0006(地址)

           0185, "HR 主记录:

 信息类型 0185 [Identification]

           0534, " 人力资源主记录:

 信息类型 0534(党派信息)——政治面貌

           0528, "人力资源主记录:

 信息类型 0528(家庭信息)——政治面貌

           1001,

           9007. "HR 主记录:

 信息类别9007——专业技术资格等级

DATA INDEX TYPE I VALUE 0.

DATA:

 BEGIN OF ITAB OCCURS 1,   "定义输出表

  BOX

(1),                       "

  NUM    TYPE STRING,           "序号

  NAME   TYPE STRING,           "姓名

  NACHN  LIKE PA0002-NACHN,     "姓

  VORNA  LIKE PA0002-VORNA,     "名

  GBDAT(8),                     "出生日期

  GENER

(2),                     "性别

  ICNUM  LIKE PA0185-ICNUM,     "身份证号

  GZDW   TYPE STRING,           "工作单位

  RSFW   LIKE T500P-NAME1,      "人事范围

  RSZFW  LIKE T001P-BTEXT,      "人事子范围

  STEXT  TYPE STRING,           "职务职级

  HRSTE  LIKE HRP1000-STEXT,    "人事主管部门

  ZZMM(40),                     "政治面貌

  ORT01  LIKE PA0006-ORT01,     "户口所在地

  PRIOX  LIKE P1001-PRIOX,

  OBJID  LIKE HRP1000-OBJID,

  RYPX   LIKE P0001-ZZHR_RYPX,

  PERNR  LIKE P0001-PERNR,

  END OF ITAB,

  WA LIKE LINE OF ITAB.

DEFINE M_MESSAGE.

  CASE SY-SUBRC.

    WHEN 0.

    WHEN OTHERS.

      MESSAGE E000(ZHR01)

              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDCASE.

END-OF-DEFINITION.

SELECTION-SCREEN:

 BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-F01.

  PARAMETERS RSZGBM LIKE HRP1000-STEXT.           "人事主管部门

SELECTION-SCREEN:

 END OF BLOCK A1.

 

*&---------------------------------------------------------------------*

*&  包括                ZHRR0014_EVENT

*&---------------------------------------------------------------------*

START-OF-SELECTION.

RP_SET_DATA_INTERVAL 'P0001' PN-BEGDA PN-ENDDA.

GET PERNR.

  PERFORM GET_DATA.

END-OF-SELECTION.

  PERFORM SORT_ITAB.

  PERFORM ALV_DISPLAY.

 

*&---------------------------------------------------------------------*

*&  包括                ZHRR0014_EXCEL

*&---------------------------------------------------------------------*

TYPE-POOLS:

 OLE2.

DATA:

 P_FILENAME TYPE SAPB-SAPPFAD.

CONSTANTS:

  CS_PATH(3) TYPE C VALUE 'C:

\',

  CO_OBJID TYPE WWWDATATAB-OBJID VALUE 'ZHRR0014',            "打印格式

  CI_LINESOFPAGE TYPE I VALUE 17,                             "每页打印行数

  CI_COLUMNSOFPAGE TYPE I VALUE 11,                           "每页打印列数

  CI_DATAOFFSET_TOP TYPE I VALUE 4,

  CI_DATAOFFSET_LEFT TYPE I VALUE 0,

  CI_DATAOFFSET_RIGHT TYPE I VALUE 2,

  CI_DATAOFFSET_BUTTOM TYPE I VALUE 0,

  CI_DATALINES TYPE I VALUE 14.                               "每页打印数据条数

DATA:

   LI_TOP TYPE I,

        LI_LEFT TYPE I,

        LI_RIGHT TYPE I,

        LI_BUTTOM TYPE I,

        LC_NUM TYPE I,        "

        FLAG_ROW TYPE I,      "标志行数

        FLAG_COL TYPE I,      "标志列数

        LC_MOD TYPE I,        "记录分页的模余数

        LI_LINES TYPE I.      "记录内表条数

INCLUDE OLE2INCL.

DATA:

 APPLICATION     TYPE OLE2_OBJECT,

      WORKBOOK        TYPE OLE2_OBJECT,

      SHEET           TYPE OLE2_OBJECT,

      COLUMNS         TYPE OLE2_OBJECT,

      W_COMMENT       TYPE OLE2_OBJECT,

      W_SHAPE         TYPE OLE2_OBJECT,

      ROWS            TYPE OLE2_OBJECT,

      RANGE           TYPE OLE2_OBJECT,

      H_F             TYPE OLE2_OBJECT,            " font

      CELLS1          TYPE OLE2_OBJECT,

      EXCEL          TYPE OLE2_OBJECT,

      CELLS           TYPE OLE2_OBJECT.

DATA:

 GI_PAGENO TYPE I VALUE 0.                            "CURRENT PAGENO

DATA:

 GI_PAGENO_COPY TYPE I VALUE 0.                            "CURRENT PAGENO

DATA:

 LC_GI_PAGENO_COPY

(2) TYPE C.

DATA:

 PAGENO TYPE I VALUE 0.

DATA:

 LC_PAGENO

(2) TYPE C.

DATA:

 PAGE(6) TYPE C.

DATA:

 I(3) TYPE P DECIMALS 2.

*&---------------------------------------------------------------------*

*&      Form  FRM_PROCESS_DICATOR

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->TEXT       text

*      -->PERCENTAGE text

*----

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1