繁体   English   中英

我如何从abap的内部表中计算所有员工的平均工资?

[英]How do i calculate the average salary of all employees from an internal table in abap?

我创建了一个具有属性(姓名、地址、年龄、工资)的类。 我在定义如下的内部表中创建了员工对象

 Data itab_employees  TYPE TABLE OF REF TO lcl_employee.

是否可以创建一个方法来计算内部表 (itab_employees) 中员工对象的平均工资?

这是我到目前为止所尝试的

METHOD get_avg_salary.
DATA: r_employee  TYPE REF TO lcl_employee,
      getsalary   TYPE i,
      average     TYPE i,
      sum_salary  TYPE i,
      no_employee TYPE i.

getsalary = r_employee->get_salary( ).
no_employee = lcl_employee=>get_n_o_employee( ).

LOOP AT it_employees INTO r_employee.
  AT LAST.
    SUM .
    sum_salary = getsalary.
    average    =  sum_salary / no_employee.
  ENDAT.
ENDLOOP.
re_avg_salary = average.
ENDMETHOD.

但我不确定getsalary = r_employee->get_salary( ).

感谢您的评论@gkubed。 我想出了一些对我有用的东西

  METHOD get_avg_salary.
DATA: r_employee  TYPE REF TO lcl_employee,
      average     TYPE i,
      sum_salary  TYPE i.

LOOP AT it_employees INTO r_employee.
    sum_salary =  sum_salary +  r_employee->get_salary( ).
ENDLOOP.
average    =  sum_salary / sy-tfill.
re_avg_salary = average.
ENDMETHOD.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM