Friday, 22 November 2013

NOVEMBER 22


*&---------------------------------------------------------------------*
*&      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_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.

Thursday, 21 November 2013

NOVEMBER 21

Message class had been created using transaction SE91. To display a message repeatedly we will need to type the entire message again and again. To avoid this, we create a message class. in which a particular message is given the number. Now whenever we need to display that particular message we can call the message class and the message is displayed.


 

message class created


    
Example code to show the use of message class:
 
  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).
        CLEAR : TEMP_ID , TEMP_PASS.


      IF TOTAL GT 100.
        MESSAGE I003(ZMSG_EAS).
        MESSAGE I004(ZMSG_EAS).

  INSERT ZPROJECT_DETAILS FROM TEMP_DETAILS.
          MESSAGE I005(ZMSG_EAS).





 

Wednesday, 20 November 2013

NOVEMBER 20


*&---------------------------------------------------------------------*
*&      TABLE CONTROL 1300 : ASSIGN RESULT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TBC_1300'
TYPES: BEGIN OF T_TBC_1300,
         EMP_ID LIKE ZPROJECT_EMP-EMP_ID,
         EMP_NAME LIKE ZPROJECT_EMP-EMP_NAME,
         DEPT_NO LIKE ZPROJECT_EMP-DEPT_NO,
         DEPT_NAME LIKE ZPROJECT_EMP-DEPT_NAME,
         MARK LIKE ZPROJECT_EMP-MARK,
       END OF T_TBC_1300.

*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TBC_1300'
DATA:     G_TBC_1300_ITAB   TYPE T_TBC_1300 OCCURS 0,
          G_TBC_1300_WA     TYPE T_TBC_1300. "WORK AREA
DATA:     G_TBC_1300_COPIED.           "COPY FLAG

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TBC_1300' ITSELF
CONTROLS: TBC_1300 TYPE TABLEVIEW USING SCREEN 1300.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TBC_1300'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: COPY DDIC-TABLE TO ITAB
MODULE TBC_1300_INIT OUTPUT.
  IF G_TBC_1300_COPIED IS INITIAL.
*&SPWIZARD: COPY DDIC-TABLE 'ZPROJECT_EMP'
*&SPWIZARD: INTO INTERNAL TABLE 'G_TBC_1300_ITAB'
    SELECT * FROM ZPROJECT_EMP
       INTO CORRESPONDING FIELDS
       OF TABLE G_TBC_1300_ITAB.
    G_TBC_1300_COPIED = 'X'.
    REFRESH CONTROL 'TBC_1300' FROM SCREEN '1300'.
    SORT G_TBC_1300_ITAB BY EMP_ID ASCENDING.
  ENDIF.
ENDMODULE.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TBC_1300'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MOVE ITAB TO DYNPRO
MODULE TBC_1300_MOVE OUTPUT.
  MOVE-CORRESPONDING G_TBC_1300_WA TO ZPROJECT_EMP.
ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TC 'TBC_1300'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MODIFY TABLE
MODULE TBC_1300_MODIFY INPUT.
  MOVE-CORRESPONDING ZPROJECT_EMP TO G_TBC_1300_WA.
  MODIFY G_TBC_1300_ITAB
    FROM G_TBC_1300_WA
    INDEX TBC_1300-CURRENT_LINE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      MODULE  STATUS_1300  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_1300 OUTPUT.
  SET PF-STATUS '1300'.
  SET TITLEBAR '1300'.

ENDMODULE.                 " STATUS_1300  OUTPUT
*&---------------------------------------------------------------------*
*&      MODULE  USER_COMMAND_1300  INPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE USER_COMMAND_1300 INPUT.
  CASE SY-UCOMM.

    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'BACK'.
      CALL SCREEN 135.

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

    WHEN 'SUBMIT'.
      READ TABLE  G_TBC_1300_ITAB INTO ZPROJECT_EMP  WITH KEY   MARK = 'X'.
      CALL SCREEN 124.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_1300  INPUT
*&---------------------------------------------------------------------*
*&      TAB 131 - ASSIGN RESULT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TAB_131'
CONSTANTS: BEGIN OF C_TAB_131,
             TAB1 LIKE SY-UCOMM VALUE 'TAB_131_FC1',
             TAB2 LIKE SY-UCOMM VALUE 'TAB_131_FC2',
             TAB3 LIKE SY-UCOMM VALUE 'TAB_131_FC3',
           END OF C_TAB_131.
*&SPWIZARD: DATA FOR TABSTRIP 'TAB_131'
CONTROLS:  TAB_131 TYPE TABSTRIP.
DATA:      BEGIN OF G_TAB_131,
             SUBSCREEN   LIKE SY-DYNNR,
             PROG        LIKE SY-REPID VALUE 'ZPROJECT_EAS',
             PRESSED_TAB LIKE SY-UCOMM VALUE C_TAB_131-TAB1,
           END OF G_TAB_131.

*&SPWIZARD: OUTPUT MODULE FOR TS 'TAB_131'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TAB_131_ACTIVE_TAB_SET OUTPUT.
  TAB_131-ACTIVETAB = G_TAB_131-PRESSED_TAB.
  CASE G_TAB_131-PRESSED_TAB.
    WHEN C_TAB_131-TAB1.
      G_TAB_131-SUBSCREEN = '0132'.
    WHEN C_TAB_131-TAB2.
      G_TAB_131-SUBSCREEN = '0133'.
    WHEN C_TAB_131-TAB3.
      G_TAB_131-SUBSCREEN = '0134'.
    WHEN OTHERS.
*&SPWIZARD:      DO NOTHING
  ENDCASE.
ENDMODULE.

*&SPWIZARD: INPUT MODULE FOR TS 'TAB_131'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TAB_131_ACTIVE_TAB_GET INPUT.
  OK_CODE = SY-UCOMM.
  CASE OK_CODE.
    WHEN C_TAB_131-TAB1.
      G_TAB_131-PRESSED_TAB = C_TAB_131-TAB1.
    WHEN C_TAB_131-TAB2.
      G_TAB_131-PRESSED_TAB = C_TAB_131-TAB2.
    WHEN C_TAB_131-TAB3.
      G_TAB_131-PRESSED_TAB = C_TAB_131-TAB3.
    WHEN OTHERS.
*&SPWIZARD:      DO NOTHING
  ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      MODULE  STATUS_0131  OUTPUT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
MODULE STATUS_0131 OUTPUT.
  SET PF-STATUS '131'.
  SET TITLEBAR '131'.

  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_0131  OUTPUT