2017-06-21 200 views
-4

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

源代码

类型:具有独特DEFAULT密钥ztest_03 TEST_1类型排序表。

DATA: it_test TYPE TEST_1,IT_TEST作者 wa_test LIKE LINE, 总(3)N型,平均 (2)N型。

SELECT-OPTIONS: st_id for wa_test-studentid。参数 test_id TYPE ztest_03-test。

开始选择。

SELECT * FROM ztest_03 INTO TABLE OF相应字段it_test WHERE测试=为test_id 和studentid在std_id。

IF sy-subrc <> 0 MESSAGE A123(Z455)。 ENDIF。

结束选择。

LOOP AT it_test INTO wa_test。

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

    at studintid END。 IF TEST_ID ='FINALS'。 WRITE:/'测试结果学生ID的详细信息:',WA_TEST-STUDENTID。 ELSE。 WRITE:/'测试学生证的周期测试详细信息:',WA_TEST-STUDENTID。 ENDIF。 average = total/7. uline。 WRITE:/ WA_TEST-STUDENTID,'Average%:',average。 如果平均Le 50. 写:/'E级'。 ULINE。 ELSEif average le 60. 写:/'D级'。 ULINE。 ELSEIF average le 70. WRITE:/'Grade C'。 ULINE。 ELSEIF average le 80. WRITE:/'Grade B'。 ULINE。 ELSEIF平均值90. 写:/'等级A'。 ULINE。 ELSEIF平均为100. 写:/'O级'。 ULINE。 ENDIF。 ENDAT。 ENDLOOP。

+4

SAP的帮助,请加您已经尝试的事情的描述,并还有什么你做了尝试和解决这个问题。例如,你可以计算总体平均数,但是在学生明智的平均数方面有困难吗?如果是这样,粘贴到目前为止你的代码。 – Wontonimo

+0

什么是你想知道的? –

+0

我有共享的源代码,实际上它只计算第一个学生休息的学生的平均数不计算 –

回答

1

假设您的数据存储在数据库中,看到AVG