Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8644

Re: How to find how many days from PR release to PO release (sitting in buyers queue) need report

$
0
0

Hi,

 

Please use below code which will give you clear picture for lead time for PR, PO release.

 

 

 

 

*&---------------------------------------------------------*

*& PROGRAM       :  Report  ZMMR001

*& TITLE         :  PR to GR with lead time

*& MODULE        :  MM                                     *

*& CREATED BY    :  Kunwar Verma

*& CREATED ON    :  01.06.2012

*& FUNCTIONAL    :  ALOK                                   *

*& BUSINESS OWNER:                                         *

*& RELEASE       :  ECC 6.0                                *

*&---------------------------------------------------------*



REPORT  ZMMR001 NO STANDARD PAGE HEADING LINE-SIZE 400.

***type group



TYPE-POOLS:SLIS.



TABLES:EKKO,EKPO,EBAN , LFA1, T16FS , T16FD .



DATA : BEGIN OF IT_EKKO OCCURS 0,

       EBELN TYPE EBELN,

       BSART TYPE BBSRT,

       ERNAM TYPE ERNAM,

       EKORG TYPE EKORG,

       EKGRP TYPE BKGRP,

       BEDAT TYPE EBDAT,

       FRGKE(25),

       MEMORY TYPE MEMER,

       LIFNR LIKE EKKO-LIFNR,

       ZTERM LIKE EKKO-ZTERM,

       FRGGR LIKE EKKO-FRGGR,

       FRGSX LIKE EKKO-FRGSX,

       FRGZU LIKE EKKO-FRGZU,

       FRGKE1 LIKE EKKO-FRGKE,

       UDATE LIKE CDHDR-UDATE ,

       MENGE LIKE EKPO-MENGE,

       NETPR LIKE EKPO-NETPR,

       FRGC  LIKE T16FS-FRGC1,

       LENGTH(2),

       PEND(4),

       FRGC1 LIKE T16FS-FRGC1,

       PEND_T(20),

       END OF IT_EKKO.



DATA : BEGIN OF IT_EKPO OCCURS 0,

       EBELN TYPE EBELN,

       EBELP TYPE EBELP,

       TXZ01 TYPE TXZ01,

       MATNR TYPE MATNR,

       WERKS TYPE EWERK,

       BANFN TYPE BANFN,

       MTART TYPE MTART,

       AFNAM TYPE AFNAM,

       MENGE LIKE EKPO-MENGE,

       NETPR LIKE EKPO-NETPR,

       MEINS LIKE EKPO-MEINS,

       ELIKZ LIKE EKPO-ELIKZ,

       KNTTP LIKE EKPO-KNTTP,

       END OF IT_EKPO.



DATA: BEGIN OF IT_EKET OCCURS 0,

        EBELN TYPE EKET-EBELN,

        EBELP TYPE EKET-EBELP,

        EINDT TYPE EKET-EINDT,

        WEMNG TYPE EKET-WEMNG,

      END OF IT_EKET.



DATA : BEGIN OF IT_EBAN OCCURS 0,

       BANFN TYPE BANFN,

       BNFPO TYPE BNFPO,

       BSART TYPE BBSRT,

       LOEKZ TYPE ELOEK,

       EKGRP TYPE BKGRP,

       ERNAM TYPE ERNAM,

       AFNAM TYPE AFNAM,

       TXZ01 TYPE TXZ01,

       MATNR TYPE MATNR,

       WERKS TYPE EWERK,

       BEDNR TYPE BEDNR,

       BADAT TYPE BADAT,

       FRGDT TYPE FRGDT,

       EKORG TYPE EKORG,

       EBELN TYPE EBELN,

       EBELP TYPE EBELP,

       BEDAT TYPE BEDAT,

       FRGKZ TYPE FRGKZ,

       MENGE LIKE EBAN-MENGE,

       PREIS LIKE EBAN-PREIS,

       MEINS1 LIKE EBAN-MEINS,

       UDATE LIKE CDHDR-UDATE,

       OBJECTID   TYPE CDOBJECTV,

       OBJECTID2   TYPE CDOBJECTV,

       END OF IT_EBAN.



DATA:BEGIN OF IT_CDPOS OCCURS 0,

     OBJECTCLAS TYPE CDOBJECTCL,

     OBJECTID   TYPE CDOBJECTV,

     CHANGENR   TYPE CDCHANGENR,

     TABNAME    TYPE TABNAME,

     TABKEY     TYPE CDTABKEY,

     FNAME      TYPE FIELDNAME,

     CDCHNGID   TYPE CDCHNGIND,

     VALUE_NEW  TYPE CDFLDVALN,

     VALUE_OLD  TYPE CDFLDVALO,

     END OF IT_CDPOS.



DATA:BEGIN OF IT_CDPOS1 OCCURS 0,

     OBJECTCLAS TYPE CDOBJECTCL,

     OBJECTID   TYPE CDOBJECTV,

     CHANGENR   TYPE CDCHANGENR,

     TABNAME    TYPE TABNAME,

     TABKEY     TYPE CDTABKEY,

     FNAME      TYPE FIELDNAME,

     CDCHNGID   TYPE CDCHNGIND,

     VALUE_NEW  TYPE CDFLDVALN,

     VALUE_OLD  TYPE CDFLDVALO,

     END OF IT_CDPOS1.







DATA:BEGIN OF IT_CDHDR OCCURS 0,

     OBJECTCLAS TYPE CDOBJECTCL,

     OBJECTID   TYPE CDOBJECTV,

     CHANGENR   TYPE CDCHANGENR,

     USERNAME   TYPE CDUSERNAME,

     UDATE      TYPE CDDATUM,

     UTIME      TYPE CDUZEIT,

     END OF IT_CDHDR.



DATA:BEGIN OF IT_CDHDR1 OCCURS 0,

     OBJECTCLAS TYPE CDOBJECTCL,

     OBJECTID   TYPE CDOBJECTV,

     CHANGENR   TYPE CDCHANGENR,

     USERNAME   TYPE CDUSERNAME,

     UDATE      TYPE CDDATUM,

     UTIME      TYPE CDUZEIT,

     END OF IT_CDHDR1.



DATA:BEGIN OF IT_T161T OCCURS 0,

     SPRAS      TYPE  SPRAS,

     BSART      TYPE  ESART,

     BSTYP      TYPE  BSTYP,

     BATXT      TYPE  BATXT,

     END OF IT_T161T .



DATA:BEGIN OF IT_T134T OCCURS 0,

     SPRAS      TYPE  SPRAS,

     MTART      TYPE  MTART,

     MTBEZ      TYPE  MTBEZ,

     END OF IT_T134T .



DATA:BEGIN OF IT_T024 OCCURS 0,

     EKGRP      TYPE  EKGRP,

     EKNAM      TYPE  EKNAM,

     END OF IT_T024 .



DATA:BEGIN OF IT_MARA OCCURS 0,

     MATNR      TYPE  MATNR,

     MTART      TYPE  MTART,

     MTBEZ      TYPE  MTBEZ,

     END OF IT_MARA .





DATA : BEGIN OF IT_FINAL OCCURS 0,

       BANFN TYPE BANFN,

       BNFPO TYPE BNFPO,

       BSART TYPE BBSRT,

       LOEKZ TYPE ELOEK,

       EKGRP TYPE BKGRP,

       ERNAM TYPE ERNAM,

       AFNAM TYPE AFNAM,

       TXZ01 TYPE TXZ01,

       MATNR TYPE MATNR,

       WERKS TYPE EWERK,

       BEDNR TYPE BEDNR,

       BADAT TYPE BADAT,

       FRGDT TYPE FRGDT,

       EKORG TYPE EKORG,

       EBELN TYPE EBELN,

       EBELP TYPE EBELP,

       BEDAT TYPE BEDAT,

       FRGKZ TYPE FRGKZ,

       FRGKE(25),

       E_TAGE4(20),

       E_TAGE1(20),

       E_TAGE2(20),

       E_TAGE3(20),

       UDATE LIKE CDHDR-UDATE ,

       V_UDATE LIKE SY-DATUM,

       BATXT TYPE  BATXT,

       MTART TYPE MTART,

       MTBEZ TYPE  MTBEZ,

       EKNAM TYPE  EKNAM,

       BELNR TYPE EKBE-BELNR,

       GJAHR TYPE EKBE-GJAHR,

       LIFNR LIKE EKKO-LIFNR,

       NAME1 LIKE LFA1-NAME1,

       MENGE LIKE EBAN-MENGE,

       PREIS LIKE EBAN-PREIS,

       MENGE_PO LIKE EKPO-MENGE,

       NETPR LIKE EKPO-NETPR,

       FRGCT LIKE T16FD-FRGCT,

       MEINS LIKE EKPO-MEINS,

       MEINS1 LIKE EBAN-MEINS,

       ERNAM1  LIKE EKKO-ERNAM,

       FRGZU LIKE EKKO-FRGZU,

       FRGKE1 LIKE EKKO-FRGKE,

       PENDING(20),

       FRGGR LIKE EKKO-FRGGR,

       FRGSX LIKE EKKO-FRGSX,

       FRGC1 LIKE T16FS-FRGC1,

       PEND(4),

       PEND_T(20),

       EINDT LIKE EKET-EINDT,

       WEMNG TYPE EKET-WEMNG,

       ELIKZ LIKE EKPO-ELIKZ,

       OPN_QTY LIKE EKPO-MENGE,

       ZTERM LIKE EKKO-ZTERM,

       TEXT1 LIKE T052U-TEXT1,



        BUZEI TYPE EKBE-BUZEI,

        BUDAT TYPE EKBE-BUDAT,

        W_GRN_PO_DAY TYPE I,

        W_PO_RELE_GRN_DAY TYPE I,

        MENGE_EKBE TYPE EKBE-MENGE,

        KNTTP LIKE EKPO-KNTTP,

        ANLN1  like EBKN-ANLN1 ,

        KOSTL like EBKN-KOSTL,

        dmbtr like ekbe-dmbtr,

       END OF IT_FINAL,







BEGIN OF WA_OUTPUT,

       BANFN TYPE BANFN,

       BNFPO TYPE BNFPO,

       BSART TYPE BBSRT,

       LOEKZ TYPE ELOEK,

       EKGRP TYPE BKGRP,

       ERNAM TYPE ERNAM,

       AFNAM TYPE AFNAM,

       TXZ01 TYPE TXZ01,

       MATNR TYPE MATNR,

       WERKS TYPE EWERK,

       BEDNR TYPE BEDNR,

       BADAT TYPE BADAT,

       FRGDT TYPE FRGDT,

       EKORG TYPE EKORG,

       EBELN TYPE EBELN,

       EBELP TYPE EBELP,

       BEDAT TYPE BEDAT,

       FRGKZ TYPE FRGKZ,

       FRGKE(25),

       E_TAGE4(20),

       E_TAGE1(20),

       E_TAGE2(20),

       E_TAGE3(20),

       UDATE TYPE CDDATUM,

       V_UDATE TYPE SY-DATUM,

       BATXT TYPE  BATXT,

       MTART TYPE MTART,

       MTBEZ TYPE  MTBEZ,

       EKNAM TYPE  EKNAM,

       BELNR TYPE EKBE-BELNR,

       GJAHR TYPE EKBE-GJAHR,

END OF WA_OUTPUT.



DATA: BEGIN OF T_EKBE OCCURS 0,

        EBELN TYPE EKBE-EBELN,

        EBELP TYPE EKBE-EBELP,

        VGABE TYPE EKBE-VGABE,

        GJAHR TYPE EKBE-GJAHR,

        BELNR TYPE EKBE-BELNR,

        BUZEI TYPE EKBE-BUZEI,

        BUDAT TYPE EKBE-BUDAT,

        MENGE TYPE EKBE-MENGE,

        DMBTR type ekbe-DMBTR,

      END OF T_EKBE.





TYPES: BEGIN OF T_MSEGT,

        MBLNR TYPE MSEG-MBLNR,

        MJAHR TYPE MSEG-MJAHR,

        ZEILE TYPE MSEG-ZEILE,

        MEINS TYPE MSEG-MEINS,

        SJAHR TYPE MSEG-SJAHR,

        SMBLN TYPE MSEG-SMBLN,

        SMBLP TYPE MSEG-SMBLP,

       END OF T_MSEGT.



DATA : T_MSEG TYPE STANDARD TABLE OF T_MSEGT WITH HEADER LINE.

DATA : T_EBKN TYPE STANDARD TABLE OF EBKN WITH HEADER LINE.

REFRESH : T_MSEG.





DATA : T_TEMP LIKE IT_FINAL OCCURS 0 WITH HEADER LINE.



*Alv Declarations



DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

       IT_EVENTS   TYPE SLIS_T_EVENT,

       WA_EVENT    TYPE SLIS_ALV_EVENT,

       GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

       WA_LINE TYPE SLIS_LISTHEADER,

       IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

       G_TOP_OF_PAGE  TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.



DATA : G_REPID LIKE SY-REPID.



DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

       GT_EVENTS TYPE   SLIS_T_EVENT,

       GT_SORT     TYPE SLIS_T_SORTINFO_ALV.



DATA: BEGIN OF IT_T16FS OCCURS 0 .

        INCLUDE STRUCTURE T16FS.

DATA: END OF IT_T16FS.



DATA: BEGIN OF IT_T16FS_A OCCURS 0 ,

        FRGGR LIKE T16FS-FRGGR,

        FRGSX  LIKE T16FS-FRGSX,

        FRGC  LIKE T16FS-FRGC1,

        CNT(2) TYPE C,

        PEND(4),

        CNT_1(2) TYPE C,

      END OF IT_T16FS_A.



DATA: BEGIN OF IT_T16FD_1 OCCURS 0 .

        INCLUDE STRUCTURE T16FD.

DATA: END OF IT_T16FD_1.



DATA: DATE01 LIKE VTBBEWE-DBERBIS,

      DATE02 LIKE VTBBEWE-DBERVON,

      DATE03 LIKE VTBBEWE-DBERVON,

      DATE04 LIKE VTBBEWE-DBERVON,

      DATE05 LIKE VTBBEWE-DBERVON,

      DATE06 LIKE VTBBEWE-DBERVON,

      DATE07 LIKE VTBBEWE-DBERVON,

      DATE08 LIKE VTBBEWE-DBERVON,

      E_TAGE4(20),

       E_TAGE1(20),

       E_TAGE2(20),

       E_TAGE3(20).



DATA : W_DAY TYPE I.

DATA : W_GRN_PO_DAY TYPE I.

DATA : W_PO_RELE_GRN_DAY TYPE I.

CLEAR : W_GRN_PO_DAY , W_PO_RELE_GRN_DAY.



***selection-screen



SELECTION-SCREEN:BEGIN OF BLOCK A1 WITH FRAME TITLE  TEXT-001.

SELECT-OPTIONS:S_BANFN FOR EBAN-BANFN,

               S_BADAT FOR EBAN-BADAT,

               S_EKGRP FOR EKKO-EKGRP,

               S_EKORG FOR EKKO-EKORG,

               S_WERKS FOR EKPO-WERKS OBLIGATORY,

               S_BSART FOR EBAN-BSART,

               S_AFNAM FOR EBAN-AFNAM,

               S_EBELN FOR EBAN-EBELN.



PARAMETER:S_ERNAM LIKE EBAN-ERNAM,

          S_ERNAM1 LIKE EKKO-ERNAM.



SELECTION-SCREEN:END OF BLOCK A1.







***AT-Selction screen

START-OF-SELECTION.

  PERFORM GET_DATA.

  PERFORM DISPLAY_DATA.

*&---------------------------------------------------------------------*

*&      Form  GET_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM GET_DATA .



  SELECT BANFN

         BNFPO

         BSART

         LOEKZ

         EKGRP

         ERNAM

         AFNAM

         TXZ01

         MATNR

         WERKS

         BEDNR

         BADAT

         FRGDT

         EKORG

         EBELN

         EBELP

         BEDAT

         FRGKZ

         MENGE

         PREIS

         MEINS

         FROM EBAN INTO TABLE IT_EBAN WHERE BANFN IN S_BANFN

                                      AND   BADAT IN S_BADAT

                                      AND   AFNAM IN S_AFNAM

                                      AND   EKGRP IN S_EKGRP

                                      AND   EKORG IN S_EKORG

                                      AND   WERKS IN S_WERKS

                                      AND   BSART IN S_BSART

                                      AND   LOEKZ NE 'X'

                                      AND   FRGKZ IN ('R','2')

                                      AND   EBELN IN S_EBELN.

*FOR PR



  IF NOT IT_EBAN[] IS INITIAL.

    SELECT * FROM EBKN INTO TABLE T_EBKN FOR ALL ENTRIES IN IT_EBAN

                                        WHERE BANFN = IT_EBAN-BANFN

                                         AND  BNFPO = IT_EBAN-BNFPO.

  ENDIF.



  LOOP AT IT_EBAN .



    SELECT OBJECTCLAS

        OBJECTID

        CHANGENR

        TABNAME

        TABKEY

        FNAME

        CHNGIND

        VALUE_NEW

        VALUE_OLD

        FROM CDPOS APPENDING TABLE IT_CDPOS1

        WHERE    OBJECTCLAS = 'BANF' AND

                 OBJECTID   = IT_EBAN-BANFN AND

                 TABNAME    = 'EBAN' AND

                 FNAME      = 'FRGKZ' AND

                 CHNGIND    = 'U'

                AND VALUE_NEW  IN ('2','R').

  ENDLOOP.



  IF NOT IT_CDPOS1[] IS INITIAL.

    SELECT OBJECTCLAS

           OBJECTID

           CHANGENR

           USERNAME

           UDATE

           UTIME

           FROM CDHDR INTO TABLE IT_CDHDR1 FOR ALL ENTRIES IN IT_CDPOS1

                   WHERE  OBJECTCLAS = IT_CDPOS1-OBJECTCLAS AND

                          OBJECTID   = IT_CDPOS1-OBJECTID AND

                          CHANGENR   = IT_CDPOS1-CHANGENR.







  ENDIF.





  IF NOT IT_EBAN[] IS INITIAL.



    SELECT EBELN

           EBELP

           TXZ01

           MATNR

           WERKS

           BANFN

           MTART

           AFNAM

           MENGE

           NETPR

           MEINS

           ELIKZ

           KNTTP

           FROM EKPO INTO TABLE IT_EKPO FOR ALL ENTRIES IN IT_EBAN

                                        WHERE WERKS IN S_WERKS

                                        AND  AFNAM IN S_AFNAM

                                        AND  BSTYP = 'F'

                                        AND  BANFN = IT_EBAN-BANFN

                                        AND  AFNAM IN S_AFNAM

                                        AND  LOEKZ NE 'X'.

    IF NOT IT_EKPO[] IS INITIAL.



**      SELECT ebeln

**             bsart

**             ernam

**             ekorg

**             ekgrp

**             bedat

**             frgke

**             memory

**             lifnr

**             zterm

**             frggr

**             frgsx

**             frgzu

**             frgke

**             FROM ekko INTO TABLE it_ekko FOR ALL ENTRIES IN it_ekpo

**                                              WHERE ernam IN s_ernam

**                                              AND   ekorg IN s_ekorg

**                                              AND   ekgrp IN s_ekgrp

**                                              AND   bsart IN s_bsart

**                                              AND   ebeln = it_ekpo-ebeln

**                                              AND   memory NE 'X'.



      SELECT EBELN

             BSART

             ERNAM

             EKORG

             EKGRP

             BEDAT

             FRGKE

             MEMORY

             LIFNR

             ZTERM

             FRGGR

             FRGSX

             FRGZU

             FRGKE

             FROM EKKO INTO TABLE IT_EKKO FOR ALL ENTRIES IN IT_EKPO

                                              WHERE

*        ernam IN s_ernam1

                                              EBELN = IT_EKPO-EBELN

                                              AND    MEMORY NE 'X'.





*For GR Qty

      SELECT EBELN

             EBELP

             EINDT

             WEMNG FROM EKET INTO TABLE IT_EKET

             FOR ALL ENTRIES IN IT_EKPO

             WHERE EBELN = IT_EKPO-EBELN

             AND   EBELP = IT_EKPO-EBELP.



    ENDIF.





    IF NOT IT_EKKO[] IS INITIAL.

      SELECT * FROM T16FS INTO TABLE IT_T16FS FOR ALL ENTRIES IN IT_EKKO

                   WHERE FRGGR = IT_EKKO-FRGGR

                   AND   FRGSX = IT_EKKO-FRGSX.

    ENDIF.



    DATA:CNT(2) TYPE C.

    LOOP AT IT_T16FS.

      IT_T16FS_A-FRGGR = IT_T16FS-FRGGR.

      IT_T16FS_A-FRGSX = IT_T16FS-FRGSX.

*Append It_T16FS_A.



      IF NOT IT_T16FS-FRGC8 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC8.

*cnt = cnt + 1 .

        CNT = 8 . .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC7 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC7.

*cnt = cnt + 1 .

        CNT = 7 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC6 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC6.

*cnt = cnt + 1 .

        CNT = 6 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC5 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC5..

*cnt = cnt + 1 .

        CNT = 5 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC4 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC4.

*cnt = cnt + 1 .

        CNT = 4 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC3 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC3.

*cnt = cnt + 1 .

        CNT = 3 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC2 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC2.

*cnt = cnt + 1 .

        CNT = 2 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      IF NOT IT_T16FS-FRGC1 IS INITIAL.

        IT_T16FS_A-FRGC = IT_T16FS-FRGC1.

*cnt = cnt + 1 .

        CNT = 1 .

        IT_T16FS_A-CNT CNT .

        APPEND IT_T16FS_A.

      ENDIF.

      CLEAR CNT .

    ENDLOOP.



    DATA: LENGTH(2) .

    LOOP AT IT_EKKO.

      LENGTH = STRLEN( IT_EKKO-FRGZU ).

      LENGTH  = LENGTH + 1.

      IT_EKKO-LENGTH = LENGTH.

      MODIFY IT_EKKO TRANSPORTING LENGTH.

      CLEAR LENGTH .

    ENDLOOP.

    DATA:PEND(4).



    LOOP AT IT_EKKO .

      LOOP AT IT_T16FS_A .

        IF IT_T16FS_A-FRGGR = IT_EKKO-FRGGR AND  IT_T16FS_A-FRGSX = IT_EKKO-FRGSX.

*                          AND    CNT    = IT_EKKO-LENGTH.

*        IF SY-SUBRC EQ 0.

          IF IT_EKKO-FRGKE = 'I'.

            IT_EKKO-PEND = IT_T16FS_A-FRGC.

          ELSEIF IT_EKKO-FRGKE1 = 'F'.

            IT_EKKO-PEND = ' '.

          ELSEIF IT_EKKO-FRGKE1 = 'N'.

            SELECT SINGLE FRGC1  FROM T16FS INTO IT_EKKO-FRGC1

               WHERE FRGGR = IT_EKKO-FRGGR

               AND FRGSX = IT_EKKO-FRGSX.

            IT_EKKO-PEND = IT_EKKO-FRGC1.

          ENDIF.

          MODIFY IT_EKKO TRANSPORTING PEND.

        ENDIF.

      ENDLOOP.

*clear

    ENDLOOP.



    LOOP AT IT_EKKO .

      SELECT SINGLE * FROM T16FD INTO IT_T16FD_1

        WHERE  FRGGR = IT_EKKO-FRGGR

        AND    FRGCO = IT_EKKO-PEND.

      IF SY-SUBRC EQ 0 .

        IT_EKKO-PEND_T = IT_T16FD_1-FRGCT.

        MODIFY IT_EKKO TRANSPORTING PEND_T.

      ENDIF.

    ENDLOOP.



    SORT IT_T16FS_A  DESCENDING BY FRGGR FRGSX CNT.

    DATA: CNT_1(2).

*loop at It_T16FS_A.

* cnt_1 = cnt_1 + 1.

* It_T16FS_A-CNt_1 = cnt_1 .

* modify It_T16FS_A transporting cnt_1.

*endloop.

    DELETE ADJACENT DUPLICATES FROM IT_T16FS_A COMPARING FRGGR FRGSX .



*Delete It_T16FS_A where Cnt <> 1 .

    LOOP AT IT_EKKO.

      READ TABLE IT_T16FS_A WITH KEY FRGGR = IT_EKKO-FRGGR

                                     FRGSX = IT_EKKO-FRGSX.

      IF SY-SUBRC EQ 0.

        MOVE IT_T16FS_A-FRGC TO IT_EKKO-FRGC.

        MOVE IT_T16FS_A-FRGGR TO IT_EKKO-FRGGR.

        MOVE IT_T16FS_A-FRGSX TO IT_EKKO-FRGSX.

        MODIFY IT_EKKO TRANSPORTING FRGC FRGGR FRGSX.

      ENDIF.

    ENDLOOP.



    SELECT SPRAS

           BSART

           BSTYP

           BATXT

           FROM T161T INTO TABLE IT_T161T FOR ALL ENTRIES IN IT_EBAN

                                              WHERE BSART = IT_EBAN-BSART

                                              AND   SPRAS = 'E' .

    SELECT EKGRP

           EKNAM

           FROM T024 INTO TABLE IT_T024 FOR ALL ENTRIES IN IT_EBAN

                                              WHERE EKGRP = IT_EBAN-EKGRP.



    SELECT MATNR

           MTART

           FROM  MARA INTO TABLE IT_MARA FOR ALL ENTRIES IN IT_EBAN

                                              WHERE MATNR = IT_EBAN-MATNR.





    SELECT  SPRAS

            MTART

            MTBEZ

            FROM T134T INTO TABLE IT_T134T FOR ALL ENTRIES IN IT_MARA

                                                 WHERE MTART = IT_MARA-MTART

                                                 AND   SPRAS = 'E' .



*FOR PO

    LOOP AT IT_EBAN.

      IT_EBAN-OBJECTID2 = IT_EBAN-EBELN.

      MODIFY IT_EBAN.

    ENDLOOP.







    SELECT OBJECTCLAS

           OBJECTID

           CHANGENR

           TABNAME

           TABKEY

           FNAME

           CHNGIND

           VALUE_NEW

           VALUE_OLD

           FROM CDPOS INTO TABLE IT_CDPOS

           FOR ALL ENTRIES IN IT_EBAN

           WHERE OBJECTCLAS    = 'EINKBELEG' AND

*                 OBJECTID      = IT_EBAN-EBELN  AND

                 OBJECTID      = IT_EBAN-OBJECTID2  AND

                 TABNAME       = 'EKKO' AND

                 FNAME         = 'FRGKE' AND

                 CHNGIND       = 'U' AND

                 VALUE_NEW     = 'F'.





    SORT IT_CDPOS BY OBJECTCLAS OBJECTID CHANGENR DESCENDING.

    DELETE ADJACENT DUPLICATES FROM IT_CDPOS COMPARING OBJECTCLAS OBJECTID.



    IF IT_CDPOS[] IS NOT INITIAL.

      SELECT OBJECTCLAS

             OBJECTID

             CHANGENR

             USERNAME

             UDATE

             UTIME

             FROM CDHDR INTO TABLE IT_CDHDR FOR ALL ENTRIES IN IT_CDPOS

             WHERE    OBJECTCLAS = IT_CDPOS-OBJECTCLAS AND

                      OBJECTID   = IT_CDPOS-OBJECTID AND

                      CHANGENR   = IT_CDPOS-CHANGENR.

    ENDIF.





  ENDIF.



  SORT IT_CDHDR  DESCENDING BY OBJECTID UDATE UTIME.

  SORT IT_CDHDR1 DESCENDING BY OBJECTID UDATE UTIME.





  IF IT_EKPO[] IS NOT INITIAL.

    SELECT  EBELN

            EBELP

            VGABE

            GJAHR

            BELNR

            BUZEI

            BUDAT

            MENGE

            DMBTR FROM EKBE INTO TABLE T_EKBE

            FOR ALL ENTRIES IN IT_EKPO

            WHERE EBELN = IT_EKPO-EBELN

            AND   EBELP = IT_EKPO-EBELP

            AND   VGABE = '1'.



  ENDIF.









  IF T_EKBE[] IS NOT INITIAL.



    SELECT MBLNR

          MJAHR

          ZEILE

          MEINS

          SJAHR

          SMBLN

          SMBLP FROM MSEG INTO TABLE T_MSEG

          FOR ALL ENTRIES IN T_EKBE

          WHERE MBLNR = T_EKBE-BELNR

          AND   MJAHR = T_EKBE-GJAHR.



  ENDIF.



  LOOP AT T_MSEG WHERE  SMBLN IS NOT INITIAL.

    DELETE  T_EKBE WHERE BELNR = T_MSEG-MBLNR

                   AND   BUZEI = T_MSEG-ZEILE

                   AND   GJAHR = T_MSEG-MJAHR.



    DELETE  T_EKBE WHERE BELNR = T_MSEG-SMBLN

                   AND   BUZEI = T_MSEG-SMBLP

                   AND   GJAHR = T_MSEG-SJAHR.



  ENDLOOP.







  LOOP AT IT_EBAN.



    CLEAR IT_FINAL.



    IT_FINAL-BANFN      IT_EBAN-BANFN.

    IT_FINAL-BNFPO      IT_EBAN-BNFPO.

    IT_FINAL-BSART      IT_EBAN-BSART.

    IT_FINAL-EKGRP      IT_EBAN-EKGRP.

    IT_FINAL-ERNAM      IT_EBAN-ERNAM.

    IT_FINAL-AFNAM      IT_EBAN-AFNAM.

    IT_FINAL-TXZ01      IT_EBAN-TXZ01.

    IT_FINAL-MATNR      IT_EBAN-MATNR.

    IT_FINAL-WERKS      IT_EBAN-WERKS.

    IT_FINAL-BEDNR      IT_EBAN-BEDNR.

    IT_FINAL-BADAT      IT_EBAN-BADAT.

    IT_FINAL-FRGDT      IT_EBAN-FRGDT.

    IT_FINAL-EBELN      IT_EBAN-EBELN.

    IT_FINAL-EBELP      IT_EBAN-EBELP.

    IT_FINAL-BEDAT      IT_EBAN-BEDAT.

    IT_FINAL-PREIS      IT_EBAN-PREIS.

    IT_FINAL-MENGE      IT_EBAN-MENGE.

    IT_FINAL-MEINS1      IT_EBAN-MEINS1.

    IT_FINAL-EKORG      IT_EBAN-EKORG.

*    IT_FINAL-V_UDATE    =  IT_EBAN-FRGDT.



READ TABLE T_EBKN WITH KEY BANFN = IT_EBAN-BANFN

                           BNFPO = IT_EBAN-BNFPO.

if Sy-subrc EQ 0 .

  it_final-KOSTL = T_EBKN-KOSTL.

  it_final-ANLN1 = T_EBKN-ANLN1.

endif.



    READ TABLE IT_EKPO WITH KEY EBELN = IT_EBAN-EBELN

                                EBELP = IT_EBAN-EBELP.

*    IF SY-SUBRC EQ 0 .



    IF SY-SUBRC EQ 0 .

      IT_FINAL-NETPR      =   IT_EKPO-NETPR.

      IT_FINAL-MENGE_PO   =   IT_EKPO-MENGE.

      IT_FINAL-MEINS      =   IT_EKPO-MEINS.

      IT_FINAL-ELIKZ      =   IT_EKPO-ELIKZ.

      IT_FINAL-KNTTP      =   IT_EKPO-KNTTP.



    ENDIF.



    READ TABLE IT_EKET WITH KEY EBELN = IT_EBAN-EBELN

                                EBELP = IT_EBAN-EBELP.

    IF SY-SUBRC = 0.

      IT_FINAL-EINDT = IT_EKET-EINDT.

      IT_FINAL-WEMNG = IT_EKET-WEMNG.

    ENDIF.



    IT_FINAL-OPN_QTY = IT_FINAL-MENGE_PO - IT_FINAL-WEMNG.



    SHIFT IT_FINAL-MATNR LEFT DELETING LEADING '0'.





    CLEAR IT_EKKO.

    READ TABLE IT_EKKO WITH KEY EBELN = IT_EBAN-EBELN .

    IF SY-SUBRC = 0.

*      it_final-ekorg      =  it_ekko-ekorg.

      IT_FINAL-FRGKE      IT_EKKO-FRGKE.

      IT_FINAL-LIFNR      = IT_EKKO-LIFNR .

      IT_FINAL-ZTERM      = IT_EKKO-ZTERM.

      IT_FINAL-ERNAM1     = IT_EKKO-ERNAM .

      IT_FINAL-FRGKE1     = IT_EKKO-FRGKE .

      IT_FINAL-FRGZU      = IT_EKKO-FRGZU.

      IT_FINAL-FRGGR      = IT_EKKO-FRGGR .

      IT_FINAL-FRGSX      = IT_EKKO-FRGSX.

      IT_FINAL-PEND_T     = IT_EKKO-PEND_T.



      SELECT SINGLE NAME1 FROM LFA1 INTO LFA1-NAME1 WHERE LIFNR = IT_EKKO-LIFNR.

      IF SY-SUBRC EQ 0.

        IT_FINAL-NAME1 = LFA1-NAME1 .

      ENDIF.



      SELECT SINGLE TEXT1 FROM T052U INTO IT_FINAL-TEXT1

      WHERE SPRAS = SY-LANGU

      AND ZTERM = IT_EKKO-ZTERM.





      SELECT SINGLE FRGCT FROM T16FD INTO T16FD-FRGCT

           WHERE FRGGR = IT_EKKO-FRGGR

           AND FRGCO = IT_EKKO-FRGC.

      IF SY-SUBRC EQ 0.

        IT_FINAL-FRGCT = T16FD-FRGCT .

      ENDIF.

    ENDIF.



    IF IT_EKKO-FRGKE = 'F'.

      CLEAR IT_CDHDR.

      READ TABLE IT_CDHDR WITH KEY OBJECTID = IT_EBAN-EBELN.

      IF SY-SUBRC = 0.

        IT_FINAL-UDATE      IT_CDHDR-UDATE.

      ENDIF.

    ENDIF.



    CLEAR IT_CDHDR1.

*    FRGDT

    READ TABLE IT_CDHDR1 WITH KEY OBJECTID = IT_EBAN-BANFN.

    IF SY-SUBRC = 0.

      IT_FINAL-V_UDATE      IT_CDHDR1-UDATE.

    ENDIF.



    CLEAR IT_T161T.

    READ TABLE IT_T161T WITH KEY BSART = IT_EBAN-BSART.

    IF SY-SUBRC = 0.

      IT_FINAL-BATXT      IT_T161T-BATXT.

    ENDIF.





    CLEAR IT_T024.

    READ TABLE IT_T024 WITH KEY EKGRP = IT_EBAN-EKGRP.

    IF SY-SUBRC = 0.

      IT_FINAL-EKNAM      IT_T024-EKNAM.

    ENDIF.



    CLEAR IT_MARA.

    READ TABLE IT_MARA WITH KEY MATNR = IT_EBAN-MATNR.

    IF SY-SUBRC = 0.

      IT_FINAL-MTART      IT_MARA-MTART.

      CLEAR IT_T134T.

      READ TABLE IT_T134T WITH KEY MTART = IT_MARA-MTART.

      IF SY-SUBRC = 0.

        IT_FINAL-MTBEZ      IT_T134T-MTBEZ.

      ENDIF.

    ENDIF.

    APPEND IT_FINAL.

  ENDLOOP.



  LOOP AT IT_FINAL.

    IF IT_FINAL-FRGKE1 = 'F'.

      IT_FINAL-FRGKE = 'Released'.

*      it_final-pending = ' '.

    ENDIF.

    IF IT_FINAL-FRGKE1 = 'N'.

      IT_FINAL-FRGKE = 'Not Released'.

      SELECT SINGLE FRGC1  FROM T16FS INTO IT_FINAL-FRGC1

       WHERE FRGGR = IT_FINAL-FRGGR

       AND FRGSX = IT_FINAL-FRGSX.

*     it_final-pending = it_final-FRGC1.

    ENDIF.

    IF IT_FINAL-FRGKE1 = 'I'.

      IT_FINAL-FRGKE = 'Intermediate Released'.

    ENDIF.

    MODIFY IT_FINAL.

  ENDLOOP.





  LOOP AT IT_FINAL.



*1.pr create to pr release---------------------------------------------



    DATE05 = SY-DATUM.



    IF IT_FINAL-V_UDATE = '00000000'.

      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BADAT

          ENDDA = DATE05

        IMPORTING

          DAYS  = W_DAY.







    ELSE.



      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BADAT

          ENDDA = IT_FINAL-V_UDATE

        IMPORTING

          DAYS  = W_DAY.



    ENDIF.



    IF W_DAY LE 0.

      W_DAY = W_DAY + 1.

    ELSE.

      W_DAY = W_DAY - 1.

    ENDIF.



    MOVE W_DAY TO IT_FINAL-E_TAGE2.

*--------------------------------------------------------------------------

*2.pr release  to po create-----





    DATE02 = SY-DATUM.



    IF IT_FINAL-BEDAT = '00000000'.





      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-V_UDATE

          ENDDA = DATE02

        IMPORTING

          DAYS  = W_DAY.



*adding step 15



      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BADAT

          ENDDA = DATE04

        IMPORTING

          DAYS  = W_DAY.







    ELSE.



      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-V_UDATE

          ENDDA = IT_FINAL-BEDAT

        IMPORTING

          DAYS  = W_DAY.





* ----------------------OR---------------------------

      DATE06 = SY-DATUM.



      IF IT_FINAL-V_UDATE = '00000000'.



        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-BEDAT

            ENDDA = DATE06

          IMPORTING

            DAYS  = W_DAY.









      ELSE.





        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-V_UDATE

            ENDDA = IT_FINAL-BEDAT

          IMPORTING

            DAYS  = W_DAY.







      ENDIF.





    ENDIF.



    IF W_DAY LE 0.

      W_DAY = W_DAY + 1.

    ELSE.

      W_DAY = W_DAY - 1.

    ENDIF.



    MOVE W_DAY TO IT_FINAL-E_TAGE4.



*---------------------------------------------------------------------------------------

*3.po create to po release----





    DATE03 = SY-DATUM.



    IF IT_FINAL-UDATE = '00000000'.





      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BEDAT

          ENDDA = DATE03

        IMPORTING

          DAYS  = W_DAY.







    ELSE.



      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BEDAT

          ENDDA = IT_FINAL-UDATE

        IMPORTING

          DAYS  = W_DAY.





* ----------------------OR---------------------------

      DATE07 = SY-DATUM.



      IF IT_FINAL-BEDAT = '00000000'.





        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-UDATE

            ENDDA = DATE07

          IMPORTING

            DAYS  = W_DAY.



** adding step 16---------------------



        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-V_UDATE

            ENDDA = DATE02

          IMPORTING

            DAYS  = W_DAY.





        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-BADAT

            ENDDA = DATE04

          IMPORTING

            DAYS  = W_DAY.







      ELSE.



        CLEAR W_DAY.

        CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

          EXPORTING

            BEGDA = IT_FINAL-BEDAT

            ENDDA = IT_FINAL-UDATE

          IMPORTING

            DAYS  = W_DAY.



      ENDIF.

    ENDIF.



    IF  IT_FINAL-BEDAT = '00000000' AND   IT_FINAL-BEDAT = '00000000'.

      E_TAGE1 = '0'.

      W_DAY = 0.

    ELSE.

      IF W_DAY LE 0.

        W_DAY = W_DAY + 1.

      ELSE.

        W_DAY = W_DAY - 1.

      ENDIF.





    ENDIF.







    MOVE W_DAY TO IT_FINAL-E_TAGE1.



*--------------------------------------------------------------------------------------------

*4.total lead time-----------





    DATE04 = SY-DATUM.



    IF IT_FINAL-UDATE = '00000000'.





      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BADAT

          ENDDA = DATE04

        IMPORTING

          DAYS  = W_DAY.





    ELSE.



      CLEAR W_DAY.

      CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

        EXPORTING

          BEGDA = IT_FINAL-BADAT

          ENDDA = IT_FINAL-UDATE

        IMPORTING

          DAYS  = W_DAY.



    ENDIF.





    IF W_DAY LE 0.

      W_DAY = W_DAY + 1.

    ELSE.

      W_DAY = W_DAY - 1.

    ENDIF.



    MOVE W_DAY TO IT_FINAL-E_TAGE3.



*GRN  Post date - PO Release date

    CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'

      EXPORTING

        BEGDA = IT_FINAL-BUDAT

        ENDDA = IT_FINAL-V_UDATE

      IMPORTING

        DAYS  = W_GRN_PO_DAY.



    MOVE W_GRN_PO_DAY TO IT_FINAL-W_GRN_PO_DAY.





**PR Release to GRN

    IT_FINAL-W_PO_RELE_GRN_DAY = IT_FINAL-W_GRN_PO_DAY + IT_FINAL-E_TAGE3.



    MODIFY IT_FINAL TRANSPORTING  E_TAGE1 E_TAGE2 E_TAGE3 E_TAGE4 W_GRN_PO_DAY W_PO_RELE_GRN_DAY.





  ENDLOOP.

*count





  LOOP AT IT_FINAL.

*For GRN No

    READ TABLE T_EKBE WITH KEY EBELN = IT_FINAL-EBELN

                               EBELP = IT_FINAL-EBELP.

    IF SY-SUBRC = 0.

      LOOP AT T_EKBE WHERE EBELN = IT_FINAL-EBELN

                     AND   EBELP = IT_FINAL-EBELP.



        IT_FINAL-BELNR      T_EKBE-BELNR.

        IT_FINAL-GJAHR      T_EKBE-GJAHR.

        IT_FINAL-BUZEI      T_EKBE-BUZEI.

        IT_FINAL-BUDAT      T_EKBE-BUDAT.

        IT_FINAL-MENGE_EKBE T_EKBE-MENGE.

        IT_FINAL-DMBTR     T_EKBE-DMBTR.

        T_TEMP = IT_FINAL.

        APPEND T_TEMP.

        CLEAR T_TEMP.

      ENDLOOP.



    ELSE.

      CLEAR : IT_FINAL-BELNR,IT_FINAL-GJAHR,IT_FINAL-BUZEI.

      T_TEMP = IT_FINAL.

      APPEND T_TEMP.

      CLEAR T_TEMP.

    ENDIF.



  ENDLOOP.



  CLEAR : IT_FINAL,IT_FINAL[].



  IT_FINAL[] = T_TEMP[].



  IF NOT S_ERNAM IS INITIAL.

    LOOP AT IT_FINAL.

      IF IT_FINAL-ERNAM NE S_ERNAM.

        DELETE IT_FINAL.

      ENDIF.

    ENDLOOP.

  ENDIF.



  IF NOT S_ERNAM1 IS INITIAL.

    LOOP AT IT_FINAL.

      IF IT_FINAL-ERNAM1 NE S_ERNAM1.

        DELETE IT_FINAL.

      ENDIF.

    ENDLOOP.

  ENDIF.







ENDFORM.                    " GET_DATA

*&---------------------------------------------------------------------*

*&      Form  DISPLAY_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM DISPLAY_DATA .



  DATA : LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

*1



  IT_FIELDCAT-FIELDNAME = 'BSART'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pr Doc.Type'.

  IT_FIELDCAT-SELTEXT_L = 'Pr Doc.Type'.

  IT_FIELDCAT-OUTPUTLEN = 04.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*------------------------------------------

  IT_FIELDCAT-FIELDNAME = 'BATXT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Doc.Type Desc.'.

  IT_FIELDCAT-SELTEXT_L = 'Doc.Type Desc.'.

  IT_FIELDCAT-OUTPUTLEN = 20.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*------------------------------------------



  IT_FIELDCAT-FIELDNAME = 'KNTTP'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Acc Assignment Cat'.

  IT_FIELDCAT-SELTEXT_L = 'Acc Assignment Cat'.

  IT_FIELDCAT-OUTPUTLEN = 5.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'BANFN'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Number'.

  IT_FIELDCAT-SELTEXT_L = 'PR Number'.

  IT_FIELDCAT-OUTPUTLEN = 12.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*3

  IT_FIELDCAT-FIELDNAME = 'BNFPO'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Item'.

  IT_FIELDCAT-SELTEXT_L = 'Item'.

  IT_FIELDCAT-OUTPUTLEN = 4.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'MENGE'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Qty'.

  IT_FIELDCAT-SELTEXT_L = 'Qty'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'MEINS1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'UOM'.

  IT_FIELDCAT-SELTEXT_L = 'UOM'.

  IT_FIELDCAT-OUTPUTLEN = 6.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'PREIS'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Price'.

  IT_FIELDCAT-SELTEXT_L = 'PR Price'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'KOSTL'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Cost Centre'.

  IT_FIELDCAT-SELTEXT_L = 'Cost Centre'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*2

  IT_FIELDCAT-FIELDNAME = 'ANLN1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Asset No'.

  IT_FIELDCAT-SELTEXT_L = 'Asset No'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*4

  IT_FIELDCAT-FIELDNAME = 'WERKS'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Plant'.

  IT_FIELDCAT-SELTEXT_L = 'Plant'.

  IT_FIELDCAT-OUTPUTLEN = 04.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*5

  IT_FIELDCAT-FIELDNAME = 'EKORG'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pur. Org.'.

  IT_FIELDCAT-SELTEXT_L = 'Pur. Org.'.

  IT_FIELDCAT-OUTPUTLEN = 04.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*6

  IT_FIELDCAT-FIELDNAME = 'EKGRP'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pur. Grp.'.

  IT_FIELDCAT-SELTEXT_L = 'Pur. Grp.'.

  IT_FIELDCAT-OUTPUTLEN = 03.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*------------------------------------------------

  IT_FIELDCAT-FIELDNAME = 'EKNAM'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pur.Grp.Desc.'.

  IT_FIELDCAT-SELTEXT_L = 'Pur.Grp.Desc.'.

  IT_FIELDCAT-OUTPUTLEN = 20.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*-----------------------------------------------

*7

  IT_FIELDCAT-FIELDNAME = 'MATNR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Material Number'.

  IT_FIELDCAT-SELTEXT_L = 'Material Number'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*------------------------------------------------

  IT_FIELDCAT-FIELDNAME = 'MTART'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Material Type'.

  IT_FIELDCAT-SELTEXT_L = 'Material Type'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'MTBEZ'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Material Type Desc.'.

  IT_FIELDCAT-SELTEXT_L = 'Material Type Desc.'.

  IT_FIELDCAT-OUTPUTLEN = 25.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*------------------------------------------------

*8

  IT_FIELDCAT-FIELDNAME = 'TXZ01'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Item Description'.

  IT_FIELDCAT-SELTEXT_L = 'Item Description'.

  IT_FIELDCAT-OUTPUTLEN = 40.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'ERNAM'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Created By'.

  IT_FIELDCAT-SELTEXT_L = 'PR Created By'.

  IT_FIELDCAT-OUTPUTLEN = 12.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'AFNAM'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Requisitioner'.

  IT_FIELDCAT-SELTEXT_L = 'Requisitioner'.

  IT_FIELDCAT-OUTPUTLEN = 12.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'BEDNR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Tracking Number'.

  IT_FIELDCAT-SELTEXT_L = 'Tracking Number'.

  IT_FIELDCAT-OUTPUTLEN = 15.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*9

  IT_FIELDCAT-FIELDNAME = 'BADAT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Creation date'.

  IT_FIELDCAT-SELTEXT_L = 'PR Creation date'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*10

  IT_FIELDCAT-FIELDNAME = 'V_UDATE'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Release Date'.

  IT_FIELDCAT-SELTEXT_L = 'PR Release Date'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*11

  IT_FIELDCAT-FIELDNAME = 'EBELN'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO number'.

  IT_FIELDCAT-SELTEXT_L = 'PO number'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*12





  IT_FIELDCAT-FIELDNAME = 'EBELP'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO line item'.

  IT_FIELDCAT-SELTEXT_L = 'PO line item'.

  IT_FIELDCAT-OUTPUTLEN 05.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'MENGE_PO'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Order Qty'.

  IT_FIELDCAT-SELTEXT_L = 'Order Qty'.

  IT_FIELDCAT-OUTPUTLEN = 15.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'WEMNG'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GR Qty'.

  IT_FIELDCAT-SELTEXT_L = 'GR Qty'.

  IT_FIELDCAT-OUTPUTLEN = 15.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'OPN_QTY'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Open Qty'.

  IT_FIELDCAT-SELTEXT_L = 'Open Qty'.

  IT_FIELDCAT-OUTPUTLEN = 15.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'MEINS'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'UOM'.

  IT_FIELDCAT-SELTEXT_L = 'UOM'.

  IT_FIELDCAT-OUTPUTLEN = 4.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'NETPR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO Price'.

  IT_FIELDCAT-SELTEXT_L = 'PO Price'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'ERNAM1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO Created By'.

  IT_FIELDCAT-SELTEXT_L = 'PO Created By'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'BEDAT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO creation Date'.

  IT_FIELDCAT-SELTEXT_L = 'PO creation Date'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'EINDT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Delivery Date'.

  IT_FIELDCAT-SELTEXT_L = 'Delivery Date'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'ELIKZ'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Delv Compl Ind'.

  IT_FIELDCAT-SELTEXT_L = 'Delv Compl Ind'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'FRGKE'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Release indicator'.

  IT_FIELDCAT-SELTEXT_L = 'Release indicator'.

  IT_FIELDCAT-OUTPUTLEN 25.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'FRGCT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Final released By'.

  IT_FIELDCAT-SELTEXT_L = 'Final released By'.

  IT_FIELDCAT-OUTPUTLEN = 25.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'PEND_T'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pending For Rel'.

  IT_FIELDCAT-SELTEXT_L = 'Pending For Rel'.

  IT_FIELDCAT-OUTPUTLEN = 25.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*15

  IT_FIELDCAT-FIELDNAME = 'UDATE'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO Release Date'.

  IT_FIELDCAT-SELTEXT_L = 'PO Release Date'.

  IT_FIELDCAT-OUTPUTLEN 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





*16

  IT_FIELDCAT-FIELDNAME = 'E_TAGE2'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR create to Rel.Lead time '.

  IT_FIELDCAT-SELTEXT_L = 'PR create to Rel.Lead time '.

  IT_FIELDCAT-OUTPUTLEN = 16.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*17

  IT_FIELDCAT-FIELDNAME = 'E_TAGE4'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR Rel to PO create Lead time'.

  IT_FIELDCAT-SELTEXT_L = 'PR Rel to PO create Lead time'.

  IT_FIELDCAT-OUTPUTLEN = 16.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*18

  IT_FIELDCAT-FIELDNAME = 'E_TAGE1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO create to PO Rel.Lead time'.

  IT_FIELDCAT-SELTEXT_L = 'PO create to PO Rel.Lead time'.

  IT_FIELDCAT-OUTPUTLEN = 16.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*19

  IT_FIELDCAT-FIELDNAME = 'E_TAGE3'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

**  it_fieldcat-seltext_m = 'PR Release to PO Release'.

**  it_fieldcat-seltext_l = 'PR Release to PO Release'.

  IT_FIELDCAT-SELTEXT_M = 'Total Lead Time'.

  IT_FIELDCAT-SELTEXT_L = 'Total Lead Time'.

  IT_FIELDCAT-OUTPUTLEN 14.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.

*21

*----------------------------------------

  IT_FIELDCAT-FIELDNAME = 'LIFNR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Vendor Code'.

  IT_FIELDCAT-SELTEXT_L = 'Vendor Code'.

  IT_FIELDCAT-OUTPUTLEN = 15.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'NAME1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Vendor Name'.

  IT_FIELDCAT-SELTEXT_L = 'Vendor Name'.

  IT_FIELDCAT-OUTPUTLEN = 35.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'ZTERM'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pay Terms'.

  IT_FIELDCAT-SELTEXT_L = 'Pay terms.'.

  IT_FIELDCAT-OUTPUTLEN = 5.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'TEXT1'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Pay Terms Desc'.

  IT_FIELDCAT-SELTEXT_L = 'Pay terms Desc.'.

  IT_FIELDCAT-OUTPUTLEN = 20.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'BELNR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GRN Doc No'.

  IT_FIELDCAT-SELTEXT_L = 'GRN Doc No'.

  IT_FIELDCAT-OUTPUTLEN = 10.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'BUZEI'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'Item'.

  IT_FIELDCAT-SELTEXT_L = 'Item'.

  IT_FIELDCAT-OUTPUTLEN = 7.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'MENGE_EKBE'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GRN Qty'.

  IT_FIELDCAT-SELTEXT_L = 'GRN Qty.'.

  IT_FIELDCAT-OUTPUTLEN = 7.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'DMBTR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GRN Amount'.

  IT_FIELDCAT-SELTEXT_L = 'GRN Amount'.

  IT_FIELDCAT-OUTPUTLEN = 13.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.





  IT_FIELDCAT-FIELDNAME = 'BUDAT'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GRN Post Dt'.

  IT_FIELDCAT-SELTEXT_L = 'GRN Post Dt'.

  IT_FIELDCAT-OUTPUTLEN = 11.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'GJAHR'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'GRN Yr'.

  IT_FIELDCAT-SELTEXT_L = 'GRN Yr'.

  IT_FIELDCAT-OUTPUTLEN = 7.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'W_GRN_PO_DAY'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PO release to GRN '.

  IT_FIELDCAT-SELTEXT_L = 'PO release to GRN'.

  IT_FIELDCAT-OUTPUTLEN = 16.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



  IT_FIELDCAT-FIELDNAME = 'W_PO_RELE_GRN_DAY'.

  IT_FIELDCAT-TABNAME   = 'IT_FINAL'.

  IT_FIELDCAT-SELTEXT_M = 'PR release to GRN'.

  IT_FIELDCAT-SELTEXT_L = 'PR release to GRN'.

  IT_FIELDCAT-OUTPUTLEN = 16.

  APPEND IT_FIELDCAT.

  CLEAR IT_FIELDCAT.



*----------------------------------------

*****Events during list display



  CLEAR WA_EVENT.

  WA_EVENT-NAME = 'TOP_OF_PAGE'.

  WA_EVENT-FORM = 'TOP_OF_PAGE'.

  APPEND WA_EVENT TO IT_EVENTS.



*****Comments for top-of-page



  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      I_BUFFER_ACTIVE          = ' '

*     i_callback_program       = sy-repid

      I_CALLBACK_PROGRAM       = SY-CPROG

      I_CALLBACK_TOP_OF_PAGE   = 'TOP_OF_PAGE'

      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'

*     i_callback_pf_status_set = 'SET_PF_STATUS'

*     is_layout                = st_layout

      IT_FIELDCAT              = IT_FIELDCAT[]

*     it_events                = it_events[]

    TABLES

      T_OUTTAB                 = IT_FINAL.





ENDFORM.                    " DISPLAY_DATA



*----------------------------------------------------------*

*       FORM SET_PF_STATUS                                 *

*----------------------------------------------------------*

FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

  SET PF-STATUS 'STANDARD'.

  "Copy of 'STANDARD' pf_status from fgroup SALV

ENDFORM.                    "set_pf_status



*&---------------------------------------------------------------------*

*&      Form  USER_COMMAND

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM



RS_SELFIELD TYPE SLIS_SELFIELD.

  CASE RS_SELFIELD-FIELDNAME.

    WHEN 'EBELN'.

      CLEAR IT_FINAL.

      READ TABLE IT_FINAL INTO WA_OUTPUT INDEX RS_SELFIELD-TABINDEX.

      IF SY-SUBRC = 0.

*        IF it_final-EBELN <> ''.

        SET PARAMETER ID 'BES' FIELD WA_OUTPUT-EBELN.

        CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

*        ENDIF.

      ENDIF.

    WHEN 'BANFN'.

      CLEAR IT_FINAL.

      READ TABLE IT_FINAL  INTO WA_OUTPUT INDEX RS_SELFIELD-TABINDEX.

      IF SY-SUBRC = 0 .

*       IF it_final-BANFN <> ''.

        SET PARAMETER ID 'BAN' FIELD WA_OUTPUT-BANFN.

        CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.

*      ENDIF.

      ENDIF.



    WHEN 'BELNR'.

      CLEAR IT_FINAL.

      READ TABLE IT_FINAL  INTO WA_OUTPUT INDEX RS_SELFIELD-TABINDEX.

      IF SY-SUBRC = 0 .

*       IF it_final-BANFN <> ''.

        SET PARAMETER ID 'MBN' FIELD WA_OUTPUT-BELNR.

        SET PARAMETER ID 'MJA' FIELD WA_OUTPUT-GJAHR.

        CALL TRANSACTION 'MIGO' AND SKIP FIRST SCREEN.

*      ENDIF.

      ENDIF.

  ENDCASE.

ENDFORM.                    " USER_COMMAND

*&---------------------------------------------------------------------*

*&      Form  top_of_page

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

*FORM fill_headingtable TABLES p_heading STRUCTURE heading USING tablename .

FORM TOP_OF_PAGE .

  DATA : WA_HEADER TYPE  SLIS_LISTHEADER.

  DATA: T_HEADER TYPE SLIS_LISTHEADER OCCURS 0.

  REFRESH T_HEADER.

  DATA : DATE_1(30),

        DATE(12).

  DATA: DATE1(12),

         DATE2(12),

         TIME(8).

*  WRITE P_DATE TO DATE_1.

*  DATE_1 = SY-DATUM.

  WA_HEADER-TYP = 'H'.

  WA_HEADER-INFO = 'PR,PO and GR WITH LEAD TIME'.

  APPEND WA_HEADER TO T_HEADER.



  WA_HEADER-TYP = 'S'.

  WA_HEADER-KEY = 'Report Genrated By:'.

  WA_HEADER-INFO = SY-UNAME.

  APPEND WA_HEADER TO T_HEADER.

  CLEAR:WA_HEADER .



  WA_HEADER-TYP  = 'S'.

  WA_HEADER-KEY = 'Date: '.

  CONCATENATE  SY-DATUM+6(2) '.'

               SY-DATUM+4(2) '.'

               SY-DATUM(4) INTO WA_HEADER-INFO .   "todays date

  APPEND WA_HEADER TO T_HEADER.

  CLEAR: WA_HEADER.



  WA_HEADER-TYP = 'S'.

  WA_HEADER-KEY = 'Time:'.

  CONCATENATE SY-UZEIT+0(2) '.' SY-UZEIT+2(2)'.' SY-UZEIT+4(2) INTO TIME .

  WA_HEADER-INFO = TIME.

  APPEND WA_HEADER TO T_HEADER.

  CLEAR:WA_HEADER .



  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      IT_LIST_COMMENTARY = T_HEADER.



ENDFORM.                    "TOP_OF_PAGE


Viewing all articles
Browse latest Browse all 8644

Trending Articles