DATA : t_no TYPE i, res TYPE p, pr_no TYPE p, tag TYPE i. SELECTION-SCREEN BEGIN OF BLOCK b1. PARAMETERS : pr_num TYPE i. SELECTION-SCREEN END OF BLOCK b1. pr_no = 1. WHILE pr_no LE pr_num. t_no = 2. tag = 0. WHILE t_no < pr_no. res = pr_no MOD t_no. IF res = 0. WRITE : / pr_no. WRITE : 'is not PRIME Number ' COLOR 3 INTENSIFIED OFF. tag = 1. EXIT. ENDIF. t_no = t_no + 1. ENDWHILE. IF tag = 0. WRITE : / pr_no. WRITE : 'is PRIME Number ' COLOR 6 INTENSIFIED OFF. ENDIF. pr_no = pr_no + 1. ENDWHILE. **************************************** ******** Fibonacci Series DATA : lv_old TYPE i VALUE 0 , lv_current TYPE i VALUE 1 , lv_next TYPE i . WRITE 'First 10 elements of Fibonacci series : ' . WRITE : lv_old, lv_current . DO 8 TIMES. lv_next = lv_old + lv_current . "3 = 1 + 2 WRITE lv_next . "3 lv_old = lv_current . "lv_old = 2 lv_current = lv_next . "lv_current = 3 ENDDO. **************************************** ******** palindrome DATA : name TYPE string VALUE 'MADAM', name2 TYPE string. DATA : lv_len TYPE i.
lv_len = strlen( name ). lv_len = lv_len - 1. WHILE lv_len GE 0. CONCATENATE name2 name+lv_len(1) INTO name2. lv_len = lv_len - 1. ENDWHILE. CONDENSE name2. WRITE : name2.
**************************************** ******** Paralllel cursor using read statment LOOP AT it_vbak ASSIGNING <lfs_vbak>.* * Read the second internal table with BINARY SEARCH READ TABLE it_vbap TRANSPORTING NO FIELDS WITH KEY vbeln = <lfs_vbak>-vbeln BINARY SEARCH. * Get the TABIX number lv_tabix = sy-tabix. * Start the LOOP from the first accessed record in * previous READ i.e. LV_TABIX LOOP AT it_vbap FROM lv_tabix ASSIGNING <lfs_vbap> .* * End the LOOP, when there is no more record with similar key IF <lfs_vbap>-vbeln <> <lfs_vbak>-vbeln. EXIT. ENDIF. * Rest of the logic would go from here... ENDLOOP. ENDLOOP. ****************************************************** ******** Paralllel cursor WITHOUT using read statement SORT: it_vbak BY vbeln, it_vbap BY vbeln. lv_tabix = 1. " Set the starting index 1 LOOP AT it_vbak ASSIGNING <lfs_vbak>. * * Start the nested LOOP from the index LOOP AT it_vbap FROM lv_tabix ASSIGNING <lfs_vbap>. * Save index & Exit the loop, if the keys are not same IF <lfs_vbak>-vbeln <> <lfs_vbap>-vbeln. lv_tabix = sy-tabix. EXIT. ENDIF. * Rest of the logic would go from here... ENDLOOP. ENDLOOP.
**************************************** ********FIELD-SYMBOLS DATA: lt_1 TYPE STANDARD TABLE OF t100. FIELD-SYMBOLS: <ls_1> TYPE t100. "LIKE LINE OF lt_1.
SELECT * FROM t100 INTO TABLE lt_1 UP TO 10 ROWS. * dynamic access DATA: lv_field TYPE char30. FIELD-SYMBOLS: <lv_field> TYPE ANY. lv_field = 'TEXT'. LOOP AT lt_1 ASSIGNING <ls_1>. ASSIGN COMPONENT lv_field OF STRUCTURE <ls_1> TO <lv_field>. CHECK <lv_field> IS ASSIGNED. WRITE: / <lv_field>. ENDLOOP.