平均计算

时间:2017-06-21 15:00:20

标签: sap abap

有100名学生和7名科目。如何计算每个学生的平均值。当在选择屏幕中选择学生ID时,它应显示该特定学生的平均值。

源代码

类型:     test_1分类表ztest_03                       使用独特的默认密钥。

DATA:     it_test TYPE test_1,     wa_test像IT_TEST一样,     总计(3)TYPE n,     平均(2)TYPE n。

选择-OPTIONS:     wa_test-studentid的std_id。 参数:     test_id TYPE ztest_03-test。

START-OF-SELECTION。

SELECT *       来自ztest_03       INTO相应的表格it_test       WHERE test = test_id     和std_id中的studentid。

如果sy-subrc<> 0。     消息A123(Z455)。   ENDIF。

END-OF-SELECTION。

在it_test IN_ wa_test上循环。

  • 写:/
  • wa_test-studentid。
  • wa_test-subjectid,
  • wa_test检验,
  • wa_test痕。 total = total + wa_test-marks。

    在END OF studentid。   IF TEST_ID =' FINALS'。  写:/'测试最终学生ID的详细信息:' ,WA_TEST-STUDENTID。  其他。    WRITE:/'测试CYCLE TEST学生ID的详细信息:',WA_TEST-STUDENTID。    万一。   平均=总数/ 7。   U电源。   WRITE:/ WA_TEST-STUDENTID,'平均%:',平均值。   如果平均Le 50。     写:/' E级'。     ULINE。     ELSEif平均值为60。       写:/' D级'。       ULINE。       ELSEIF平均值为70。         写:/' C级'。         ULINE。         ELSEIF平均值为80。           写:/' B'。           ULINE。           ELSEIF平均值为90。             写:/' A级'。             ULINE。             ELSEIF平均值为100。               写:/'等级O'。               ULINE。               万一。   ENDAT。 ENDLOOP。

1 个答案:

答案 0 :(得分:1)

假设您的数据存储在数据库中,请参阅SAP在AVG

上的帮助