<?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 ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2525055#M571926</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;&lt;/P&gt;&lt;P&gt;           How to develop a purchase order report using ALV function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 07 Jul 2007 11:09:35 GMT</pubDate>
    <dc:creator>former_member778253</dc:creator>
    <dc:date>2007-07-07T11:09:35Z</dc:date>
    <item>
      <title>ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2525055#M571926</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;&lt;/P&gt;&lt;P&gt;           How to develop a purchase order report using ALV function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 11:09:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2525055#M571926</guid>
      <dc:creator>former_member778253</dc:creator>
      <dc:date>2007-07-07T11:09:35Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2525056#M571927</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;We cant give the complete your requirement but here u can have a smaple code plz check it out &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;paste this code in ur report and execute it is also related to PO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;tables: ekko , ekpo ,EKKN .
TYPE-POOLS: SLIS.
DATA: val1  like konh-vakey.
DATA : ED(15) TYPE N .


Data:GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
     G_REPID LIKE SY-REPID,
     G_GRID_TITLE TYPE LVC_TITLE.

Data:G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

DATA:G_TABNAME TYPE SLIS_TABNAME VALUE 'ITAB3',
G_SAVE .

DATA:GS_VARIANT LIKE DISVARIANT.
DATA:LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA:GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
     G_SAVE = 'A'.


*
*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
*SELECTION-SCREEN SKIP 2.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 25(23) text-002.
*SELECT-OPTIONS: S_ebelp FOR eKPO-ebelp.
**PARAMETERS:p_lifnr LIKE ekko-lifnr .
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN END OF BLOCK b1.
*

DATA: BEGIN OF itab OCCURS 0,

        EBELN LIKE EKKO-EBELN,
        KNUMV LIKE EKKO-KNUMV,
        LIFNR LIKE EKKO-LIFNR,
        EBELP LIKE KONV-KPOSN,
        NETWR LIKE EKPO-NETWR,
        NETPR LIKE EKPO-NETPR,
        NAME1 LIKE LFA1-NAME1,
        NAME2 LIKE LFA1-NAME2,
        WERKS LIKE EKPO-WERKS,
        MATNR LIKE EKPO-MATNR,
        PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,

     END OF itab.


DATA: BEGIN OF ITAB3 OCCURS 0,

        LIFNR LIKE EKKO-LIFNR,
        NAME1 LIKE LFA1-NAME1,
        EBELN LIKE EKKO-EBELN,
        EBELP LIKE EKPO-EBELP,
        NETWR LIKE EKPO-NETWR,
        NETPR LIKE EKPO-NETPR,
        KSCHL LIKE KONV-KSCHL,
        KBETR LIKE KONV-KBETR,
        KWERT LIKE KONV-KWERT,
        KWERT2 LIKE KONV-KWERT,
       TOTAL TYPE p decimals 2,
       PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,

        ED1  TYPE p decimals 2,

        NAME2 LIKE LFA1-NAME2,
        KNUMV LIKE EKKO-KNUMV,




     END OF ITAB3.



DATA: BEGIN OF ITAB1 OCCURS 0,

        KPOSN LIKE KONV-KPOSN,
        KNUMV LIKE KONV-KNUMV,
        KSCHL LIKE KONV-KSCHL,
        KBETR LIKE KONV-KBETR,
        KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
*        KWERT2 LIKE KONV-KWERT,"THIS FOR OTHER CONDITION

    END OF ITAB1.


data: begin of int_konh occurs 0,
        KNUMH LIKE KONH-KNUMH,
        KSCHL LIKE KONH-KSCHL,
     end of int_konh.

DATA: BEGIN OF INT_KONP OCCURS 0,
         KNUMH LIKE KONP-KNUMH,
         KBETR LIKE KONP-KBETR,
      END OF INT_KONP.

DATA: BEGIN OF INT_EKKN OCCURS 0,
         EBELN LIKE EKKN-EBELN,
         EBELP LIKE EKKN-EBELP,
         PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,

      END OF INT_EKKN.




PERFORM GET_DATA.
PERFORM CALL_ALV_GRID.


FORM GET_DATA.


*SELECT B~EBELN B~LIFNR B~KNUMV A~EBELP A~NETWR A~NETPR A~WERKS A~MATNR
*        L~NAME1 L~NAME2
*    FROM EKPO  AS A
*       INNER JOIN  EKKO AS B ON B~EBELN = A~EBELN
*       INNER JOIN  LFA1 AS L ON L~LIFNR = B~LIFNR
*       INNER JOIN  EKKN AS C ON C~EBELN = A~EBELN
*       INTO CORRESPONDING FIELDS OF TABLE itab
*       WHERE B~BUKRS = 'GSPL'       .
*




SELECT A~EBELN A~LIFNR A~KNUMV B~EBELP B~NETWR B~NETPR B~WERKS B~MATNR
        L~NAME1 L~NAME2
    FROM EKKO  AS A
       INNER JOIN  EKPO AS B ON A~EBELN = B~EBELN
       INNER JOIN  LFA1 AS L ON L~LIFNR = A~LIFNR
*       INNER JOIN  EKKN AS C ON C~EBELN = A~EBELN

       INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE B~BUKRS = 'GSPL'       .


*SELECT PS_PSP_PNR EBELN EBELP FROM
*            EKKN INTO CORRESPONDING FIELDS OF TABLE INT_EKKN
*              FOR ALL ENTRIES IN ITAB
*              WHERE EKKN~EBELN = ITAB-EBELN EKKN~EBELP = ITAB-EBELP.





if not itab[] is initial.

      select * from KONV into CORRESPONDING FIELDS OF TABLE  ITAB1
      for all entries in itab
      where knumv = itab-knumv and
      kposn = ITAB-EBELP.



endif.


      loop at itab.



              ITAB3-EBELN = ITAB-EBELN.
              ITAB3-EBELP = ITAB-EBELP.
              ITAB3-KNUMV = ITAB-KNUMV.
              ITAB3-LIFNR = ITAB-LIFNR.
              ITAB3-name1 = ITAB-name1.
              ITAB3-NETWR = ITAB-NETWR.
              ITAB3-NETPR = ITAB-NETPR.
              ITAB3-PS_PSP_PNR = ITAB-PS_PSP_PNR.



sort itab by ebeln ebelp.


        read table itab1 with key knumv = itab-knumv
        kposn = ITAB-EBELP.



        if sy-subrc = 0.

        loop at itab1 where knumv = itab-knumv   and kposn = itab-ebelp.
                itab3-kschl = itab1-kschl.

*         ITAB3-KSCHL = ITAB1-KSCHL.


          IF ITAB3-KSCHL = 'NAVS' OR ITAB3-KSCHL = 'NAVM'.

            ITAB3-KBETR = ITAB1-KBETR.

            modify  ITAB3 transporting KBETR
            where  KNUMV =  ITAB3-KNUMV AND EBELP = ITAB3-EBELP .
            clear: itab1-kbetr.



           ELSEIF ITAB3-KSCHL = 'FRA1' OR ITAB3-KSCHL = 'FRC1' OR
                ITAB3-KSCHL = 'FRB1'.

                    ITAB3-KWERT = ITAB1-KWERT.

                   modify  ITAB3 transporting KWERT
                   where  KNUMV =  ITAB3-KNUMV AND EBELP = ITAB3-EBELP .
                  clear: itab1-kwert.


           ELSEIF ITAB3-KSCHL = 'RL01' OR ITAB3-KSCHL = 'ZA00' OR
                 ITAB3-KSCHL = 'ZA01' OR ITAB3-KSCHL = 'ZAE1' OR
                 ITAB3-KSCHL = 'ZAED' OR

                 ITAB3-KSCHL = 'ZAFR' OR ITAB3-KSCHL = 'ZB00' OR
                 ITAB3-KSCHL = 'ZBCH' OR ITAB3-KSCHL = 'ZBED' OR
                 ITAB3-KSCHL = 'ZC00' OR

                 ITAB3-KSCHL = 'ZCEX' OR ITAB3-KSCHL = 'ZCIF' OR
                 ITAB3-KSCHL = 'ZHC1' OR ITAB3-KSCHL = 'ZHC2' OR
                 ITAB3-KSCHL = 'ZHCT' OR

                 ITAB3-KSCHL = 'ZHCV' OR ITAB3-KSCHL = 'ZJOC' OR
                 ITAB3-KSCHL = 'ZOTH' OR ITAB3-KSCHL = 'ZOTP' OR
                 ITAB3-KSCHL = 'ZOTT' OR

                 ITAB3-KSCHL = 'ZPK1' OR ITAB3-KSCHL = 'ZPK2' OR
                 ITAB3-KSCHL = 'ZPK3' OR ITAB3-KSCHL = 'ZPK4' OR
                 ITAB3-KSCHL = 'ZRPO' OR

                 ITAB3-KSCHL = 'ZSE1' OR ITAB3-KSCHL = 'ZSED' OR
                 ITAB3-KSCHL = 'ZSFR' OR ITAB3-KSCHL = 'ZSTX' OR
                 ITAB3-KSCHL = 'ZTPI' OR

                 ITAB3-KSCHL = 'ZTPV' OR ITAB3-KSCHL = 'ZTRD' OR
                 ITAB3-KSCHL = 'ZWCT'.

                   ITAB3-KWERT2 = ITAB1-KWERT.
                   modify  ITAB3 transporting KWERT2
                   where  KNUMV =  ITAB-KNUMV AND EBELP = ITAB-EBELP .
                   CLEAR: ITAB1-KWERT.




          ENDIF.

         endloop.

 ITAB3-TOTAL = ITAB3-NETWR + ITAB3-KWERT2 + ITAB3-KWERT + ITAB3-KBETR.

append itab3.
       endif.

       clear: itab3-kbetr,
                         itab3-kwert,
                         itab1-kbetr,
                         itab1-kwert.
.
.

endloop.





ENDFORM.




FORM CALL_ALV_GRID.

PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM                = G_repid


      I_CALLBACK_USER_COMMAND           = G_USER_COMMAND
      I_GRID_TITLE                      = G_GRID_TITLE
      IT_FIELDCAT                       = GT_FIELDCAT[]
      I_DEFAULT                         = 'X'
      I_SAVE                            =  G_SAVE
      IS_VARIANT                        =  Gs_VARIANT
    TABLES
      T_OUTTAB                          = ITAB3.

ENDFORM.

FORM FIELDCAT_INIT
       USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.



 CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-seltext_l   = 'Vendor no'.
  LS_FIELDCAT-FIELDNAME     = 'LIFNR'.
  LS_FIELDCAT-REF_FIELDNAME = 'LIFNR'.
  LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-seltext_l   = 'Vendor Name'.
  LS_FIELDCAT-FIELDNAME     = 'NAME1'.
  LS_FIELDCAT-REF_FIELDNAME = 'NAME1'.
  LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

 CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-seltext_l   = 'Purchase Document No'.
  LS_FIELDCAT-FIELDNAME     = 'EBELN'.
  LS_FIELDCAT-REF_FIELDNAME = 'EBELN'.
  LS_FIELDCAT-REF_TABNAME   = 'EKKO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Item No'.
  LS_FIELDCAT-FIELDNAME     = 'EBELP'.
  LS_FIELDCAT-REF_FIELDNAME = 'EBELP'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


   CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-FIELDNAME     = 'NETPR'.
  LS_FIELDCAT-REF_FIELDNAME = 'NETPR'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-FIELDNAME     = 'NETWR'.
  LS_FIELDCAT-REF_FIELDNAME = 'NETWR'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.





CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'NAVM/NAVS'.
  LS_FIELDCAT-FIELDNAME     = 'KBETR'.
  LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.



CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Frieght'.
  LS_FIELDCAT-FIELDNAME     = 'KWERT'.
  LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Other Condition'.
  LS_FIELDCAT-FIELDNAME     = 'KWERT2'.
  LS_FIELDCAT-REF_FIELDNAME = 'KWERT2'.
  LS_FIELDCAT-REF_TABNAME   = 'ITAB3'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.




CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Total'.
  LS_FIELDCAT-FIELDNAME     = 'TOTAL'.
  LS_FIELDCAT-REF_FIELDNAME = 'TOTAL'.
  LS_FIELDCAT-REF_TABNAME   = 'ITAB3'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'WBS-ELEMENT '.
  LS_FIELDCAT-FIELDNAME     = 'PS_PSP_PSPNR'.
  LS_FIELDCAT-REF_FIELDNAME = 'PS_PSP_PSPNR'.
  LS_FIELDCAT-REF_TABNAME   = 'ITAB3'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.




ENDFORM.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward all helpfull answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2007 11:12:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/2525056#M571927</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-07T11:12:18Z</dc:date>
    </item>
  </channel>
</rss>

