<?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 program on  ALV_Grid and objects.....  Urgent in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980980#M703840</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can any help me to write the coding of this report program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Define selection screen with KNA1-KUNNR, VBRK-FKDAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Select Data from Database (with "inner join")&lt;/P&gt;&lt;P&gt;Tables: Customer KNA1, KNVV&lt;/P&gt;&lt;P&gt;SalesDocument VBAK - Head, VBAP - Positions&lt;/P&gt;&lt;P&gt;Invoice VBRK - Head, VBRP - Positions&lt;/P&gt;&lt;P&gt;Document Flow VBFA -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Invoice (VBFA_VBTYP_V = M) -&amp;gt;&lt;/P&gt;&lt;P&gt;Delivery (VBFA_VBTYP_V = J) -&amp;gt;&lt;/P&gt;&lt;P&gt;SalesOrder (VBFA-VBTYP_V = C) -&amp;gt;&lt;/P&gt;&lt;P&gt;Sales Document Data&lt;/P&gt;&lt;P&gt;Sales Document Partner Data VBPA (Parvw = AG, WE) - Partner Number&lt;/P&gt;&lt;P&gt;Customer Adress Data etc. KNA1, KNVV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Create Dictionary Structure for Output Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Create Dynpro (Screen 9000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Create ALV Grid Object and Call Method "set_table_for_first_display" of alv obj in PBO Module of Screen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Nov 2007 14:34:31 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-06T14:34:31Z</dc:date>
    <item>
      <title>program on  ALV_Grid and objects.....  Urgent</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980980#M703840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can any help me to write the coding of this report program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Define selection screen with KNA1-KUNNR, VBRK-FKDAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Select Data from Database (with "inner join")&lt;/P&gt;&lt;P&gt;Tables: Customer KNA1, KNVV&lt;/P&gt;&lt;P&gt;SalesDocument VBAK - Head, VBAP - Positions&lt;/P&gt;&lt;P&gt;Invoice VBRK - Head, VBRP - Positions&lt;/P&gt;&lt;P&gt;Document Flow VBFA -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Invoice (VBFA_VBTYP_V = M) -&amp;gt;&lt;/P&gt;&lt;P&gt;Delivery (VBFA_VBTYP_V = J) -&amp;gt;&lt;/P&gt;&lt;P&gt;SalesOrder (VBFA-VBTYP_V = C) -&amp;gt;&lt;/P&gt;&lt;P&gt;Sales Document Data&lt;/P&gt;&lt;P&gt;Sales Document Partner Data VBPA (Parvw = AG, WE) - Partner Number&lt;/P&gt;&lt;P&gt;Customer Adress Data etc. KNA1, KNVV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Create Dictionary Structure for Output Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Create Dynpro (Screen 9000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Create ALV Grid Object and Call Method "set_table_for_first_display" of alv obj in PBO Module of Screen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 14:34:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980980#M703840</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-06T14:34:31Z</dc:date>
    </item>
    <item>
      <title>Re: program on  ALV_Grid and objects.....  Urgent</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980981#M703841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may have a look at my sample report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="286895"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using function module &amp;lt;b&amp;gt;LVC_FIELDCATALOG_MERGE&amp;lt;/b&amp;gt; repetively you can easily build any kind of required fieldcatalog for your ALV output.&lt;/P&gt;&lt;P&gt;Have a look at the sample report &amp;lt;b&amp;gt;ZUS_SDN_REUSE_ALV_GRID_DISP&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_REUSE_ALV_GRID_DISP
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_reuse_alv_grid_disp.


TYPES: BEGIN OF ty_s_outtab.
TYPES: status    TYPE i_status.
INCLUDE TYPE knb1.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab  TYPE STANDARD TABLE OF ty_s_outtab
                         WITH DEFAULT KEY.

DATA:
  gs_variant   TYPE disvariant,
  gs_layout    TYPE lvc_s_layo,
  gt_fcat      TYPE lvc_t_fcat,
*
  gs_outtab    TYPE ty_s_outtab,
  gt_outtab    TYPE ty_t_outtab.




START-OF-SELECTION.

  SELECT * FROM  knb1 INTO CORRESPONDING FIELDS OF TABLE gt_outtab
         WHERE  bukrs  = '1000'.


  PERFORM build_fieldcatalog.

  PERFORM set_layout_and_variant.


  PERFORM modify_list.


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                =
*     I_BUFFER_ACTIVE                   =
*     I_CALLBACK_PROGRAM                = ' '
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =
      IS_LAYOUT_LVC                     = gs_layout
      it_fieldcat_lvc                   = gt_fcat
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS_LVC             =
*     IT_SORT_LVC                       =
*     IT_FILTER_LVC                     =
*     IT_HYPERLINK                      =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
      i_save                            = 'A'
      is_variant                        = gs_variant
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT_LVC                      =
*     IS_REPREP_ID_LVC                  =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 =
*     I_HTML_HEIGHT_END                 =
*     IT_EXCEPT_QINFO_LVC               =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = gt_outtab
    EXCEPTIONS
      program_error                     = 1
      OTHERS                            = 2.
  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.





END-OF-SELECTION.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
* define local data
  DATA:
    ls_fcat      TYPE lvc_s_fcat.


  REFRESH: gt_fcat.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
*       I_BUFFER_ACTIVE              =
      i_structure_name             = 'KNB1'
*       I_CLIENT_NEVER_DISPLAY       = 'X'
*       I_BYPASSING_BUFFER           =
*       I_INTERNAL_TABNAME           =
    CHANGING
      ct_fieldcat                  = gt_fcat
    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.


  " Add I_STATUS field from this structure to fieldcatalog
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
*       I_BUFFER_ACTIVE              =
      i_structure_name             = 'RIHEA'
*       I_CLIENT_NEVER_DISPLAY       = 'X'
*       I_BYPASSING_BUFFER           =
*       I_INTERNAL_TABNAME           =
    CHANGING
      ct_fieldcat                  = gt_fcat
    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 gt_fcat WHERE ( ref_table = 'RIHEA'   AND
                         fieldname NE 'I_STATUS' ).
  READ TABLE gt_fcat INTO ls_fcat
             WITH KEY fieldname = 'I_STATUS'.
  IF ( syst-subrc = 0 ).
    DELETE gt_fcat INDEX syst-tabix.
    ls_fcat-fieldname = 'STATUS'.
    INSERT ls_fcat INTO gt_fcat INDEX 1.
  ENDIF.

  " Renumbering of columns
  LOOP AT gt_fcat INTO ls_fcat.
    ls_fcat-col_pos = syst-tabix.
    MODIFY gt_fcat FROM ls_fcat.
  ENDLOOP.




ENDFORM.                    " BUILD_FIELDCATALOG


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SET_LAYOUT_AND_VARIANT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM set_layout_and_variant .

  CLEAR: gs_layout,
         gs_variant.


  gs_layout-zebra = 'X'.
  gs_layout-cwidth_opt = 'X'.

  gs_layout-excp_fname = 'STATUS'.
  gs_layout-excp_led     = 'X'. " display LED instead of lights

  gs_variant-report = syst-repid.
  gs_variant-handle = 'GRID'.     " required for saving variants

ENDFORM.                    " SET_LAYOUT_AND_VARIANT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MODIFY_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_list .
* define local data
  DATA:
    ls_outtab    TYPE ty_s_outtab.


  LOOP AT gt_outtab INTO ls_outtab.

"   Define reasonable conditions for status
    IF ( syst-tabix &amp;gt; 20 ).
      ls_outtab-status = '3'.  " = green
    ELSEIF ( syst-tabix &amp;gt; 10 ).
      ls_outtab-status = '2'.  " = yellow
    ELSEIF ( syst-tabix &amp;gt; 5 ).
      ls_outtab-status = '1'.  " = red
    ELSE.
      ls_outtab-status = '0'.  " = no status
    ENDIF.

    MODIFY gt_outtab FROM ls_outtab.
  ENDLOOP.

ENDFORM.                    " MODIFY_LIST&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2007 20:06:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980981#M703841</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-11-06T20:06:18Z</dc:date>
    </item>
    <item>
      <title>Re: program on  ALV_Grid and objects.....  Urgent</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980982#M703842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to the following link which gives you sample codes with brief description of the programs.&lt;/P&gt;&lt;P&gt;OOALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then coming to steps for creation of ALV in OOABAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create a program in se38 and just activate it without any code for now.&lt;/P&gt;&lt;P&gt;2. Go to module pool and create a screen, put a custom container control on to the screen. (You will find this control on right side tool box).&lt;/P&gt;&lt;P&gt;3. Give a name to the control created in step 2.&lt;/P&gt;&lt;P&gt;4. Activate the screen.&lt;/P&gt;&lt;P&gt;5. Come to the program declare two variables to hold instances of 2 classes CL_GUI_CUSTOM_CONTAINER, CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;6. create an instance of the class CL_GUI_CUSTOM_CONTAINER passing container name created in step 3.&lt;/P&gt;&lt;P&gt;7. create an instance of the class CL_GUI_ALV_GRID passing INSTANCE VARIBALE name created in step 6.&lt;/P&gt;&lt;P&gt;8. using the ref. variable of previous step call method SET_TABLE &lt;U&gt;FOR&lt;/U&gt;FIRST_DISPLAY method and pass structure name and internal table containing data.&lt;/P&gt;&lt;P&gt;9. then call screen created in step 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hey... execute the program . You are there with your OOALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the sample code.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZGS_SIMPLE_ALV
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
 
REPORT  zgs_simple_alv.
 
DATA : it_mara TYPE TABLE OF mara.
 
DATA : container TYPE REF TO cl_gui_custom_container,
       grid TYPE REF TO cl_gui_alv_grid.
 
SELECT * FROM mara INTO TABLE it_mara UP TO 10 ROWS.
 
 CREATE OBJECT container
   EXPORTING
*     PARENT                      =
     container_name              =  'CONTAINER'
*     STYLE                       =
*     LIFETIME                    = lifetime_default
*     REPID                       =
*     DYNNR                       =
*     NO_AUTODEF_PROGID_DYNNR     =
*   EXCEPTIONS
*     CNTL_ERROR                  = 1
*     CNTL_SYSTEM_ERROR           = 2
*     CREATE_ERROR                = 3
*     LIFETIME_ERROR              = 4
*     LIFETIME_DYNPRO_DYNPRO_LINK = 5
*     others                      = 6
     .
 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.
 
 
CREATE OBJECT grid
  EXPORTING
*    I_SHELLSTYLE      = 0
*    I_LIFETIME        =
    i_parent          = container
*    I_APPL_EVENTS     = space
*    I_PARENTDBG       =
*    I_APPLOGPARENT    =
*    I_GRAPHICSPARENT  =
*    I_NAME            =
*    I_FCAT_COMPLETE   = SPACE
*  EXCEPTIONS
*    ERROR_CNTL_CREATE = 1
*    ERROR_CNTL_INIT   = 2
*    ERROR_CNTL_LINK   = 3
*    ERROR_DP_CREATE   = 4
*    others            = 5
    .
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 METHOD grid-&amp;gt;set_table_for_first_display
  EXPORTING
*    I_BUFFER_ACTIVE               =
*    I_BYPASSING_BUFFER            =
*    I_CONSISTENCY_CHECK           =
    i_structure_name              = 'MARA'
*    IS_VARIANT                    =
*    I_SAVE                        =
*    I_DEFAULT                     = 'X'
*    IS_LAYOUT                     =
*    IS_PRINT                      =
*    IT_SPECIAL_GROUPS             =
*    IT_TOOLBAR_EXCLUDING          =
*    IT_HYPERLINK                  =
*    IT_ALV_GRAPHICS               =
*    IT_EXCEPT_QINFO               =
*    IR_SALV_ADAPTER               =
  CHANGING
    it_outtab                     = it_mara
*    IT_FIELDCATALOG               =
*    IT_SORT                       =
*    IT_FILTER                     =
*  EXCEPTIONS
*    INVALID_PARAMETER_COMBINATION = 1
*    PROGRAM_ERROR                 = 2
*    TOO_MANY_LINES                = 3
*    others                        = 4
        .
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 SCREEN 100.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the same lines you can write code for any oo alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful,&lt;/P&gt;&lt;P&gt;Aleem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2007 02:38:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-on-alv-grid-and-objects-urgent/m-p/2980982#M703842</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-07T02:38:52Z</dc:date>
    </item>
  </channel>
</rss>

