Advertisement
yaramohamed78

paint screen

Mar 23rd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 6.68 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  Z_Y_DISPOSAL_REQ_INQ
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT Z_Y_DISPOSAL_REQ_INQ.
  10.  
  11.  
  12. ******************************************************************************************************
  13.  
  14. *Internal table which will be used in filling the alv by returning the data from the fm inquiry.
  15. TYPES : BEGIN OF IT_req,
  16.           zzsr_number    TYPE ZFI_DISPOSAL_REQ-ZZSR_NUMBER,
  17.           zzcompany_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  18.           zzcost_center  TYPE ZFI_DISPOSAL_REQ-ZZCOST_CENTER,
  19.           zzdate         TYPE ZFI_DISPOSAL_REQ-ZZDATE,
  20.           s_zzdesc       TYPE ZFI_LOOKUP-ZZDESC,
  21.           rs_zzdesc      TYPE ZFI_LOOKUP-ZZDESC,
  22.           crea_user      TYPE ZFI_DISPOSAL_REQ-CREA_USER,
  23.           crea_time      TYPE ZFI_DISPOSAL_REQ-CREA_TIME,
  24.           chng_user      TYPE ZFI_DISPOSAL_REQ-CHNG_USER,
  25.           chng_time      TYPE ZFI_DISPOSAL_REQ-CHNG_TIME,
  26.  
  27.   END OF IT_req.
  28.  
  29. *Internal Table & work area for it.
  30. DATA : it_reqs  TYPE TABLE OF it_req,
  31.         wa_reqs TYPE it_req.
  32.  
  33.  
  34. ********************************************************************************************************************************************************
  35.  
  36. *Internal tables we will need for the search help filtering
  37.  
  38. *Cost Center
  39. TYPES: BEGIN OF ty_req,
  40.        company_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  41.        cost_center  TYPE ZFI_DISPOSAL_REQ-ZZCOST_CENTER,
  42.        END OF ty_req.
  43.  
  44. * Request Status & Service
  45. TYPES: BEGIN OF ty_lookup,
  46.         code      TYPE ZFI_LOOKUP-ZZCODE,
  47.        END OF ty_lookup.
  48.  
  49.  
  50. DATA:   gwa_req         TYPE ty_req,
  51.         gt_req          TYPE TABLE OF ty_req,
  52.         gwa_lookup      TYPE ty_lookup,
  53.         gt_lookup       TYPE TABLE OF ty_lookup,
  54.         gt_return       TYPE TABLE OF ddshretval,
  55.         gwa_return      TYPE ddshretval,
  56.         gwa_dynpfields  TYPE dynpread,
  57.         gt_dynpfields   TYPE TABLE OF dynpread,
  58.         gv_company_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  59.         gv_type         TYPE ZFI_LOOKUP-ZZTYPE.
  60.  
  61. *Working area for the three tables we will need to work on .
  62. DATA:   wa_req TYPE ZFI_DISPOSAL_REQ,
  63.         wa_service TYPE ZFI_LOOKUP,
  64.         wa_req_status TYPE ZFI_LOOKUP.
  65.  
  66. *Fields for ALV
  67. DATA:
  68.  gs_fieldcatalog TYPE lvc_s_fcat OCCURS 0,
  69.  gv_fcat LIKE LINE OF gs_fieldcatalog,
  70.  gs_layout TYPE lvc_s_layo.
  71.  
  72. *Container & Grid we need for the alv
  73. DATA :
  74.  g_Container TYPE scrfname VALUE 'CC_CONTAINER_GRID',
  75.  g_Custom_Container TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
  76.  g_Grid TYPE REF TO CL_GUI_ALV_GRID.
  77.  
  78. *Handle User interaction
  79. DATA :
  80.  OK_CODE LIKE sy-ucomm,
  81.  SAVE_OK LIKE sy-ucomm.
  82.  
  83. ********************************************************************************************************************************************************
  84.  
  85. *Before Screen Output
  86. MODULE STATUS_0100 OUTPUT.
  87.  
  88.  SET PF-STATUS 'MAINSTATUS'.
  89.  SET TITLEBAR 'TITLE'.
  90.  
  91.  IF g_Custom_Container IS INITIAL.
  92.  
  93.   " Create CONTAINER object with reference to container name in the screen
  94.   CREATE OBJECT g_Custom_Container EXPORTING CONTAINER_NAME = g_Container.
  95.   " Create GRID object with reference to parent name
  96.   CREATE OBJECT g_Grid EXPORTING I_PARENT = g_Custom_Container.
  97.  
  98.   PERFORM u_prepare_fieldcatalog.
  99.   gs_layout-ZEBRA = 'X'.
  100.   "gs_layout-edit = 'X'. " Makes all Grid editable
  101.  
  102.   " SET_TABLE_FOR_FIRST_DISPLAY
  103.   CALL METHOD g_Grid->SET_TABLE_FOR_FIRST_DISPLAY
  104.    EXPORTING
  105.     is_layout = gs_layout
  106.    CHANGING
  107.     it_fieldcatalog = gs_fieldcatalog
  108.     IT_OUTTAB = it_reqs. " Data
  109.  
  110.  ELSE.
  111.   CALL METHOD g_Grid->REFRESH_TABLE_DISPLAY.
  112.  ENDIF.
  113.  
  114. ENDMODULE. " STATUS_0100 OUTPUT
  115.  
  116.  
  117.  
  118. START-OF-SELECTION.
  119.  
  120.  CALL SCREEN 100.
  121.  
  122.  MODULE USER_COMMAND_0100 INPUT.
  123.  
  124.  SAVE_OK = OK_CODE.
  125.  CLEAR OK_CODE.
  126.  
  127.  CASE SAVE_OK.
  128.   WHEN 'EXIT' OR 'BACK' OR 'CNCL'.
  129.    LEAVE PROGRAM.
  130.   WHEN 'SEARCH'.
  131.    PERFORM SEARCH.
  132.   WHEN 'RESET'.
  133.    PERFORM RESET.
  134.   WHEN OTHERS.
  135.  ENDCASE.
  136.  
  137. ENDMODULE. " USER_COMMAND_0100 INPUT
  138.  
  139.  
  140. *********************************************************************************************************************************************************
  141.  
  142. *On Value Request for cost center - filter it depending on company code
  143. AT SELECTION-SCREEN .
  144.  
  145.   REFRESH gt_dynpfields.
  146.  
  147. *Field i will filter upon
  148.   gwa_dynpfields-fieldname = 'COM_CODE'.
  149.   APPEND gwa_dynpfields TO gt_dynpfields.
  150.  
  151.   CALL FUNCTION 'DYNP_VALUES_READ'
  152.     EXPORTING
  153.       DYNAME                               = sy-repid
  154.       DYNUMB                               = sy-dynnr
  155.     TABLES
  156.       DYNPFIELDS                           = gt_dynpfields
  157.    EXCEPTIONS
  158.      INVALID_ABAPWORKAREA                 = 1
  159.      INVALID_DYNPROFIELD                  = 2
  160.      INVALID_DYNPRONAME                   = 3
  161.      INVALID_DYNPRONUMMER                 = 4
  162.      INVALID_REQUEST                      = 5
  163.      NO_FIELDDESCRIPTION                  = 6
  164.      INVALID_PARAMETER                    = 7
  165.      UNDEFIND_ERROR                       = 8
  166.      DOUBLE_CONVERSION                    = 9
  167.      STEPL_NOT_FOUND                      = 10
  168.      OTHERS                               = 11
  169.             .
  170.   READ TABLE gt_dynpfields INTO gwa_dynpfields
  171.              WITH KEY fieldname = 'COM_CODE'.
  172. *If there are no errors , assign the company code the value returned.
  173.   IF SY-SUBRC = 0.
  174.       gv_company_code = gwa_dynpfields-fieldvalue.
  175.   ENDIF.
  176.  
  177. *Select statement to get the cost center depending on the dynamic value for the company code & assign it to the table we created.
  178.   SELECT ZZCOMPANY_CODE ZZCOST_CENTER
  179.          INTO TABLE gt_req
  180.          FROM ZFI_DISPOSAL_REQ
  181.          WHERE ZZCOMPANY_CODE = gv_company_code.
  182.  
  183. *Get cost center search help values depending on the company code.
  184.     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  185.       EXPORTING
  186.         RETFIELD               = 'COST_CENTER'
  187.         VALUE_ORG              = 'S'
  188.       TABLES
  189.         VALUE_TAB              = gt_req
  190.         RETURN_TAB             = gt_return
  191.      EXCEPTIONS
  192.        PARAMETER_ERROR        = 1
  193.        NO_VALUES_FOUND        = 2
  194.        OTHERS                 = 3
  195.               .
  196.  
  197.      READ TABLE gt_return INTO gwa_return INDEX 1.
  198.  
  199. *If there are no errors , assign the returned table to the cost_cnt selection paramter.
  200.     IF SY-SUBRC = 0.
  201.       COST_CNT = gwa_return-fieldval.
  202.     ENDIF.
  203.  
  204.  
  205. *********************************************************************************************************************************************************
  206.  
  207.  
  208.  
  209. FORM SEARCH.
  210. ENDFORM.
  211.  
  212. FORM RESET.
  213. ENDFORM.
  214.  
  215. FORM u_prepare_fieldcatalog.
  216.  
  217. ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement