有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。
SAP的帮助,请加您已经尝试的事情的描述,并还有什么你做了尝试和解决这个问题。例如,你可以计算总体平均数,但是在学生明智的平均数方面有困难吗?如果是这样,粘贴到目前为止你的代码。 – Wontonimo
什么是你想知道的? –
我有共享的源代码,实际上它只计算第一个学生休息的学生的平均数不计算 –