cancel
Showing results for 
Search instead for 
Did you mean: 

calling transaction code using web dynpro i sap mm

ruchatodankar
Explorer
0 Kudos

Dear all,

       I was new in web dynpro and my requirement is

              1. create a sap- mm PO chek list alv report using web dynpro

              2. when u click on web dynpro alv output of po number column call ME23n transaction code.

please help me???????

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Rucha,

Check out the link.http://sapignite.com/call-sap-tcode-using-webdynpro-for-abap/

Regards,

Ravikiran.K

Answers (2)

Answers (2)

ruchatodankar
Explorer
0 Kudos

TABLES : ekko, ekpo.

* -----------------TYPES AND DATA--------------------------------------*

TYPE-POOLS : slis.

TYPES : BEGIN OF ty_po,
         ekorg LIKE ekko-ekorg"PUR ORG
         ekgrp LIKE ekko-ekgrp"PUR GRP
         bedat LIKE ekko-bedat"DOC DATE
         bsart LIKE ekko-bsart"DOC TYPE
         ebeln LIKE ekko-ebeln"DOC NO.
         eindt LIKE eket-eindt"delivery date for PO "maheshn0403 17-08-2010
         ebelp LIKE ekpo-ebelp"ITEM NO.   "maheshn0403 17-08-2010
         ernam LIKE ekko-ernam,   "NANE OF THE PERSON WHO CREATED THE DOC
         banfn LIKE ekpo-banfn"PURCHASE REQUISITION  "maheshn0403 30-08-2008
         lfdat LIKE eban-lfdat"REQUISITION DELIVERY DATE    "maheshn0403 30-08-2008
         fgdat LIKE erev-fgdat"PR release date "pranavn1011
         erdat LIKE erev-erdat"RECORD CREATION DATE      "maheshn0403 30-08-2008
         lifnr LIKE ekko-lifnr"VENDOR NO.
         knumv LIKE ekko-knumv"NO. OF CONDITION DOC
         wkurs LIKE ekko-wkurs"EXCHANGE RATE
         waers LIKE ekko-waers"Currency Key         "maheshn0403 17-08-2010
         werks LIKE ekpo-werks"PLANT
         matkl LIKE ekpo-matkl"MATERIAL GRP
         matnr LIKE ekpo-matnr"MATERIAL NO.
         menge LIKE ekpo-menge"QUANTITY
         meins LIKE ekpo-meins"UNIT
         netpr LIKE ekpo-netpr"PRICE
         bednr LIKE ekpo-bednr"TRACKING NO.
         afnam LIKE ekpo-afnam"REQUISITIONER
         kzwi1 LIKE ekpo-kzwi1"TOTAL LANDED COST
         mwskz LIKE ekpo-mwskz"TAX
         loekz LIKE ekpo-loekz"DELETION INDICATOR
         ktmng LIKE ekpo-ktmng"TARGET QUANTITY
         name1 LIKE lfa1-name1"VENDOR NAME
         maktx LIKE makt-maktx"MATERIAL DESC
         kwert LIKE konv-kwert"CONDITION BASE VALUE
         kschl LIKE konv-kschl"CONDITION TYPE
         verpr LIKE mbew-verpr"MAP
         mwaer LIKE t000-mwaer"Standard currency throughout client  "maheshn0403 17-08-2010
         v_loc LIKE ekpo-kzwi1,
         text1 LIKE t007s-text1, "TAX NAME
*        lines LIKE tline-tdline,
*        telf1 TYPE ekko-telf1,
*        lines11(70) TYPE c,
         zterm LIKE ekko-zterm,   "TERMS OF PAYMENT KEY  " maheshn0403 30-08-2010
         text(60TYPE c,
         p001  LIKE konv-kwert,
         po11  LIKE konv-kwert,
         ra00  LIKE konv-kwert,
         rc00  LIKE konv-kwert,
         zad1  LIKE konv-kwert,
         zad3  LIKE konv-kwert,
         zpf1  LIKE konv-kwert,
         zpf7  LIKE konv-kwert,
         jexc  LIKE konv-kwert,
         jecs  LIKE konv-kwert,
         zces  LIKE konv-kwert,
         zecc  LIKE konv-kwert,
         zpf3  LIKE konv-kwert,
         zpf8  LIKE konv-kwert,
         zeta  LIKE konv-kwert,
         jexs  LIKE konv-kwert,
         zoct  LIKE konv-kwert,
         zocm  LIKE konv-kwert,
         zfr1  LIKE konv-kwert,
         ztqp  LIKE konv-kwert,
         zctq  LIKE konv-kwert,
         zin1  LIKE konv-kwert,
         zin3  LIKE konv-kwert,
         zpf0  LIKE konv-kwert,
         zpf5  LIKE konv-kwert,
         zpf9  LIKE konv-kwert,
         jcdb  LIKE konv-kwert,
         jcv1  LIKE konv-kwert,
         zfcs  LIKE konv-kwert,
         zfr2  LIKE konv-kwert,
         zfr3  LIKE konv-kwert,
         zfr5  LIKE konv-kwert,
         zfr6  LIKE konv-kwert,
         zfr7  LIKE konv-kwert,
         zcha  LIKE konv-kwert,
         zcta  LIKE konv-kwert,
         p010  LIKE konv-kwert,
         p014  LIKE konv-kwert,
         zlc1  LIKE konv-kwert,
         zsad  LIKE konv-kwert,
         zecs  LIKE konv-kwert,
         zad2  LIKE konv-kwert,
         zchs  LIKE konv-kwert,
         zcoc  LIKE konv-kwert,
         zcpc  LIKE konv-kwert,
         zdoa  LIKE konv-kwert,
         zfr4  LIKE konv-kwert,
         ziha  LIKE konv-kwert,
         zin2  LIKE konv-kwert,
         zin4  LIKE konv-kwert,
         zin5  LIKE konv-kwert,
         zoch  LIKE konv-kwert,
         zocp  LIKE konv-kwert,
         zpf6  LIKE konv-kwert,
         zstd  LIKE konv-kwert,
         zthc  LIKE konv-kwert,
         flag TYPE netpr,        " count "maheshn0403 30-08-2010
         konnr TYPE ekpo-konnr,   "agreement no    "maheshn0403 30-08-2010
         inco2 LIKE ekko-inco2,   "INCOTERMS     "maheshn0403 30-08-2010
         nplnr LIKE ekkn-nplnr"NETWORK        "maheshn0403 30-08-2010
         effwr LIKE ekpo-effwr,                """""total landed cost using S in pricing procedure tusharc3108
         bnfpo TYPE eban-bnfpo,
         text2 TYPE tdline,
         text3 TYPE tdline,
         text4 TYPE tdline,
         kdatb TYPE ekko-kdatb,      " added by pranavn1011 on 29/11/2013
         kdate TYPE ekko-kdate,      " added by pranavn1011 on 29/11/2013
         NAME_TEXTC TYPE user_addr-NAME_TEXTC, " added by pranavn1011 on 29/11/2013
         fgnam TYPE erev-fgnam,      " added by pranavn1011 on 29/11/2013
         END OF ty_po.

*TYPES: BEGIN OF po_text,
*       ebeln LIKE ekko-ebeln,
*       ebelp LIKE ekpo-ebeln,
*       lines LIKE tline-tdline,
*       END OF po_text.
TYPES : BEGIN OF ty_erev,
        edokn TYPE erev-edokn,
        edokp TYPE erev-edokp,
        revno TYPE erev-revno,
        erdat TYPE erev-erdat,
        fgnam TYPE erev-fgnam,
       END OF ty_erev.

TYPES : BEGIN OF ty_eban,
        banfn TYPE eban-banfn,
        bnfpo TYPE eban-bnfpo,
         END OF ty_eban.
DATA : it_po TYPE TABLE OF ty_po,
        wa_po TYPE ty_po.

DATA : it_po1 TYPE TABLE OF ty_po,
        wa_po1 TYPE ty_po.

DATA : it_eban TYPE TABLE OF ty_eban,
        wa_eban TYPE ty_eban.

DATA : it_erev TYPE TABLE OF ty_erev,
       wa_erev TYPE ty_erev.

DATA : it_fieldcat TYPE TABLE OF slis_fieldcat_alv,
        wa_fieldcat TYPE slis_fieldcat_alv.

DATA: it_text TYPE STANDARD TABLE OF bapiekpotx,
       wa_text TYPE bapiekpotx,
       po_header TYPE bapiekkol.

DATA: wa_thead TYPE thead.

DATA : flag1 TYPE c.

DATA : flag2 TYPE c.

DATA : flag3 TYPE c.

DATA: it_lines LIKE TABLE OF tline,
        wa_lines TYPE tline.

DATAit_usercommand TYPE slis_formname VALUE 'USER_COMMAND',
        g_variant LIKE disvariant.


* --------------------SCREENS------------------------------------------*

SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:   s_ekorg FOR ekko-ekorg OBLIGATORY,
                   s_ekgrp FOR ekko-ekgrp OBLIGATORY,
                   s_werks FOR  ekpo-werks,
                   s_lifnr FOR  ekko-lifnr,
                   s_ebeln FOR  ekko-ebeln,
                   s_bedat FOR  ekko-bedat.
SELECTION-SCREEN: END OF BLOCK blk1.

SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.

PARAMETER: r_summ TYPE c RADIOBUTTON GROUP grp1 DEFAULT 'X',     " for summary report
            r_det TYPE c RADIOBUTTON GROUP grp1.                  " for detail report

SELECTION-SCREEN: END OF BLOCK blk2.

SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS: variant LIKE  disvariant-variant.
SELECTION-SCREEN : END OF BLOCK b2.

AT SELECTION-SCREEN.

AT SELECTION-SCREEN ON variant.
   PERFORM alv_pre_selection.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR variant.
   PERFORM alv_f4_variant.

*  PERFORM authority-check.              "added by pranavn1011 on 22-12-2011


*------------------START OF SELECTION---------------------------------*
START-OF-SELECTION.
   PERFORM getdata.

   IF ( r_det = 'X').
     PERFORM fill_alv_list.
   ELSE.
     PERFORM fill_alv_list1.
   ENDIF.

   PERFORM print_data.

*&---------------------------------------------------------------------*
*&      Form  GETDATA
*&---------------------------------------------------------------------*
*       text -  COLLECTS ALL THE DATA RELATED TO PO.
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM getdata .

   DATA: wf_tdname(15) TYPE c.

   IF ( s_lifnr = ' ' ).
     SELECT * INTO CORRESPONDING FIELDS OF TABLE it_po FROM  ekko AS a INNER JOIN ekpo AS b
            ON  a~mandt = b~mandt
            AND a~ebeln = b~ebeln CLIENT SPECIFIED
            WHERE  a~mandt  sy-mandt
            AND    a~ebeln  LIKE '%'
            AND    a~ekorg  IN s_ekorg
            AND    a~ekgrp  IN s_ekgrp
            AND    b~werks  IN s_werks
            AND    a~bedat  IN s_bedat
            AND    a~ebeln  IN s_ebeln
            AND    a~frgrl  NE 'X'
            AND    b~loekz  NE  'L'.


   ELSE.

     SELECT * INTO CORRESPONDING FIELDS OF TABLE it_po FROM  ekko AS a INNER JOIN ekpo AS b
              ON  a~mandt = b~mandt
              AND a~ebeln = b~ebeln CLIENT SPECIFIED
              WHERE  a~mandt  sy-mandt
              AND    a~ebeln  LIKE '%'
              AND    a~ekorg  IN s_ekorg
              AND    a~ekgrp  IN s_ekgrp
              AND    b~werks  IN s_werks
              AND    a~bedat  IN s_bedat
              AND    a~lifnr  IN s_lifnr
              AND    a~ebeln  IN s_ebeln
              AND    a~frgrl  NE 'X'
              AND    b~loekz  NE  'L'.

   ENDIF.

   CLEAR wa_po.

*  LOOP AT it_po INTO wa_po.                 Auth Check on Purch Org Removed sudhir 22-12-2011
*    PERFORM f001-authority_check.
*    IF sy-subrc NE 0.
*      flag1 = 'X'.
*      DELETE it_po.
*    ENDIF.
*  ENDLOOP.

*  IF flag1 = 'X'.
*    MESSAGE i001(zmm).
*  ENDIF.

*  LOOP AT it_po INTO wa_po.
*    PERFORM f001-authority_check1.
*    IF sy-subrc NE 0.
*      flag2 = 'X'.
*      DELETE it_po.
*    ENDIF.
*  ENDLOOP.
*
*  IF flag2 = 'X'.
*    MESSAGE i001(zmm).
*  ENDIF.

*  LOOP AT it_po INTO wa_po.                Authority Check on Plant Removed sudhir 22-12-2011
*    PERFORM f001-authority_check2.
*    IF sy-subrc NE 0.
*      flag3 = 'X'.
*      DELETE it_po.
*    ENDIF.
*  ENDLOOP.
*
*  IF flag3 = 'X'.
*    MESSAGE i001(zmm).
*  ENDIF.
*"*****************************added by pranavn1011 on 17.11.11***************************************
   SELECT banfn bnfpo FROM eban INTO TABLE it_eban
     FOR ALL ENTRIES IN it_po
     WHERE banfn = it_po-banfn.

   SELECT edokn edokp revno erdat fgnam FROM erev INTO TABLE it_erev
     FOR ALL ENTRIES IN it_po
     WHERE bstyp = 'B' AND
     edokn = it_po-banfn.
   SORT it_erev BY edokn edokp revno DESCENDING.
   LOOP AT it_po INTO wa_po.
***********************************pranavn1011...25.08.2011*************************
     SELECT SINGLE lfdat INTO wa_po-lfdat FROM eban CLIENT SPECIFIED
       WHERE mandt = sy-mandt
       AND banfn = wa_po-banfn.

     READ TABLE it_eban INTO wa_eban WITH KEY banfn = wa_po-banfn.
     IF sy-subrc = 0.
       wa_po-bnfpo = wa_eban-bnfpo.
       DELETE it_eban WHERE banfn = wa_po-banfn
                        AND bnfpo = wa_po-bnfpo.
     ENDIF.

     IF wa_po-banfn BETWEEN '1100000000' AND '1199999999'
        OR wa_po-banfn BETWEEN '1400000000' AND '1599999999'.

       READ TABLE it_erev INTO wa_erev WITH KEY edokn = wa_po-banfn
                                                edokp = wa_po-bnfpo.
       wa_po-fgdat = wa_erev-erdat.
     ELSE.
       SELECT SINGLE fgdat INTO wa_po-fgdat FROM erev CLIENT SPECIFIED
         WHERE mandt = sy-mandt
         AND edokn = wa_po-banfn
         AND edokp = wa_po-bnfpo.
     ENDIF.

     SELECT SINGLE eindt INTO wa_po-eindt FROM eket CLIENT SPECIFIED
       WHERE mandt = sy-mandt
       AND ebeln = wa_po-ebeln
       AND ebelp = wa_po-ebelp.
************************************************************************************
* ********************************maheshn0403 for adding network field *************

     SELECT SINGLE nplnr INTO wa_po-nplnr FROM  ekkn CLIENT SPECIFIED
        WHERE  mandt  = sy-mandt
        AND    ebeln  = wa_po-ebeln
        AND    ebelp  = wa_po-ebelp
        AND    zekkn  LIKE '%'.
***********************************************************************
      SELECT SINGLE fgnam from erev INTO wa_po-fgnam WHERE bstyp = 'F'
                                                       and edokn = wa_po-ebeln.

     SELECT SINGLE NAME_TEXTC from user_addr INTO wa_po-NAME_TEXTC
       WHERE bname = wa_po-fgnam.

     SELECT SINGLE name1 INTO CORRESPONDING FIELDS OF wa_po FROM  lfa1 CLIENT SPECIFIED
            WHERE  mandt  = sy-mandt
            AND    lifnr  = wa_po-lifnr.

     SELECT SINGLE maktx INTO CORRESPONDING FIELDS OF wa_po FROM  makt CLIENT SPECIFIED
            WHERE  mandt  = sy-mandt
            AND    matnr  = wa_po-matnr
            AND    spras  = sy-langu.

     SELECT SINGLE verpr INTO CORRESPONDING FIELDS OF wa_po FROM  mbew CLIENT SPECIFIED
            WHERE  mandt  = sy-mandt
            AND    matnr  = wa_po-matnr
            AND    bwkey  LIKE '%'
            AND    bwtar  LIKE '%'.

     SELECT SINGLE mwaer INTO CORRESPONDING FIELDS OF wa_po FROM  t000 CLIENT SPECIFIED
                WHERE  mandt  = sy-mandt.
*           AND    matnr  = wa_po-matnr
*           AND    bwkey  LIKE '%'
*           AND    bwtar  LIKE '%'.


     SELECT SINGLE text1 INTO CORRESPONDING FIELDS OF wa_po FROM  t007s CLIENT SPECIFIED
           WHERE  mandt  = sy-mandt
           AND    spras  = sy-langu
           AND    kalsm  = 'TAXINN'
           AND    mwskz  = wa_po-mwskz.

     IF wa_po-kzwi1 GT 0.
       wa_po-v_loc = wa_po-kzwi1 * wa_po-wkurs.
     ELSE.
       wa_po-v_loc = wa_po-effwr * wa_po-wkurs.

     ENDIF.

     IF wa_po-kzwi1 = 0.

       CLEAR : wa_po-kzwi1.

       wa_po-kzwi1 = wa_po-effwr.

     ENDIF.



     MODIFY it_po FROM wa_po.
     CLEAR wa_po.

   ENDLOOP.

*---------------------------PO CONDITION TYPES---------------------------*

   LOOP AT it_po INTO wa_po.

     SELECT kwert kschl INTO CORRESPONDING FIELDS OF wa_po FROM  konv CLIENT SPECIFIED
            WHERE  mandt  = sy-mandt
            AND    knumv  = wa_po-knumv
            AND    kposn  = wa_po-ebelp.

       IF ( wa_po-kschl = 'P011' AND wa_po-kwert NE 0 ).
         wa_po-po11 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'P001' AND wa_po-kwert NE 0 ).
         wa_po-p001 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'P010' AND wa_po-kwert NE 0 ).
         wa_po-p010 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'P014' AND wa_po-kwert NE 0 ).
         wa_po-p014 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'RA00' AND wa_po-kwert NE 0 ).
         wa_po-ra00 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'RC00' AND wa_po-kwert NE 0 ).
         wa_po-rc00 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZAD1' AND wa_po-kwert NE 0 ).
         wa_po-zad1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZAD3' AND wa_po-kwert NE 0 ).
         wa_po-zad3 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF1' AND wa_po-kwert NE 0 ).
         wa_po-zpf1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF7' AND wa_po-kwert NE 0 ).
         wa_po-zpf7 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'JEXC' AND wa_po-kwert NE 0 ).
         wa_po-jexc = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'JECS' AND wa_po-kwert NE 0 ).
         wa_po-jecs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCES' AND wa_po-kwert NE 0 ).
         wa_po-zces = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZECC' AND wa_po-kwert NE 0 ).
         wa_po-zecc = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF3' AND wa_po-kwert NE 0 ).
         wa_po-zpf3 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF8' AND wa_po-kwert NE 0 ).
         wa_po-zpf8 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZETA' AND wa_po-kwert NE 0 ).
         wa_po-zeta = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'JEXS' AND wa_po-kwert NE 0 ).
         wa_po-jexs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZOCT' AND wa_po-kwert NE 0 ).
         wa_po-zoct = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZOCM' AND wa_po-kwert NE 0 ).
         wa_po-zocm = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR1' AND wa_po-kwert NE 0 ).
         wa_po-zfr1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZTQP' AND wa_po-kwert NE 0 ).
         wa_po-ztqp = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCTQ' AND wa_po-kwert NE 0 ).
         wa_po-zctq = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIN1' AND wa_po-kwert NE 0 ).
         wa_po-zin1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIN3' AND wa_po-kwert NE 0 ).
         wa_po-zin3 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF0' AND wa_po-kwert NE 0 ).
         wa_po-zpf0 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF5' AND wa_po-kwert NE 0 ).
         wa_po-zpf5 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF9' AND wa_po-kwert NE 0 ).
         wa_po-zpf9 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'JCDB' AND wa_po-kwert NE 0 ).
         wa_po-jcdb = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'JCV1' AND wa_po-kwert NE 0 ).
         wa_po-jcv1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFCS' AND wa_po-kwert NE 0 ).
         wa_po-zfcs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR3' AND wa_po-kwert NE 0 ).
         wa_po-zfr3 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR2' AND wa_po-kwert NE 0 ).
         wa_po-zfr2 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR5' AND wa_po-kwert NE 0 ).
         wa_po-zfr5 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR6' AND wa_po-kwert NE 0 ).
         wa_po-zfr6 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR7' AND wa_po-kwert NE 0 ).
         wa_po-zfr7 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCHA' AND wa_po-kwert NE 0 ).
         wa_po-zcha = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCTA' AND wa_po-kwert NE 0 ).
         wa_po-zcta = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZLC1' AND wa_po-kwert NE 0 ).
         wa_po-zlc1 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZSAD' AND wa_po-kwert NE 0 ).
         wa_po-zsad = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZECS' AND wa_po-kwert NE 0 ).
         wa_po-zecs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFCS' AND wa_po-kwert NE 0 ).
         wa_po-zfcs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZAD2' AND wa_po-kwert NE 0 ).
         wa_po-zad2 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCHS' AND wa_po-kwert NE 0 ).
         wa_po-zchs = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCOC' AND wa_po-kwert NE 0 ).
         wa_po-zcoc = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZCPC' AND wa_po-kwert NE 0 ).
         wa_po-zcpc = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZDOA' AND wa_po-kwert NE 0 ).
         wa_po-zdoa = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZFR4' AND wa_po-kwert NE 0 ).
         wa_po-zfr4 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIHA' AND wa_po-kwert NE 0 ).
         wa_po-ziha = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIN2' AND wa_po-kwert NE 0 ).
         wa_po-zin2 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIN4' AND wa_po-kwert NE 0 ).
         wa_po-zin4 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZIN5' AND wa_po-kwert NE 0 ).
         wa_po-zin5 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZOCH' AND wa_po-kwert NE 0 ).
         wa_po-zoch = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZOCP' AND wa_po-kwert NE 0 ).
         wa_po-zocp = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZPF6' AND wa_po-kwert NE 0 ).
         wa_po-zpf6 = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZSTD' AND wa_po-kwert NE 0 ).
         wa_po-zstd = wa_po-kwert.
       ENDIF.

       IF ( wa_po-kschl = 'ZTHC' AND wa_po-kwert NE 0 ).
         wa_po-zthc = wa_po-kwert.
       ENDIF.

       MODIFY it_po FROM wa_po.

     ENDSELECT.
   ENDLOOP.
*-----------------------PO text - Details------------------------------*

   LOOP AT it_po INTO wa_po.

     CALL FUNCTION 'BAPI_PO_GETDETAIL'
       EXPORTING
         purchaseorder = wa_po-ebeln
         item_texts    = 'X'
       IMPORTING
         po_header     = po_header
       TABLES
         po_item_texts = it_text.

     wa_po-text3 = po_header-telephone.

     READ TABLE it_text INTO wa_text WITH KEY po_number = wa_po-ebeln
                                              po_item   = wa_po-ebelp
                                              text_id   = 'F01'.
     wa_po-text2 = wa_text-text_line.
     CLEAR wa_text.
     READ TABLE it_text INTO wa_text WITH KEY po_number = wa_po-ebeln
                                              po_item   = wa_po-ebelp
                                              text_id   = 'F03'.
     wa_po-text4 = wa_text-text_line.
     MODIFY it_po FROM wa_po.


     CLEAR : wa_po,wa_text,po_header.

   ENDLOOP.

*----------------------------PO text - Savings-------------------------*

*  LOOP AT it_po INTO wa_po.

*    wa_thead-tdid     = 'L01'.
*    wa_thead-tdspras  = 'EN'.
*
*    CLEAR wf_tdname.
*    CONCATENATE wa_po-ebeln wa_po-ebelp INTO wf_tdname.
*
*    wa_thead-tdname   =  wf_tdname.
*    wa_thead-tdobject = 'EKKO'.
*
*    REFRESH it_lines.
*
*    CALL FUNCTION 'READ_TEXT'
*      EXPORTING
*       client                        = sy-mandt
*        id                            = wa_thead-tdid
*        language                      = wa_thead-tdspras
*        name                          = wa_thead-tdname
*        object                        = wa_thead-tdobject
**   ARCHIVE_HANDLE                = 0
**   LOCAL_CAT                     = ' '
** IMPORTING
**   HEADER                        =
*      TABLES
*        lines                         = it_lines
*     EXCEPTIONS
*       id                            = 1
*       language                      = 2
*       name                          = 3
*       not_found                     = 4
*       object                        = 5
*       reference_check               = 6
*       wrong_access_to_archive       = 7
*       OTHERS                        = 8
*              .
**IF sy-subrc <> 0.
*** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
***         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
**ENDIF.
*
*
*    LOOP AT it_lines INTO wa_lines.
*      IF sy-tabix = 1.
*        wa_po-lines = wa_lines-tdline.
*        MODIFY it_po FROM wa_po.
*      ENDIF.
*    ENDLOOP.
*    wa_thead-tdname = ' '.
*    CLEAR wa_po.
*    CLEAR wa_lines.


*  ENDLOOP.

ENDFORM.                    " GETDATA
*&---------------------------------------------------------------------*
*&      Form  FILL_ALV_LIST
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fill_alv_list .

   PERFORM fill_fieldcat USING 'WERKS' 'WERKS' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BEDAT' 'BEDAT' ' ' 'PO Date ' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'BSART' 'BSART' 'EKKO' 'PO type ' ' ' ' ' '06' ' ' ' '.
   PERFORM fill_fieldcat USING 'EBELN' 'EBELN' 'EKKO' 'PO number ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EBELP' 'EBELP' 'EKPO' 'PO Item ' ' ' ' ' '08' ' ' ' '.
   PERFORM fill_fieldcat USING 'LIFNR' 'LIFNR' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NAME1' 'NAME1' 'LFA1' 'Vendor Name ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MATKL' 'MATKL' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MATNR' 'MATNR' 'EKPO' ' ' ' ' ' ' '13' ' ' ' '.
   PERFORM fill_fieldcat USING 'MAKTX' 'MAKTX' 'MAKT' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MENGE' ' '     ' '    'Quantity' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'KTMNG' 'KTMNG' 'EKPO' ' '        ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MEINS' 'MEINS' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NETPR' 'NETPR' 'EKPO' ' ' 'WAERS ' ' ' ' ' 'EKKO' ' '.
   PERFORM fill_fieldcat USING 'WAERS' '' 'EKKO' 'Net Order Price currency ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'VERPR' 'VERPR' 'MBEW' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MWAER' '' 't000' 'Moving Proce Currency ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MWSKZ' 'MWSKZ' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT1' 'TEXT1' 'T007S' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'PO11' ' '     ' '    'Gross Price Contract' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'P001' ' '     ' '    'Gross Price'          'WAERS ' ' ' ' ' 'EKKO' ' '.
   PERFORM fill_fieldcat USING 'P010' ' '     ' '    'Gross Price Contract' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'P014' ' '     ' '    'Gross Price Contract' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'RA00' ' '     ' '    'Discount %'           ' ' ' ' '  ' ' ' ''.
   PERFORM fill_fieldcat USING 'RC00' ' '     ' '    'Discount/Qty'         ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZAD1' ' '     ' '    'Additional Dis %'     ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZAD2' ' '     ' '    'Additional Dis abs'   ' ' ' '  ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZAD3' ' '     ' '    'Addition Dis/Qty abs' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF0' ' '     ' '    'P&Fabs/qtyExPRI NoTx' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF1' ' '     ' '    'P&F%-Excise PRI'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF3' ' '     ' '    'P&F%-NonExcise PRI'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF5' ' '     ' '    'P&F % Chrg PRI'       ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF6' ' '     ' '    'P&F abs Chrg PRI'       ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF7' ' '     ' '    'P&F abs/qty-Exci PRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF8' ' '     ' '    'P&F abs/qty-NonExPRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZPF9' ' '     ' '    'P&F abs/qty Chrg PRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'JEXC' ' '     ' '    'Excise Duty %'        ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'JECS' ' '     ' '    'Education Cess %'     ' ' '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCES' ' '     ' '    'Cess %'               ' ' '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZECC' ' '     ' '    'Edu Cess on Cess %'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZETA' ' '     ' '    'Entry tax abs PRI'    ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'JEXS' ' '     ' '    'Taxes on the PO'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZOCT' ' '     ' '    'Octroi % PRI'         ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZOCH' ' '     ' '    'Other chrg SUB'       ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZOCM' ' '     ' '    'Octroi % SUB'         ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZOCP' ' '     ' '    'Other Chrg PRI Tax'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR1' ' '     ' '    'Freight Chrg % PRI'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR2' ' '     ' '    'Freight Chrg abs PRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR3' ' '     ' '    'Frt aft Cust % SUB'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR4' ' '     ' '    'Frt aft Cust abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR5' ' '     ' '    'Frt bfr Cust abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR6' ' '     ' '    'Frt Chrg abs/qty PRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFR7' ' '     ' '    'Freight Chrg % SUB'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZTQP' ' '     ' '    'Tran per Qty abs PRI' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCTQ' ' '     ' '    'Tran per Qty abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIHA' ' '     ' '    'Inl Haul Chg abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIN1' ' '     ' '    'Insurance % PRI'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIN2' ' '     ' '    'Insurance abs PRI'    ' ' '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIN3' ' '     ' '    'Ins aft Cust % SUB'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIN4' ' '     ' '    'Ins aft Cust abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZIN5' ' '     ' '    'Ins bfr Cust abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'JCDB' ' '     ' '    'Basic Customs'        ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'JCV1' ' '     ' '    'CVD'                  ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFCS' ' '     ' '    'Custom Edu Cess'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFCS' ' '     ' '    'Custom Edu Cess'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCHA' ' '     ' '    'CHA Clearanc abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCHS' ' '     ' '    'CHA SER Chrg abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCOC' ' '     ' '    'Concor Chrg abs SUB'  ' ' '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCPC' ' '     ' '    'CFS/Port Chr abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZCTA' ' '     ' '    'Transport chrg SUB'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZDOA' ' '     ' '    'Delivery Ord abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZLC1' ' '     ' '    'Landing Chrg %'       ' ' ' ' ' '  ' ' ' '.
   PERFORM fill_fieldcat USING 'ZSAD' ' '     ' '    'SAD'                  ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZSTD' ' '     ' '    'Stat. Discount %'     ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZTHC' ' '     ' '    'Tmnl Hndling abs SUB' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZECS' ' '     ' '    'Education Cess'       ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZFCS' ' '     ' '    'Custom Edu Cess'      ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'KZWI1' ' '    ' '    'Total Value'    ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'V_LOC' ' '    ' '    'INR Value'            ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BEDNR' 'BEDNR' 'EKPO' ' '                   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'AFNAM' 'AFNAM' 'EKPO' ' '                   ' ' ' ' '17' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT2' ' ' ' ' 'PO Text-Detail' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT3' ' ' ' ' 'PO Text-Savings'   ' ' ' ' ' '  ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT4' ' ' ' ' 'PO Text-Savings Details'   ' ' ' ' ' '  ' ' ' '.
   PERFORM fill_fieldcat USING 'WKURS' 'WKURS' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ERNAM' 'ERNAM' 'EKKO' ' ' ' ' ' ' '17' ' ' ' '.
*  PERFORM fill_fieldcat USING 'WKURS' 'WKURS' 'EKKO' ' ' ' ' ' '' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'FLAG' ' '  ' '  'Count'  '  ' ' ' '07' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZTERM' 'ZTERM' 'EKKO' ' ' ' ' ' ' '07' ' ' ' '.
   PERFORM fill_fieldcat USING 'KONNR' 'KONNR' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'INCO2' 'INCO2' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NPLNR' 'NPLNR' 'EKKN' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EKGRP' 'EKGRP' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BANFN' 'BANFN' 'EKPO' 'PR Number ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BNFPO' 'BNFPO' 'EBAN' 'PR Item ' ' ' ' ' '08' ' ' ' '.
*  PERFORM fill_fieldcat USING 'aedat' 'AEDAT '  ' ' 'PR Date ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EINDT' 'EINDT' 'EKET' 'PO Del. Date' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'FGDAT' 'FGDAT'  ' ' 'PR Rel. Date ' ' ' ' ' '10' ' ' ' '.
*  PERFORM fill_fieldcat USING 'FLAG' ' '  ' '  'Count'  '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'LFDAT' 'LFDAT' 'EBAN' 'PR Del. Date ' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'KDATB' 'KDATB'  ' ' 'Val.Start Dt ' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'KDATE' 'KDATE' ' ' 'Val.End Dt' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'NAME_TEXTC' '' ' ' 'Final Approver' ' ' ' ' '15' ' ' ' '.

ENDFORM.                    " FILL_ALV_LIST
*&---------------------------------------------------------------------*
*&      Form  PRINT_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM print_data .
   IF it_po IS INITIAL.
     EXIT.
   ENDIF.
   SORT it_po BY ebeln ebelp.
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTING
       i_callback_program      = sy-repid
       i_callback_user_command = 'USER_COMMAND'
       it_fieldcat             = it_fieldcat
       i_save                  = 'A'
       is_variant              = g_variant
     TABLES
       t_outtab                = it_po
     EXCEPTIONS
       program_error           = 1
       OTHERS                  = 2.
ENDFORM.                    " PRINT_DATA
*&---------------------------------------------------------------------*
*&      Form  FILL_FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0274   text
*      -->P_0275   text
*      -->P_0276   text
*      -->P_0277   text
*      -->P_0278   text
*      -->P_0279   text
*----------------------------------------------------------------------*
FORM fill_fieldcat  USING    p_fieldname
                              p_reffldname
                              p_reftabname
                              p_seltext
                              p_cfieldname
                              p_qfieldname
                              p_outputlen
                              p_ctabname
                              p_qtabname.

   CLEAR wa_fieldcat.

   wa_fieldcat-fieldname = p_fieldname.
   wa_fieldcat-ref_fieldname = p_reffldname.
   wa_fieldcat-ref_tabname = p_reftabname.
   wa_fieldcat-seltext_l = p_seltext.
   wa_fieldcat-seltext_s = p_seltext.
   wa_fieldcat-seltext_m = p_seltext.
   wa_fieldcat-outputlen = p_outputlen.
   wa_fieldcat-ctabname = p_ctabname.
   wa_fieldcat-qtabname = p_qtabname.
   APPEND wa_fieldcat TO it_fieldcat.
ENDFORM.                    " FILL_FIELDCAT
*&---------------------------------------------------------------------*
*&      Form  f001-authority_check
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f001-authority_check .
   AUTHORITY-CHECK OBJECT 'V_KONH_EKO'
                    ID 'EKORG' FIELD wa_po-ekorg.

ENDFORM.                    " f001-authority_check
*&---------------------------------------------------------------------*
*&      Form  f001-authority_check1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f001-authority_check1 .
   AUTHORITY-CHECK OBJECT 'M_BEST_EKG'
                     ID 'EKGRP' FIELD wa_po-ekgrp.

ENDFORM.                    " f001-authority_check1
*&---------------------------------------------------------------------*
*&      Form  f001-authority_check2
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f001-authority_check2 .
   AUTHORITY-CHECK OBJECT 'M_BEST_WRK'
                        ID 'WERKS' FIELD wa_po-werks.

ENDFORM.                    " f001-authority_check2

*&--------------------------------------------------------------------*
*&      Form  user_command
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->UCOMM      text
*      -->SELFIELD   text
*---------------------------------------------------------------------*
FORM user_command USING ucomm LIKE sy-ucomm
                         selfield TYPE slis_selfield.
   CASE ucomm.
     WHEN '&IC1'.

       IF selfield-fieldname = 'EBELN'.
         READ TABLE it_po INTO wa_po INDEX selfield-tabindex.

         SET PARAMETER ID 'BES' FIELD wa_po-ebeln.
         CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
       ELSE.
         READ TABLE it_po INTO wa_po INDEX selfield-tabindex.
         SET PARAMETER ID 'BAN' FIELD wa_po-banfn.
         CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.
       ENDIF.
   ENDCASE.
ENDFORM.                    "user_command
*&---------------------------------------------------------------------*
*&      Form  FILL_ALV_LIST1
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fill_alv_list1 .

   PERFORM fill_fieldcat USING 'WERKS' 'WERKS' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BEDAT' 'BEDAT' ' ' 'PO Date ' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'BSART' 'BSART' 'EKKO' 'PO type ' ' ' ' ' '06' ' ' ' '.
   PERFORM fill_fieldcat USING 'EBELN' 'EBELN' 'EKKO' 'PO number ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EBELP' 'EBELP' 'EKPO' 'PO Item' ' ' ' ' '08' ' ' ' '.
   PERFORM fill_fieldcat USING 'LIFNR' 'LIFNR' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NAME1' 'NAME1' 'LFA1' 'Vendor Name ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MATKL' 'MATKL' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MATNR' 'MATNR' 'EKPO' ' ' ' ' ' ' '13' ' ' ' '.
   PERFORM fill_fieldcat USING 'MAKTX' 'MAKTX' 'MAKT' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MENGE' ' '     ' '    'Quantity' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EINDT' 'EINDT' 'EKET' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'KTMNG' 'KTMNG' 'EKPO' ' '        ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MEINS' 'MEINS' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NETPR' 'NETPR' 'EKPO' ' ' 'WAERS ' ' ' ' ' 'EKKO ' ' '.
   PERFORM fill_fieldcat USING 'WAERS' '' 'EKKO' 'Net Order Price currency ' 'WAERS ' ' ' ' ' 'EKKO' ' '.
   PERFORM fill_fieldcat USING 'VERPR' 'VERPR' 'MBEW' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'MWAER' '' 't000' 'Moving Price Currency ' 'WAERS ' ' ' ' ' 'EKKO ' ' '.
   PERFORM fill_fieldcat USING 'MWSKZ' 'MWSKZ' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT1' 'TEXT1' 'T007S' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'PO11' ' '     ' '    'Gross Price Contract' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'P001' ' '     ' '    'Gross Price'          'WAERS' ' ' ' ' 'EKKO ' ' '.
   PERFORM fill_fieldcat USING 'KZWI1' ''    ' '    'Total Value'    'WAERS ' ' ' ' ' 'EKKO' ' '.
   PERFORM fill_fieldcat USING 'V_LOC' ' '    ' '    'INR Value'            ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BEDNR' 'BEDNR' 'EKPO' ' '                   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'AFNAM' 'AFNAM' 'EKPO' ' '                   ' ' ' ' '17' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT2' ' ' ' ' 'PO Text-Detail' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT3' ' ' ' ' 'PO Text-Savings HDR'   ' ' ' ' ' '  ' ' ' '.
   PERFORM fill_fieldcat USING 'TEXT4' ' ' ' ' 'PO Text-Savings ITEM'   ' ' ' ' ' '  ' ' ' '.
*  PERFORM fill_fieldcat USING 'LINES11' ' ' ' ' 'PO Text-Detail' ' ' ' ' ' ' ' ' ' '.
*  PERFORM fill_fieldcat USING 'TELF1' '' '' 'PO Text-Savings'   ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'WKURS' 'WKURS' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'ERNAM' 'ERNAM' 'EKKO' ' ' ' ' ' ' '17' ' ' ' '.
*  PERFORM fill_fieldcat USING 'WKURS' 'WKURS' 'EKKO' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'FLAG' ' '  ' '  'Count'  '  ' ' ' '07' ' ' ' '.
   PERFORM fill_fieldcat USING 'ZTERM' 'ZTERM' 'EKKO' ' ' ' ' ' ' '07' ' ' ' '.
   PERFORM fill_fieldcat USING 'KONNR' 'KONNR' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'INCO2' 'INCO2' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'NPLNR' 'NPLNR' 'EKKN' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EKGRP' 'EKGRP' 'EKKO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BANFN' 'BANFN' 'EKPO' ' ' ' ' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'BNFPO' 'BNFPO' 'EBAN' 'PR Item' ' ' ' ' '08' ' ' ' '.
*  PERFORM fill_fieldcat USING 'AEDAT' 'AEDAT '  ' ' 'PR Date' ' ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'EINDT' 'EINDT' 'EKET' 'PO Del.Date' ' ' ' ' '10' ' ' ' '.
   PERFORM fill_fieldcat USING 'FGDAT' 'FGDAT '  ' ' 'PR Rel. Date' ' ' ' ' '10' ' ' ' '.
*  PERFORM fill_fieldcat USING 'FLAG' ' '  ' '  'Count'  '  ' ' ' ' ' ' '.
   PERFORM fill_fieldcat USING 'LFDAT' 'LFDAT' 'EBAN' 'PR Del. Date ' ' ' ' ' '10' ' ' ' '.


ENDFORM.                    " FILL_ALV_LIST1
*&---------------------------------------------------------------------*
*&      Form  AUTHORITY-CHECK
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
*form AUTHORITY-CHECK .
*   AUTHORITY-CHECK OBJECT 'V_KONH_EKO'
*                   ID 'EKORG' FIELD s_ekorg.
*      if sy-subrc ne 0.
*        MESSAGE 'No authorisation for Puchase Org.' TYPE 'E'.
*        ENDIF.
*
*     AUTHORITY-CHECK OBJECT 'M_BEST_EKG'
*                    ID 'EKGRP' FIELD s_ekgrp.
*            if sy-subrc ne 0.
*        MESSAGE 'No authorisation for Puchase Group' TYPE 'E'.
*        ENDIF.
*
*     AUTHORITY-CHECK OBJECT 'M_BEST_WRK'
*                       ID 'WERKS' FIELD s_werks.
*               if sy-subrc ne 0.
*        MESSAGE 'No authorisation for Plant' TYPE 'E'.
*        ENDIF.
*
*endform.                    " AUTHORITY-CHECK
*&---------------------------------------------------------------------*
*&      Form  ALV_PRE_SELECTION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM ALV_PRE_SELECTION .

   g_variant-report = sy-repid.
* Checks whether a display variant exists
   IF NOT variant IS INITIAL.
     g_variant-variant = variant.
     CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
       EXPORTING
         i_save     = 'A'
       CHANGING
         cs_variant = g_variant.
   ENDIF.
ENDFORM.                    " ALV_PRE_SELECTION
*&---------------------------------------------------------------------*
*&      Form  ALV_F4_VARIANT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM ALV_F4_VARIANT .

   g_variant-report = sy-repid.
   DATA :g_save(1)           TYPE c VALUE 'A',
         g_exit(1)           TYPE c.
* Display variant selection dialog box
   CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
     EXPORTING
       is_variant = g_variant
       i_save     = g_save
     IMPORTING
       e_exit     = g_exit
       es_variant = g_variant
     EXCEPTIONS
       not_found  = 2.
   IF sy-subrc = 2.
     MESSAGE ID sy-msgid TYPE 'S'      NUMBER sy-msgno
             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
   ELSE.
     IF g_exit = space.
       variant = g_variant-variant.
     ENDIF.
   ENDIF.

   variant = g_variant-variant.

ENDFORM.                    " ALV_F4_VARIANT

ruchatodankar
Explorer
0 Kudos

this is my alv report, i want to create web dynpro for this alv report..........

Former Member
0 Kudos

Hi Rucha,

Webdynpro Alv http://www.saptechnical.com/Tutorials/WebDynproABAP/ALV/page1.htm

By looking this example build your application.


Regards,

Ravikiran.K

ruchatodankar
Explorer
0 Kudos

create the alv report using web dynpro , but when i  click on output of alv report field call the transaction

any one know how to call transaction for alv output

former_member227911
Participant
0 Kudos

Hi,

You can you the below code to call a T code from webdynpro ABAP:

1: Call below method to get  host, port and protocol

    cl_http_server=>if_http_server~get_location

2:  concatenate protocol  '://' host  ':' port  '/sap/bc/gui/sap/its/webgui/?sap-client=&~transaction='your tcode name' into url

3: get the window manager as we are opening t code in external window.

  DATA lo_window_manager TYPE REF TO if_wd_window_manager.

  DATA lo_api_component  TYPE REF TO if_wd_component.

  DATA lo_window         TYPE REF TO if_wd_window.

  lo_api_component  = wd_comp_controller->wd_get_api( ).

  lo_window_manager = lo_api_component->get_window_manager( ).

4: Call the url which we created above

  lo_window_manager->create_external_window(

     EXPORTING

       url    = url

     RECEIVING

       window = lo_window ).

Hope this will help you for your Requirement.

Regards,
Sadiq Basha K

former_member227911
Participant
0 Kudos

Dear Rucha,

When u click on ALV output PO Number whether u need to call TCODE in Application or your need to call that TCODE in R3 System Tcode.

Because its Possible through ITS ( Internet Transaction Services ).

Let me know your Requirement.

Regards,

Sadiq K