Tuesday 17 September 2013

SEPTEMBER 17

*&---------------------------------------------------------------------*
*&      Module  STATUS_0117  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0117 OUTPUT.
  SET PF-STATUS '117'.
  SET TITLEBAR '117'.

  SELECT SINGLE EMP_ID EMP_NAME DEPT_NAME
    FROM ZPROJECT_EMP
    INTO (ZPROJECT_EMP-EMP_ID , ZPROJECT_EMP-EMP_NAME , ZPROJECT_EMP-DEPT_NAME)
     WHERE EMP_ID = USER_ID.

  SELECT SINGLE PROJECT_START_DATE PROJECT_END_DATE
    FROM ZPROJECT_DETAILS
    INTO (ZPROJECT_DETAILS-PROJECT_START_DATE , ZPROJECT_DETAILS-PROJECT_END_DATE)
    WHERE EMP_ID = USER_ID.

ENDMODULE.                 " STATUS_0117  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0117  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0117 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'CANCEL'.
      CLEAR : USER_ID , PASSWORD.
      CALL SCREEN 1000.

    WHEN 'BACK'.
      clear zproject_kpi.
      CALL SCREEN 0115.

    WHEN 'RESET'.
      CLEAR : ZPROJECT_KPI.

    WHEN 'SUBMIT'.
      TEMP_KPI-EMP_ID = ZPROJECT_EMP-EMP_ID.
      TEMP_KPI-EMP_NAME = ZPROJECT_EMP-EMP_NAME.
      TEMP_KPI-DEPT_NAME = ZPROJECT_EMP-DEPT_NAME.
      TEMP_KPI-KPI_1 = ZPROJECT_KPI-KPI_1.
      TEMP_KPI-KPI_2 = ZPROJECT_KPI-KPI_2.
      TEMP_KPI-KPI_3 = ZPROJECT_KPI-KPI_3.
      TEMP_KPI-KPI_4 = ZPROJECT_KPI-KPI_4.
      TEMP_KPI-KPI_5 = ZPROJECT_KPI-KPI_5.
      TEMP_KPI-TIME_1 = ZPROJECT_KPI-TIME_1.
      TEMP_KPI-TIME_2 = ZPROJECT_KPI-TIME_2.
      TEMP_KPI-TIME_3 = ZPROJECT_KPI-TIME_3.
      TEMP_KPI-TIME_4 = ZPROJECT_KPI-TIME_4.
      TEMP_KPI-TIME_5 = ZPROJECT_KPI-TIME_5.
      TEMP_KPI-QUALITY_1 = ZPROJECT_KPI-QUALITY_1.
      TEMP_KPI-QUALITY_2 = ZPROJECT_KPI-QUALITY_2.
      TEMP_KPI-QUALITY_3 = ZPROJECT_KPI-QUALITY_3.
      TEMP_KPI-QUALITY_4 = ZPROJECT_KPI-QUALITY_4.
      TEMP_KPI-QUALITY_5 = ZPROJECT_KPI-QUALITY_5.


      total =  ZPROJECT_KPI-TIME_1 + ZPROJECT_KPI-TIME_2 + ZPROJECT_KPI-TIME_3 +
        ZPROJECT_KPI-TIME_4 + ZPROJECT_KPI-TIME_5 + ZPROJECT_KPI-QUALITY_1 + ZPROJECT_KPI-QUALITY_2 +
        ZPROJECT_KPI-QUALITY_3 + ZPROJECT_KPI-QUALITY_4 + ZPROJECT_KPI-QUALITY_5 .

      if total gt 100.
        MESSAGE i003(zmsg_eas).
        MESSAGE i004(zmsg_eas).
        CLEAR : ZPROJECT_KPI-TIME_1 , ZPROJECT_KPI-TIME_2 , ZPROJECT_KPI-TIME_3 ,
      ZPROJECT_KPI-TIME_4 , ZPROJECT_KPI-TIME_5 , ZPROJECT_KPI-QUALITY_1 , ZPROJECT_KPI-QUALITY_2 ,
      ZPROJECT_KPI-QUALITY_3 , ZPROJECT_KPI-QUALITY_4 , ZPROJECT_KPI-QUALITY_5 .
      ELSE.
        Modify ZPROJECT_KPI FROM TEMP_KPI.
        MESSAGE i005(zmsg_eas).
        CALL SCREEN 115.
      ENDIF.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0117  INPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_1115  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_1115 OUTPUT.
  SET PF-STATUS '1115'.
  SET TITLEBAR '1115'.

  if sy-ucomm = 'RESET_ALL' or sy-ucomm = 'CLEAR'.
  else.

    SELECT SINGLE EMP_ID EMP_NAME DEPT_NAME
      FROM ZPROJECT_EMP
      INTO (ZPROJECT_EMP-EMP_ID , ZPROJECT_EMP-EMP_NAME , ZPROJECT_EMP-DEPT_NAME )
      WHERE EMP_ID = USER_ID.

    SELECT SINGLE  KPI_1 KPI_2 KPI_3 KPI_4 KPI_5
    TIME_1 TIME_2 TIME_3 TIME_4 TIME_5
    QUALITY_1 QUALITY_2 QUALITY_3 QUALITY_4 QUALITY_5
      FROM ZPROJECT_KPI
      INTO (ZPROJECT_KPI-KPI_1 ,  ZPROJECT_KPI-KPI_2 ,ZPROJECT_KPI-KPI_3 ,
     ZPROJECT_KPI-KPI_4 , ZPROJECT_KPI-KPI_5 ,ZPROJECT_KPI-TIME_1 ,
    ZPROJECT_KPI-TIME_2 , ZPROJECT_KPI-TIME_3 , ZPROJECT_KPI-TIME_4 ,
    ZPROJECT_KPI-TIME_5, ZPROJECT_KPI-QUALITY_1 , ZPROJECT_KPI-QUALITY_2 ,
     ZPROJECT_KPI-QUALITY_3 , ZPROJECT_KPI-QUALITY_4 , ZPROJECT_KPI-QUALITY_5)
      WHERE EMP_ID = USER_ID.

  endif.
ENDMODULE.                 " STATUS_1115  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_1115  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_1115 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'CANCEL'.
      CLEAR : USER_ID , PASSWORD.
      CALL SCREEN 1000.

    WHEN 'BACK'.
      CALL SCREEN 115.

    WHEN 'RESET_ALL'.
      CLEAR ZPROJECT_KPI.

    WHEN 'CLEAR'.
      IF R1 = 'X'.
        CLEAR : ZPROJECT_KPI-KPI_1 , ZPROJECT_KPI-TIME_1 , ZPROJECT_KPI-QUALITY_1.
      ELSEIF R2 = 'X'.
        CLEAR : ZPROJECT_KPI-KPI_2 , ZPROJECT_KPI-TIME_2 , ZPROJECT_KPI-QUALITY_2.
      ELSEIF R3 = 'X'.
        CLEAR : ZPROJECT_KPI-KPI_3 , ZPROJECT_KPI-TIME_3 , ZPROJECT_KPI-QUALITY_3.
      ELSEIF R4 = 'X'.
        CLEAR : ZPROJECT_KPI-KPI_4 , ZPROJECT_KPI-TIME_4 , ZPROJECT_KPI-QUALITY_4.
      ELSEIF R5 = 'X'.
        CLEAR : ZPROJECT_KPI-KPI_5 , ZPROJECT_KPI-TIME_5 , ZPROJECT_KPI-QUALITY_5.
      ENDIF.

    WHEN 'SUBMIT'.
      IF USER_ID EQ TEMP_ID.
        TEMP_KPI-EMP_ID = ZPROJECT_EMP-EMP_ID.
        TEMP_KPI-EMP_NAME = ZPROJECT_EMP-EMP_NAME.
        TEMP_KPI-DEPT_NAME = ZPROJECT_EMP-DEPT_NAME.
        TEMP_KPI-KPI_1 = ZPROJECT_KPI-KPI_1.
        TEMP_KPI-KPI_2 = ZPROJECT_KPI-KPI_2.
        TEMP_KPI-KPI_3 = ZPROJECT_KPI-KPI_3.
        TEMP_KPI-KPI_4 = ZPROJECT_KPI-KPI_4.
        TEMP_KPI-KPI_5 = ZPROJECT_KPI-KPI_5.
        TEMP_KPI-TIME_1 = ZPROJECT_KPI-TIME_1.
        TEMP_KPI-TIME_2 = ZPROJECT_KPI-TIME_2.
        TEMP_KPI-TIME_3 = ZPROJECT_KPI-TIME_3.
        TEMP_KPI-TIME_4 = ZPROJECT_KPI-TIME_4.
        TEMP_KPI-TIME_5 = ZPROJECT_KPI-TIME_5.
        TEMP_KPI-QUALITY_1 = ZPROJECT_KPI-QUALITY_1.
        TEMP_KPI-QUALITY_2 = ZPROJECT_KPI-QUALITY_2.
        TEMP_KPI-QUALITY_3 = ZPROJECT_KPI-QUALITY_3.
        TEMP_KPI-QUALITY_4 = ZPROJECT_KPI-QUALITY_4.
        TEMP_KPI-QUALITY_5 = ZPROJECT_KPI-QUALITY_5.
        MODIFY ZPROJECT_KPI FROM TEMP_KPI.
        MESSAGE i005(zmsg_eas).
      ENDIF.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_1115  INPUT


Output:
define KPI and marks screen
here, the entry for appraisal year is mandatory. As, the performance is measured periodically, so the date field is mandatory. further all the details to display or view will depend on the appraisal year selected.

values for KPI and marks entered
To modify KPI or marks or to view the details the following screen appears. here, the dates correponding to the employee lgged in will be available in the drop down list. and the data is retrieved according to the year selected.

mandatory date fields entered
display of values for the selected appraisal year