Thursday, 3 October 2013

OCTOBER 03

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0135  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0135 OUTPUT.
  SET PF-STATUS '135'.
  SET TITLEBAR '135'.
  SELECT SINGLE RO_ID NAME DEPT_NAME FROM ZPROJECT_RO
    INTO (ZPROJECT_RO-RO_ID , ZPROJECT_RO-NAME , ZPROJECT_RO-DEPT_NAME)
    WHERE RO_ID = USER_ID.

ENDMODULE.                 " STATUS_0135  OUTPUT
*&.---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0135  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0135 INPUT.
  CASE SY-UCOMM.

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

    WHEN 'CMD'.
      CALL SCREEN 136.

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

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'ASSIGN_RESULT'.
      CALL SCREEN 1300.

    WHEN 'VKMA'.
      SELECT * FROM ZPROJECT_MARKS INTO TABLE MARKS_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 = 'MARKS_T1'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_Q1'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_T2'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_Q1'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR QUALITY_1'.
      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 = 'MARKS_T3'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_Q3'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_T4'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_Q4'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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 = 'MARKS_T5'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR 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.


      WA_FIELDCAT-FIELDNAME = 'MARKS_Q5'.
      WA_FIELDCAT-SELTEXT_M = 'MARKS FOR QUALITY_5'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.

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


Output:


Reviewing officer navigation page

List of marks given to employees


Tuesday, 1 October 2013

OCTOBER 01

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0130  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0130 OUTPUT.
  SET PF-STATUS '130'.
  SET TITLEBAR '130'.

ENDMODULE.                 " STATUS_0130  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0130  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0130 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 RO_ID FROM ZPROJECT_RO INTO  TEMP_ID
        WHERE RO_ID = USER_ID.
      SELECT SINGLE PASSCODE FROM ZPROJECT_RO INTO  TEMP_PASS
        WHERE RO_ID = USER_ID.
      IF USER_ID EQ TEMP_ID AND PASSWORD EQ TEMP_PASS .
        MESSAGE 'REVIEWING OFFICER LOGIN' TYPE 'S'.
        CLEAR : TEMP_ID , TEMP_PASS.
        CALL SCREEN 0135.
      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_0130  INPUT


Output:

Login Id and Password fields

reviewing officer login into the system


Monday, 30 September 2013

SEPTEMBER 30

*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0126  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0126 OUTPUT.
  SET PF-STATUS '0126'.
  SET TITLEBAR '126'.
  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 = ZPROJECT_KPI-EMP_ID AND START_DATE = ZPROJECT_KPI-START_DATE AND END_DATE = ZPROJECT_KPI-END_DATE.

ENDMODULE.                 " STATUS_0126  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0126  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0126 INPUT.
  CASE SY-UCOMM.

    WHEN 'BACK'.
      CLEAR : ZPROJECT_KPI , ZPROJECT_EMP.
      CALL SCREEN 127.

    WHEN 'SUBMIT'.  "STORE THE MARKS GIVEN FOR KPI'S IN A TABLE"
      TEMP_MARKS-EMP_ID = ZPROJECT_KPI-EMP_ID.
      TEMP_MARKS-EMP_NAME = ZPROJECT_KPI-EMP_NAME.
      TEMP_MARKS-DEPT_NAME = ZPROJECT_KPI-DEPT_NAME.
      TEMP_MARKS-START_DATE = ZPROJECT_KPI-START_DATE.
      TEMP_MARKS-END_DATE =  ZPROJECT_KPI-END_DATE.
      TEMP_MARKS-KPI_1 = ZPROJECT_KPI-KPI_1.
      TEMP_MARKS-KPI_2 = ZPROJECT_KPI-KPI_2.
      TEMP_MARKS-KPI_3 = ZPROJECT_KPI-KPI_3.
      TEMP_MARKS-KPI_4 = ZPROJECT_KPI-KPI_4.
      TEMP_MARKS-KPI_5 = ZPROJECT_KPI-KPI_5.
      TEMP_MARKS-TIME_1 = ZPROJECT_KPI-TIME_1.
      TEMP_MARKS-TIME_2 = ZPROJECT_KPI-TIME_2.
      TEMP_MARKS-TIME_3 = ZPROJECT_KPI-TIME_3.
      TEMP_MARKS-TIME_4 = ZPROJECT_KPI-TIME_4.
      TEMP_MARKS-TIME_5 = ZPROJECT_KPI-TIME_5.
      TEMP_MARKS-MARKS_T1 = ZPROJECT_MARKS-MARKS_T1.
      TEMP_MARKS-MARKS_T2 = ZPROJECT_MARKS-MARKS_T2.
      TEMP_MARKS-MARKS_T3 = ZPROJECT_MARKS-MARKS_T3.
      TEMP_MARKS-MARKS_T4 = ZPROJECT_MARKS-MARKS_T4.
      TEMP_MARKS-MARKS_T5 = ZPROJECT_MARKS-MARKS_T5.
      TEMP_MARKS-QUALITY_1 = ZPROJECT_KPI-QUALITY_1.
      TEMP_MARKS-QUALITY_2 = ZPROJECT_KPI-QUALITY_2.
      TEMP_MARKS-QUALITY_3 = ZPROJECT_KPI-QUALITY_3.
      TEMP_MARKS-QUALITY_4 = ZPROJECT_KPI-QUALITY_4.
      TEMP_MARKS-QUALITY_5 = ZPROJECT_KPI-QUALITY_5.
      TEMP_MARKS-MARKS_Q1 = ZPROJECT_MARKS-MARKS_Q1.
      TEMP_MARKS-MARKS_Q2 = ZPROJECT_MARKS-MARKS_Q2.
      TEMP_MARKS-MARKS_Q3 = ZPROJECT_MARKS-MARKS_Q3.
      TEMP_MARKS-MARKS_Q4 = ZPROJECT_MARKS-MARKS_Q4.
      TEMP_MARKS-MARKS_Q5 = ZPROJECT_MARKS-MARKS_Q5.
      MODIFY ZPROJECT_MARKS FROM TEMP_MARKS.

      "CALCULATE TOTALS AND MAXIMUM MARKS FOR EACH AND STORE IN A TABLE"

      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.
      TEMP_RECORD-EMP_ID = ZPROJECT_KPI-EMP_ID.
      TEMP_RECORD-EMP_NAME = ZPROJECT_KPI-EMP_NAME.
      TEMP_RECORD-DEPT_NAME = ZPROJECT_KPI-DEPT_NAME.
      TEMP_RECORD-START_DATE = ZPROJECT_KPI-START_DATE.
      TEMP_RECORD-END_DATE = ZPROJECT_KPI-END_DATE.
      TEMP_RECORD-MAXIMUM_MARKS_TIME =  ZPROJECT_RECORD-MAXIMUM_MARKS_TIME.
      TEMP_RECORD-MARKS_OBTAINED_TIME = ZPROJECT_RECORD-MARKS_OBTAINED_TIME.
      TEMP_RECORD-MAXIMUM_MARKS_QUALITY = ZPROJECT_RECORD-MAXIMUM_MARKS_QUALITY.
      TEMP_RECORD-MARKS_OBTAINED_QUALITY = ZPROJECT_RECORD-MARKS_OBTAINED_QUALITY.
      TEMP_RECORD-TOTAL_MAXIMUM_MARKS = ZPROJECT_RECORD-TOTAL_MAXIMUM_MARKS.
      TEMP_RECORD-TOTAL_OBTAINED_MARKS = ZPROJECT_RECORD-TOTAL_OBTAINED_MARKS.
      TEMP_RECORD-PERFORMANCE = ZPROJECT_RECORD-PERFORMANCE.
      MODIFY ZPROJECT_RECORD FROM TEMP_RECORD.

      MESSAGE I005(ZMSG_EAS).
      CLEAR : ZPROJECT_KPI , ZPROJECT_MARKS .
      CALL SCREEN 127.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0126  INPUT


Output:

screen to enter marks to the employees


marks field entered

marks provided by manger are successfully submitted in the DDIC table ZPROJECT_MARKS

data submitted successfully

Friday, 27 September 2013

SEPTEMBER 27

manager can view the details of employee belonging to his own department only.

viewing employee details



manager views the project details of his employee.

view project details

manager viewing the KPI details as declared by his employees.

view KPI and marks details


Manager also assign marks to his employee:

*&---------------------------------------------------------------------*
*&      TABLE CONTROL  TBC- 127 FOR MANAGER
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*

*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TBC_127'
TYPES: BEGIN OF T_TBC_127,
         EMP_ID LIKE ZPROJECT_KPI-EMP_ID,
         START_DATE LIKE ZPROJECT_KPI-START_DATE,
         END_DATE LIKE ZPROJECT_KPI-END_DATE,
         EMP_NAME LIKE ZPROJECT_KPI-EMP_NAME,
         DEPT_NAME LIKE ZPROJECT_KPI-DEPT_NAME,
         MARK LIKE ZPROJECT_KPI-MARK,
       END OF T_TBC_127.

*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TBC_127'
DATA:     G_TBC_127_ITAB   TYPE T_TBC_127 OCCURS 0,
          G_TBC_127_WA     TYPE T_TBC_127. "WORK AREA
DATA:     G_TBC_127_COPIED.           "COPY FLAG

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TBC_127' ITSELF
CONTROLS: TBC_127 TYPE TABLEVIEW USING SCREEN 0127.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TBC_127'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE TBC_127_INIT OUTPUT.
  IF G_TBC_127_COPIED IS INITIAL.
*&SPWIZARD: COPY DDIC-TABLE 'ZPROJECT_KPI'
*&SPWIZARD: INTO INTERNAL TABLE 'G_TBC_127_ITAB'
    SELECT * FROM ZPROJECT_KPI
       INTO CORRESPONDING FIELDS
       OF TABLE G_TBC_127_ITAB WHERE DEPT_NAME = ZPROJECT_MGR-DEPT_NAME.
    G_TBC_127_COPIED = 'X'.
    REFRESH CONTROL 'TBC_127' FROM SCREEN '0127'.
    SORT G_TBC_127_ITAB BY EMP_ID ASCENDING.
  ENDIF.
ENDMODULE.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TBC_127'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MOVE ITAB TO DYNPRO
MODULE TBC_127_MOVE OUTPUT.
  MOVE-CORRESPONDING G_TBC_127_WA TO ZPROJECT_KPI.
ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TC 'TBC_127'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TBC_127_MODIFY INPUT.
  MOVE-CORRESPONDING ZPROJECT_KPI TO G_TBC_127_WA .
  MODIFY G_TBC_127_ITAB
    FROM G_TBC_127_WA
    INDEX TBC_127-CURRENT_LINE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0127  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0127 OUTPUT.
  SET PF-STATUS '127'.
  SET TITLEBAR '127'.
  SELECT SINGLE DEPT_NAME FROM ZPROJECT_MGR INTO ZPROJECT_MGR-DEPT_NAME
    WHERE MGR_ID = USER_ID.

ENDMODULE.                 " STATUS_0127  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_0127  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0127 INPUT.
  CASE SY-UCOMM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CANCEL'.
      CLEAR :USER_ID , PASSWORD , G_TBC_127_COPIED.
      CALL SCREEN 1000.
    WHEN 'BACK'.
      CALL SCREEN 125.
    WHEN 'SUBMIT'.
      READ TABLE  G_TBC_127_ITAB INTO ZPROJECT_KPI  WITH KEY   MARK = 'X'.
      CALL SCREEN 126.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0127  INPUT

Output:

table of employees to select and assign marks


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