Advertisement
yaramohamed78

Untitled

Mar 14th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Generates the ALV on the Selection Screen itself
  3. *&
  4. *&---------------------------------------------------------------------*
  5. REPORT Z_YY_DISPOSAL_REQ_INQ.
  6. *
  7. *----------------------------------------------------------------------*
  8. * Local class for report
  9. *----------------------------------------------------------------------*
  10. CLASS lcl_report DEFINITION.
  11. *
  12. PUBLIC SECTION.
  13. *
  14. DATA: t_data TYPE STANDARD TABLE OF ZFI_DISPOSAL_REQ, " Output dat
  15. r_carrid TYPE RANGE OF sflight-carrid. " Select Option
  16. *
  17. METHODS:
  18. get_data,
  19. *
  20. generate_output.
  21. *
  22. ENDCLASS. "lcl_report DEFINITION
  23. *
  24. DATA: lo_report TYPE REF TO lcl_report.
  25. *
  26. DATA: w_carrid TYPE sflight-carrid.
  27. *
  28. ** Selection Screen
  29. SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE text-001.
  30.  
  31. SELECTION-SCREEN BEGIN OF LINE.
  32. SELECTION-SCREEN COMMENT (20) text-002 FOR FIELD COM_CODE .
  33. PARAMETERS : COM_CODE LIKE ZFI_DISPOSAL_REQ-ZZCOMPANY_CODE DEFAULT '1000'.
  34. SELECTION-SCREEN POSITION 35.
  35. SELECTION-SCREEN COMMENT (20) text-003 FOR FIELD COST_CNT .
  36. PARAMETERS : COST_CNT LIKE ZFI_DISPOSAL_REQ-ZZCOST_CENTER.
  37. SELECTION-SCREEN POSITION 70.
  38. SELECTION-SCREEN END OF LINE.
  39. SELECTION-SCREEN BEGIN OF LINE.
  40. SELECTION-SCREEN COMMENT (20) text-004 FOR FIELD SER_NO .
  41. PARAMETERS : SER_NO LIKE ZFI_DISPOSAL_REQ-ZZSR_NUMBER.
  42. *SELECTION-SCREEN POSITION 10.
  43. SELECTION-SCREEN COMMENT (20) text-005 FOR FIELD SRV_TYPE .
  44. PARAMETERS : SRV_TYPE LIKE ZFI_DISPOSAL_REQ-ZZSERVICE_TYPE.
  45. SELECTION-SCREEN POSITION 70.
  46. SELECTION-SCREEN END OF LINE.
  47. SELECTION-SCREEN BEGIN OF LINE.
  48. SELECTION-SCREEN COMMENT (20) text-006 FOR FIELD DATE .
  49. PARAMETERS : DATE LIKE ZFI_DISPOSAL_REQ-ZZDATE.
  50. *SELECTION-SCREEN POSITION 35.
  51. SELECTION-SCREEN COMMENT (20) text-007 FOR FIELD REQ_STS .
  52. PARAMETERS : REQ_STS LIKE ZFI_DISPOSAL_REQ-ZZRQSTTS.
  53. SELECTION-SCREEN PUSHBUTTON (10) BUT1 USER-COMMAND SEARCH.
  54. SELECTION-SCREEN PUSHBUTTON (10) BUT2 USER-COMMAND RESET.
  55. SELECTION-SCREEN END OF LINE.
  56. SELECTION-SCREEN END OF BLOCK SELECTION.
  57. *
  58. ** Initialization
  59. INITIALIZATION.
  60. BUT1 = 'Search'.
  61. BUT2 = 'Reset'.
  62. * object for the report
  63. CREATE OBJECT lo_report.
  64. * generate output
  65. lo_report->generate_output( ).
  66. *
  67. ** Start of Selection
  68. START-OF-SELECTION.
  69. * Get data
  70. * lo_report->r_carrid = s_carrid[].
  71. lo_report->get_data( ).
  72. *
  73. *----------------------------------------------------------------------*
  74. * Local Class Implementation
  75. *----------------------------------------------------------------------*
  76. CLASS lcl_report IMPLEMENTATION.
  77. *
  78. METHOD get_data.
  79. *
  80. * data selection
  81. SELECT * FROM ZFI_DISPOSAL_REQ
  82. INTO TABLE me->t_data.
  83. IF sy-dbcnt IS INITIAL.
  84. MESSAGE s398(00) WITH 'No data selected'.
  85. ENDIF.
  86. *
  87. * export to memory
  88. EXPORT data = me->t_data TO MEMORY ID sy-cprog.
  89. *
  90. ENDMETHOD. "get_data
  91. *
  92. METHOD generate_output.
  93. *
  94. * local data
  95. DATA: lo_dock TYPE REF TO cl_gui_docking_container,
  96. lo_cont TYPE REF TO cl_gui_container,
  97. lo_alv TYPE REF TO cl_salv_table.
  98. *
  99. * import output table from the memory and free afterwards
  100. IMPORT data = me->t_data FROM MEMORY ID sy-cprog.
  101. FREE MEMORY ID sy-cprog.
  102. *
  103. * Only if there is some data
  104. CHECK me->t_data IS NOT INITIAL.
  105. *
  106. * Create a docking control at bottom
  107. CHECK lo_dock IS INITIAL.
  108. CREATE OBJECT lo_dock
  109. EXPORTING
  110. repid = sy-cprog
  111. dynnr = sy-dynnr
  112. ratio = 80
  113. side = cl_gui_docking_container=>dock_at_bottom
  114. name = 'DOCK_CONT'.
  115. IF sy-subrc <> 0.
  116. MESSAGE 'Error in the Docking control' TYPE 'S'.
  117. ENDIF.
  118. *
  119. * Create a SALV for output
  120. CHECK lo_alv IS INITIAL.
  121. TRY.
  122. * Narrow Casting: To initialize custom container from
  123. * docking container
  124. lo_cont ?= lo_dock.
  125. *
  126. * SALV Table Display on the Docking container
  127. CALL METHOD cl_salv_table=>factory
  128. EXPORTING
  129. list_display = if_salv_c_bool_sap=>false
  130. r_container = lo_cont
  131. container_name = 'DOCK_CONT'
  132. IMPORTING
  133. r_salv_table = lo_alv
  134. CHANGING
  135. t_table = me->t_data.
  136. CATCH cx_salv_msg .
  137. ENDTRY.
  138. *
  139. * Pf status
  140. DATA: lo_functions TYPE REF TO cl_salv_functions_list.
  141. lo_functions = lo_alv->get_functions( ).
  142. lo_functions->set_default( abap_true ).
  143. *
  144. * output display
  145. lo_alv->display( ).
  146. *
  147. ENDMETHOD. "generate_output
  148. *
  149. ENDCLASS. "lcl_report IMPLEMENTATION
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement