Skip to Content
0
Former Member
Jun 29, 2009 at 05:42 AM

Reduce Lines of Code - Using ASSIGN ?

39 Views

Hi All,

My requirement is very simple, I just want to reduce my lines of code. I came to know, this can be done by using ASSIGN statement.

Please guide me in achieving this. Please find the below code for example.

CASE ok_code.
    WHEN 'EXEC'.
      SELECT SINGLE matnr FROM mara INTO gwa_0110_val
            WHERE matnr EQ zmm_s_mat_rep-new_material.
      IF sy-subrc EQ 0.
        IF gv_count = 0.
          gwa_0110-new_mat1 = zmm_s_mat_rep-new_material.
          gwa_0110-new_qty1 = zmm_s_mat_rep-new_qty.
          gwa_0110-line_no = tc110-current_line.
          IF gv_sel1 = 'X'.
            gwa_0110-sel1 = 'X'.
          ENDIF.
        ENDIF.

        IF gv_count = 1.
          gwa_0110-new_mat2 = zmm_s_mat_rep-new_material.
          gwa_0110-new_qty2 = zmm_s_mat_rep-new_qty.
          gwa_0110-line_no = tc110-current_line.
          IF gv_sel1 = 'X'.
            gwa_0110-sel1 = 'X'.
          ENDIF.
        ENDIF.

        IF gv_count = 2.
          gwa_0110-new_mat3 = zmm_s_mat_rep-new_material.
          gwa_0110-new_qty3 = zmm_s_mat_rep-new_qty.
          gwa_0110-line_no = tc110-current_line.
          IF gv_sel1 = 'X'.
            gwa_0110-sel1 = 'X'.
          ENDIF.
        ENDIF.

        IF gv_count = 3.
          gwa_0110-new_mat4 = zmm_s_mat_rep-new_material.
          gwa_0110-new_qty4 = zmm_s_mat_rep-new_qty.
          gwa_0110-line_no = tc110-current_line.
          IF gv_sel1 = 'X'.
            gwa_0110-sel1 = 'X'.
          ENDIF.
        ENDIF.

        IF gv_count = 4.
          gwa_0110-new_mat5 = zmm_s_mat_rep-new_material.
          gwa_0110-new_qty5 = zmm_s_mat_rep-new_qty.
          gwa_0110-line_no = tc110-current_line.
          IF gv_sel1 = 'X'.
            gwa_0110-sel1 = 'X'.
          ENDIF.
        ENDIF.

      ELSE.
        MESSAGE i014(z_mm_prox).
      ENDIF.
      CLEAR gwa_0110_val.
      APPEND gwa_0110 TO git_0110.
      CLEAR gwa_0110.

zmm_s_mat_rep - Structure(Screen 110)

Thanks,

Chandan