Advertisement
yaramohamed78

V3

Mar 22nd, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 18.79 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  Z_YY_DISPOSAL_REQ_INQ
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. *----------------------------------------------------------------------*
  9. * Author : <Yara Mohamed/Developer user ID>
  10. * Creation Date : <09-03-2017>
  11. * Transaction : <Transaction code if attached>
  12. * Technical design: <Assets Disposal Request Inquiry Screen>
  13. * Description : < Show Disposal Request Information>
  14. *----------------------------------------------------------------------*
  15.  
  16. REPORT  Z_YY_DISPOSAL_REQ_INQ.
  17.  
  18. ******************************************************************************************************
  19.  
  20. *Internal table which will be used in filling the alv by returning the data from the fm inquiry.
  21. TYPES : BEGIN OF IT_req,
  22.           zzsr_number    TYPE ZFI_DISPOSAL_REQ-ZZSR_NUMBER,
  23.           zzcompany_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  24.           zzcost_center  TYPE ZFI_DISPOSAL_REQ-ZZCOST_CENTER,
  25.           zzdate         TYPE ZFI_DISPOSAL_REQ-ZZDATE,
  26.           s_zzdesc       TYPE ZFI_LOOKUP-ZZDESC,
  27.           rs_zzdesc      TYPE ZFI_LOOKUP-ZZDESC,
  28.           crea_user      TYPE ZFI_DISPOSAL_REQ-CREA_USER,
  29.           crea_time      TYPE ZFI_DISPOSAL_REQ-CREA_TIME,
  30.           chng_user      TYPE ZFI_DISPOSAL_REQ-CHNG_USER,
  31.           chng_time      TYPE ZFI_DISPOSAL_REQ-CHNG_TIME,
  32.  
  33.   END OF IT_req.
  34.  
  35. *Internal Table & work area for it.
  36. DATA : it_reqs  TYPE TABLE OF it_req,
  37.         wa_reqs TYPE it_req.
  38.  
  39. DATA columns TYPE REF TO cl_salv_columns_table.
  40. DATA column  TYPE REF TO cl_salv_column.
  41.  
  42. ********************************************************************************************************************************************************
  43.  
  44. *Internal tables we will need for the search help filtering
  45.  
  46. *Cost Center
  47. TYPES: BEGIN OF ty_req,
  48.        company_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  49.        cost_center  TYPE ZFI_DISPOSAL_REQ-ZZCOST_CENTER,
  50.        END OF ty_req.
  51.  
  52. * Request Status & Service
  53. TYPES: BEGIN OF ty_lookup,
  54.         code      TYPE ZFI_LOOKUP-ZZCODE,
  55.        END OF ty_lookup.
  56.  
  57.  
  58. DATA:   gwa_req         TYPE ty_req,
  59.         gt_req          TYPE TABLE OF ty_req,
  60.         gwa_lookup      TYPE ty_lookup,
  61.         gt_lookup       TYPE TABLE OF ty_lookup,
  62.         gt_return       TYPE TABLE OF ddshretval,
  63.         gwa_return      TYPE ddshretval,
  64.         gwa_dynpfields  TYPE dynpread,
  65.         gt_dynpfields   TYPE TABLE OF dynpread,
  66.         gv_company_code TYPE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE,
  67.         gv_type         TYPE ZFI_LOOKUP-ZZTYPE.
  68.  
  69. *Working area for the three tables we will need to work on .
  70. DATA:   wa_req TYPE ZFI_DISPOSAL_REQ,
  71.         wa_service TYPE ZFI_LOOKUP,
  72.         wa_req_status TYPE ZFI_LOOKUP.
  73.  
  74. ********************************************************************************************************************************************************
  75. *   local data for the docking , gui_container , and the cl_salv
  76.     DATA: lo_dock TYPE REF TO cl_gui_docking_container,
  77.           lo_cont TYPE REF TO cl_gui_container,
  78.           lo_alv  TYPE REF TO cl_salv_table.
  79.  
  80. *
  81. *----------------------------------------------------------------------*
  82. *  Local class for report
  83. *----------------------------------------------------------------------*
  84. CLASS lcl_report DEFINITION.
  85. *
  86.   PUBLIC SECTION.
  87.  
  88.  
  89.     DATA: t_data   TYPE STANDARD TABLE OF it_req.  " Output data
  90. *
  91.     METHODS:
  92.       get_data,
  93. *
  94.       generate_output.
  95. *
  96. ENDCLASS.                    "lcl_report DEFINITION
  97. *
  98. DATA: lo_report TYPE REF TO lcl_report.
  99. *
  100.  
  101. *********************************************************************************************************************************************************
  102. ** Selection Screen
  103. SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE text-001.
  104.  
  105. *Company Code Default(1200)
  106. SELECTION-SCREEN BEGIN OF LINE.
  107.   SELECTION-SCREEN COMMENT (20) text-002 FOR FIELD COM_CODE .
  108. PARAMETERS :     COM_CODE LIKE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE DEFAULT '1200'.
  109. SELECTION-SCREEN POSITION 35.
  110.  
  111. *Cost Center - Search Help depending on the value for the company code
  112. SELECTION-SCREEN COMMENT (20) text-003 FOR FIELD COST_CNT .
  113. PARAMETERS :     COST_CNT LIKE ZFI_DISPOSAL_REQ-ZZCOST_CENTER.
  114. SELECTION-SCREEN POSITION 70.
  115. SELECTION-SCREEN END OF LINE.
  116.  
  117. *Serial Number
  118. SELECTION-SCREEN BEGIN OF LINE.
  119.   SELECTION-SCREEN COMMENT (20) text-004 FOR FIELD SER_NO .
  120. PARAMETERS :     SER_NO   LIKE ZFI_DISPOSAL_REQ-ZZSR_NUMBER.
  121.  
  122.  
  123. *SELECTION-SCREEN POSITION 10.
  124. *Service Type - Search Help
  125. SELECTION-SCREEN COMMENT (20) text-005 FOR FIELD SRV_TYPE .
  126. PARAMETERS :     SRV_TYPE LIKE ZFI_LOOKUP-ZZCODE .
  127. SELECTION-SCREEN POSITION 70.
  128. SELECTION-SCREEN END OF LINE.
  129.  
  130. *Date
  131. SELECTION-SCREEN BEGIN OF LINE.
  132.   SELECTION-SCREEN COMMENT (20) text-006 FOR FIELD DATE .
  133. PARAMETERS :     DATE LIKE ZFI_DISPOSAL_REQ-ZZDATE.
  134. *SELECTION-SCREEN POSITION 35.
  135.  
  136. *Request Status - Search Help
  137. SELECTION-SCREEN COMMENT (20) text-007 FOR FIELD REQ_STS .
  138. PARAMETERS :     REQ_STS  LIKE ZFI_LOOKUP-ZZCODE.
  139.  
  140. *Search Button
  141. SELECTION-SCREEN PUSHBUTTON (10) BUT1 USER-COMMAND SEARCH.
  142.  
  143. *Reset Button
  144. SELECTION-SCREEN PUSHBUTTON (10) BUT2 USER-COMMAND RESET.
  145. SELECTION-SCREEN END OF LINE.
  146. SELECTION-SCREEN END OF BLOCK SELECTION.
  147. *
  148. *********************************************************************************************************************************************************
  149.  
  150. *On Value Request for cost center - filter it depending on company code
  151. AT SELECTION-SCREEN ON VALUE-REQUEST FOR COST_CNT.
  152.  
  153.   REFRESH gt_dynpfields.
  154.  
  155. *Field i will filter upon
  156.   gwa_dynpfields-fieldname = 'COM_CODE'.
  157.   APPEND gwa_dynpfields TO gt_dynpfields.
  158.  
  159.   CALL FUNCTION 'DYNP_VALUES_READ'
  160.     EXPORTING
  161.       DYNAME                               = sy-repid
  162.       DYNUMB                               = sy-dynnr
  163.     TABLES
  164.       DYNPFIELDS                           = gt_dynpfields
  165.    EXCEPTIONS
  166.      INVALID_ABAPWORKAREA                 = 1
  167.      INVALID_DYNPROFIELD                  = 2
  168.      INVALID_DYNPRONAME                   = 3
  169.      INVALID_DYNPRONUMMER                 = 4
  170.      INVALID_REQUEST                      = 5
  171.      NO_FIELDDESCRIPTION                  = 6
  172.      INVALID_PARAMETER                    = 7
  173.      UNDEFIND_ERROR                       = 8
  174.      DOUBLE_CONVERSION                    = 9
  175.      STEPL_NOT_FOUND                      = 10
  176.      OTHERS                               = 11
  177.             .
  178.   READ TABLE gt_dynpfields INTO gwa_dynpfields
  179.              WITH KEY fieldname = 'COM_CODE'.
  180. *If there are no errors , assign the company code the value returned.
  181.   IF SY-SUBRC = 0.
  182.       gv_company_code = gwa_dynpfields-fieldvalue.
  183.   ENDIF.
  184.  
  185. *Select statement to get the cost center depending on the dynamic value for the company code & assign it to the table we created.
  186.   SELECT ZZCOMPANY_CODE ZZCOST_CENTER
  187.          INTO TABLE gt_req
  188.          FROM ZFI_DISPOSAL_REQ
  189.          WHERE ZZCOMPANY_CODE = gv_company_code.
  190.  
  191. *Get cost center search help values depending on the company code.
  192.     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  193.       EXPORTING
  194.         RETFIELD               = 'COST_CENTER'
  195.         VALUE_ORG              = 'S'
  196.       TABLES
  197.         VALUE_TAB              = gt_req
  198.         RETURN_TAB             = gt_return
  199.      EXCEPTIONS
  200.        PARAMETER_ERROR        = 1
  201.        NO_VALUES_FOUND        = 2
  202.        OTHERS                 = 3
  203.               .
  204.  
  205.      READ TABLE gt_return INTO gwa_return INDEX 1.
  206.  
  207. *If there are no errors , assign the returned table to the cost_cnt selection paramter.
  208.     IF SY-SUBRC = 0.
  209.       COST_CNT = gwa_return-fieldval.
  210.     ENDIF.
  211.  
  212.  
  213. *********************************************************************************************************************************************************
  214.  
  215. *On Value Request for Request Status
  216. AT SELECTION-SCREEN ON VALUE-REQUEST FOR  REQ_STS.
  217.   REFRESH gt_dynpfields.
  218.  
  219.   SELECT  ZZCODE
  220.          INTO TABLE gt_lookup
  221.          FROM ZFI_LOOKUP
  222.          WHERE ZZTYPE = '1'.
  223.  
  224.     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  225.       EXPORTING
  226.         RETFIELD               = 'TYPE'
  227.         VALUE_ORG              = 'S'
  228.       TABLES
  229.         VALUE_TAB              = gt_lookup
  230.         RETURN_TAB             = gt_return
  231.      EXCEPTIONS
  232.        PARAMETER_ERROR        = 1
  233.        NO_VALUES_FOUND        = 2
  234.        OTHERS                 = 3
  235.               .
  236.  
  237.      READ TABLE gt_return INTO gwa_return INDEX 1.
  238.  
  239.     IF SY-SUBRC = 0.
  240.       REQ_STS = gwa_return-fieldval.
  241.     ENDIF.
  242.  
  243. *********************************************************************************************************************************************************
  244.  
  245. *On Value Request for Service Type
  246.  
  247.     AT SELECTION-SCREEN ON VALUE-REQUEST FOR  SRV_TYPE.
  248.   REFRESH gt_dynpfields.
  249.  
  250.   SELECT  ZZCODE
  251.          INTO TABLE gt_lookup
  252.          FROM ZFI_LOOKUP
  253.          WHERE ZZTYPE = '2'.
  254.  
  255.     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  256.       EXPORTING
  257.         RETFIELD               = 'TYPE'
  258.         VALUE_ORG              = 'S'
  259.       TABLES
  260.         VALUE_TAB              = gt_lookup
  261.         RETURN_TAB             = gt_return
  262.      EXCEPTIONS
  263.        PARAMETER_ERROR        = 1
  264.        NO_VALUES_FOUND        = 2
  265.        OTHERS                 = 3
  266.               .
  267.  
  268.      READ TABLE gt_return INTO gwa_return INDEX 1.
  269.  
  270.     IF SY-SUBRC = 0.
  271.       SRV_TYPE = gwa_return-fieldval.
  272.     ENDIF.
  273.  
  274. *********************************************************************************************************************************************************
  275.  
  276.  
  277. ** Initialization
  278.  
  279. INITIALIZATION.
  280.  
  281. *Buttons Text
  282. BUT1 = 'Search'.
  283. BUT2 = 'Reset'.
  284. PERFORM CREATE_GRID.
  285.  
  286. AT SELECTION-SCREEN.
  287.  
  288.  
  289. *Handle on Button Click
  290. CASE sy-ucomm.
  291.  
  292.  when 'SEARCH'.
  293.      CLEAR it_reqs.
  294.      PERFORM SEARCH.
  295.  
  296. *Create object of class lc_report.
  297.      CREATE OBJECT lo_report.
  298.  
  299. *Generate output & get data
  300.      lo_report->generate_output( ).
  301.      lo_report->get_data( ).
  302.  
  303.   WHEN 'RESET'.
  304.     PERFORM RESET.
  305.  
  306. ENDCASE.
  307.  
  308.  
  309. *
  310. *----------------------------------------------------------------------*
  311. * Local Class Implementation
  312. *----------------------------------------------------------------------*
  313. CLASS lcl_report IMPLEMENTATION.
  314. *
  315.   METHOD get_data.
  316. *
  317. *   data selection
  318.       me->t_data = it_reqs.
  319.  
  320.     IF sy-dbcnt IS INITIAL.
  321.       MESSAGE s398(00) WITH 'No data selected'.
  322.     ENDIF.
  323. *
  324. *   export to memory
  325.     EXPORT data = me->t_data TO MEMORY ID sy-cprog.
  326. *
  327.   ENDMETHOD.                    "get_data
  328. *
  329.   METHOD generate_output.
  330. *
  331. *   local data for the docking , gui_container , and the cl_salv
  332. *    DATA: lo_dock TYPE REF TO cl_gui_docking_container,
  333. *          lo_cont TYPE REF TO cl_gui_container,
  334. *          lo_alv  TYPE REF TO cl_salv_table.
  335.  
  336.  
  337. *   lo_dock->free( ).
  338. *   lo_cont->free( ).
  339. *   import output table from the memory and free afterwards
  340.     IMPORT data = me->t_data FROM MEMORY ID sy-cprog.
  341.     FREE MEMORY ID sy-cprog.
  342. *
  343. *   Only if there is some data
  344.     MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH 'M'.
  345. *    CHECK me->t_data IS NOT INITIAL.
  346.    MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH wa_req_status-ZZCODE.
  347. *
  348. *   Create a docking control at bottom
  349. *   clear lo_dock=>dock_at_bottom.
  350.    clear lo_cont.
  351.    clear lo_alv.
  352. *    CHECK lo_dock IS INITIAL.
  353. *    MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH '1'.
  354. *    CREATE OBJECT lo_dock
  355. *      EXPORTING
  356. *        repid = sy-cprog
  357. *        dynnr = sy-dynnr
  358. *        ratio = 80
  359. *        side  = cl_gui_docking_container=>dock_at_bottom
  360. *        name  = 'DOCK_CONT'.
  361. *    IF sy-subrc <> 0.
  362. *      MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH 'E'.
  363. *      MESSAGE 'Error in the Docking control' TYPE 'S'.
  364. *    ENDIF.
  365. *
  366. *   Create a SALV for output
  367. *     CHECK lo_alv IS INITIAL.
  368.     MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH '2'.
  369.     TRY.
  370.       MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH '3'.
  371. *       Narrow Casting: To initialize custom container from
  372. *       docking container
  373.         lo_cont ?= lo_dock.
  374.        
  375.         DATA : V_LINES TYPE I. "declare variable
  376.         DESCRIBE TABLE IT_REQS LINES V_LINES. "get no of rows
  377. *        WRITE:/ V_LINES. "display no of rows
  378.        
  379.        MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH  V_LINES.
  380. *
  381. *       SALV Table Display on the Docking container
  382.         CALL METHOD cl_salv_table=>factory(
  383.           EXPORTING
  384.             list_display   = if_salv_c_bool_sap=>false
  385.             r_container    = lo_cont
  386.             container_name = 'DOCK_CONT'
  387.           IMPORTING
  388.             r_salv_table   = lo_alv
  389.           CHANGING
  390.             t_table        = it_reqs[] ).
  391.  
  392.  
  393. *Get columns of the ALV to be able to edit them
  394.         columns = lo_alv->get_columns( ).
  395.  
  396. *Call the forms that will edit each column.
  397.         PERFORM set_service_type_column.
  398.         PERFORM set_request_status_column.
  399.         PERFORM set_create_user_column.
  400.         PERFORM set_create_time_column.
  401.         PERFORM set_change_user_column.
  402.         PERFORM set_change_time_column.
  403.  
  404. *Catch errors if there are
  405.       CATCH cx_salv_msg .
  406.     ENDTRY.
  407. *
  408. *   Pf status
  409.     DATA: lo_functions TYPE REF TO cl_salv_functions_list.
  410.     lo_functions = lo_alv->get_functions( ).
  411.     lo_functions->set_default( abap_true ).
  412. *
  413. *   output display
  414.     lo_alv->display( ).
  415. *
  416.   ENDMETHOD.                    "generate_output
  417. *
  418.  
  419.  
  420.  
  421.  
  422.  
  423. ENDCLASS.
  424.  
  425. *********************************************************************************************************************************************************
  426.  
  427. *Search Function to get data required from the database.
  428.  
  429.  FORM SEARCH.
  430.  
  431. *Internal Table Fields that will be passed to FM
  432.    wa_req-ZZCOMPANY_CODE = COM_CODE.
  433.    wa_req-ZZCOST_CENTER  = COST_CNT.
  434.    wa_req-ZZSR_NUMBER  = SER_NO.
  435.    wa_req-ZZDATE = DATE.
  436.    wa_req_status-ZZCODE = REQ_STS.
  437.    wa_service-ZZCODE = SRV_TYPE.
  438.    CLEAR it_reqs.
  439. *    MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH wa_req_status-ZZCODE.
  440. *    MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH wa_service-ZZCODE.
  441.  
  442. CALL FUNCTION 'Z_REQ_FN_INQUIRY'
  443.   EXPORTING
  444.     WA_REQ              = WA_REQ
  445.     WA_REQ_STATUS       = WA_REQ_STATUS
  446.     WA_SERVICE          = WA_SERVICE
  447.   TABLES
  448.     QT_REQ              = it_reqs
  449.           .
  450. MESSAGE ID 'ZALV_ERRORS' TYPE 'I' NUMBER '000' WITH '20'.
  451.  ENDFORM.
  452.  
  453. *********************************************************************************************************************************************************
  454.  
  455. *Reset Function - Clear all input fields.
  456.  
  457. FORM RESET.
  458.  
  459. *Clear all input fields.
  460.  
  461. *  lo_alv->free( ).
  462.   CLEAR COST_CNT.
  463.   CLEAR SER_NO.
  464.   CLEAR DATE.
  465.   CLEAR REQ_STS.
  466.   CLEAR SRV_TYPE.
  467.  
  468. ENDFORM.
  469.  
  470. *********************************************************************************************************************************************************
  471.  
  472. *Change service type column name
  473.  
  474. FORM set_service_type_column.
  475.     DATA not_found TYPE REF TO cx_salv_not_found.
  476.  
  477.   TRY.
  478.       column = columns->get_column( columnname =  'S_ZZDESC' ).
  479. *      column->set_short_text( 'S. Type' ).
  480. *      column->set_medium_text( 'Ser. Type' ).
  481.       column->set_long_text( 'Service Type' ).
  482.       column->set_optimized( ).
  483.     CATCH cx_salv_not_found INTO not_found.
  484.       " error handling
  485.   ENDTRY.
  486. ENDFORM.
  487.  
  488. *********************************************************************************************************************************************************
  489.  
  490. *Change request status column name
  491.  
  492. FORM set_request_status_column.
  493.     DATA not_found TYPE REF TO cx_salv_not_found.
  494.  
  495.   TRY.
  496.       column = columns->get_column( columnname =  'RS_ZZDESC' ).
  497.       column->set_short_text( 'R. Status' ).
  498.       column->set_medium_text( 'Req. Status' ).
  499.       column->set_long_text( 'Request Status' ).
  500.       column->set_optimized( ).
  501.     CATCH cx_salv_not_found INTO not_found.
  502.       " error handling
  503.   ENDTRY.
  504. ENDFORM.
  505.  
  506. *********************************************************************************************************************************************************
  507.  
  508. *Change create user column name.
  509.  
  510. FORM set_create_user_column.
  511.     DATA not_found TYPE REF TO cx_salv_not_found.
  512.  
  513.   TRY.
  514.       column = columns->get_column( columnname =  'CREA_USER' ).
  515.       column->set_short_text( 'C. User' ).
  516.       column->set_medium_text( 'CREA. User' ).
  517.       column->set_long_text( 'Create User' ).
  518.     CATCH cx_salv_not_found INTO not_found.
  519.       " error handling
  520.   ENDTRY.
  521. ENDFORM.
  522.  
  523. *********************************************************************************************************************************************************
  524.  
  525. *Change create time column name.
  526. FORM set_create_time_column.
  527.     DATA not_found TYPE REF TO cx_salv_not_found.
  528.  
  529.   TRY.
  530.       column = columns->get_column( columnname =  'CREA_TIME' ).
  531.       column->set_short_text( 'C. Time' ).
  532.       column->set_medium_text( 'CREA. Time' ).
  533.       column->set_long_text( 'Create Time' ).
  534.     CATCH cx_salv_not_found INTO not_found.
  535.       " error handling
  536.   ENDTRY.
  537. ENDFORM.
  538.  
  539. *********************************************************************************************************************************************************
  540.  
  541. *Change Change User column name.
  542. FORM set_change_user_column.
  543.     DATA not_found TYPE REF TO cx_salv_not_found.
  544.  
  545.   TRY.
  546.       column = columns->get_column( columnname =  'CHNG_USER' ).
  547.       column->set_short_text( 'C. User' ).
  548.       column->set_medium_text( 'Chan. User' ).
  549.       column->set_long_text( 'Change User' ).
  550.     CATCH cx_salv_not_found INTO not_found.
  551.       " error handling
  552.   ENDTRY.
  553. ENDFORM.
  554.  
  555. *********************************************************************************************************************************************************
  556.  
  557. *Change Change time column name.
  558. FORM set_change_time_column.
  559.     DATA not_found TYPE REF TO cx_salv_not_found.
  560.  
  561.   TRY.
  562.       column = columns->get_column( columnname =  'CHNG_TIME' ).
  563.       column->set_short_text( 'C. Time' ).
  564.       column->set_medium_text( 'Chan. Time' ).
  565.       column->set_long_text( 'Change Time' ).
  566.     CATCH cx_salv_not_found INTO not_found.
  567.       " error handling
  568.   ENDTRY.
  569. ENDFORM.
  570.  
  571. *********************************************************************************************************************************************************
  572.  
  573. FORM optimize_column_width.
  574.   columns->set_optimize( ).
  575. ENDFORM.
  576.  
  577. FORM create_grid.
  578.       CHECK lo_dock IS INITIAL.
  579.     CREATE OBJECT lo_dock
  580.       EXPORTING
  581.         repid = sy-cprog
  582.         dynnr = sy-dynnr
  583.         ratio = 80
  584.         side  = cl_gui_docking_container=>dock_at_bottom
  585.         name  = 'DOCK_CONT'.
  586.     IF sy-subrc <> 0.
  587.       MESSAGE 'Error in the Docking control' TYPE 'S'.
  588.     ENDIF.
  589. ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement