Thursday, 10 January 2013

Table Entry with Screen I





screen 9500                                                  

PROCESS BEFORE OUTPUT.
MODULE STATUS_9500.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_9500.

MODULE MOD_EXIT AT EXIT-COMMAND.  




module status_9500                                          

*----------------------------------------------------------------------*
***INCLUDE MZSCREEN2_STATUS_9500O01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_9500  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_9500 OUTPUT.

  SET PF-STATUS '9500'.
  "SET TITLEBAR 'TTL9100'.

ENDMODULE.                 " STATUS_9500  OUTPUT  





module mod_exit inpu                                          

*&---------------------------------------------------------------------*
*&      Module  MOD_EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE mod_exit INPUT.
  CASE sy-ucomm.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CANCEL'.
      IF sy-dynnr EQ '9500'.
        LEAVE TO TRANSACTION sy-tcode.
      ELSEIF sy-dynnr EQ '9500'.
        LEAVE TO SCREEN 0.
      ENDIF.
    WHEN 'CHANGE'.
      SELECT FROM zemp_09
               INTO TABLE it_emp.
      IF sy-subrc EQ 0.
        CALL SCREEN 9600.
      ELSE.
        MESSAGE i001(zfi).   "No data found !!!
      ENDIF.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " MOD_EXIT  INPUT


module user_command_9500                                          

*----------------------------------------------------------------------*
***INCLUDE MZSCREEN2_USER_COMMAND_9500I01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9500  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_9500 INPUT.

  DATAans.
  CASE sy-ucomm.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'SAVE'.
      PERFORM save_data.
    WHEN 'CREATE'.
      CLEAR zemp_09.
    WHEN 'CHANGE'.
      CALL FUNCTION 'POPUP_TO_CONFIRM'
         EXPORTING
*           TITLEBAR                    = ' '
*           DIAGNOSE_OBJECT             = ' '
           text_question               'SAVE RECORD'
*           TEXT_BUTTON_1               = 'Ja'(001)
*           ICON_BUTTON_1               = ' '
*           TEXT_BUTTON_2               = 'Nein'(002)
*           ICON_BUTTON_2               = ' '
*           DEFAULT_BUTTON              = '1'
*           DISPLAY_CANCEL_BUTTON       = 'X'
*           USERDEFINED_F1_HELP         = ' '
*           START_COLUMN                = 25
*           START_ROW                   = 6
*           POPUP_TYPE                  =
*           IV_QUICKINFO_BUTTON_1       = ' '
*           IV_QUICKINFO_BUTTON_2       = ' '
        IMPORTING
          answer                      ans
*         TABLES
*           PARAMETER                   =
        EXCEPTIONS
          text_not_found              1
          OTHERS                      2             .
      IF sy-subrc EQ 0.
        IF ans EQ '1'.
          PERFORM save_data.
          CALL SCREEN '9600'.
        ELSEIF ans EQ '2'.
          CALL SCREEN '9600'.
        ELSEIF ans EQ 'A'.      
        ENDIF.
      ENDIF.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_9500  INPUT





*&---------------------------------------------------------------------*
*&      Form  SAVE_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM save_data .
  IF zemp_09-deptno IS INITIAL  OR zemp_09-ename IS INITIAL.
    MESSAGE 'FILL ALL REQUIRED FIELDS' TYPE 'I'.
  ELSE.
    DATA empno TYPE n LENGTH 5.
    CALL FUNCTION 'NUMBER_GET_NEXT'
      EXPORTING
        nr_range_nr                   '01'
        object                        'ZENO_11'
*     QUANTITY                      = '1'
*     SUBOBJECT                     = ' '
*     TOYEAR                        = '0000'
*     IGNORE_BUFFER                 = ' '
     IMPORTING
       number                        empno
*     QUANTITY                      =
*     RETURNCODE                    =
*   EXCEPTIONS
*     INTERVAL_NOT_FOUND            = 1
*     NUMBER_RANGE_NOT_INTERN       = 2
*     OBJECT_NOT_FOUND              = 3
*     QUANTITY_IS_0                 = 4
*     QUANTITY_IS_NOT_1             = 5
*     INTERVAL_OVERFLOW             = 6
*     BUFFER_OVERFLOW               = 7
*     OTHERS                        = 8
              .
    IF sy-subrc <> 0.
* Implement suitable error handling here.
    ELSE.
      CONCATENATE sy-datum+0(4empno INTO zemp_09-empno.
      MODIFY zemp_09 FROM zemp_09.
      CLEAR zemp_09.
    ENDIF.
    IF sy-subrc EQ 0.
      MESSAGE 'RECORD SAVED' TYPE 'I'.
    ENDIF.
  ENDIF.
ENDFORM.                    "save_data

" SAVE_DATA



top include                                                   


*&---------------------------------------------------------------------*
*& Include MZSCREEN2TOP                                      Module Pool      SAPMZSCREEN2
*&
*&---------------------------------------------------------------------*

PROGRAM  sapmzscreen2.

TABLESzemp_09.

DATAitab TYPE STANDARD TABLE OF zemp_09.
DATAwa TYPE zemp_09.
DATAdeptno TYPE zemp_09-deptno.

TYPESBEGIN OF gty_emp.
        INCLUDE STRUCTURE zemp_09.
TYPESmark,
       change,
       END OF gty_emp.

      TYPESBEGIN OF cols_str,
      screen_name TYPE LENGTH 20,
      END OF cols_str.

DATAit_emp TYPE STANDARD TABLE OF gty_emp,
      wa_emp TYPE gty_emp.

*&SPWIZARD: DECLARATION OF TABLECONTROL 'ZEMP_CHANGE_09' ITSELF
CONTROLSzemp_change_09 TYPE TABLEVIEW USING SCREEN 9600.

*&SPWIZARD: LINES OF TABLECONTROL 'ZEMP_CHANGE_09'
DATA:     g_zemp_change_09_lines  LIKE sy-loopc.
DATA:     ok_code LIKE sy-ucomm.

DATAcols LIKE LINE OF zemp_change_09-COLS.

output                                                      

 

No comments:

Post a Comment