Thursday, 26 September 2013

SEPTEMBER 26


*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0125  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0125 OUTPUT.
  SET PF-STATUS '125'.
  SET TITLEBAR '125'.
  SELECT SINGLE MGR_ID MGR_NAME DEPT_NAME FROM ZPROJECT_MGR
    INTO (ZPROJECT_MGR-MGR_ID , ZPROJECT_MGR-MGR_NAME , ZPROJECT_MGR-DEPT_NAME)
    WHERE MGR_ID = USER_ID.

ENDMODULE.                 " STATUS_0125  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0125  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0125 INPUT.
  CASE SY-UCOMM.

    WHEN 'BACK'.
      CLEAR : USER_ID , PASSWORD.
      CALL SCREEN 120.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'CMD'.
      CALL SCREEN 129.

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

    WHEN 'ASSIGN_MARKS'.
      CALL SCREEN 127.

    WHEN 'EMPLOYEE_DETAILS'.
      SELECT * FROM ZPROJECT_EMP INTO TABLE EMP_DETAILS
        WHERE DEPT_NAME = TEMP_MGR_DEPT.
      REFRESH IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'EMP_ID'.
      WA_FIELDCAT-SELTEXT_M = 'EMP_ID'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'EMP_NAME'.
      WA_FIELDCAT-SELTEXT_M = 'EMP_NAME'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'DEPT_NO'.
      WA_FIELDCAT-SELTEXT_M = 'DEPARTMENT NO.'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'DEPT_NAME'.
      WA_FIELDCAT-SELTEXT_M = 'DEPARTMENT NAME'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'JOINING_DATE'.
      WA_FIELDCAT-SELTEXT_M = 'JOINING DATE'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'EMP_PHONE'.
      WA_FIELDCAT-SELTEXT_M = 'PHONE NO.'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'ADDRESS'.
      WA_FIELDCAT-SELTEXT_M = 'EMP-ADDRESS'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          IT_FIELDCAT = IT_FIELDCAT
        TABLES
          T_OUTTAB    = EMP_DETAILS.

    WHEN 'VPD'.
      SELECT * FROM ZPROJECT_DETAILS INTO TABLE PROJECT_DETAILS
        WHERE DEPT_NAME = TEMP_MGR_DEPT.
      REFRESH IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'EMP_ID'.
      WA_FIELDCAT-SELTEXT_M = 'EMP_ID'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'DEPT_NAME'.
      WA_FIELDCAT-SELTEXT_M = 'DEPT_NAME'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'PROJECT_NAME'.
      WA_FIELDCAT-SELTEXT_M = 'PROJECT_NAME'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'PROJECT_ID'.
      WA_FIELDCAT-SELTEXT_M = 'PROJECT_ID'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'PROJECT_START_DATE'.
      WA_FIELDCAT-SELTEXT_M = 'PROJECT_START_DATE'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'PROJECT_END_DATE'.
      WA_FIELDCAT-SELTEXT_M = 'PROJECT_END_DATE'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'PROJECT_STATUS'.
      WA_FIELDCAT-SELTEXT_M = 'PROJECT_STATUS'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          IT_FIELDCAT = IT_FIELDCAT
        TABLES
          T_OUTTAB    = PROJECT_DETAILS.

    WHEN 'VKM'.

      SELECT * FROM ZPROJECT_KPI INTO TABLE KPI_DETAILS
        WHERE DEPT_NAME = TEMP_MGR_DEPT.

      REFRESH IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'EMP_ID'.
      WA_FIELDCAT-SELTEXT_M = 'EMP_ID'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'DEPT_NAME'.
      WA_FIELDCAT-SELTEXT_M = 'DEPT_NAME'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'KPI_1'.
      WA_FIELDCAT-SELTEXT_M = 'KPI_1'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'TIME_1'.
      WA_FIELDCAT-SELTEXT_M = 'TIME_1'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'QUALITY_1'.
      WA_FIELDCAT-SELTEXT_M = 'QUALITY_1'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'KPI_2'.
      WA_FIELDCAT-SELTEXT_M = 'KPI_2'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'TIME_2'.
      WA_FIELDCAT-SELTEXT_M = 'TIME_2'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'QUALITY_2'.
      WA_FIELDCAT-SELTEXT_M = 'QUALITY_2'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'KPI_3'.
      WA_FIELDCAT-SELTEXT_M = 'KPI_3'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'TIME_3'.
      WA_FIELDCAT-SELTEXT_M = 'TIME_3'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'QUALITY_3'.
      WA_FIELDCAT-SELTEXT_M = 'QUALITY_3'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'KPI_4'.
      WA_FIELDCAT-SELTEXT_M = 'KPI_4'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'TIME_4'.
      WA_FIELDCAT-SELTEXT_M = 'TIME_4'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'QUALITY_4'.
      WA_FIELDCAT-SELTEXT_M = 'QUALITY_4'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'KPI_5'.
      WA_FIELDCAT-SELTEXT_M = 'KPI_5'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'TIME_5'.
      WA_FIELDCAT-SELTEXT_M = 'TIME_5'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      WA_FIELDCAT-FIELDNAME = 'QUALITY_5'.
      WA_FIELDCAT-SELTEXT_M = 'QUALITY_5'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          IT_FIELDCAT = IT_FIELDCAT
        TABLES
          T_OUTTAB    = KPI_DETAILS.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0125  INPUT



Output:

manager navigation page


Wednesday, 25 September 2013

SEPTEMBER 25

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0120  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0120 OUTPUT.
  SET PF-STATUS '120'.
  SET TITLEBAR '120'.

ENDMODULE.                 " STATUS_0120  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0120  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0120 INPUT.
  CASE SY-UCOMM.

    WHEN 'RESET'.
      CLEAR: USER_ID , PASSWORD.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

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

    WHEN 'DISPLAY'.
      SELECT SINGLE DEPT_NAME FROM ZPROJECT_MGR INTO TEMP_MGR_DEPT
        WHERE MGR_ID = USER_ID.

      SELECT SINGLE MGR_ID FROM ZPROJECT_MGR INTO TEMP_ID
        WHERE MGR_ID = USER_ID.

      SELECT SINGLE PASSCODE FROM ZPROJECT_MGR INTO  TEMP_PASS
         WHERE MGR_ID = USER_ID.

      IF USER_ID EQ TEMP_ID AND PASSWORD EQ TEMP_PASS.
        MESSAGE 'MANAGER LOGIN' TYPE 'S'.
        CLEAR : TEMP_ID , TEMP_PASS.
        CALL SCREEN 0125.
      ELSEIF USER_ID EQ TEMP_ID AND PASSWORD EQ '   '.
        MESSAGE I000(ZMSG_EAS).
      ELSEIF USER_ID EQ TEMP_ID AND NOT PASSWORD EQ TEMP_PASS.
        CLEAR PASSWORD.
        MESSAGE I001(ZMSG_EAS).
      ELSE.
        CLEAR: USER_ID , PASSWORD.
        MESSAGE I002(ZMSG_EAS).
      ENDIF.
      CLEAR : TEMP_ID , TEMP_PASS.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0120  INPUT


Output:

manager login screen

login ID and password


Tuesday, 24 September 2013

SEPTEMBER 24

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0128  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0128 OUTPUT.
  SET PF-STATUS '128'.
  SET TITLEBAR '128'.

  TYPE-POOLS : VRM.


  SELECT *
     FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-START_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-START_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'START_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.

  SELECT *
       FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-END_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-END_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'END_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.


  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.
ENDMODULE.                 " STATUS_0128  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0128  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0128 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

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

    WHEN 'BACK'.
      CLEAR : START_DATE , END_DATE.
      CALL SCREEN 115.

    WHEN 'SUBMIT'.
      TEMP_YEAR-START_DATE = START_DATE.
      TEMP_YEAR-END_DATE = END_DATE.

      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME = 'ZPROJECT_EAS'
        IMPORTING
          FM_NAME  = FNAME.

      CALL FUNCTION FNAME
        EXPORTING
          USER_ID    = ZPROJECT_EMP-EMP_ID
          START_DATE = TEMP_YEAR-START_DATE
          END_DATE   = TEMP_YEAR-END_DATE.
      CLEAR : START_DATE ,END_DATE .
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0128  INPUT


Output:

enter year values to print the result

print preview screen

print format of the complete appraisal form


Monday, 23 September 2013

SEPTEMBER 23

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0138  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0138 OUTPUT.
  SET PF-STATUS '138'.
  SET TITLEBAR '138'.

  TYPE-POOLS : VRM.


  SELECT *
     FROM ZPROJECT_DETAILS
    INTO TABLE PROJECT_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT PROJECT_DETAILS INTO TEMP_DETAILS.

    WA_LISTBOX-KEY = TEMP_DETAILS-PROJECT_START_DATE.
    WA_LISTBOX-TEXT = TEMP_DETAILS-PROJECT_START_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'PROJECT_START_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.

  SELECT *
       FROM ZPROJECT_DETAILS
    INTO TABLE PROJECT_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT PROJECT_DETAILS INTO TEMP_DETAILS.

    WA_LISTBOX-KEY = TEMP_DETAILS-PROJECT_END_DATE.
    WA_LISTBOX-TEXT = TEMP_DETAILS-PROJECT_END_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'PROJECT_END_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.

  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.

  CASE SY-UCOMM.
    WHEN 'OK'.
      SELECT SINGLE PROJECT_ID PROJECT_NAME PROJECT_DESCRIPTION PROJECT_STATUS

        FROM ZPROJECT_DETAILS
        INTO (PROJECT_ID , PROJECT_NAME , PROJECT_DESCRIPTION ,PROJECT_STATUS )

        WHERE EMP_ID = USER_ID AND PROJECT_START_DATE EQ PROJECT_START_DATE AND PROJECT_END_DATE EQ
        PROJECT_END_DATE.
  ENDCASE.

ENDMODULE.                 " STATUS_0138  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0138  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0138 INPUT.
  CASE SY-UCOMM.
    WHEN 'SUBMIT'.
      TEMP_ID = USER_ID.

      TEMP_DETAILS-EMP_ID = USER_ID.
      TEMP_DETAILS-EMP_NAME = ZPROJECT_EMP-EMP_NAME.
      TEMP_DETAILS-DEPT_NAME = ZPROJECT_EMP-DEPT_NAME.
      TEMP_DETAILS-PROJECT_ID = PROJECT_ID.
      TEMP_DETAILS-PROJECT_NAME = PROJECT_NAME.
      TEMP_DETAILS-PROJECT_DESCRIPTION = PROJECT_DESCRIPTION.
      TEMP_DETAILS-PROJECT_START_DATE = PROJECT_START_DATE.
      TEMP_DETAILS-PROJECT_END_DATE = PROJECT_END_DATE.
      IF COMPLETE = 'X'.
        PROJECT_STATUS = 'COMPLETE'.
        TEMP_DETAILS-PROJECT_STATUS = PROJECT_STATUS.
      ELSEIF UNDER_PROCESS = 'X'.
        PROJECT_STATUS = 'UNDER PROCESS'.
        TEMP_DETAILS-PROJECT_STATUS = PROJECT_STATUS.
      ELSEIF NOT_STARTED = 'X'.
        PROJECT_STATUS = 'NOT STARTED'.
        TEMP_DETAILS-PROJECT_STATUS = PROJECT_STATUS.
      ENDIF.
      MODIFY ZPROJECT_DETAILS FROM TEMP_DETAILS.

      MESSAGE I005(ZMSG_EAS).
      CLEAR : PROJECT_NAME , PROJECT_DESCRIPTION, PROJECT_ID, PROJECT_START_DATE, PROJECT_START_DATE ,
  PROJECT_END_DATE , PROJECT_STATUS.
      CALL SCREEN 115.

    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CANCEL'.
      CLEAR : PROJECT_NAME , PROJECT_DESCRIPTION, PROJECT_ID, PROJECT_START_DATE,
      PROJECT_END_DATE , PROJECT_STATUS , USER_ID , PASSWORD.
      CALL SCREEN 1000.
    WHEN 'BACK'.
      CLEAR : PROJECT_NAME , PROJECT_DESCRIPTION, PROJECT_ID, PROJECT_START_DATE,
      PROJECT_END_DATE , PROJECT_STATUS .
      CALL SCREEN 115.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0138  INPUT


Output:

screen to modify project details for selected year



display of details for the year selected

data submitted successfully after modifications



Friday, 20 September 2013

SEPEMBER 20


*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0123  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0123 OUTPUT.
  SET PF-STATUS '123'.
  SET TITLEBAR '123'.

  TYPE-POOLS : VRM.


  SELECT *
     FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-START_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-START_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'START_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.

  SELECT *
       FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-END_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-END_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'END_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.


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

  CASE SY-UCOMM.
    WHEN 'OK'.

      SELECT SINGLE BEHAVIOUR_ISSUE_1 BEHAVIOUR_ISSUE_2 BEHAVIOUR_ISSUE_3 BEHAVIOUR_ISSUE_4 BEHAVIOUR_ISSUE_5
         REWARD_1  REWARD_2  REWARD_3  REWARD_4  REWARD_5
         FROM ZPROJECT_RESULT
         INTO (ZPROJECT_RESULT-BEHAVIOUR_ISSUE_1 ,ZPROJECT_RESULT-BEHAVIOUR_ISSUE_2 ,ZPROJECT_RESULT-BEHAVIOUR_ISSUE_3
         ,ZPROJECT_RESULT-BEHAVIOUR_ISSUE_4 ,ZPROJECT_RESULT-BEHAVIOUR_ISSUE_5 ,ZPROJECT_RESULT-REWARD_1
         ,ZPROJECT_RESULT-REWARD_2 ,ZPROJECT_RESULT-REWARD_3  ,ZPROJECT_RESULT-REWARD_4 ,ZPROJECT_RESULT-REWARD_5)
         WHERE EMP_ID = USER_ID AND START_DATE = START_DATE AND END_DATE = END_DATE.

  ENDCASE.

ENDMODULE.                 " STATUS_0123  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0123  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0123 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'BACK'.
      CLEAR : ZPROJECT_RESULT.
      CLEAR : START_DATE , END_DATE.
      CALL SCREEN 115.

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

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0123  INPUT


Output:
entering mandatory date field to view the reward behavioral modification

when OK button is clicked the following screen appears  and the data for the corresponding year selected is displayed:

 display of values


Thursday, 19 September 2013

SEPTEMBER 19


*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0121  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0121 OUTPUT.
*  SET PF-STATUS 'XXXXXXXX'.
* SET TITLEBAR 'XXXXXX'.
  SELECT SINGLE EMP_ID EMP_NAME DEPT_NAME
     FROM ZPROJECT_KPI
     INTO (ZPROJECT_KPI-EMP_ID , ZPROJECT_KPI-EMP_NAME , ZPROJECT_KPI-DEPT_NAME )
     WHERE EMP_ID = USER_ID.
  CASE SY-UCOMM.
    WHEN 'SUBMIT'.

      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 AND START_DATE = START_DATE AND END_DATE = END_DATE.

      SELECT SINGLE MARKS_T1 MARKS_T2 MARKS_T3 MARKS_T4 MARKS_T5 MARKS_Q1 MARKS_Q2
        MARKS_Q3 MARKS_Q4 MARKS_Q5
        FROM ZPROJECT_MARKS
        INTO (ZPROJECT_MARKS-MARKS_T1 , ZPROJECT_MARKS-MARKS_T2 , ZPROJECT_MARKS-MARKS_T3 ,
        ZPROJECT_MARKS-MARKS_T4 , ZPROJECT_MARKS-MARKS_T5 , ZPROJECT_MARKS-MARKS_Q1 , ZPROJECT_MARKS-MARKS_Q2 ,
        ZPROJECT_MARKS-MARKS_Q3 , ZPROJECT_MARKS-MARKS_Q4 , ZPROJECT_MARKS-MARKS_Q5)
        WHERE EMP_ID = USER_ID AND START_DATE = START_DATE AND END_DATE = END_DATE.


  ENDCASE.
ENDMODULE.                 " STATUS_0121  OUTPUT

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0122  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0122 OUTPUT.
*  SET PF-STATUS 'XXXXXXXX'.
*  SET TITLEBAR '122'.

  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.

  CASE SY-UCOMM.

    WHEN 'SUBMIT'.

      SELECT SINGLE PROJECT_NAME PROJECT_STATUS FROM ZPROJECT_DETAILS
        INTO (ZPROJECT_DETAILS-PROJECT_NAME , ZPROJECT_DETAILS-PROJECT_STATUS )
        WHERE EMP_ID = USER_ID AND PROJECT_START_DATE BETWEEN START_DATE AND END_DATE.

      ZPROJECT_RECORD-MAXIMUM_MARKS_TIME =  ZPROJECT_KPI-TIME_1 + ZPROJECT_KPI-TIME_2 + ZPROJECT_KPI-TIME_3 +
         ZPROJECT_KPI-TIME_4 + ZPROJECT_KPI-TIME_5.

      ZPROJECT_RECORD-MAXIMUM_MARKS_QUALITY = ZPROJECT_KPI-QUALITY_1 + ZPROJECT_KPI-QUALITY_2 + ZPROJECT_KPI-QUALITY_3 +
      ZPROJECT_KPI-QUALITY_4 + ZPROJECT_KPI-QUALITY_5 .

      ZPROJECT_RECORD-TOTAL_MAXIMUM_MARKS = ZPROJECT_RECORD-MAXIMUM_MARKS_TIME + ZPROJECT_RECORD-MAXIMUM_MARKS_QUALITY.

      ZPROJECT_RECORD-MARKS_OBTAINED_TIME = ZPROJECT_MARKS-MARKS_T1 + ZPROJECT_MARKS-MARKS_T2 + ZPROJECT_MARKS-MARKS_T3 +
       ZPROJECT_MARKS-MARKS_T4 + ZPROJECT_MARKS-MARKS_T5.

      ZPROJECT_RECORD-MARKS_OBTAINED_QUALITY = ZPROJECT_MARKS-MARKS_Q1 + ZPROJECT_MARKS-MARKS_Q2 + ZPROJECT_MARKS-MARKS_Q3 +
       ZPROJECT_MARKS-MARKS_Q4 + ZPROJECT_MARKS-MARKS_Q5.

      ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS = ZPROJECT_RECORD-MARKS_OBTAINED_TIME + ZPROJECT_RECORD-MARKS_OBTAINED_QUALITY.


      IF ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS BETWEEN 0 AND 20.
        ZPROJECT_RECORD-PERFORMANCE = 'POOR PERFORMANE'.
      ELSEIF  ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS BETWEEN 21 AND 40.
        ZPROJECT_RECORD-PERFORMANCE = 'BELOW AVERAGE PERFORMANCE'.
      ELSEIF  ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS BETWEEN 41 AND 60.
        ZPROJECT_RECORD-PERFORMANCE = 'AVERAGE PERFORMANCE'.
      ELSEIF  ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS BETWEEN 61 AND 80.
        ZPROJECT_RECORD-PERFORMANCE = 'ABOVE AVERAGE PERFORMANCE'.
      ELSEIF  ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS BETWEEN 81 AND 100.
        ZPROJECT_RECORD-PERFORMANCE = 'EXCELLENT PERFORMANCE'.
      ENDIF.
  ENDCASE.
ENDMODULE.                 " STATUS_0122  OUTPUT


Output:

View result screen

when the year is entered and submit buttton is clicked, the following dta appears on the screen according to the appraisal year selected.


marks obtained fro the given appraisal year

performance values for the same year entered


Wednesday, 18 September 2013

SEPTEMBER 18

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0118  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0118 OUTPUT.
  SET PF-STATUS '118'.
  SET TITLEBAR '118'.

  SELECT SINGLE EMP_ID EMP_NAME DEPT_NO DEPT_NAME JOINING_DATE PASSCODE
     EMP_PHONE ADDRESS
    FROM ZPROJECT_EMP
    INTO
    (ZPROJECT_EMP-EMP_ID , ZPROJECT_EMP-EMP_NAME ,ZPROJECT_EMP-DEPT_NO ,
     ZPROJECT_EMP-DEPT_NAME,ZPROJECT_EMP-JOINING_DATE,ZPROJECT_EMP-PASSCODE ,
     ZPROJECT_EMP-EMP_PHONE , ZPROJECT_EMP-ADDRESS)
  WHERE EMP_ID = USER_ID.

ENDMODULE.                 " STATUS_0118  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0118  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0118 INPUT.
  CASE SY-UCOMM.

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

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'SUBMIT'.
      TEMP_EMP-EMP_ID = ZPROJECT_EMP-EMP_ID.
      TEMP_EMP-EMP_NAME = ZPROJECT_EMP-EMP_NAME.
      TEMP_EMP-DEPT_NO = ZPROJECT_EMP-DEPT_NO.
      TEMP_EMP-DEPT_NAME = ZPROJECT_EMP-DEPT_NAME.
      TEMP_EMP-JOINING_DATE = ZPROJECT_EMP-JOINING_DATE.
      TEMP_EMP-PASSCODE = ZPROJECT_EMP-PASSCODE.
      TEMP_EMP-EMP_PHONE = ZPROJECT_EMP-EMP_PHONE.
      TEMP_EMP-ADDRESS = ZPROJECT_EMP-ADDRESS.
      MODIFY ZPROJECT_EMP FROM TEMP_EMP.
      MESSAGE I005(ZMSG_EAS).
      CALL SCREEN 0115.

    WHEN 'BACK'.
      CALL SCREEN 0115.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0118  INPUT
*&---------------------------------------------------------------------*
*&      TAB 119 - VIEW  MARKS AND RESULT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TAB'
CONSTANTS: BEGIN OF C_TAB,
             TAB1 LIKE SY-UCOMM VALUE 'TAB_FC1',
             TAB2 LIKE SY-UCOMM VALUE 'TAB_FC2',
           END OF C_TAB.
*&SPWIZARD: DATA FOR TABSTRIP 'TAB'
CONTROLS:  TAB TYPE TABSTRIP.
DATA:      BEGIN OF G_TAB,
             SUBSCREEN   LIKE SY-DYNNR,
             PROG        LIKE SY-REPID VALUE 'ZPROJECT_EAS',
             PRESSED_TAB LIKE SY-UCOMM VALUE C_TAB-TAB1,
           END OF G_TAB.

*&SPWIZARD: OUTPUT MODULE FOR TS 'TAB'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TAB_ACTIVE_TAB_SET OUTPUT.
  TAB-ACTIVETAB = G_TAB-PRESSED_TAB.
  CASE G_TAB-PRESSED_TAB.
    WHEN C_TAB-TAB1.
      G_TAB-SUBSCREEN = '0121'.
    WHEN C_TAB-TAB2.
      G_TAB-SUBSCREEN = '0122'.
    WHEN OTHERS.
*&SPWIZARD:      DO NOTHING
  ENDCASE.
ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TS 'TAB'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TAB_ACTIVE_TAB_GET INPUT.
  OK_CODE = SY-UCOMM.
  CASE OK_CODE.
    WHEN C_TAB-TAB1.
      G_TAB-PRESSED_TAB = C_TAB-TAB1.
    WHEN C_TAB-TAB2.
      G_TAB-PRESSED_TAB = C_TAB-TAB2.
    WHEN OTHERS.
*&SPWIZARD:      DO NOTHING
  ENDCASE.
ENDMODULE.

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0119  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0119 OUTPUT.
  SET PF-STATUS '119'.
  SET TITLEBAR '119'.

  TYPE-POOLS : VRM.

  SELECT *
     FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-START_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-START_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'START_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.

  SELECT *
       FROM ZPROJECT_YEAR
    INTO TABLE YEAR_DETAILS WHERE EMP_ID = ZPROJECT_EMP-EMP_ID.

  LOOP AT YEAR_DETAILS INTO TEMP_YEAR.

    WA_LISTBOX-KEY = TEMP_YEAR-END_DATE.
    WA_LISTBOX-TEXT = TEMP_YEAR-END_DATE.
    APPEND WA_LISTBOX TO IT_LISTBOX.
  ENDLOOP.

  LD_FIELD = 'END_DATE'.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = LD_FIELD
      VALUES = IT_LISTBOX.
  REFRESH IT_LISTBOX.


ENDMODULE.                 " STATUS_0119  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0119  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0119 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'CANCEL'.
      CLEAR : START_DATE , END_DATE , ZPROJECT_KPI , ZPROJECT_MARKS , ZPROJECT_RECORD.
      CLEAR : USER_ID , PASSWORD.

      CALL SCREEN 1000.

    WHEN 'OK'.

      CLEAR : START_DATE , END_DATE .
      CLEAR : ZPROJECT_KPI , ZPROJECT_MARKS , ZPROJECT_RECORD.
      CALL SCREEN 115.


  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0119  INPUT