HR--一个奖金模拟试算的程序,仅供参考

************************************************************************
* Copyright 2004  Wuhan                                          *
* All Rights Reserved                                                  *
*----------------------------------------------------------------------*
* Program Name : ZHRR0001                                              *
* Project      :  SAP Implementation Project                     *
* Program Title: 员工奖金模拟明细表                                   *
* Created by   :                                                  *
* Created on   : 2004/09/20                                            *
* Version      : 1.0                                                   *
*----------------------------------------------------------------------*
* Function Description:                                                *
* 员工工龄工资的计算及显示                                             *
*----------------------------------------------------------------------*
* Data Table List:                                                     *
* PA0001: 人力资源主记录:信息类型0001 (原始分配)                       *
* PA0041: HR 主记录: 信息类型0041 (日期详细说明)                       *
* PA0014: HR主记录: 信息类型 0014 (经常性收益/折减)                    *
*----------------------------------------------------------------------*
* Refrence Table List:                                                 *
* cskt: 成本中心说明文本                                               *
* hrp1000: 信息类型 1000 数据库                                        *
*----------------------------------------------------------------------*
* Modification Log:                                                    *
* Date        Programmer     Correction Number                         *
************************************************************************
REPORT zhrr0027 MESSAGE-ID zdev.
*----------------------------------------------------------------------*
* TABLES                                                               *
*----------------------------------------------------------------------*
TABLES: pa0001,pa0009,zhr_jjdr.

*----------------------------------------------------------------------*
* TYPES OR TYPE-POOLS                                                  *
*----------------------------------------------------------------------*
TYPE-POOLS: slis.

*----------------------------------------------------------------------*
* INCLUDE                                                              *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* INTERNAL TABLES AND WORK AREAS                                       *
*----------------------------------------------------------------------*
* 人事范围帮助内表
DATA: BEGIN OF gt_werks_h OCCURS 0,
        persa LIKE t500p-persa,    "人事范围编号
        name1 LIKE t500p-name1,    "人事范围描述
      END OF gt_werks_h.

* 部门(组织单元)-成本中心关系内表
DATA: BEGIN OF gt_orgeh_kostl OCCURS 0,
        werks LIKE pa0001-werks,   "人事范围
        orgeh LIKE pa0001-orgeh,   "组织单元
        kostl LIKE pa0001-kostl,   "成本中心
      END OF gt_orgeh_kostl.

* 部门(组织单元)帮助内表
DATA: BEGIN OF gt_orgeh_h OCCURS 0,
        orgeh LIKE pa0001-orgeh,    "部门(组织单元)
        stext LIKE hrp1000-stext,   "部门文本
      END OF gt_orgeh_h.

* 成本中心帮助内表
DATA: BEGIN OF gt_kostl_h OCCURS 0,
        kostl LIKE cskt-kostl,  "成本中心编号
        ktext LIKE cskt-ktext,  "成本中心描述
      END OF gt_kostl_h.

* 获得员工编号帮助内表
DATA: BEGIN OF gt_pernr_h OCCURS 0,
        pernr LIKE pa0001-pernr,  "员工编号
        ename LIKE pa0001-ename,  "员工姓名
      END OF gt_pernr_h.

*   获得银行帮助内表
DATA: BEGIN OF gt_bnka OCCURS 0,
        bankl LIKE pa0009-bankl,  "编号
        banka LIKE bnka-banka,    "名称
      END OF gt_bnka.

* 员工工龄工资计算结果内表
DATA: BEGIN OF gt_list OCCURS 0,
        orgeh  LIKE pa0001-orgeh,       "部门
        orgtx  LIKE t527x-orgtx,        "组织单元文本
        pernr  LIKE pa0001-pernr,       "员工编号
        ename  LIKE pa0001-ename,       "员工姓名
        yfjj   TYPE p DECIMALS 2,       "应发奖金
        zfgjjg TYPE p DECIMALS 2,       "住房公积金
        zfgjjd TYPE p DECIMALS 2,       "住房公积金(单位)
        sqkk   TYPE p DECIMALS 2,       "税前扣款
*        ynse   type p DECIMALS 2,       "应纳税额
        se     TYPE p DECIMALS 2,       "税额
        shkk   TYPE p DECIMALS 2,       "税后扣款
        qthj   TYPE p DECIMALS 2,       "其他金额
        qt     TYPE p DECIMALS 2,       "其他金额
        byj    TYPE p DECIMALS 2,       "备用金
        sfhj    TYPE p DECIMALS 2,       "实发合计
        bankl  LIKE p0009-bankl,        "发卡行
        banka  LIKE bnka_bf-banka,      "发卡行
        bankn  TYPE p0009-bankn,        "银行帐号
        lx(6)  TYPE c,                  "是否留现
      END OF gt_list.
**计算中间表
*T7CN33免除税额信息内表
DATA: gt_t7cn33 LIKE t7cn33 OCCURS 0 WITH HEADER LINE.
*信息类型0530员工住房公积金信息内表
DATA: gt_pa0530 LIKE pa0530 OCCURS 0 WITH HEADER LINE.
*pa0267人力资源主记录: 信息类型 0267 (循环外一次性支付)
DATA: gt_pa0267 LIKE pa0267 OCCURS 0 WITH HEADER LINE.
* 信息类型0000员工状态信息内表
DATA: gt_pa0000 LIKE pa0000 OCCURS 0 WITH HEADER LINE.
* 信息类型0014员工工龄工资信息内表
DATA: gt_pa0014 LIKE pa0014 OCCURS 0 WITH HEADER LINE.
* 信息类型1000(组织单元文本)信息内表
DATA: gt_hrp1000 LIKE hrp1000 OCCURS 0 WITH HEADER LINE.
* 成本中心文本信息内表
DATA: gt_cskt LIKE cskt OCCURS 0 WITH HEADER LINE.
* 信息类型0001员工状态信息内表
DATA: BEGIN OF gt_pa0001 OCCURS 0,
        pernr  LIKE pa0001-pernr,       "员工编号
        ename  LIKE pa0001-ename,       "员工姓名
        orgeh  LIKE pa0001-orgeh,       "组织单元
        orgtx  LIKE t527x-orgtx,        "组织单元文本
        bankl  LIKE p0009-bankl,        "发卡行
        banka  LIKE bnka_bf-banka,      "发卡行
        bankn  TYPE p0009-bankn,        "银行帐号
        lx(6)  TYPE c,                  "是否留现
      END OF gt_pa0001.
* 信息类型0009员工卡信息内表
DATA: BEGIN OF gt_pa00091 OCCURS 0,
        pernr  LIKE pa0001-pernr,       "员工编号
        subty  LIKE pa0009-subty,       "子类型
      END OF gt_pa00091.
DATA: BEGIN OF gt_pa00092 OCCURS 0,
        pernr  LIKE pa0001-pernr,       "员工编号
        subty  LIKE pa0009-subty,       "子类型
        bankl  LIKE pa0009-bankl,       "银行代码
        bankn  LIKE pa0009-bankn,       "银行帐户编号
        banka  LIKE bnka-banka,         "银行名称
      END OF gt_pa00092.
*----------------------------------------------------------------------*
* GLOBAL VARIABLES                                                     *
*----------------------------------------------------------------------*
DATA: g_repid LIKE sy-repid,                 "当前程序
      g_dynnum LIKE sy-dynnr.                "当前屏幕
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
      gt_sort     TYPE slis_t_sortinfo_alv.
DATA: g_sdate LIKE sy-datum,                  "时间计算中间变量
      g_edate LIKE sy-datum,
      g_ktext LIKE cskt-ktext,                "单个成本中心文本
       g_orgtx LIKE t527x-orgtx .             "单个组织单元
*----------------------------------------------------------------------*
* PARAMETERS AND SELECT-OPTIONS                                        *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b_2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_werks FOR pa0001-werks,             "人事范围
                s_btrtl FOR pa0001-btrtl,             "人事子范围
                s_persg FOR pa0001-persg,             "员工组
                s_persk FOR pa0001-persk,             "员工子组
                s_orgeh FOR pa0001-orgeh,             "部门(组织单元)
                s_kostl FOR pa0001-kostl,             "成本中心
                s_pernr FOR pa0001-pernr.             "员工编号
SELECTION-SCREEN END OF BLOCK b_2.
SELECTION-SCREEN BEGIN OF BLOCK b_1 WITH FRAME TITLE text-001.
PARAMETERS: p_mon RADIOBUTTON GROUP tst1 DEFAULT 'X',
            p_ann RADIOBUTTON GROUP tst1.
PARAMETERS: p_cxsj LIKE sy-datum  DEFAULT sy-datum.   "查询时间
SELECTION-SCREEN END OF BLOCK b_1.

SELECTION-SCREEN BEGIN OF BLOCK b_0 WITH FRAME TITLE text-003.
PARAMETERS:  p_quan RADIOBUTTON GROUP gr1 DEFAULT 'X',    "发放方式-全部
             p_show RADIOBUTTON GROUP gr1,    "发放方式-银行卡
             p_calc RADIOBUTTON GROUP gr1.    "发放方式-留现
SELECT-OPTIONS: s_bankl FOR pa0009-bankl."发卡行选择
SELECTION-SCREEN END OF BLOCK b_0.

*----------------------------------------------------------------------*
* INITIALIZATION                                                       *
*----------------------------------------------------------------------*
INITIALIZATION.
  g_repid = sy-repid.
  g_dynnum = sy-dynnr.

* 获得人事范围帮助内表
  REFRESH gt_werks_h.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_werks_h
    FROM t500p
   WHERE persa IN ('1002','3001').

* 部门文本信息内表
  REFRESH gt_hrp1000.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_hrp1000
    FROM hrp1000
   WHERE otype = 'O'
     AND langu = '1'
   ORDER BY objid.

* 成本中心文本信息内表
  REFRESH gt_cskt.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_cskt
    FROM cskt
   WHERE spras = '1'
     AND datbi = '99991231'
   ORDER BY kostl.

* 获得部门(组织单元)与成本中心的对应关系内表
  REFRESH gt_orgeh_kostl.
  SELECT DISTINCT werks orgeh kostl
    INTO CORRESPONDING FIELDS OF TABLE gt_orgeh_kostl
    FROM pa0001
   WHERE endda = '99991231'
   ORDER BY werks orgeh kostl.

*银行信息内表
  REFRESH gt_bnka.
  SELECT DISTINCT bankl banka INTO TABLE gt_bnka
   FROM bnka
  WHERE banks = 'CN' AND bankl IN ('0000000999','0000000888','0000000111').
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN                                                  *
*----------------------------------------------------------------------*
* 人事范围帮助选择
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_werks-low.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'PERSA'
      dynpprog    = g_repid
      dynpnr      = g_dynnum
      dynprofield = 'S_WERKS'
      value_org   = 'S'
    TABLES
      value_tab   = gt_werks_h.
  PERFORM clear_orgeh.
  PERFORM clear_kostl.
  PERFORM clear_pernr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_werks-high.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield    = 'PERSA'
      dynpprog    = g_repid
      dynpnr      = g_dynnum
      dynprofield = 'S_WERKS'
      value_org   = 'S'
    TABLES
      value_tab   = gt_werks_h.
  PERFORM clear_orgeh.
  PERFORM clear_kostl.
  PERFORM clear_pernr.

* 获得部门(组织单元)选择帮助
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_orgeh-low.
  PERFORM read_werks_value.
  PERFORM get_orgeh_h.
  PERFORM clear_kostl.
  PERFORM clear_pernr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_orgeh-high.
  PERFORM read_werks_value.
  PERFORM get_orgeh_h.
  PERFORM clear_kostl.
  PERFORM clear_pernr.

* 获得成本中心选择帮助
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_kostl-low.
  PERFORM read_werks_value.
  PERFORM read_orgeh_value.
  PERFORM get_kostl_h.
  PERFORM clear_pernr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_kostl-high.
  PERFORM read_werks_value.
  PERFORM read_orgeh_value.
  PERFORM get_kostl_h.
  PERFORM clear_pernr.

* 获得员工选择帮助
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_pernr-low.
  PERFORM read_werks_value.
  PERFORM read_orgeh_value.
  PERFO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个微服务的实战项目可以是优惠券平台项目。该项目分成四大模块来做微服务,包括优惠券模板服务、计服务、用户服务和平台类组件。优惠券模板服务负责创建具体优惠券的前置条件,并实现了模板规则的创建、克隆、分页查找等功能。优惠计服务根据用户购物车中的商品信息和优惠券信息,计当前订单优惠后的价格,并提供了“优惠金额”服务。用户服务是暴露给外部用户使用的接口,依赖于模板服务和优惠计服务完成底层逻辑,主要提供用户领券、订单价格、下单核销和订单金额等功能。平台类组件包括一些业务无关的中心化组件,如网关等。在项目搭建方面,可以使用Spring Boot构建项目结构,并借助Maven实现依赖项管理。数据操作可以使用Spring Data JPA实现数据库的CRUD操作。同时,可以使用Spring Web对外暴露RESTful风格的API。这样的实战项目可以帮助你了解微服务的开发和架构。\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Spring Cloud微服务项目实战:我们要搭建一个怎样的微服务实战项目?](https://blog.csdn.net/FeiChangWuRao/article/details/123188002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Spring Cloud 微服务项目实战 -](https://blog.csdn.net/yangshangwei/article/details/127769017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值