<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BCALV_GRID_01 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557606#M583044</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;comment the no_out completly and try it should work&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 21 Jul 2007 01:03:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-21T01:03:57Z</dc:date>
    <item>
      <title>BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557600#M583038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;please run program,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;actually it has to display the 5 fields, but it is displaying on two fields, i.e first merge function fields , can any body tell the solution.&lt;/P&gt;&lt;P&gt;create custom control ; BCALVC_EVENT1_CONT1&lt;/P&gt;&lt;P&gt;          setpf:               MAIN100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSUDHA_BCALV_GRID_01 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Predefine a local class for event handling to allow the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration of a reference variable.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;TABLES: KNA1, VBAK, VBAP.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;          KUNNR LIKE VBAK-KUNNR,&lt;/P&gt;&lt;P&gt;          VBELN LIKE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;          POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;          MATNR LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;          NETPR LIKE VBAP-NETPR,&lt;/P&gt;&lt;P&gt;       END OF GT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;      GS_PRINT TYPE LVC_S_PRNT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     GS_LAYOUT TYPE LVC_S_LAYO,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MYCONTAINER TYPE SCRFNAME VALUE 'BCALVC_EVENT1_CONT1',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;reference to custom container: neccessary to bind ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      GRID1 TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fieldcatalog for output table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      gt_fieldcat  type lvc_t_fcat,&lt;/P&gt;&lt;P&gt;      gt_fcatfcat  type lvc_t_fcat,&lt;/P&gt;&lt;P&gt;      gs_fcatlayo  type lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 2. Define a method for each print event you need.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;METHODS:&lt;/P&gt;&lt;P&gt;HANDLE_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HANDLE_END_OF_PAGE&lt;/P&gt;&lt;P&gt;FOR EVENT PRINT_END_OF_PAGE OF CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HANDLE_TOP_OF_LIST&lt;/P&gt;&lt;P&gt;FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HANDLE_END_OF_LIST&lt;/P&gt;&lt;P&gt;FOR EVENT PRINT_END_OF_LIST OF CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;DATA: PAGENUM TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;*§ 3. Implement your event handler methods. Use WRITE to provide output.&lt;/P&gt;&lt;P&gt;METHOD HANDLE_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;DATA: TABLENAME(30) TYPE C.&lt;/P&gt;&lt;P&gt;PERFORM GET_TABLENAME CHANGING TABLENAME.&lt;/P&gt;&lt;P&gt;WRITE: /,'Event: PRINT_TOP_OF_PAGE'(001),&lt;/P&gt;&lt;P&gt;'Table: '(002),TABLENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_top_of_page&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;METHOD HANDLE_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;DATA: TABLENAME(30) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_TABLENAME CHANGING TABLENAME.&lt;/P&gt;&lt;P&gt;ADD 1 TO PAGENUM.&lt;/P&gt;&lt;P&gt;WRITE: /,'Event: PRINT_END_OF_PAGE'(003),&lt;/P&gt;&lt;P&gt;TEXT-002,TABLENAME,&lt;/P&gt;&lt;P&gt;'Number of pages so far: '(004), PAGENUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_end_of_page&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;METHOD HANDLE_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;DATA: TABLENAME(30) TYPE C.&lt;/P&gt;&lt;P&gt;CLEAR PAGENUM.&lt;/P&gt;&lt;P&gt;PERFORM GET_TABLENAME CHANGING TABLENAME.&lt;/P&gt;&lt;P&gt;WRITE: /,'Event: PRINT_TOP_OF_LIST'(005),&lt;/P&gt;&lt;P&gt;TEXT-002,TABLENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_top_of_list&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;METHOD HANDLE_END_OF_LIST.&lt;/P&gt;&lt;P&gt;DATA: TABLENAME(30) TYPE C.&lt;/P&gt;&lt;P&gt;PERFORM GET_TABLENAME CHANGING TABLENAME.&lt;/P&gt;&lt;P&gt;WRITE: /,'Event: PRINT_END_OF_LIST'(006),&lt;/P&gt;&lt;P&gt;TEXT-002,TABLENAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "handle_end_of_list&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM GET_FINAL_DATA.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;G_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form GET_FINAL_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM GET_FINAL_DATA.&lt;/P&gt;&lt;P&gt;SELECT VBAK&lt;SUB&gt;KUNNR VBAK&lt;/SUB&gt;VBELN VBAP&lt;SUB&gt;POSNR VBAP&lt;/SUB&gt;MATNR VBAP~NETPR&lt;/P&gt;&lt;P&gt;INTO TABLE GT_FINAL&lt;/P&gt;&lt;P&gt;FROM VBAK INNER JOIN VBAP&lt;/P&gt;&lt;P&gt;ON VBAK&lt;SUB&gt;VBELN = VBAP&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;WHERE VBAK~VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;SORT GT_FINAL BY KUNNR VBELN POSNR.&lt;/P&gt;&lt;P&gt;WRITE: 'Success'.&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_FINAL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Module PBO OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE PBO OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MAIN100'.&lt;/P&gt;&lt;P&gt;IF CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CONTAINER_NAME = MYCONTAINER&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;CNTL_SYSTEM_ERROR = 2&lt;/P&gt;&lt;P&gt;CREATE_ERROR = 3&lt;/P&gt;&lt;P&gt;LIFETIME_ERROR = 4&lt;/P&gt;&lt;P&gt;LIFETIME_DYNPRO_DYNPRO_LINK = 5.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TITEL = G_REPID&lt;/P&gt;&lt;P&gt;TXT2 = SY-SUBRC&lt;/P&gt;&lt;P&gt;TXT1 = 'The control could not be created'(010).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create an instance of alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;EXPORTING I_PARENT = CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set a titlebar for the grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;gs_fcatlayo-GRID_TITLE = 'CUSTOMER'(100).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 5. In case of PRINT_END_OF_PAGE, you must set 'reservelns' to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the number of reserved lines at the end of a page.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;reserve two lines for the PRINT_END_OF_PAGE event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*GS_PRINT-RESERVELNS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform build_fieldcatalog changing gt_fieldcat.&lt;/P&gt;&lt;P&gt;*perform modify_fieldcatalog changing gt_fcatfcat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;optimize column width of grid displaying fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fcatlayo-cwidth_opt = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;    IS_PRINT = GS_PRINT&lt;/P&gt;&lt;P&gt;    IS_LAYOUT = gs_fcatlayo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;    it_outtab       = gt_FINAL[]&lt;/P&gt;&lt;P&gt;    it_fieldcatalog = gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-&amp;gt;Create Object to receive events and link them to handler methods.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the ALV Control raises the event for the specified instance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the corresponding method is automatically called.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 4. Link used print events and event handler methods.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_LIST FOR GRID1.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_PAGE FOR GRID1.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_END_OF_LIST FOR GRID1.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_END_OF_PAGE FOR GRID1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Controls are not integrated into the TAB-Order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call "set_focus" if you want to make sure that 'the cursor'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is active in your control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD CL_GUI_CONTROL=&amp;gt;SET_FOCUS EXPORTING CONTROL = GRID1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Control Framework flushes at the end of PBO automatically!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " PBO OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Module PAI INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE PAI INPUT.&lt;/P&gt;&lt;P&gt;CASE OK_CODE.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;PERFORM EXIT_PROGRAM.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;CLEAR OK_CODE.&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM EXIT_PROGRAM *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EXIT_PROGRAM.&lt;/P&gt;&lt;P&gt;CALL METHOD CUSTOM_CONTAINER-&amp;gt;FREE.&lt;/P&gt;&lt;P&gt;CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TITEL = G_REPID&lt;/P&gt;&lt;P&gt;TXT2 = SY-SUBRC&lt;/P&gt;&lt;P&gt;TXT1 = 'Error in Flush'(009).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form GET_TABLENAME&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;--P_TABLENAME text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM GET_TABLENAME CHANGING P_TABLENAME.&lt;/P&gt;&lt;P&gt;DATA: LT_FIELDCAT TYPE STANDARD TABLE OF LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;LS_FIELDCAT TYPE LVC_S_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;GET_FRONTEND_FIELDCATALOG&lt;/P&gt;&lt;P&gt;IMPORTING ET_FIELDCATALOG = LT_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;P_TABLENAME = 'No tablename in fieldcatalog!'(008).&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TITEL = G_REPID&lt;/P&gt;&lt;P&gt;TXT2 = P_TABLENAME&lt;/P&gt;&lt;P&gt;TXT1 = 'Error in Flush'(011).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;READ TABLE LT_FIELDCAT INDEX 1 INTO LS_FIELDCAT.&lt;/P&gt;&lt;P&gt;P_TABLENAME = LS_FIELDCAT-REF_TABLE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_TABLENAME ENDFORM.                    " GET_FINAL_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_fieldcatalog&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM build_fieldcatalog CHANGING P_FIELDCAT type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; data: ls_fcat     type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_STRUCTURE_NAME             = 'VBAK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = p_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                       = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   I_STRUCTURE_NAME             = 'VBAP'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CLIENT_NEVER_DISPLAY       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    CT_FIELDCAT                  = p_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INCONSISTENT_INTERFACE       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                       = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete All Feilds Except present in GT_FINAL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT p_fieldcat INTO ls_fcat.&lt;/P&gt;&lt;P&gt;IF ( ls_fcat-fieldname NE 'VBELN' and&lt;/P&gt;&lt;P&gt;     ls_fcat-fieldname NE 'KUNNR' and&lt;/P&gt;&lt;P&gt;     ls_fcat-fieldname NE 'POSNR' and&lt;/P&gt;&lt;P&gt;     ls_fcat-fieldname NE 'MATNR' and&lt;/P&gt;&lt;P&gt;     ls_fcat-fieldname NE 'NETPR' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_fcat-fieldname = ' '.&lt;/P&gt;&lt;P&gt;    modify p_fieldcat from ls_fcat.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;DELETE p_fieldcat WHERE fieldname = ' '.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change Column Postion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT p_fieldcat INTO ls_fcat.&lt;/P&gt;&lt;P&gt;ls_fcat-col_pos = SY-TABIX.&lt;/P&gt;&lt;P&gt;ls_fcat-row_pos = '0'.&lt;/P&gt;&lt;P&gt;IF ls_fcat-fieldname EQ 'KUNNR'.&lt;/P&gt;&lt;P&gt;   ls_fcat-key = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;modify p_fieldcat from ls_fcat.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT p_fieldcat INTO ls_fcat.&lt;/P&gt;&lt;P&gt;IF ( ls_fcat-fieldname EQ 'VBELN' ).&lt;/P&gt;&lt;P&gt;   add 1 to ls_fcat-col_pos.&lt;/P&gt;&lt;P&gt;   modify p_fieldcat from ls_fcat.&lt;/P&gt;&lt;P&gt;ELSEIF ls_fcat-fieldname EQ 'KUNNR'.&lt;/P&gt;&lt;P&gt;   SUBTRACT 1 from ls_fcat-col_pos.&lt;/P&gt;&lt;P&gt;   modify p_fieldcat from ls_fcat.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;*Nothing&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;sort p_fieldcat by col_pos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcatalog&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  modify_fieldcatalog&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_FCATFCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM modify_fieldcatalog CHANGING P_FCATFCAT type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;  data ls_fcat type lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at p_fcatfcat into ls_fcat.&lt;/P&gt;&lt;P&gt;    ls_fcat-coltext = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;    ls_fcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if ls_fcat-fieldname = 'COL_POS' or ls_fcat-fieldname = 'FIELDNAME'.&lt;/P&gt;&lt;P&gt;      ls_fcat-key = 'X'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify p_fcatfcat from ls_fcat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_fieldcatalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 14:19:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557600#M583038</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-07-20T14:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557601#M583039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;you can build the fieldcat table and instead that to use the function ''LVC_FIELDCATALOG_MERGE'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 14:24:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557601#M583039</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T14:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557602#M583040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sudhakar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the program code u have given, the NO_OUT field of the fieldcatalog table GT_FIELDCAT is taking in value of  'X' for the fields POSNR,MATNR and NETPR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That is why only the first two fields KUNNR and VBELN are getting displayed in grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just in case u are not aware of the usage of NO_OUT......&lt;/P&gt;&lt;P&gt;NO_OUT is the field of fieldcatlog which when set to 'X' makes the field disappear in the output in the grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the problem is solved .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls dont forget to award points if answer is found helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sanghamitra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 15:19:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557602#M583040</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T15:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557603#M583041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;go through this link,&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="3762605"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 15:25:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557603#M583041</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T15:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557604#M583042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sudhakar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just the code in debugger and u can easily find out that the NO_OUT field is set to 'X' for the missing fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make NO_OUT  = SPACE for these fields (POSNR,MATNR and NETPR) in the fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sanghmitra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 15:27:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557604#M583042</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T15:27:25Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557605#M583043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi when i make no_out = space it is giving dump, what is reason&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 20:16:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557605#M583043</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-07-20T20:16:19Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557606#M583044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;comment the no_out completly and try it should work&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 01:03:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557606#M583044</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T01:03:57Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557607#M583045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sudhakar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) U can as well comment out the NO_OUT column for the fields which u dont want to display OR &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) try GWA_FCAT-NO_OUT = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U will get the task done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sanghamitra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 04:27:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557607#M583045</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T04:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557608#M583046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi  sangha mitra , &lt;/P&gt;&lt;P&gt;       i am not able to get what you are saying , please explain once more, or please paste your code here, thank you very much for cooperation in my report, i am working last 10days to get output, it will great appreciated, if you give good idea.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 05:27:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557608#M583046</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-07-21T05:27:10Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557609#M583047</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have made a change in your program just copy and paste and run that...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

* Predefine a local class for event handling to allow the
* declaration of a reference variable.
CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.
*
*********

*----------------------------------------------------------------------*
* TABLES DECLARATIONS
*----------------------------------------------------------------------*
TABLES: KNA1, VBAK, VBAP.
*----------------------------------------------------------------------*
* INTERNAL TABLES DECLARATION
*----------------------------------------------------------------------*
DATA : BEGIN OF GT_FINAL OCCURS 0,
KUNNR LIKE VBAK-KUNNR,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
NETPR LIKE VBAP-NETPR,
END OF GT_FINAL.

DATA: OK_CODE LIKE SY-UCOMM,
G_REPID LIKE SY-REPID,
GS_PRINT TYPE LVC_S_PRNT,
* GS_LAYOUT TYPE LVC_S_LAYO,
MYCONTAINER TYPE SCRFNAME VALUE 'BCALVC_EVENT1_CONT1',
* reference to custom container: neccessary to bind ALV Control
CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GRID1 TYPE REF TO CL_GUI_ALV_GRID,
EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER,
* fieldcatalog for output table
gt_fieldcat type lvc_t_fcat,
gt_fcatfcat type lvc_t_fcat,
gs_fcatlayo type lvc_s_layo.

CLASS LCL_EVENT_RECEIVER DEFINITION.

PUBLIC SECTION.
* § 2. Define a method for each print event you need.
METHODS:
HANDLE_TOP_OF_PAGE
FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID,

HANDLE_END_OF_PAGE
FOR EVENT PRINT_END_OF_PAGE OF CL_GUI_ALV_GRID,

HANDLE_TOP_OF_LIST
FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID,

HANDLE_END_OF_LIST
FOR EVENT PRINT_END_OF_LIST OF CL_GUI_ALV_GRID.

PRIVATE SECTION.
DATA: PAGENUM TYPE I.

ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
*§ 3. Implement your event handler methods. Use WRITE to provide output.
METHOD HANDLE_TOP_OF_PAGE.
DATA: TABLENAME(30) TYPE C.
PERFORM GET_TABLENAME CHANGING TABLENAME.
WRITE: /,'Event: PRINT_TOP_OF_PAGE'(001),
'Table: '(002),TABLENAME.

ENDMETHOD. "handle_top_of_page
*-------------------------------------------
METHOD HANDLE_END_OF_PAGE.
DATA: TABLENAME(30) TYPE C.

PERFORM GET_TABLENAME CHANGING TABLENAME.
ADD 1 TO PAGENUM.
WRITE: /,'Event: PRINT_END_OF_PAGE'(003),
TEXT-002,TABLENAME,
'Number of pages so far: '(004), PAGENUM.

ENDMETHOD. "handle_end_of_page
*-------------------------------------------
METHOD HANDLE_TOP_OF_LIST.
DATA: TABLENAME(30) TYPE C.
CLEAR PAGENUM.
PERFORM GET_TABLENAME CHANGING TABLENAME.
WRITE: /,'Event: PRINT_TOP_OF_LIST'(005),
TEXT-002,TABLENAME.

ENDMETHOD. "handle_top_of_list
*-------------------------------------------
METHOD HANDLE_END_OF_LIST.
DATA: TABLENAME(30) TYPE C.
PERFORM GET_TABLENAME CHANGING TABLENAME.
WRITE: /,'Event: PRINT_END_OF_LIST'(006),
TEXT-002,TABLENAME.

ENDMETHOD. "handle_end_of_list
*-------------------------------------------
ENDCLASS.


*----------------------------------------------------------------------*
* SELECTION SCREEN
*----------------------------------------------------------------------*
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.

*----------------------------------------------------------------------*
* START-OF-SELECTION *
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM GET_FINAL_DATA.
END-OF-SELECTION.
G_REPID = SY-REPID.
CALL SCREEN 100.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form GET_FINAL_DATA
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --&amp;gt; p1 text
* &amp;lt;-- p2 text
*----------------------------------------------------------------------*
FORM GET_FINAL_DATA.
SELECT VBAK~KUNNR VBAK~VBELN VBAP~POSNR VBAP~MATNR VBAP~NETPR
INTO TABLE GT_FINAL
FROM VBAK INNER JOIN VBAP
ON VBAK~VBELN = VBAP~VBELN
WHERE VBAK~VBELN IN S_VBELN.
SORT GT_FINAL BY KUNNR VBELN POSNR.
WRITE: 'Success'.
ENDFORM. " GET_FINAL_DATA

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module PBO OUTPUT
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE PBO OUTPUT.
SET PF-STATUS 'MAIN100'.
IF CUSTOM_CONTAINER IS INITIAL.
* create a custom container control for our ALV Control
CREATE OBJECT CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = MYCONTAINER
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5.
IF SY-SUBRC NE 0.
* add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = G_REPID
TXT2 = SY-SUBRC
TXT1 = 'The control could not be created'(010).
ENDIF.
* create an instance of alv control
CREATE OBJECT GRID1
EXPORTING I_PARENT = CUSTOM_CONTAINER.
*
* Set a titlebar for the grid control
*
gs_fcatlayo-GRID_TITLE = 'CUSTOMER'(100).
* § 5. In case of PRINT_END_OF_PAGE, you must set 'reservelns' to
* the number of reserved lines at the end of a page.
*
* reserve two lines for the PRINT_END_OF_PAGE event
*
*GS_PRINT-RESERVELNS = 2.

perform build_fieldcatalog changing gt_fieldcat.
*perform modify_fieldcatalog changing gt_fcatfcat.
* optimize column width of grid displaying fieldcatalog
gs_fcatlayo-cwidth_opt = 'X'.

CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_PRINT = GS_PRINT
IS_LAYOUT = gs_fcatlayo

CHANGING
it_outtab = gt_FINAL[]
it_fieldcatalog = gt_fieldcat.



********
* -&amp;gt;Create Object to receive events and link them to handler methods.
* When the ALV Control raises the event for the specified instance
* the corresponding method is automatically called.
*
* § 4. Link used print events and event handler methods.
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_LIST FOR GRID1.
SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_TOP_OF_PAGE FOR GRID1.
SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_END_OF_LIST FOR GRID1.
SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_END_OF_PAGE FOR GRID1.
*
********

ENDIF.
* Controls are not integrated into the TAB-Order
* Call "set_focus" if you want to make sure that 'the cursor'
* is active in your control.
CALL METHOD CL_GUI_CONTROL=&amp;gt;SET_FOCUS EXPORTING CONTROL = GRID1.

* Control Framework flushes at the end of PBO automatically!


ENDMODULE. " PBO OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module PAI INPUT
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE PAI INPUT.
CASE OK_CODE.
WHEN 'EXIT'.
PERFORM EXIT_PROGRAM.
ENDCASE.
CLEAR OK_CODE.
ENDMODULE.
*---------------------------------------------------------------------*
* FORM EXIT_PROGRAM *
*---------------------------------------------------------------------*
FORM EXIT_PROGRAM.
CALL METHOD CUSTOM_CONTAINER-&amp;gt;FREE.
CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH.
IF SY-SUBRC NE 0.
* add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = G_REPID
TXT2 = SY-SUBRC
TXT1 = 'Error in Flush'(009).
ENDIF.
LEAVE PROGRAM.
ENDFORM.





*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form GET_TABLENAME
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* &amp;lt;--P_TABLENAME text
*----------------------------------------------------------------------*
FORM GET_TABLENAME CHANGING P_TABLENAME.
DATA: LT_FIELDCAT TYPE STANDARD TABLE OF LVC_S_FCAT,
LS_FIELDCAT TYPE LVC_S_FCAT.

CALL METHOD GRID1-&amp;gt;GET_FRONTEND_FIELDCATALOG
IMPORTING ET_FIELDCATALOG = LT_FIELDCAT.


CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
P_TABLENAME = 'No tablename in fieldcatalog!'(008).
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = G_REPID
TXT2 = P_TABLENAME
TXT1 = 'Error in Flush'(011).
ELSE.
READ TABLE LT_FIELDCAT INDEX 1 INTO LS_FIELDCAT.
P_TABLENAME = LS_FIELDCAT-REF_TABLE.
ENDIF.

ENDFORM. " GET_TABLENAME ENDFORM. " GET_FINAL_DATA
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form build_fieldcatalog
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* &amp;lt;--P_GT_FIELDCAT text
*----------------------------------------------------------------------*
FORM build_fieldcatalog CHANGING P_FIELDCAT type lvc_t_fcat.

data: ls_fcat type lvc_s_fcat.


CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'VBAK'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
CHANGING
CT_FIELDCAT = p_fieldcat[]
* EXCEPTIONS
* INCONSISTENT_INTERFACE = 1
* PROGRAM_ERROR = 2
* OTHERS = 3
.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'VBAP'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
CHANGING
CT_FIELDCAT = p_fieldcat[]
* EXCEPTIONS
* INCONSISTENT_INTERFACE = 1
* PROGRAM_ERROR = 2
* OTHERS = 3
.
IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Delete All Feilds Except present in GT_FINAL
LOOP AT p_fieldcat INTO ls_fcat.
IF ( ls_fcat-fieldname NE 'VBELN' and
ls_fcat-fieldname NE 'KUNNR' and
ls_fcat-fieldname NE 'POSNR' and
ls_fcat-fieldname NE 'MATNR' and
ls_fcat-fieldname NE 'NETPR' ).

ls_fcat-fieldname = ' '.
modify p_fieldcat from ls_fcat.
ENDIF.
ENDLOOP.
DELETE p_fieldcat WHERE fieldname = ' '.
* Change Column Postion
LOOP AT p_fieldcat INTO ls_fcat.
ls_fcat-col_pos = SY-TABIX.
ls_fcat-row_pos = '0'.
&amp;lt;b&amp;gt;ls_fcat-no_out = ''.&amp;lt;/b&amp;gt;
IF ls_fcat-fieldname EQ 'KUNNR'.
ls_fcat-key = 'X'.
ENDIF.
modify p_fieldcat from ls_fcat.
ENDLOOP.

LOOP AT p_fieldcat INTO ls_fcat.
IF ( ls_fcat-fieldname EQ 'VBELN' ).
add 1 to ls_fcat-col_pos.
modify p_fieldcat from ls_fcat.
ELSEIF ls_fcat-fieldname EQ 'KUNNR'.
SUBTRACT 1 from ls_fcat-col_pos.
modify p_fieldcat from ls_fcat.
ELSE.
*Nothing
ENDIF.
ENDLOOP.
sort p_fieldcat by col_pos.


ENDFORM. " build_fieldcatalog
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form modify_fieldcatalog
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* &amp;lt;--P_GT_FCATFCAT text
*----------------------------------------------------------------------*
FORM modify_fieldcatalog CHANGING P_FCATFCAT type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.

loop at p_fcatfcat into ls_fcat.
ls_fcat-coltext = ls_fcat-fieldname.
ls_fcat-edit = 'X'.

if ls_fcat-fieldname = 'COL_POS' or ls_fcat-fieldname = 'FIELDNAME'.
ls_fcat-key = 'X'.
endif.

modify p_fcatfcat from ls_fcat.
endloop.

ENDFORM. " modify_fieldcatalog
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;shiba dutta&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 05:34:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557609#M583047</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T05:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557610#M583048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi shiba,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is the change you made,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ls_fcat-no_out = ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if it is case it is giving dump, are able to execute successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;runtime error:   GETWA_NOT_ASSIGNED&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 05:47:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557610#M583048</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-07-21T05:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557611#M583049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;but i have run it in my system and it is running properly with 5 fields display...Just put a break point on that statement and check whether it is the error due to that or not?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;shiba dutta&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 05:52:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557611#M583049</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-21T05:52:32Z</dc:date>
    </item>
    <item>
      <title>Re: BCALV_GRID_01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557612#M583050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;there is no error,  when i run program it is going going to dump, when i comment this statement it is executing successfully with 2 fields&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jul 2007 05:57:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bcalv-grid-01/m-p/2557612#M583050</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-07-21T05:57:34Z</dc:date>
    </item>
  </channel>
</rss>

