- The COLLECT statement checks weather the work area record already exists with same key field value (the key field must be of type C, N, D, T).
- If yes, it will add the numerical fields to the existing record.
- If no, it will append or add a new record.
Example program on collect
REPORT ZSAPN_SUM_COLLECT. TYPES: BEGIN OF TY_DATA, "user defined type ID TYPE N , NAME TYPE CHAR20, SALARY TYPE I, END OF TY_DATA. DATA : ITAB TYPE TABLE OF TY_DATA. "internal table DATA : WA TYPE TY_DATA. "work area WA-ID = 1. WA-NAME = 'Sapnuts'. WA-SALARY = 5000. COLLECT WA INTO ITAB. "collect CLEAR WA. WA-ID = 2. WA-NAME = 'SAPabap'. WA-SALARY = 50000. COLLECT WA INTO ITAB. "collect CLEAR WA. WA-ID = 1. WA-NAME = 'Sapnuts'. WA-SALARY = 15000. COLLECT WA INTO ITAB. "collect CLEAR WA. LOOP AT ITAB INTO WA. WRITE:/ WA-ID, WA-NAME, WA-SALARY. "loop and display data ENDLOOP.Using Append in SAP ABAP
When ever we use append statement, it will add a record at the bottom of the internal table.
Example program using APPEND in SAP ABAP
REPORT ZSAPN_SUM_APPEND. TYPES: BEGIN OF TY_DATA, "user defined type ID TYPE N , NAME TYPE CHAR20, SALARY TYPE I, END OF TY_DATA. DATA : ITAB TYPE TABLE OF TY_DATA. "internal table DATA : WA TYPE TY_DATA. "work area WA-ID = 1. WA-NAME = 'Sapnuts'. WA-SALARY = 5000. APPEND WA TO ITAB. "APPEND CLEAR WA. WA-ID = 2. WA-NAME = 'SAPabap'. WA-SALARY = 50000. APPEND WA TO ITAB. "APPEND CLEAR WA. WA-ID = 1. WA-NAME = 'Sapnuts'. WA-SALARY = 15000. APPEND WA TO ITAB. "APPEND CLEAR WA. LOOP AT ITAB INTO WA. WRITE:/ WA-ID, WA-NAME, WA-SALARY. "loop and display data ENDLOOP.
Thanks........Good Work.........