2017-06-21 307 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