Internal Table에서 AT FIRST, AT NEW, AT THE END OF, AT LAST, SUM 사용
내부 테이블 루프 트리거 조건 설정 AT...END AT
이 문법은 이벤트 제어 함수로 LOOP 순환 문장에 적용되며, 내표의 데이터 변화 이벤트를 가져오는 데 사용됩니다.
이 기능을 분명히 하려면, 아래의 완전한 예가 가장 좋은 학습 지름길이다.
AT FIRST: 내부 테이블의 첫 번째 행을 순환할 때 실행되는 코드를 터치합니다.한 번만 실행합니다.
AT LAST: 내부 테이블의 마지막 행 데이터를 순환할 때 코드를 실행합니다.LOOP에서 할 일을 다 하고 나서야 그것을 실행하는 것이다.
AT NEW F1: 필드 F와 F의 왼쪽에 있는 모든 필드의 데이터가 이전 행의 데이터와 일치하지 않으면 코드를 실행합니다.먼저 한 줄을 실행하고 두 번째 줄과 첫 번째 줄의 값이 다르면 AT END OF F1을 실행한다.
값이 같으면 AT NEW F1 루프를 계속합니다.
AT END OF F1: 필드 F와 F의 왼쪽에 있는 모든 필드의 데이터가 다음 행의 데이터와 일치하지 않을 경우 코드를 실행합니다.
AT....End AT 문 블록 안: 각 행의 데이터를 순환할 때 실행됩니다.
*&---------------------------------------------------------------------*
*& Report Z_WUWEI_0017
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_wuwei_0017.
DATA: BEGIN OF itab OCCURS 0,
f1 TYPE i,
f2(6) TYPE c,
f3(10) TYPE n,
f4(16) TYPE p DECIMALS 2,
END OF itab.
DATA: sub_tot(10) TYPE p DECIMALS 3.
**--1
itab-f1 = 1.
itab-f2 = 'ONE'.
itab-f3 = 10.
itab-f4 = '1000.00'.
APPEND itab.
CLEAR itab.
itab-f1 = 1.
itab-f2 = 'ONE'.
itab-f3 = 20.
itab-f4 = '2000.00'.
APPEND itab.
CLEAR itab.
itab-f1 = 1.
itab-f2 = 'ONE'.
itab-f3 = 30.
itab-f4 = '3000.00'.
APPEND itab.
CLEAR itab.
*--2
itab-f1 = 2.
itab-f2 = 'TWO'.
itab-f3 = 10.
itab-f4 = '1000.00'.
APPEND itab.
CLEAR itab.
itab-f1 = 2.
itab-f2 = 'TWO'.
itab-f3 = 20.
itab-f4 = '2000.00'.
APPEND itab.
CLEAR itab.
*-- 3
itab-f1 = 3.
itab-f2 = 'THREE'.
itab-f3 = 10.
itab-f4 = '1000.00'.
APPEND itab.
CLEAR itab.
itab-f1 = 3.
itab-f2 = 'THREE'.
itab-f3 = 20.
itab-f4 = '2000.00'.
APPEND itab.
CLEAR itab.
SORT itab BY f1.
LOOP AT itab.
AT FIRST.
WRITE: /35 ' MATERIAL DETAILS:'.
ULINE.
ENDAT.
AT NEW f1.
WRITE: / 'DETAILS OF MATERIAL:' COLOR 7 , itab-f1.
ULINE.
ENDAT.
WRITE: / itab-f1, itab-f2, itab-f3, itab-f4.
sub_tot = sub_tot + itab-f4.
AT END OF f1.
ULINE.
WRITE: / 'SUB TOTAL :' COLOR 3 INVERSE ON, sub_tot COLOR 3 INVERSE ON.
CLEAR sub_tot.
ENDAT.
AT LAST.
SUM.
ULINE.
WRITE: 'SUM:', itab-f4.
ULINE.
ENDAT.
ENDLOOP.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.