Nuriev_ii

falv

Jun 13th, 2020
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 35.07 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  ZTORO_TEST
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT ZTORO_TEST.
  10. *DATA: sflight TYPE STANDARD TABLE OF sflight.
  11. TYPES: BEGIN OF ty_data_general_additional,
  12.   miwarpl type mhio-warpl,
  13.   mabnum  type mhio-ABNUM,
  14.  
  15.   row_color type char4,
  16. END OF   ty_data_general_additional.
  17. TYPES: BEGIN OF ty_data_general,
  18.   iwerk type viaufks-IWERK,
  19.   swerk type viaufks-SWERK,
  20.   bukrs type viaufks-bukrs,
  21.   auart type viaufks-auart,
  22.   aufnr type viaufks-aufnr,
  23.   ktext type viaufks-ktext,
  24.   gstrp type viaufks-gstrp,
  25.   gltrp type viaufks-gltrp,
  26.  
  27.   ftrms type viaufks-ftrms,
  28.   addat type viaufks-addat,
  29.   tplnr type viaufks-tplnr,
  30.   pltxt type iflotx-pltxt,
  31.   equnr type viaufks-equnr,
  32.   eqktx type eqkt-eqktx,
  33.   bautl type viaufks-bautl,
  34.   plnty type viaufks-plnty,
  35.   plnnr type viaufks-plnnr,
  36.   plnal type viaufks-plnal,
  37.   zaehl type viaufks-zaehl,
  38.   strat type plko-strat,
  39.   warpl type viaufks-warpl,
  40.   wapos type viaufks-wapos,
  41.   abnum type mhio-abnum,
  42.   plandate type mhio-gstrp,
  43.   mzaehl type mhis-zaehl,
  44.   zpuffn type t351p-puffn,
  45.   zsttag type mpos-zsttag,
  46. *  kzyk1 type t351p-kzyk1,
  47.  
  48.  
  49.  
  50.   point type mmpt-point,
  51.   kridate type imrg-idate,
  52.   checkidate type imrg-idate
  53.   .
  54.         include TYPE ty_data_general_additional.
  55. TYPES: END OF ty_data_general.
  56. data: gt_data type TABLE OF   ty_data_general.
  57. CLASS lcl_test DEFINITION INHERITING FROM zcl_falv.
  58.   PUBLIC SECTION.
  59.     class-data:
  60.     mr_changed type REF TO CL_ALV_CHANGED_DATA_PROTOCOL,
  61.     mo_container type REF TO CL_GUI_CONTAINER,
  62.     mo_bdc TYPE REF TO zalrcl_bdc_ext.
  63.     methods: get_data,
  64.              prepare_layout.
  65.  
  66.   PROTECTED SECTION.
  67.     "redefinition of event handler
  68.  
  69.     METHODS:
  70.             EVF_MENU_BUTTON REDEFINITION ,
  71. *            EVF_BEFORE_USER_COMMAND REDEFINITION,
  72.            evf_user_command REDEFINITION ,
  73.            menu_1_1,
  74.            menu_1_2,
  75.            menu_1_3,
  76.            menu_1_4,
  77.            menu_1_5,
  78.            menu_1_6,
  79.            menu_1_7,
  80.            menu_1_8,
  81.            hide_additional IMPORTING iv type abap_bool OPTIONAL.
  82.  
  83.   PRIVATE SECTION.
  84.     METHODs show_applog.
  85.     METHODs hide_applog .
  86. ENDCLASS.                    "lcl_test DEFINITION
  87. DATA falv TYPE REF TO lcl_test.
  88. DATA: lo_falv TYPE REF TO zcl_falv.
  89. CLASS lcl_test2 DEFINITION INHERITING FROM zcl_falv.
  90.   PUBLIC SECTION.
  91.   PROTECTED SECTION.
  92. *    METHODS:
  93. **            EVF_MENU_BUTTON REDEFINITION ,
  94. *               evf_user_command REDEFINITION .
  95. **           EVF_AFTER_USER_COMMAND REDEFINITION.
  96. **           menu_1_1,
  97. **           menu_1_2,
  98. **           menu_1_3,
  99. **           menu_1_4,
  100. **           menu_1_5,
  101. **           menu_1_6,
  102. **           menu_1_7,
  103. **           menu_1_8,
  104. **           hide_additional IMPORTING iv type abap_bool OPTIONAL.
  105.  
  106.   PRIVATE SECTION.
  107. *    METHODs EVF_USER_COMMAND_internal.
  108. **    METHODs show_applog.
  109. **    METHODs hide_applog .
  110. ENDCLASS.
  111. *----------------------------------------------------------------------*
  112. *       CLASS lcl_test IMPLEMENTATION
  113. *----------------------------------------------------------------------*
  114. *
  115. *----------------------------------------------------------------------*
  116. CLASS lcl_test IMPLEMENTATION.
  117. *  METHOD EVF_BEFORE_USER_COMMAND.
  118. *  BREAK-POINT.
  119. *  ENDMETHOD.
  120.   METHOD menu_1_1.
  121.     data:
  122.      lt_ROW_NO    TYPE LVC_T_ROID,
  123.      lv_warpl     type rmipm-warpl,
  124.      lv_LRMDT     type rmipm-LRMDT
  125.      .
  126.  
  127.  
  128.     FIELD-SYMBOLS: <fs_outab> like LINE OF gt_data,
  129.                    <fs_no> like LINE OF lt_ROW_NO.
  130.  
  131.     me->GET_SELECTED_ROWS(
  132.       importing
  133.         ET_ROW_NO     = lt_ROW_NO
  134.     ).
  135.     LOOP AT  lt_ROW_NO ASSIGNING <fs_no> .
  136.       CLEAR: lv_warpl, lv_LRMDT.
  137.       READ TABLE gt_data  ASSIGNING <fs_outab> INDEX <fs_no>-ROW_ID.
  138.       CASE <fs_outab>-WARPL.
  139.         WHEN space.
  140.           mr_changed->ADD_PROTOCOL_ENTRY(
  141.              exporting
  142.                I_MSGID     = 'ZALR_BC'
  143.                I_MSGTY     = 'E'
  144.                I_MSGNO     = 000
  145.                I_MSGV1     = 'Работы не подлежат планированию в ППР/ нет плана '
  146.                I_FIELDNAME = 'WARPL'
  147.                I_ROW_ID    = <fs_no>-ROW_ID
  148.            ).
  149.           CONTINUE.
  150.         WHEN OTHERS.
  151.           lv_warpl = <fs_outab>-WARPL.
  152.           CASE <fs_outab>-POINT.
  153.             WHEN space.
  154.               data: lt_fields TYPE TABLE OF SVAL.
  155.               FIELD-SYMBOLS: <fs_sval> like LINE OF lt_fields.
  156.               APPEND INITIAL LINE TO lt_fields ASSIGNING <fs_sval>.
  157.               <fs_sval>-TABNAME     = 'MPOS'.
  158.               <fs_sval>-FIELDNAME   = 'ZSTTAG'.
  159.  
  160.               CALL FUNCTION 'POPUP_GET_VALUES'
  161.                 EXPORTING
  162. *                     NO_VALUE_CHECK        = ' '
  163.                   POPUP_TITLE           = 'Введите дата начала ППР'
  164. *                     START_COLUMN          = '5'
  165. *                     START_ROW             = '5'
  166. *                   IMPORTING
  167. *                     RETURNCODE            =
  168.                 TABLES
  169.                   FIELDS                = lt_fields
  170.                EXCEPTIONS
  171.                  ERROR_IN_FIELDS       = 1
  172.                  OTHERS                = 2
  173.                         .
  174.               IF SY-SUBRC <> 0.
  175. * Implement suitable error handling here
  176.                 mr_changed->ADD_PROTOCOL_ENTRY(
  177.              exporting
  178.                I_MSGID     = sy-MSGID
  179.                I_MSGTY     = sy-MSGTY
  180.                I_MSGNO     = sy-MSGNO
  181.               I_MSGV1     = sy-MSGV1
  182.               I_MSGV2     = sy-MSGV2
  183.               I_MSGV3     = sy-MSGV3
  184.               I_MSGV4     = sy-MSGV4
  185.                I_FIELDNAME = 'ZSTTAG'
  186.                I_ROW_ID    = <fs_no>-ROW_ID
  187. *                   I_TABIX     = lv
  188.            ).
  189.               else.
  190.                 READ TABLE lt_fields ASSIGNING <fs_sval> INDEX 1.
  191.                 LV_LRMDT = <fs_outab>-ZSTTAG  = <fs_sval>-VALUE.
  192.               ENDIF.
  193.  
  194.             WHEN OTHERS.
  195.               "! Нужно спросить у консультанта
  196.               mr_changed->ADD_PROTOCOL_ENTRY(
  197.               exporting
  198.                 I_MSGID     = 'ZALR_BC'
  199.                 I_MSGTY     = 'E'
  200.                 I_MSGNO     = 000
  201.                 I_MSGV1     = 'Для заказа Торо '
  202.                 I_MSGV2     = <fs_outab>-AUFNR
  203.                 I_MSGV3     = ' нет даты начального пкета ППР/дата КР'
  204.                 I_FIELDNAME = 'AUFNR'
  205.                 I_ROW_ID    = <fs_no>-ROW_ID
  206.             ).
  207.               CONTINUE.
  208.           ENDCASE.
  209.  
  210.           "!bdc
  211. *        data:
  212.           IF mo_bdc is  INITIAL.
  213.             CREATE OBJECT mo_bdc.
  214.           else.
  215.             free  mo_bdc.
  216.             CREATE OBJECT mo_bdc.
  217.           ENDIF.
  218.  
  219.  
  220. *          ls_bdc_opt-updmode = 'L'.
  221. *          ls_bdc_opt-dismode = 'N'.
  222.  
  223.           mo_bdc->add_dynpro(
  224.             EXPORTING
  225.               i_program = 'SAPLIWP3'
  226.               i_dynpro  = '0140' ).
  227.  
  228.           CALL METHOD mo_bdc->add_field
  229.               EXPORTING
  230.                 : i_fnam = 'BDC_OKCODE' i_fval = '/00'
  231.                 , i_fnam = 'RMIPM-WARPL'   i_fval = LV_WARPL
  232.                 .
  233.           mo_bdc->add_dynpro(
  234.             EXPORTING
  235.               i_program = 'SAPLIWP3'
  236.               i_dynpro  = '0103' ).
  237.  
  238.           CALL METHOD mo_bdc->add_field
  239.               EXPORTING
  240.                 : i_fnam = 'BDC_OKCODE' i_fval = '=ZS'
  241.                 .
  242.           mo_bdc->add_dynpro(
  243.            EXPORTING
  244.              i_program = 'SAPLIWP3'
  245.              i_dynpro  = '7000' ).
  246.  
  247.           CALL METHOD mo_bdc->add_field
  248.               EXPORTING
  249.                 : i_fnam = 'BDC_OKCODE'     i_fval = '=SOFF'
  250.                 , i_fnam = 'RMIPM-LRMDT'    i_fval = lv_LRMDT
  251.                 , i_fnam = 'RMIPM-CONF_TIME'    i_fval = '00:00:01'
  252.                 .
  253.  
  254.           mo_bdc->add_dynpro(
  255.            EXPORTING
  256.              i_program = 'RMSTRA00'
  257.              i_dynpro  = '0001' ).
  258.  
  259.           CALL METHOD mo_bdc->add_field
  260.               EXPORTING
  261.                 : i_fnam = 'BDC_OKCODE' i_fval = 'ZYK'
  262.                 .
  263.  
  264.           mo_bdc->add_dynpro(
  265.            EXPORTING
  266.              i_program = 'RMSTRA00'
  267.              i_dynpro  = '0001' ).
  268.  
  269.           CALL METHOD mo_bdc->add_field
  270.               EXPORTING
  271.                 : i_fnam = 'BDC_OKCODE' i_fval = '=BACK'
  272.                 .
  273.  
  274.           mo_bdc->add_dynpro(
  275.            EXPORTING
  276.              i_program = 'SAPLIWP3'
  277.              i_dynpro  = '0103' ).
  278.  
  279.           CALL METHOD mo_bdc->add_field
  280.               EXPORTING
  281.                 : i_fnam = 'BDC_OKCODE' i_fval = '=BU'
  282.                 .
  283.  
  284.           mo_bdc->CALL_TRANSACTION(
  285.             exporting
  286.               I_TCODE = 'IP10'    " Код транзакции
  287.               I_MODE  = 'L'
  288. *              I_UPD   = 'N'
  289.               I_UPD   = 'A'
  290. *              I_OPT   =     " Строка парам. для выполнения Call Transaction using
  291. *            receiving
  292. *              T_MSG   =     " Тип таблицы для BDCDATA
  293.           ).
  294. *  CALL METHOD lo_bdc->call_transaction
  295. *      EXPORTING
  296. *        i_tcode = 'ZALRT_BOOKVAL_ADA'
  297. *        i_opt   = lt_bdc_opt
  298. *      RECEIVING
  299. *        t_msg   = lt_bdc_msg.
  300.  
  301.       ENDCASE.
  302.     ENDLOOP.
  303.   ENDMETHOD.
  304.   METHOD menu_1_2.
  305.   endmethod.
  306.   METHOD menu_1_3.
  307.   endmethod.
  308.   METHOD menu_1_4.
  309.   endmethod.
  310.   METHOD menu_1_5.
  311.   endmethod.
  312.   METHOD menu_1_6.
  313.   endmethod.
  314.   METHOD menu_1_7.
  315.   endmethod.
  316.   METHOD menu_1_8.
  317.  
  318.     DATA falv2 TYPE REF TO lcl_test2.
  319.     DATA: lo_falv2 TYPE REF TO zcl_falv.
  320.     LCL_TEST2=>create( exporting  i_subclass = cl_abap_classdescr=>describe_by_name( p_name = 'LCL_TEST2' )
  321.       I_POPUP = abap_true
  322.                 CHANGING ct_table = gt_data  rv_falv = lo_falv2   ) .
  323.     falv2 ?= lo_falv2.
  324.     falv2->display(  ).
  325.     me->DISPLAY( ).
  326. *    me->re
  327.  
  328. *    BREAK-POINT.
  329. *LEAVE TO screen 0.
  330. *me->display(  ).
  331.  
  332. *    BREAK-POINT.
  333. *    falv2->MAIN_CONTAINER->FREE(
  334. **      exceptions
  335. **        CNTL_ERROR        = 1
  336. **        CNTL_SYSTEM_ERROR = 2
  337. **        OTHERS            = 3
  338. *    ).
  339. *    if sy-subrc <> 0.
  340. **     message id sy-msgid type sy-msgty number sy-msgno
  341. **                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  342. *    endif.
  343. **    free: falv2.
  344. **    me->MAIN_CONTAINER->FREE( ).
  345. **    cl_gui_cfw=>flush( ).
  346. *    falv2->FREE( ).
  347. **    me
  348. *  falv2->set_visible( abap_false ).
  349. *  falv2->parent->set_visible( abap_false ).
  350. *  falv2->main_container->set_visible( abap_false ).
  351. *  call SCREEN me->screen.
  352. *BREAK-POINT .
  353. *me->DISPLAY( ).
  354. *  me->set_visible( abap_true ).
  355. *  me->parent->set_visible( abap_true ).
  356. *  me->main_container->set_visible( abap_true ).
  357. **
  358. *   me->pbo( iv_dynnr = '0100' ).
  359. *      cl_gui_cfw=>flush(
  360. *  EXCEPTIONS
  361. *    cntl_system_error = 1
  362. *    cntl_error        = 2
  363. *    OTHERS            = 3
  364. *).
  365. **    me->FIRST_OUTPUT = abap_true.
  366. *me->display( iv_force_grid = abap_true ).
  367. ***      CLEAR first_output.
  368. *      IF me->split_container IS NOT INITIAL.
  369. *        "! When I use embedded applog then although it's container is hidden
  370. *        "! then you can still see the place for it until some pbo will happen.
  371. *        "! I force dummy user-command to get rid of it
  372. *        CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
  373. *          EXPORTING
  374. *            functioncode           = 'DUMMY'    " Function code
  375. *          EXCEPTIONS
  376. *            function_not_supported = 1
  377. *            OTHERS                 = 2.
  378. *        IF sy-subrc <> 0.
  379. *        ENDIF.
  380. *      ENDIF.
  381. *  me->f
  382. *  me->REFRESH_TABLE_DISPLAY(
  383. **    exporting
  384. **      IS_STABLE      =
  385. **      I_SOFT_REFRESH =
  386. **    exceptions
  387. **      FINISHED       = 1
  388. **      OTHERS         = 2
  389. *  ).
  390. *  if sy-subrc <> 0.
  391. **   message id sy-msgid type sy-msgty number sy-msgno
  392. **              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  393. *  endif.
  394. *  .
  395. *  me->DISPLAY( ).
  396. *    exporting
  397. *      IV_FORCE_GRID   = SPACE
  398. *      IV_START_ROW    =
  399. *      IV_START_COLUMN =
  400. *      IV_END_ROW      =
  401. *      IV_END_COLUMN   =
  402. *  ).
  403. *  falv->title_v1 = 'ZDEMO_FALV05'.
  404. **  "Set Gui status to fully dynamic (no standard buttons of ALV Grid)
  405. *  falv->gui_status->fully_dynamic = abap_true .
  406. *  falv->GET_DATA( ).
  407. *  falv->prepare_layout(  ).
  408. *
  409. *
  410.  
  411.  
  412.  
  413. *        data  gr_table2 type REF TO cl_salv_table.
  414. *     cl_salv_table=>factory(
  415. *            importing
  416. *              r_salv_table = gr_table2
  417. *            changing
  418. *              t_table      = GT_DATA ).
  419. *
  420. *      CALL METHOD gr_table2->set_screen_status
  421. *          EXPORTING
  422. *            report   = 'SALV_DEMO_TABLE_POPUP_CALL'
  423. *            pfstatus = 'SALV_POPUP'.
  424.  
  425. * data: lr_functions2 type ref to cl_salv_functions_list.
  426.  
  427. *      lr_functions2 = gr_table2->get_functions( ).
  428. *        lr_layout2 = gr_table2->get_layout( ).
  429. *      MOVE sy-repid TO ls_layout_key2-report.
  430. *      CALL METHOD lr_layout2->set_key
  431. *        EXPORTING
  432. *          value = ls_layout_key2.
  433.  
  434. *      lr_layout2->set_key( ls_layout_key2 ).
  435. *      lr_layout2->set_default( abap_true ).
  436. *      lr_layout2->set_save_restriction( ).
  437. *       gr_table2->set_screen_popup(
  438. *        start_column = 1
  439. *        end_column   = 50
  440. *        start_line   = 1
  441. *        end_line     = 20 ).
  442. *    gr_table2->display( ).
  443.  
  444. *    lcl_test=>CREATE(
  445. **  exporting
  446. **    I_PARENT          =
  447. **    I_APPLOGPARENT    =
  448. **    I_POPUP           = ABAP_FALSE
  449. **    I_APPLOG_EMBEDDED = ABAP_FALSE
  450. **    I_SUBCLASS        =
  451. *  changing
  452. *    CT_TABLE          =
  453. *    RV_FALV           =
  454. *).
  455. *    me->DISPLAY( ).
  456. **      exporting
  457. ***        IV_FORCE_GRID   = SPACE
  458. **        IV_START_ROW    =
  459. **        IV_START_COLUMN =
  460. **        IV_END_ROW      =
  461. **        IV_END_COLUMN   =
  462. *    ).
  463. *    DATA: lo_falv2 TYPE REF TO zcl_falv.
  464. *DATA falv2 TYPE REF TO lcl_test2.
  465. *me->CREATE_BY_COPY(
  466. *  exporting
  467. **    I_PARENT       =
  468. **    I_APPLOGPARENT =
  469. *    I_POPUP        = ABAP_TRUE
  470. *  receiving
  471. *    RV_FALV        = lo_falv2
  472. *).
  473. *falv2 ?= lo_falv2.
  474. *falv2->DISPLAY( ).
  475. *     DATA falv2 TYPE REF TO lcl_test2.
  476. *
  477. *  DATA: lo_falv2 TYPE REF TO zcl_falv.
  478. ***lcl_test=>
  479. *  lcl_test=>create( exporting  i_subclass = cl_abap_classdescr=>describe_by_name( p_name = 'LCL_TEST2' )
  480. *    I_POPUP = abap_true
  481. *              CHANGING ct_table = gt_data  rv_falv = lo_falv2   ) .
  482. *
  483. *  falv2 ?= lo_falv2.
  484. **  falv->title_v1 = 'ZDEMO_FALV05'.
  485. ***  "Set Gui status to fully dynamic (no standard buttons of ALV Grid)
  486. **  falv->gui_status->fully_dynamic = abap_true .
  487. **  falv->GET_DATA( ).
  488. **  falv->prepare_layout(  ).
  489. *
  490. *
  491. *falv2->display( ).
  492. **
  493. **    cl_gui_cfw=>SET_NEW_OK_CODE(
  494. **    exporting
  495. **      NEW_CODE = 'BACK'    " New OK_CODE
  496. ***    importing
  497. ***      RC       =     " Return code
  498. **  ).
  499. **  cl_gui_cfw=>FLUSH(
  500. ***    exceptions
  501. ***      CNTL_SYSTEM_ERROR = 1
  502. ***      CNTL_ERROR        = 2
  503. ***      OTHERS            = 3
  504. **  ).
  505. ***  if sy-subrc <> 0.
  506. ****   message id sy-msgid type sy-msgty number sy-msgno
  507. ****              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  508. ***  endif.
  509. *
  510. *  me->DISPLAY( ).
  511. *me->FCODE_BOUNCER( ).
  512. **  me->REFRESH_TABLE_DISPLAY( ).
  513. **  me->SOFT_REFRESH( ).
  514.  
  515.  
  516. **me->REFRESH_TABLE_DISPLAY(
  517. ***  exporting
  518. ***    IS_STABLE      =
  519. ***    I_SOFT_REFRESH =
  520. ***  exceptions
  521. ***    FINISHED       = 1
  522. ***    OTHERS         = 2
  523. **).
  524. **if sy-subrc <> 0.
  525. *** message id sy-msgid type sy-msgty number sy-msgno
  526. ***            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  527. **endif.
  528. **    DATA: sflight TYPE STANDARD TABLE OF sflight.
  529. **
  530. **
  531. **
  532. **    SELECT * UP TO 100 ROWS
  533. ***Begin SMD
  534. ***  INTO CORRESPONDING FIELDS OF TABLE @sflight
  535. **    INTO CORRESPONDING FIELDS OF TABLE sflight
  536. ***End SMD
  537. **
  538. **    FROM sflight.
  539. **    DATA: zfalv TYPE REF TO zcl_falv.
  540. **
  541. ***  data(falv) = zcl_falv=>create( changing ct_table = sflight ).
  542. **    zcl_falv=>create( CHANGING ct_table = sflight rv_falv = zfalv ).
  543. ***End SMD
  544. **
  545. **    "Add title variable
  546. **    zfalv->title_v1 = 'ZDEMO_FALV01'.
  547. **
  548. **    "Display full screen grid
  549. **    zfalv->display( ).
  550.   endmethod.
  551.   METHOD prepare_layout.
  552.     me->hide_additional(  ).
  553.     me->layout->SET_SEL_MODE( IV_VALUE = 'A' ).
  554.     me->LAYOUT->SET_INFO_FNAME( 'ROW_COLOR' ).
  555.     "In default when we use full screen FALV, Grid toolbar is switched off, we must turn it on )
  556.     me->layout->set_no_toolbar( abap_false ).
  557.  
  558.     me->add_button(
  559.       EXPORTING
  560.         iv_function  = zcl_falv_dynamic_status=>b_01
  561.         iv_icon      = icon_activate
  562.         iv_butn_type = me->BUTTON_MENU
  563.          iv_text      = 'Операции'
  564.     ).
  565.  
  566.     me->add_button(
  567.       EXPORTING
  568.         iv_function  = zcl_falv_dynamic_status=>b_02
  569.         iv_icon      = icon_active_inactive
  570.         iv_butn_type = me->BUTTON_MENU
  571.          iv_text      = 'Массовые операции'
  572.     ).
  573.  
  574.     mo_container = me->split_container->GET_CONTAINER(  ROW       = 2   COLUMN    = 1     ).
  575.     CREATE OBJECT mr_changed
  576.       EXPORTING
  577.         I_CALLING_ALV = me.
  578.  
  579.     FIELD-SYMBOLS: <fs_fcat> like LINE OF me->FCAT.
  580.     LOOP AT me->FCAT ASSIGNING <fs_fcat>.
  581.       <fs_fcat>-COLTEXT = <fs_fcat>-SCRTEXT_L.
  582.     ENDLOOP.
  583.     mr_changed->MT_FIELDCATALOG = me->FCAT.
  584.  
  585.  
  586.   ENDMETHOD.
  587.   METHOD hide_additional.
  588.     data:
  589.     lo_struct_descr type REF TO cl_abap_structdescr,
  590.     lt_struct_fields type cl_abap_structdescr=>COMPONENT_TABLE,
  591.     ls type TY_DATA_GENERAL_ADDITIONAL.
  592.     FIELD-SYMBOLS: <fs_struct> like LINE OF LT_STRUCT_FIELDS.
  593.     CASE IV.
  594.       WHEN abap_true.
  595.  
  596.         lo_struct_descr ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( ls ).
  597.         LT_STRUCT_FIELDS = lo_struct_descr->GET_COMPONENTS( ).
  598.  
  599.         LOOP AT LT_STRUCT_FIELDS ASSIGNING <fs_struct>.
  600.           me->COLUMN( |{ <fs_struct>-NAME }| )->SET_NO_OUT( abap_true  ).
  601.         ENDLOOP.
  602.       WHEN OTHERS.
  603.  
  604.     ENDCASE.
  605.   ENDMETHOD.
  606.   method get_data.
  607.     FIELD-SYMBOLS: <fs> like LINE OF gt_data.
  608.     SELECT *
  609.   from viaufks
  610.   into CORRESPONDING FIELDS OF TABLE gt_data.
  611.  
  612.  
  613.     TYPES:
  614.     BEGIN OF ty_r_key1,
  615.     key1 type string,
  616.     found type string,
  617.     END OF   ty_r_key1,
  618.     BEGIN OF ty_r_key2,
  619.     key1 type string,
  620.     key2 type string,
  621.     found type string,
  622.     END OF   ty_r_key2,
  623.     BEGIN OF ty_r_key3,
  624.     key1 type string,
  625.     key2 type string,
  626.     key3 type string,
  627.     found type string,
  628.     END OF   ty_r_key3,
  629.     BEGIN OF ty_r_key4,
  630.     key1 type string,
  631.     key2 type string,
  632.     key3 type string,
  633.     key4 type string,
  634.     found type string,
  635.     END OF   ty_r_key4,
  636.  BEGIN OF ty_range_key,
  637.   pltxt type HASHED TABLE OF ty_r_key1 WITH UNIQUE KEY  KEY1  ,
  638.   eqktx type HASHED TABLE OF ty_r_key1 WITH UNIQUE KEY  KEY1  ,
  639.   point type HASHED TABLE OF ty_r_key1 WITH UNIQUE KEY  KEY1  ,
  640.   mzaehl type HASHED TABLE OF ty_r_key2 WITH UNIQUE KEY  KEY1 KEY2 ,
  641.   abnum type HASHED TABLE OF ty_r_key3 WITH UNIQUE KEY  KEY1 KEY2 KEY3  ,
  642.   strat type HASHED TABLE OF ty_r_key4 WITH UNIQUE KEY  KEY1 KEY2 KEY3 KEY4 ,
  643.  
  644. END OF ty_range_key.
  645.  
  646.     data:
  647.     ls_r type ty_range_key,
  648.     ls_key1 LIKE LINE OF ls_r-PLTXT,
  649.     ls_key2 LIKE LINE OF ls_r-mzaehl,
  650.     ls_key3 LIKE LINE OF ls_r-abnum,
  651.     ls_key4 LIKE LINE OF ls_r-strat,
  652.     lv_ZAEHL type mhis-ZAEHL.
  653.  
  654.     FIELD-SYMBOLS:
  655.      <fs_key1> like ls_key1,
  656.      <fs_key2> like ls_key2,
  657.      <fs_key3> like ls_key3,
  658.      <fs_key4> like ls_key4.
  659.  
  660. *BREAK-POINT.
  661.     READ TABLE gt_data ASSIGNING <fs> INDEX 1.
  662.     <fs>-WARPL = '3'.
  663.     <fs>-TPLNR = '3300.3302.01.01.01.01.04'.
  664.  
  665.     LOOP AT gt_data ASSIGNING <fs>.
  666.       clear: ls_key1.
  667.       READ TABLE ls_r-PLTXT ASSIGNING <fs_key1> WITH TABLE KEY KEY1 = <FS>-TPLNR.
  668.       IF sy-subrc ne 0.
  669.         SELECT SINGLE PLTXT as found TPLNR as key1
  670.           from iflotx
  671.           into CORRESPONDING FIELDS OF ls_key1
  672.           WHERE
  673.           TPLNR = <FS>-TPLNR AND
  674.           spras = 'R'.
  675.         IF sy-subrc ne 0.
  676.           ls_key1-KEY1 = <FS>-TPLNR.
  677.         ENDIF.
  678.         INSERT ls_key1 INTO TABLE ls_r-PLTXT ASSIGNING <fs_key1>.
  679.         <fs>-PLTXT = <fs_key1>-FOUND.
  680.       else.
  681.         <fs>-PLTXT = <fs_key1>-FOUND.
  682.       ENDIF.
  683.  
  684.       clear: ls_key1.
  685.       READ TABLE ls_r-eqktx ASSIGNING <fs_key1> WITH TABLE KEY KEY1 = <FS>-equnr.
  686.       IF sy-subrc ne 0.
  687.         SELECT SINGLE eqktx as found equnr as key1
  688.           from eqkt
  689.           into CORRESPONDING FIELDS OF ls_key1
  690.           WHERE
  691.           equnr = <FS>-equnr AND
  692.           spras = 'R'.
  693.         IF sy-subrc ne 0.
  694.           ls_key1-KEY1 = <FS>-equnr.
  695.         ENDIF.
  696.         INSERT ls_key1 INTO TABLE ls_r-eqktx ASSIGNING <fs_key1>.
  697.         <fs>-eqktx = <fs_key1>-FOUND.
  698.       else.
  699.         <fs>-eqktx = <fs_key1>-FOUND.
  700.       ENDIF.
  701.  
  702.       clear: ls_key1.
  703.       READ TABLE ls_r-point ASSIGNING <fs_key1> WITH TABLE KEY KEY1 = <FS>-WARPL.
  704.       IF sy-subrc ne 0.
  705.         SELECT SINGLE point as found WARPL as key1
  706.           from mmpt
  707.           into CORRESPONDING FIELDS OF ls_key1
  708.           WHERE
  709.           WARPL = <FS>-WARPL.
  710.         IF sy-subrc ne 0.
  711.           ls_key1-KEY1 = <FS>-WARPL.
  712.         ENDIF.
  713.         INSERT ls_key1 INTO TABLE ls_r-point ASSIGNING <fs_key1>.
  714.         <fs>-point = <fs_key1>-FOUND.
  715.       else.
  716.         <fs>-point = <fs_key1>-FOUND.
  717.       ENDIF.
  718.  
  719. *      clear: ls_key3.
  720. *      READ TABLE ls_r-abnum ASSIGNING <fs_key3> WITH TABLE KEY KEY1 = <FS>-WARPL KEY2 = <FS>-WPPOS KEY3 = <fs>-AUFNR.
  721. *      IF sy-subrc ne 0.
  722. *        SELECT SINGLE abnum as found WARPL as key1 WPPOS as KEY2 AUFNR as KEY3
  723. *          from mhio
  724. *          into CORRESPONDING FIELDS OF ls_key3
  725. *          WHERE
  726. *          WARPL = <FS>-WARPL AND
  727. *          WPPOS = <FS>-WPPOS AND
  728. *          AUFNR = <FS>-AUFNR .
  729. *        IF sy-subrc ne 0.
  730. *          ls_key3-KEY1 = <FS>-WARPL.
  731. *        ENDIF.
  732. *        INSERT ls_key3 INTO TABLE ls_r-abnum ASSIGNING <fs_key3>.
  733. *        <fs>-abnum = <fs_key3>-FOUND.
  734. *      else.
  735. *        <fs>-abnum = <fs_key3>-FOUND.
  736. *      ENDIF.
  737.  
  738.       clear: ls_key2.
  739.       READ TABLE ls_r-MZAEHL ASSIGNING <fs_key2> WITH TABLE KEY KEY1 = <FS>-WARPL KEY2 = <FS>-ABNUM.
  740.       IF sy-subrc ne 0.
  741.         clear lv_ZAEHL.
  742.         SELECT SINGLE ZAEHL
  743.           from mhis
  744.           into lv_ZAEHL
  745.           WHERE
  746.           WARPL = <FS>-WARPL   AND  ABNUM = <FS>-ABNUM.
  747.         IF sy-subrc ne 0.
  748.           ls_key2-KEY1 = <FS>-WARPL.
  749.           ls_key2-KEY2 = <FS>-ABNUM.
  750.         ENDIF.
  751.         ls_key2-FOUND = lv_ZAEHL.
  752.         INSERT ls_key2 INTO TABLE ls_r-MZAEHL ASSIGNING <fs_key2>.
  753.         <fs>-MZAEHL = <fs_key2>-FOUND.
  754.       else.
  755.         <fs>-MZAEHL = <fs_key2>-FOUND.
  756.       ENDIF.
  757.  
  758. *      clear: ls_key2.
  759. *      READ TABLE ls_r-MZAEHL ASSIGNING <fs_key2> WITH TABLE KEY KEY1 = <FS>-WARPL KEY2 = <FS>-ABNUM.
  760. *      IF sy-subrc ne 0.
  761. *        SELECT SINGLE ZAEHL as found WARPL as key1
  762. **          ABNUM as key2
  763. *          from mhis
  764. *          into CORRESPONDING FIELDS OF ls_key2
  765. *          WHERE
  766. *          WARPL = <FS>-WARPL   AND  ABNUM = <FS>-ABNUM.
  767. *          .
  768. *        IF sy-subrc = 0.
  769. *
  770. *          else.
  771. *          ls_key2-KEY1 = <FS>-WARPL.
  772. *          ls_key2-KEY2 = <FS>-ABNUM.
  773. *        ENDIF.
  774. *        INSERT ls_key2 INTO TABLE ls_r-MZAEHL ASSIGNING <fs_key2>.
  775. *        <fs>-MZAEHL = <fs_key2>-FOUND.
  776. *      else.
  777. *        <fs>-MZAEHL = <fs_key2>-FOUND.
  778. *      ENDIF.
  779.  
  780.     ENDLOOP.
  781.  
  782.  
  783.   ENDMETHOD.
  784.   METHOD hide_applog.
  785.     IF split_container IS NOT INITIAL.
  786.       split_container->set_row_sash(
  787.         EXPORTING
  788.           id                =  1   " Row Splitter Bar ID
  789.           type              =  split_container->type_sashvisible   " Attribute
  790.           value             =  0   " Value
  791.         EXCEPTIONS
  792.           cntl_error        = 1
  793.           cntl_system_error = 2
  794.           OTHERS            = 3
  795.       ).
  796.       IF sy-subrc <> 0.
  797.       ENDIF.
  798.       split_container->set_row_height(
  799.         EXPORTING
  800.           id                =   2 " Row ID
  801.           height            =   0  " Height
  802.         EXCEPTIONS
  803.           cntl_error        = 1
  804.           cntl_system_error = 2
  805.           OTHERS            = 3
  806.       ).
  807.       IF sy-subrc <> 0.
  808.       ENDIF.
  809.     ENDIF.
  810.   ENDMETHOD.                    "hide_applog
  811.   METHOD show_applog.
  812.     IF split_container IS NOT INITIAL.
  813.       split_container->set_row_sash(
  814.         EXPORTING
  815.           id                =  1   " Row Splitter Bar ID
  816.           type              =  split_container->type_sashvisible   " Attribute
  817.           value             =  1   " Value
  818.         EXCEPTIONS
  819.           cntl_error        = 1
  820.           cntl_system_error = 2
  821.           OTHERS            = 3
  822.       ).
  823.       IF sy-subrc <> 0.
  824.       ENDIF.
  825.       split_container->get_row_height(
  826.         EXPORTING
  827.           id                =  2   " Row ID
  828.         IMPORTING
  829.           result            =  height   " Result Code
  830.         EXCEPTIONS
  831.           cntl_error        = 1
  832.           cntl_system_error = 2
  833.           OTHERS            = 3
  834.       ).
  835.       IF sy-subrc EQ 0 AND height EQ 0.
  836.         split_container->set_row_height(
  837.           EXPORTING
  838.             id                =   2 " Row ID
  839.             height            =   15  " Height
  840.           IMPORTING
  841.             result           = result
  842.           EXCEPTIONS
  843.             cntl_error        = 1
  844.             cntl_system_error = 2
  845.             OTHERS            = 3
  846.         ).
  847.         IF sy-subrc <> 0.
  848.         ENDIF.
  849.       ENDIF.
  850.     ENDIF.
  851.   ENDMETHOD.
  852.   METHOD EVF_MENU_BUTTON.
  853.     CASE e_ucomm.
  854.       WHEN zcl_falv_dynamic_status=>b_01.
  855.         e_object->ADD_FUNCTION(
  856.           exporting
  857.             FCODE             = 'Menu_1_1'
  858.             TEXT              = 'Рассчитать плановые даты ППР' ).
  859.  
  860.         e_object->ADD_FUNCTION(
  861.           exporting
  862.             FCODE             = 'Menu_1_2'
  863.             TEXT              = 'Создать отзывы ППР за период').
  864.  
  865.         e_object->ADD_FUNCTION(
  866.          exporting
  867.          FCODE             = 'Menu_1_3'
  868.          TEXT              = 'Изменить плановые даты' ).
  869.  
  870.         e_object->ADD_FUNCTION(
  871.           exporting
  872.           FCODE             = 'Menu_1_4'
  873.           TEXT              = 'Пропуск отзыва' ).
  874.  
  875.         e_object->ADD_FUNCTION(
  876.            exporting
  877.            FCODE             = 'Menu_1_5'
  878.            TEXT              = 'Ввести дату последего КР' ).
  879.  
  880.         e_object->ADD_FUNCTION(
  881.            exporting
  882.            FCODE             = 'Menu_1_6'
  883.            TEXT              = 'Новый отсчет наработки после КР' ).
  884.  
  885.         e_object->ADD_FUNCTION(
  886.            exporting
  887.            FCODE             = 'Menu_1_7'
  888.            TEXT              = 'Добавить данные ППР' ).
  889.  
  890.         e_object->ADD_FUNCTION(
  891.            exporting
  892.            FCODE             = 'Menu_1_8'
  893.            TEXT              = 'Открыть данные о наработке' ).
  894.  
  895.       WHEN zcl_falv_dynamic_status=>b_02.
  896.         e_object->ADD_FUNCTION(
  897.           exporting
  898.             FCODE             = 'MyMenuFunc2'
  899.             TEXT              = 'MyMenuFunc2'
  900.   ).
  901.     ENDCASE.
  902.   ENDMETHOD.
  903.   METHOD evf_user_command.
  904.  
  905. *    IF mr_changed is INITIAL.
  906. *
  907. **      mo_container = me->I_APPLOGPARENT.
  908. *
  909. *
  910. *    else.
  911. *      mr_changed->REFRESH_PROTOCOL( ).
  912. *      mr_changed->FREE( ).
  913. *    ENDIF.
  914.  
  915.     CASE e_ucomm.
  916.       WHEN 'Menu_1_1'.
  917.         me->menu_1_1( ).
  918.       WHEN 'Menu_1_2'.
  919.         me->menu_1_2( ).
  920.       WHEN 'Menu_1_3'.
  921.         me->menu_1_3( ).
  922.       WHEN 'Menu_1_4'.
  923.         me->menu_1_4( ).
  924.       WHEN 'Menu_1_5'.
  925.         me->menu_1_5( ).
  926.       WHEN 'Menu_1_6'.
  927.         me->menu_1_6( ).
  928.       WHEN 'Menu_1_7'.
  929.         me->menu_1_7( ).
  930.       WHEN 'Menu_1_8'.
  931.         me->menu_1_8( ).
  932. *      LOOP AT   ME->OUTTAB->* .
  933. *
  934. *      ENDLOOP.
  935. *        BREAK-POINT.
  936. *        data: lv type i VALUE 0.
  937. **        BREAK-POINT.
  938. **        mr_changed->MP_MOD_ROWS = ME->MT_OUTTAB.
  939. *        DO 1 TIMES.
  940. *
  941. *
  942. *          lv = lv + 2.
  943. *
  944. *
  945. **          me->SET_ROW_COLOR(
  946. **            exporting
  947. **              IV_COLOR = 'C300'
  948. **              IV_ROW   = lv
  949. **          ).
  950. **          mr_changed->MP_MOD_ROWS.
  951. **          BREAK-POINT.
  952. **          mr_changed->MODIFY_CELL(
  953. **            exporting
  954. **              I_ROW_ID    = lv
  955. **              I_TABIX     = lv
  956. **              I_FIELDNAME = 'IWERK'
  957. **              I_VALUE     = 'test;'
  958. **          ).
  959. **          mr_changed->MODIFY_STYLE(
  960. **            exporting
  961. **              I_ROW_ID    = lv
  962. **              I_FIELDNAME = 'IWERK'
  963. **              I_STYLE     = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED
  964. **          ).
  965. *          mr_changed->ADD_PROTOCOL_ENTRY(
  966. *  exporting
  967. *    I_MSGID     = 'ZALR_BC'
  968. *    I_MSGTY     = 'E'
  969. *    I_MSGNO     = 008
  970. **            I_MSGV1     =
  971. **            I_MSGV2     =
  972. **            I_MSGV3     =
  973. **            I_MSGV4     =
  974. *    I_FIELDNAME = 'IWERK'
  975. *    I_ROW_ID    = lv
  976. *    I_TABIX     = lv
  977. *).
  978. **          me->SET_3D_BORDER(
  979. **            exporting
  980. **              BORDER =
  981. ***            exceptions
  982. ***              ERROR  = 1
  983. ***              OTHERS = 2
  984. **          ).
  985. **          if sy-subrc <> 0.
  986. ***           message id sy-msgid type sy-msgty number sy-msgno
  987. ***                      with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  988. **          endif.
  989. *        ENDDO.
  990.  
  991.  
  992.  
  993.  
  994. **        me->enable_button( me->mc_fc_print_back ).
  995. *        me->ADD_BUTTON(
  996. *          exporting
  997. *            IV_FUNCTION  = zcl_falv_dynamic_status=>b_27
  998. *            iv_icon      = icon_alarm
  999. **            IV_QUICKINFO =
  1000. **            IV_BUTN_TYPE =
  1001. **            IV_DISABLED  =
  1002. *            IV_TEXT      = 'sdfsdf'
  1003. **            IV_CHECKED   =
  1004. *        ).
  1005. *      WHEN 'MyMenuFunc2'.
  1006. *        me->disable_button( me->mc_fc_print_back ).
  1007. *        me->add_button(
  1008. *          EXPORTING
  1009. *            iv_function  = zcl_falv_dynamic_status=>b_03
  1010. *             iv_icon      = icon_alarm
  1011. *             IV_BUTN_TYPE = 2
  1012. *        ).
  1013. *      WHEN zcl_falv_dynamic_status=>b_03.
  1014. *        me->delete_button( zcl_falv_dynamic_status=>b_03 ).
  1015.     ENDCASE.
  1016.  
  1017.     me->SOFT_REFRESH( ).
  1018.     IF mr_changed->mt_protocol IS NOT INITIAL.
  1019.       mr_changed->DISPLAY_PROTOCOL(
  1020.         exporting
  1021.             I_CONTAINER        = mo_container ).
  1022.       show_applog( ).
  1023.     ELSE.
  1024.       hide_applog( ).
  1025.     ENDIF.
  1026.  
  1027.  
  1028.   ENDMETHOD.                    "evt_user_command
  1029.  
  1030. ENDCLASS.                    "lcl_test IMPLEMENTATION
  1031. CLASS LCL_TEST2 IMPLEMENTATION.
  1032. *  METHOD EVF_USER_COMMAND_internal.
  1033. *    BREAK-POINT.
  1034. *  endmethod.
  1035. *  METHOD evf_user_command.
  1036. **  en
  1037. **METHOD EVF_AFTER_USER_COMMAND.
  1038. **  BREAK-POINT.
  1039. *    CASE E_UCOMM.
  1040. *      WHEN 'CANCEL'.
  1041. **        BREAK-POINT.
  1042. **         me->DISPLAY( ).
  1043. *        me->PARENT->FREE(
  1044. **          exceptions
  1045. **            CNTL_ERROR        = 1
  1046. **            CNTL_SYSTEM_ERROR = 2
  1047. **            OTHERS            = 3
  1048. *        ).
  1049. *        if sy-subrc <> 0.
  1050. **         message id sy-msgid type sy-msgty number sy-msgno
  1051. **                    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  1052. *        endif.
  1053. *  falv->DISPLAY( ).
  1054. *        LEAVE TO SCREEN 0.
  1055. *
  1056. *
  1057. **   CALL METHOD me->grid->free.
  1058. ** .
  1059. **    CALL METHOD g_dialogbox_container->free.
  1060. **    CLEAR g_dialogbox_container.
  1061. **    set screen 100. leave screen.   "----> ADDED BY KDSCHERER
  1062. *
  1063. **      BREAK-POINT.
  1064. **      LO_FALV->cl
  1065. **set SCREEN 0.
  1066. **LEAVE SCREEN.
  1067. **falv->REFRESH_TABLE_DISPLAY(
  1068. ***  exporting
  1069. ***    IS_STABLE      =
  1070. ***    I_SOFT_REFRESH =
  1071. ***  exceptions
  1072. ***    FINISHED       = 1
  1073. ***    OTHERS         = 2
  1074. **).
  1075. **if sy-subrc <> 0.
  1076. *** message id sy-msgid type sy-msgty number sy-msgno
  1077. ***            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  1078. **endif.
  1079. **      me->FREE(
  1080. ***        exceptions
  1081. ***          CNTL_ERROR        = 1
  1082. ***          CNTL_SYSTEM_ERROR = 2
  1083. ***          OTHERS            = 3
  1084. **      ).
  1085. **      if sy-subrc <> 0.
  1086. ***       message id sy-msgid type sy-msgty number sy-msgno
  1087. ***                  with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  1088. **      endif.
  1089. **      falv->DISPLAY(
  1090. **        exporting
  1091. **          IV_FORCE_GRID   = SPACE
  1092. **          IV_START_ROW    =
  1093. **          IV_START_COLUMN =
  1094. **          IV_END_ROW      =
  1095. **          IV_END_COLUMN   =
  1096. **      ).
  1097. **
  1098. **      LEAVE to SCREEN 0.
  1099. **      set SCREEN 100.
  1100. **      LEAVE SCREEN.
  1101. *      WHEN OTHERS.
  1102. *    ENDCASE.
  1103. *  ENDMETHOD.
  1104.  
  1105. ENDCLASS.
  1106.  
  1107. START-OF-SELECTION.
  1108.  
  1109.  
  1110.  
  1111.   lcl_test=>create( exporting  i_subclass = cl_abap_classdescr=>describe_by_name( p_name = 'LCL_TEST' )
  1112.       i_applog_embedded = 'X'
  1113.           CHANGING ct_table = gt_data  rv_falv = lo_falv   ) .
  1114.   falv ?= lo_falv.
  1115.   falv->title_v1 = 'ZDEMO_FALV05'.
  1116. *  "Set Gui status to fully dynamic (no standard buttons of ALV Grid)
  1117.   falv->gui_status->fully_dynamic = abap_true .
  1118.   falv->GET_DATA( ).
  1119.   falv->prepare_layout(  ).
  1120.   falv->display( ).
  1121.  
  1122.  
  1123. *DATA: sflight TYPE STANDARD TABLE OF sflight.
  1124. *  SELECT * UP TO 100 ROWS
  1125. **Begin SMD
  1126. **  INTO CORRESPONDING FIELDS OF TABLE @sflight
  1127. *  INTO CORRESPONDING FIELDS OF TABLE sflight
  1128. **End SMD
  1129. *
  1130. *  FROM sflight.
  1131. *
  1132. *
  1133. *  "FALV creation with only table passed
  1134. **Begin SMD
  1135. *
  1136. *  DATA:   falv2 TYPE REF TO zcl_falv.
  1137. *
  1138. **  data(falv) = zcl_falv=>create( changing ct_table = sflight ).
  1139. *  zcl_falv=>create( EXPORTING I_POPUP = 'X'  CHANGING ct_table = sflight rv_falv = falv2  ).
  1140. **End SMD
  1141. *
  1142. *  "Add title variable
  1143. *
  1144. *
  1145. *  "Display full screen grid
  1146. *  falv2->display( ).
  1147. *
  1148. * falv->display( ).
  1149. *  BREAK-POINT.
  1150.  
  1151.  
  1152.  
  1153. *falv->
  1154. *falv->layout->SET_EDIT( 'X'  ).
  1155.  
  1156.  
  1157. *  falv->add_button_menu_grid_1( ).
  1158.  
  1159.  
  1160. *   falv->SET_ROW_COLOR(
  1161. *            exporting
  1162. *              IV_COLOR = 'C300'
  1163. *              IV_ROW   = 1
  1164. *          ).
  1165. *falv->GET_SELECTED_ROWS(
  1166. *  importing
  1167. *    ET_INDEX_ROWS =
  1168. *    ET_ROW_NO     =
  1169. *).
  1170. *  falv->SET_EDITABLE( ).
  1171. *  falv->COLUMN( 'SWERK' )->SET_NO_OUT( abap_true  ).
  1172.  
  1173. *  "Add button into GUI status at for function F01 (in partial dynamic GUI Status we can have up to 19 buttons)
  1174. *  falv->gui_status->add_button(
  1175. *    EXPORTING
  1176. *      iv_button              = zcl_falv_dynamic_status=>b_01
  1177. *      iv_text                = 'Enable Print'
  1178. *      iv_icon                = icon_activate
  1179. *
  1180. **      iv_qinfo               =
  1181. **      iv_allowed             = ABAP_TRUE
  1182. *    EXCEPTIONS
  1183. *      button_already_filled  = 1
  1184. *      button_does_not_exists = 2
  1185. *      icon_and_text_empty    = 3
  1186. *      OTHERS                 = 4
  1187. *  ).
  1188. *  IF sy-subrc <> 0.
  1189. *  ENDIF.
  1190. *  "Add button into GUI status at for function F02
  1191. *  falv->gui_status->add_button(
  1192. *    EXPORTING
  1193. *      iv_button              = zcl_falv_dynamic_status=>b_02
  1194. *      iv_text                = 'Disable Print'
  1195. *      iv_icon                = icon_active_inactive
  1196. **      iv_qinfo               =
  1197. **      iv_allowed             = ABAP_TRUE
  1198. *    EXCEPTIONS
  1199. *      button_already_filled  = 1
  1200. *      button_does_not_exists = 2
  1201. *      icon_and_text_empty    = 3
  1202. *      OTHERS                 = 4
  1203. *  ).
  1204. *  IF sy-subrc <> 0.
  1205. *
  1206. *  ENDIF.
  1207.  
  1208.  
  1209.  
  1210.  
  1211. *
  1212. *  "remove button "Details" & "Info" from standard Grid functions
  1213. *  falv->delete_button( falv->mc_fc_detail ).
  1214. *  falv->delete_button( falv->mc_fc_info ).
  1215.   "Display full screen grid
  1216.  
  1217. *  BREAK-POINT.
Add Comment
Please, Sign In to add comment