Are you the publisher? Claim or contact us about this channel


Embed this content in your HTML

Search

Report adult content:

click to rate:

Account: (login)

More Channels


Showcase


Channel Catalog


Channel Description:

Latest Forum Threads in SAP NetWeaver Technology Platform

older | 1 | .... | 3 | 4 | (Page 5) | 6 | 7 | .... | 76 | newer

    0 0

    Hi Guy's,

     

    The issue is when I begin to enter an expense report and click on the Cancel button.New display options are appearing on the expense management screen.Like we have Create, edit and Cancel button in the expense management screen. when I choose Cancel Button I am getting appearance as Modify where I can change the username as well. Please do let me know how to controll it.

    Its working fine in DEV  but the problem is in to Production.

     

    Regards,


    0 0

     

    Hi experts,

      

    I am setting up ERS instance for one portal production system. I want to use the HA Polling solution to control ERS which means one scritp enqtest.sh will be used.

      

    But unfortunely, I am not good at the unix script.

      

    So could you please provide a sample which will be apprecaited.

      

    My system is Portal 7.3, SCS instance is running on AIX LPAR and Clustered with HACMP with 2 nodes. PAS and DI is running on other Linux server

      

    ERS: ERS71

    SCS: SCS41

    Nodename: node1, node2

      

      

    Thanks and Regards,

    Kevin


    0 0

    Hi experts, 

    I am setting up ERS instance for one portal production system. I want to use the HA Polling solution to control ERS which means one scritp enqtest.sh will be used.

       

    But unfortunely, I am not good at the unix script.

       

    So could you please provide a sample which will be apprecaited.

       

    My system is Portal 7.3, SCS instance is running on AIX LPAR and Clustered with HACMP with 2 nodes. PAS and DI is running on other Linux server

       

    ERS: ERS71

    SCS: SCS41

    Nodename: node1, node2

       

       

    Thanks and Regards,

    Kevin


    0 0
  • 04/02/13--17:04: SAP SYSTEM COPY
  • Hello Experts,

     

     

    I want to make a system copy by export/import method. (R3load) but a I have the following questions:

     

    System info:

    SAP NW 7.0 EHP1

    Platform Source System: Winserver 2003 x32 bits / Oracle 10G

    Platform Target System: Winserver 2008 -x64 bits

     

    My initial plan is just to make a system copy to a higher OS versión but can I also  Install a higher DB ? I mean, Can I make the export using Oracle 10G and then install Oracle 11G in the target platform?, or  Do I have to  install Oracle 10G in the target platform and then make an oracle upgrade to 11G?

     

    Thanks in advance,

     

    JAM


    0 0

    Hi,

     

    We are planning to migrate SAP R/3 Enterprise 4.7x110 from AIX 5.1 to Windows Server 2003.

    The existing solution is on Cluster and we want the target system to be without cluster. So, is it possible to go with this scenario?

     

    Is there any specific pre-requisites to be followed?

    Can anyone share some guides / references for this ?

     

    Thanks,

    Gaurav


    0 0

    Hi experts,

     

    I am setting up ERS instance for one portal production system. I want to use the HA Polling solution to control ERS which means one scritp enqtest.sh will be used.

     

    But unfortunely, I am not good at the unix script.

     

    So could you please provide a sample which will be apprecaited.

     

    My system is Portal 7.3, SCS instance is running on AIX LPAR and Clustered with HACMP with 2 nodes. PAS and DI is running on other Linux server

     

    ERS: ERS71

    SCS: SCS41

    Nodename: node1, node2

     

     

    Thanks and Regards,

    Kevin


    0 0
  • 04/02/13--23:51: Enabling SNC in sap?
  • Hi All,

                    I would like to enable Security Network Connection (SNC)  in sap on linux platform.

    I have installed cryptolib and got certificate from STRUST.

     

    After enabling profile parameters in RZ10 , i am not able to login to the system.

     

    I have activated SNC in sapgui,  where username is p:username@domainname.com

     

    Please let me know where i went wrong..

     

     

    Regards

    Srikanth


    0 0
  • 04/01/13--02:56: EP Migration
  • Hi All,

     

    We have our EP Server running on Solaris 10 with Oracle DB. Now we wanted to migrate this EP Server from Old HW to New HW. We have done migration of ECC and Other ABAP Server(DB Restore method) in past but we are not sure on how to migrate EP Server as unlike ABAP stack, Java Stack has OS level files which needs to be migrated.

     

    Please let us know on the steps that are required to migrate EP Server.

     

    Thanks,

    Pradeep



    0 0
  • 04/03/13--05:56: Setup GRC tab on Central EP
  • Hi ,

     

    We have requirement where we need to setup GRC tab on central EP and Navigation should take us to the NWBC ui of GRC.

     

     

    Regards

    Sid


    0 0
  • 04/01/13--03:15: EP Migration
  • Hi All,

     

    We have our EP Server running on Solaris 10 with Oracle DB. Now we wanted to migrate this EP Server from Old HW to New HW. We have done migration of ECC and Other ABAP Server(DB Restore method) in past but we are not sure on how to migrate EP Server as unlike ABAP stack, Java Stack has OS level files which needs to be migrated.

     

    Please let us know on the steps that are required to migrate EP Server.

     

    Thanks,

    Pradeep



    0 0
  • 04/01/13--03:01: EP Migration
  • Hi All,


    We have our EP Server running on Solaris 10 with Oracle DB. Now we wanted to migrate this EP Server from Old Hardware to New Hardware. We have done migration of ECC and Other ABAP Server(DB Restore method) in past but we are not sure on how to migrate EP Server as unlike ABAP stack, Java Stack has OS level files which needs to be migrated.


    Please let us know on the steps that are required to migrate EP Server.


    Thanks,

    Jithin M


    0 0

    Hi,

     

    In our early watch report we are getting the status "Standard users including SAP* or DDIC have default password" with red color, Even when sap* and ddic are having password set other than default.

     

    Please let us know how i can resolve the problem.

     

    Rableen


    0 0

    Based on below report my client want to the sales order line item wise

     

    sales order number,wbs element,line item, customer name, sales order value(inr),Producion order, material number,order type, order quantity, production order quantity till lost year,prodution order quantity from 1aprial to current month of the this year fiscal year.....actual cost for the period 1st aprial to current month in that material cost, affloading, employee cost, sv activity, smm activity, sf activity, oh and total..based on that closing of the period material cost, affloading, employee cost, sv activity, smm activity, sf activity, oh and total........

     

     

     

     

    based of that my client want the report....

     

     

     

     

     

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

    *&  Include           YCO_WIP_LEDGER_FF

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

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

    *&      Form  F4_MONTH

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM F4_MONTH .

       TYPES: BEGIN OF LTY_MONTH,

                   FCMNR TYPE FCMNR,

                   MONTH TYPE CHAR10,

                  END OF LTY_MONTH.

       DATA: LT_MON TYPE STANDARD TABLE OF LTY_MONTH,

             LS_MON TYPE LTY_MONTH.

     

       DATA:LT_RETURN    TYPE TABLE OF DDSHRETVAL,

            LS_RETURN    LIKE LINE OF LT_RETURN.

     

       REFRESH LT_MON.

       CLEAR LS_MON.

     

       LS_MON-FCMNR = '01'.

       LS_MON-MONTH = 'April'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '02'.

       LS_MON-MONTH = 'May'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '03'.

       LS_MON-MONTH = 'June'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '04'.

       LS_MON-MONTH = 'July'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '05'.

       LS_MON-MONTH = 'August'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '06'.

       LS_MON-MONTH = 'September'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '07'.

       LS_MON-MONTH = 'October'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '08'.

       LS_MON-MONTH = 'November'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '09'.

       LS_MON-MONTH = 'December'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '10'.

       LS_MON-MONTH = 'January'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '11'.

       LS_MON-MONTH = 'February'.

       APPEND LS_MON TO LT_MON.

     

       LS_MON-FCMNR = '12'.

       LS_MON-MONTH = 'March'.

       APPEND LS_MON TO LT_MON.

     

       CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

         EXPORTING

           RETFIELD        = 'FCMNR'

           DYNPPROG        = SY-REPID

           DYNPNR          = SY-DYNNR

           VALUE_ORG       = 'S'

         TABLES

           VALUE_TAB       = LT_MON

           RETURN_TAB      = LT_RETURN

         EXCEPTIONS

           PARAMETER_ERROR = 1

           NO_VALUES_FOUND = 2

           OTHERS          = 3.

       IF SY-SUBRC <> 0.

         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ELSE.

         READ TABLE LT_RETURN INTO LS_RETURN INDEX 1.

         P_MON = LS_RETURN-FIELDVAL.

         CLEAR LS_RETURN.

       ENDIF.

    ENDFORM.                                                    " F4_MONTH

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

    *&      Form  VALIDATE_SCREEN

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM VALIDATE_SCREEN .

       IF P_SO = 'X'.

         LOOP AT SCREEN.

           IF SCREEN-GROUP1 = 'SOR'.

             SCREEN-INPUT = 1.

             SCREEN-INVISIBLE = 0.

             MODIFY SCREEN.

           ELSEIF SCREEN-GROUP1 = 'WBS'.

             SCREEN-INPUT = 0.

             SCREEN-INVISIBLE = 1.

             MODIFY SCREEN.

           ENDIF.

         ENDLOOP.

     

       ELSE.

         LOOP AT SCREEN.

           IF SCREEN-GROUP1 = 'SOR'.

             SCREEN-INPUT = 0.

             SCREEN-INVISIBLE = 1.

             MODIFY SCREEN.

           ELSEIF SCREEN-GROUP1 = 'WBS'.

             SCREEN-INPUT = 1.

             SCREEN-INVISIBLE = 0.

             MODIFY SCREEN.

           ENDIF.

         ENDLOOP.

       ENDIF.

    ENDFORM.                    " VALIDATE_SCREEN

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

    *&      Form  GET_POSTING_DATE

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM GET_POSTING_DATE .

       DATA: F_DATE TYPE SY-DATUM,

               LV_DATE TYPE CHAR8,

               LV_YYMM TYPE JVA_PROD_MONTH,

               L_DATE TYPE SY-DATUM,

               L_YEAR TYPE GJAHR,

               L_MON TYPE FCMNR.

     

    *----Get Posting Priod from Fiscal year and month

       CLEAR: L_YEAR, L_MON, L_DATE, F_DATE, LV_DATE.

       IF P_MON = '01'.

         L_YEAR = P_YEAR.

         L_MON = '04'.

       ELSEIF P_MON = '02'.

         L_YEAR = P_YEAR.

         L_MON = '05'.

       ELSEIF P_MON = '03'.

         L_YEAR = P_YEAR.

         L_MON = '06'.

       ELSEIF P_MON = '04'.

         L_YEAR = P_YEAR.

         L_MON = '07'.

       ELSEIF P_MON = '05'.

         L_YEAR = P_YEAR.

         L_MON = '08'.

       ELSEIF P_MON = '06'.

         L_YEAR = P_YEAR.

         L_MON = '09'.

       ELSEIF P_MON = '07'.

         L_YEAR = P_YEAR.

         L_MON = '10'.

       ELSEIF P_MON = '08'.

         L_YEAR = P_YEAR.

         L_MON = '11'.

       ELSEIF P_MON = '09'.

         L_YEAR = P_YEAR.

         L_MON = '12'.

       ELSEIF P_MON = '10'.

         L_YEAR = P_YEAR + 1.

         L_MON = '01'.

       ELSEIF P_MON = '11'.

         L_YEAR = P_YEAR + 1.

         L_MON = '02'.

       ELSEIF P_MON = '12'.

         L_YEAR = P_YEAR + 1.

         L_MON = '03'.

       ENDIF.

     

    *  CONCATENATE L_YEAR L_MON '01' INTO LV_DATE.

    *  CONCATENATE L_YEAR '04' '01' INTO LV_DATE.         " cOMMENT ON 28.02.2012 BY NiLESH PATEL

       CONCATENATE P_YEAR '04' '01' INTO LV_DATE.          " ADD ON 28.02.2012 BY NILESH PATEL

       F_DATE = LV_DATE.

     

       CONCATENATE L_YEAR L_MON INTO LV_YYMM.

       CALL FUNCTION 'JVA_LAST_DATE_OF_MONTH'

         EXPORTING

           YEAR_MONTH         = LV_YYMM

         IMPORTING

           LAST_DATE_OF_MONTH = L_DATE

         EXCEPTIONS

           INVALIDE_MONTH     = 1

           OTHERS            = 2.

       IF SY-SUBRC <> 0.

         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

     

       REFRESH S_DATE.

       S_DATE-SIGN = 'I'.

       S_DATE-OPTION = 'BT'.

       S_DATE-LOW = F_DATE.

       S_DATE-HIGH = L_DATE.

       APPEND S_DATE.

     

       REFRESH S_MON.

       S_MON-SIGN = 'I'.

       S_MON-OPTION = 'BT'.

       S_MON-LOW = '01'.

       S_MON-HIGH = P_MON.

       APPEND S_MON.

    ENDFORM.                    " GET_POSTING_DATE

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

    *&      Form  GET_DATA

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM GET_DATA .

    *-----Get Data according to Sales Order/item

       IF P_SO = 'X'.

    *----If user gives SO/item, then fetch from AFPO Table

         IF S_ORDER[] IS NOT INITIAL.

           SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

             FROM AFPO

             INTO TABLE GT_AFPO

             WHERE KDAUF IN S_ORDER

               AND KDPOS IN S_ITEM

               AND DAUAT IN S_TYPE.

         ELSE.

    *----If user gives only month & year, then take all orders from COEP table

           SELECT KOKRS BELNR BUZEI PERIO GJAHR OBJNR

             FROM COEP

             INTO TABLE GT_COEP

             WHERE PERIO IN S_MON

              AND GJAHR = P_YEAR

              AND OBJNR LIKE 'OR%'.

           IF GT_COEP[] IS NOT INITIAL.

             LOOP AT GT_COEP INTO GS_COEP.

               GS_COEP-AUFNR = GS_COEP-OBJNR+2(12).

               MODIFY GT_COEP FROM GS_COEP TRANSPORTING AUFNR.

             ENDLOOP.

             SORT GT_COEP BY AUFNR.

             DELETE ADJACENT DUPLICATES FROM GT_COEP COMPARING AUFNR.

    *-----According to COEP table, fetch SO/item from AFPO Table

             IF GT_COEP[] IS NOT INITIAL.

               SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

               FROM AFPO

               INTO TABLE GT_AFPO

                  FOR ALL ENTRIES IN GT_COEP

                  WHERE AUFNR = GT_COEP-AUFNR.

             ENDIF.

             GT_AFPO_C[] = GT_AFPO[].

             SORT GT_AFPO_C BY KDAUF KDPOS.

             DELETE ADJACENT DUPLICATES FROM GT_AFPO_C COMPARING KDAUF KDPOS.

             IF GT_AFPO_C[] IS NOT INITIAL.

               REFRESH GT_AFPO.

               SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

              FROM AFPO

              INTO TABLE GT_AFPO

               FOR ALL ENTRIES IN GT_AFPO_C

              WHERE KDAUF = GT_AFPO_C-KDAUF

                AND KDPOS = GT_AFPO_C-KDPOS

                AND DAUAT IN S_TYPE.

             ENDIF.

           ENDIF.

         ENDIF.

         REFRESH GT_AFPO_C.

         GT_AFPO_C[] = GT_AFPO[].

     

    *-----According to AFPO table, fetch SO/item details from VBAP Table

         SORT GT_AFPO BY KDAUF KDPOS.

         DELETE ADJACENT DUPLICATES FROM GT_AFPO COMPARING KDAUF KDPOS.

         IF GT_AFPO[] IS NOT INITIAL.

           SELECT VBELN POSNR PS_PSP_PNR MATNR ARKTX

             KWMENG AS ZMENG

             KZWI1

             FROM VBAP

             INTO TABLE GT_VBAP

             FOR ALL ENTRIES IN GT_AFPO

             WHERE VBELN = GT_AFPO-KDAUF

               AND POSNR = GT_AFPO-KDPOS.

     

    *** START Edition By Nilesh Patel on 03.03.2012 **********************************************

    *-----According to Sales Oredr ,Header Material, Fetch Sales price

           IF GT_VBAP[] IS NOT INITIAL.

             SELECT VBELN KNUMV FROM VBAK

               INTO TABLE GT_VBAK

               FOR ALL ENTRIES IN GT_VBAP

               WHERE VBELN = GT_VBAP-VBELN.

             IF GT_VBAK[] IS NOT INITIAL.

               DATA: IDX TYPE SY-TABIX.

               LOOP AT GT_VBAP INTO GS_VBAP.

                 IDX = SY-TABIX.

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY  VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   GS_VBAP-KNUMV = GS_VBAK-KNUMV.

                 ENDIF.

                 MODIFY GT_VBAP FROM GS_VBAP INDEX IDX TRANSPORTING KNUMV.

                 CLEAR GS_VBAP.

               ENDLOOP.

               SELECT KNUMV KPOSN KSCHL KBETR KWERT

                 FROM KONV

                 INTO TABLE GT_KONV

                 FOR ALL ENTRIES IN GT_VBAP

                 WHERE KNUMV = GT_VBAP-KNUMV

                   AND KPOSN = GT_VBAP-POSNR

                   AND KSCHL IN ('TPR1', 'TPR2', 'TPR3').

             ENDIF.

           ENDIF.

     

    *********** END Addotion by Nilesh Patel on 03.03.2012*****************************************

         ENDIF.

     

    *-----Get Data according to WBS Element

       ELSE.

    *----If user gives WBS, then fetch from AFPO Table

         IF S_WBS[] IS NOT INITIAL.

           SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

             FROM AFPO

             INTO TABLE GT_AFPO

             WHERE PROJN IN S_WBS

               AND DAUAT IN S_TYPE.

         ELSE.

    *----If user gives only month & year, then take all orders from COEP table

           SELECT KOKRS BELNR BUZEI PERIO GJAHR OBJNR

             FROM COEP

             INTO TABLE GT_COEP

             WHERE PERIO IN S_MON

              AND GJAHR = P_YEAR

              AND OBJNR LIKE 'OR%'.

           IF GT_COEP[] IS NOT INITIAL.

             LOOP AT GT_COEP INTO GS_COEP.

               GS_COEP-AUFNR = GS_COEP-OBJNR+2(12).

               MODIFY GT_COEP FROM GS_COEP TRANSPORTING AUFNR.

             ENDLOOP.

             SORT GT_COEP BY AUFNR.

             DELETE ADJACENT DUPLICATES FROM GT_COEP COMPARING AUFNR.

    *-----According to COEP table, fetch WBS from AFPO Table

             IF GT_COEP[] IS NOT INITIAL.

               SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

               FROM AFPO

               INTO TABLE GT_AFPO

               FOR ALL ENTRIES IN GT_COEP

               WHERE AUFNR = GT_COEP-AUFNR.

             ENDIF.

             GT_AFPO_C[] = GT_AFPO[].

             SORT GT_AFPO_C BY PROJN.

             DELETE ADJACENT DUPLICATES FROM GT_AFPO_C COMPARING PROJN.

             IF GT_AFPO_C[] IS NOT INITIAL.

               REFRESH GT_AFPO.  " Added 13.08.2011

               SELECT AUFNR POSNR KDAUF KDPOS PROJN DAUAT MATNR

               FROM AFPO

               INTO TABLE GT_AFPO

               FOR ALL ENTRIES IN GT_AFPO_C

               WHERE PROJN = GT_AFPO_C-PROJN

                 AND DAUAT IN S_TYPE.

             ENDIF.

           ENDIF.

         ENDIF.

     

         GT_AFPO_C[] = GT_AFPO[].

     

         SORT GT_AFPO BY PROJN.

         DELETE ADJACENT DUPLICATES FROM GT_AFPO COMPARING PROJN.

    *-----According to AFPO table, fetch WBS details from VBAP Table

         IF GT_AFPO[] IS NOT INITIAL.

           SELECT VBELN POSNR PS_PSP_PNR MATNR ARKTX

             KWMENG AS ZMENG KZWI1

             FROM VBAP

             INTO TABLE GT_VBAP

             FOR ALL ENTRIES IN GT_AFPO

             WHERE PS_PSP_PNR = GT_AFPO-PROJN.

    *         and PS_PSP_PNR is NOT NULL.

           DELETE GT_VBAP WHERE PS_PSP_PNR IS INITIAL.

    *-----According to Header Material, Fetch Agreed price only for WBS element

           IF GT_VBAP[] IS NOT INITIAL.

             SELECT VBELN KNUMV FROM VBAK

               INTO TABLE GT_VBAK

               FOR ALL ENTRIES IN GT_VBAP

               WHERE VBELN = GT_VBAP-VBELN.

             IF GT_VBAK[] IS NOT INITIAL.

    *          DATA: IDX TYPE SY-TABIX.

               LOOP AT GT_VBAP INTO GS_VBAP.

                 IDX = SY-TABIX.

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY  VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   GS_VBAP-KNUMV = GS_VBAK-KNUMV.

                 ENDIF.

                 MODIFY GT_VBAP FROM GS_VBAP INDEX IDX TRANSPORTING KNUMV.

                 CLEAR GS_VBAP.

               ENDLOOP.

               SELECT KNUMV KPOSN KSCHL KBETR KWERT

                 FROM KONV

                 INTO TABLE GT_KONV

                 FOR ALL ENTRIES IN GT_VBAP

                 WHERE KNUMV = GT_VBAP-KNUMV

                   AND KPOSN = GT_VBAP-POSNR

                   AND KSCHL IN ('TPA1', 'TPA2', 'TPA3').

             ENDIF.

           ENDIF.

         ENDIF.

       ENDIF.

     

    *----Fetch Current month opening inventory from Ztable

       SELECT * FROM YCO_RECON_OPEN INTO TABLE GT_OPEN

         WHERE ZYEAR  = P_YEAR

           AND VBELN  IN S_ORDER

           AND POSNR  IN S_ITEM

           AND PROJN  IN S_WBS

           AND AUART IN S_TYPE.

     

    *----Prepare Final SO/item or WBS with is in WIP

       PERFORM GET_GR_DETAILS.

     

       SORT GT_AFPO_C BY AUFNR.

       DELETE ADJACENT DUPLICATES FROM GT_AFPO_C COMPARING AUFNR.

     

    *----Fetch Standard material Cost

       PERFORM FETCH_STD_MAT_COST.

     

    *----Fetch Booked Cost

       PERFORM FETCH_COST_BOOK.

     

    *----Fetch Standard Time

       PERFORM GET_STANDARD_TIME.

     

    *----Fetch Actual Time

       PERFORM GET_ACTUAL_TIME.

    ENDFORM.                    " GET_DATA

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

    *&      Form  GET_GR_DETAILS

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM GET_GR_DETAILS .

       DATA: GS_MSEG1 TYPE GTY_MSEG.

    *----Fetch GR Data of this month according to SO/item or WBS

       IF GT_VBAP[] IS NOT INITIAL.

         IF P_SO = 'X'.

           SELECT MBLNR_I MJAHR_I ZEILE_I BUDAT BWART_I KDAUF_I KDPOS_I PS_PSP_PNR_I SMBLN_I SMBLP_I AUFNR_I MENGE_I MEINS_I

             FROM WB2_V_MKPF_MSEG2

             INTO TABLE GT_MSEG

             FOR ALL ENTRIES IN GT_VBAP

             WHERE KDAUF_I = GT_VBAP-VBELN

               AND KDPOS_I = GT_VBAP-POSNR

               AND BWART_I IN ('321', '322')

               AND AUFNR_I NE ' '

               AND XAUTO_I = ' '

               AND BUDAT IN S_DATE.

         ELSE.

           SELECT MBLNR_I MJAHR_I ZEILE_I BUDAT BWART_I KDAUF_I KDPOS_I PS_PSP_PNR_I SMBLN_I SMBLP_I AUFNR_I MENGE_I MEINS_I

            FROM WB2_V_MKPF_MSEG2

            INTO TABLE GT_MSEG

            FOR ALL ENTRIES IN GT_VBAP

            WHERE PS_PSP_PNR_I = GT_VBAP-PS_PSP_PNR

             AND BWART_I IN ('321', '322')

             AND AUFNR_I NE ' '

             AND XAUTO_I = ' '

             AND BUDAT IN S_DATE.

         ENDIF.

       ENDIF.

     

    *----Calculate GR qty excluding reversal of 321 mvt

       LOOP AT GT_MSEG INTO GS_MSEG WHERE BWART_I = '321'.

         READ TABLE GT_MSEG INTO GS_MSEG1 WITH KEY SMBLN_I = GS_MSEG-MBLNR_I

                                                   SMBLP_I = GS_MSEG-ZEILE_I

                                                   BWART_I = '322'.

         IF SY-SUBRC = 0.

           GS_GR-MENGE_I = GS_MSEG-MENGE_I - GS_MSEG1-MENGE_I.

         ELSE.

           GS_GR-MENGE_I = GS_MSEG-MENGE_I.

         ENDIF.

         GS_GR-KDAUF_I       = GS_MSEG-KDAUF_I.

         GS_GR-KDPOS_I       = GS_MSEG-KDPOS_I.

         GS_GR-PS_PSP_PNR_I = GS_MSEG-PS_PSP_PNR_I.

         IF GS_GR-MENGE_I IS NOT INITIAL.

            GS_GR-MEINS_I   = GS_MSEG-MEINS_I.              " Add By Nilesh Patel on 22.12.2011

           COLLECT GS_GR INTO GT_GR.

         ENDIF.

         CLEAR: GS_GR, GS_MSEG, GS_MSEG1.

       ENDLOOP.

     

       REFRESH GT_CLOSE.

       IF P_SO = 'X'.

         LOOP AT GT_GR INTO GS_GR.

           READ TABLE GT_OPEN INTO GS_OPEN WITH KEY VBELN = GS_GR-KDAUF_I

                                                    POSNR = GS_GR-KDPOS_I.

           IF SY-SUBRC = 0.

             IF GS_OPEN-CLOSEINV = GS_GR-MENGE_I.

               GS_CLOSE-KDAUF       = GS_GR-KDAUF_I.

               GS_CLOSE-KDPOS       = GS_GR-KDPOS_I.

               GS_CLOSE-PS_PSP_PNR  = GS_GR-PS_PSP_PNR_I.

               GS_CLOSE-MENGE       = GS_GR-MENGE_I.

               APPEND GS_CLOSE TO GT_CLOSE.

    *          DELETE GT_VBAP   WHERE VBELN = GS_GR-KDAUF_I   AND POSNR = GS_GR-KDPOS_I.

    *          DELETE GT_AFPO   WHERE KDAUF = GS_GR-KDAUF_I   AND KDPOS = GS_GR-KDPOS_I.

    *          DELETE GT_GR     WHERE KDAUF_I = GS_GR-KDAUF_I AND KDPOS_I = GS_GR-KDPOS_I.

    *          DELETE GT_AFPO_C WHERE KDAUF = GS_GR-KDAUF_I   AND KDPOS = GS_GR-KDPOS_I.

             ENDIF.

           ELSE.

             READ TABLE GT_VBAP INTO GS_VBAP WITH KEY VBELN = GS_GR-KDAUF_I

                                                    POSNR = GS_GR-KDPOS_I.

             IF SY-SUBRC = 0.

               IF GS_VBAP-ZMENG       = GS_GR-MENGE_I.

                 GS_CLOSE-KDAUF       = GS_GR-KDAUF_I.

                 GS_CLOSE-KDPOS       = GS_GR-KDPOS_I.

                 GS_CLOSE-MENGE       = GS_GR-MENGE_I.

                 APPEND GS_CLOSE TO GT_CLOSE.

    *            DELETE GT_VBAP   WHERE VBELN = GS_GR-KDAUF_I   AND POSNR = GS_GR-KDPOS_I.

    *            DELETE GT_AFPO   WHERE KDAUF = GS_GR-KDAUF_I   AND KDPOS = GS_GR-KDPOS_I.

    *            DELETE GT_GR     WHERE KDAUF_I = GS_GR-KDAUF_I AND KDPOS_I = GS_GR-KDPOS_I.

    *            DELETE GT_AFPO_C WHERE KDAUF = GS_GR-KDAUF_I   AND KDPOS = GS_GR-KDPOS_I.

               ENDIF.

             ENDIF.

           ENDIF.

           CLEAR: GS_GR, GS_CLOSE.

         ENDLOOP.

     

       ELSE.

     

         LOOP AT GT_GR INTO GS_GR.

           READ TABLE GT_OPEN INTO GS_OPEN WITH KEY PROJN = GS_GR-PS_PSP_PNR_I.

           IF SY-SUBRC = 0.

             IF GS_OPEN-CLOSEINV = GS_GR-MENGE_I.

               GS_CLOSE-PS_PSP_PNR  = GS_GR-PS_PSP_PNR_I.

               GS_CLOSE-MENGE       = GS_GR-MENGE_I.

               APPEND GS_CLOSE TO GT_CLOSE.

    *          DELETE GT_VBAP   WHERE PS_PSP_PNR   = GS_GR-PS_PSP_PNR_I.

    *          DELETE GT_AFPO   WHERE PROJN        = GS_GR-PS_PSP_PNR_I.

    *          DELETE GT_GR     WHERE PS_PSP_PNR_I = GS_GR-PS_PSP_PNR_I.

    *          DELETE GT_AFPO_C WHERE PROJN        = GS_GR-PS_PSP_PNR_I.

             ENDIF.

           ELSE.

             READ TABLE GT_VBAP INTO GS_VBAP WITH KEY PS_PSP_PNR = GS_GR-PS_PSP_PNR_I.

             IF SY-SUBRC = 0.

               IF GS_VBAP-ZMENG       = GS_GR-MENGE_I.

                 GS_CLOSE-PS_PSP_PNR  = GS_GR-PS_PSP_PNR_I.

                 GS_CLOSE-MENGE       = GS_GR-MENGE_I.

                 APPEND GS_CLOSE TO GT_CLOSE.

    *            DELETE GT_VBAP   WHERE PS_PSP_PNR   = GS_GR-PS_PSP_PNR_I.

    *            DELETE GT_AFPO   WHERE PROJN        = GS_GR-PS_PSP_PNR_I.

    *            DELETE GT_GR     WHERE PS_PSP_PNR_I = GS_GR-PS_PSP_PNR_I.

    *            DELETE GT_AFPO_C WHERE PROJN        = GS_GR-PS_PSP_PNR_I.

               ENDIF.

             ENDIF.

           ENDIF.

           CLEAR: GS_GR, GS_CLOSE.

         ENDLOOP.

       ENDIF.

    ENDFORM.                    " GET_GR_DETAILS

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

    *&      Form  FETCH_STD_MAT_COST

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM FETCH_STD_MAT_COST .

       IF GT_VBAP[] IS NOT INITIAL.

         IF P_SO = 'X'.

           SELECT KALNR KALKA KADKY MATNR VBELN POSNR

             FROM KEKO

             INTO TABLE GT_KEKO

             FOR ALL ENTRIES IN GT_VBAP

             WHERE VBELN = GT_VBAP-VBELN

               AND POSNR = GT_VBAP-POSNR

               AND MATNR = GT_VBAP-MATNR

               AND KALKA = '18'.

           IF SY-SUBRC = 0.

             SELECT KALNR KALKA KADKY KKZST KST001 KST002 KST004 KST005 KST007

               FROM KEPH

               INTO TABLE GT_KEPH

               FOR ALL ENTRIES IN GT_KEKO

               WHERE KALNR = GT_KEKO-KALNR

                 AND KKZST = ' '.

           ENDIF.

     

         ELSE.

           SELECT KALNR KALKA KADKY MATNR VBELN POSNR

             FROM KEKO

             INTO TABLE GT_KEKO

             FOR ALL ENTRIES IN GT_VBAP

             WHERE MATNR = GT_VBAP-MATNR

               AND KADKY IN S_DATE

               AND KALKA = '01'.

           IF SY-SUBRC = 0.

             SELECT KALNR KALKA KADKY KKZST KST001 KST002 KST004 KST005 KST007

               FROM KEPH

               INTO TABLE GT_KEPH

               FOR ALL ENTRIES IN GT_KEKO

               WHERE KALNR = GT_KEKO-KALNR

                 AND KKZST = ' '.

           ENDIF.

         ENDIF.

       ENDIF.

    ENDFORM.                    " FETCH_STD_MAT_COST

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

    *&      Form  FETCH_COST_BOOK

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM FETCH_COST_BOOK .

       DATA: LV_OBJNR TYPE COEP-OBJNR.

       REFRESH GT_MSEG.

    *  IF GT_VBAP[] IS NOT INITIAL.         "" COmment START on 29.08.2011 By Nilesh Patel ***************

    *    refresh s_matnr.

    *    s_matnr-sign = 'I'.

    *    s_matnr-option = 'BT'.

    *    s_matnr-low = '000000007000000000'.

    *    CALL FUNCTION 'CONVERSION_EXIT_CCMAT_INPUT'

    *      EXPORTING

    *        INPUT         = s_matnr-low

    *     IMPORTING

    *       OUTPUT        = s_matnr-low.

    *

    *    s_matnr-high = '000000007999999999'.

    *    CALL FUNCTION 'CONVERSION_EXIT_CCMAT_INPUT'

    *      EXPORTING

    *        INPUT         = s_matnr-high

    *     IMPORTING

    *       OUTPUT        = s_matnr-high.

    *    append s_matnr.

     

    " COmment START on 29.08.2011 By Nilesh Patel ***************

    *    IF P_SO = 'X'.

    *      SELECT MBLNR_I MJAHR_I ZEILE_I BUDAT BWART_I KDAUF_I KDPOS_I PS_PSP_PNR_I

    *          SMBLN_I SMBLP_I AUFNR_I MENGE_I LGORT_I MATNR_I MAT_KDAUF_I MAT_KDPOS_I MAT_PSPNR_I

    *        FROM WB2_V_MKPF_MSEG2

    *        INTO TABLE GT_MSEG

    *        FOR ALL ENTRIES IN GT_VBAP

    *        WHERE MAT_KDAUF_I = GT_VBAP-VBELN

    *          AND MAT_KDPOS_I = GT_VBAP-POSNR

    *          AND AUFNR_I EQ  ''

    *          AND SHKZG_I = 'S'

    *          AND BWART_I IN ('101', '102', '413', '415', '561', '301', '309', '412', '413', '414', '415', '416', '221', '222', '281', '282').

    **          AND MATNR_I in s_matnr "LIKE '000000007%'

    **          AND BUDAT IN S_DATE.

    *    ELSE.

    *      SELECT MBLNR_I MJAHR_I ZEILE_I BUDAT BWART_I KDAUF_I KDPOS_I PS_PSP_PNR_I

    *          SMBLN_I SMBLP_I AUFNR_I MENGE_I LGORT_I MATNR_I MAT_KDAUF_I MAT_KDPOS_I MAT_PSPNR_I

    *       FROM WB2_V_MKPF_MSEG2

    *       INTO TABLE GT_MSEG

    *       FOR ALL ENTRIES IN GT_VBAP

    *       WHERE MAT_PSPNR_I = GT_VBAP-PS_PSP_PNR

    *        AND AUFNR_I = ''

    *        AND SHKZG_I = 'S'

    *        AND BWART_I IN ('101', '102', '413', '415', '561', '301', '309', '412', '413', '414', '415', '416', '221', '222', '281', '282').

    **        AND MATNR_I  not LIKE '000000007%'

    **        AND BUDAT IN S_DATE.

    *    ENDIF.

    *  ENDIF.

    *  DELETE GT_MSEG WHERE LGORT_I = 'SF01'.

    *  DELETE GT_MSEG WHERE LGORT_I = 'FG01'.

    *  SORT GT_MSEG BY MATNR_I.

     

    *  DELETE ADJACENT DUPLICATES FROM GT_MSEG COMPARING MATNR_I.

     

    ******* Comment END on 29.08.2011 By Nilesh Patel **********************

     

       REFRESH GT_COEP.

       BREAK HPABAP.

       IF GT_AFPO_C[] IS NOT INITIAL.

         LOOP AT GT_AFPO_C INTO GS_AFPO_C.

           CONCATENATE 'OR' GS_AFPO_C-AUFNR INTO LV_OBJNR.

           GS_AFPO_C-OBJNR = LV_OBJNR.

           MODIFY GT_AFPO_C FROM GS_AFPO_C TRANSPORTING OBJNR.

           CLEAR: GS_AFPO_C, LV_OBJNR.

         ENDLOOP.

         SELECT KOKRS BELNR BUZEI PERIO GJAHR OBJNR KSTAR MATNR WRTTP BEKNZ WTGBTR MEGBTR

           FROM COEP

           INTO TABLE GT_COEP

           FOR ALL ENTRIES IN GT_AFPO_C

           WHERE PERIO IN S_MON

             AND GJAHR = P_YEAR

             AND OBJNR = GT_AFPO_C-OBJNR

             AND WRTTP = '04'

             AND BEKNZ IN ('S', 'H').

         IF SY-SUBRC = 0.

           SORT GT_AFPO_C BY OBJNR MATNR.

           SORT GT_COEP BY OBJNR MATNR.

           LOOP AT GT_COEP INTO GS_COEP." where beknz = 'D' or beknz = 'C'.

             IF GS_COEP-BEKNZ = 'H'.

    *          GS_COEP-WTGBTR = GS_COEP-WTGBTR * ( -1 ).                  " Comment on 29.08.2011 By Nilesh Patel

                GS_COEP-WTGBTR = GS_COEP-WTGBTR .                           " Add on 29.08.2011 By Nilesh Patel

             ENDIF.

             READ TABLE GT_AFPO_C INTO GS_AFPO_C WITH KEY OBJNR = GS_COEP-OBJNR.

             IF SY-SUBRC = 0.

               GS_BOOK-VBELN      = GS_AFPO_C-KDAUF.

               GS_BOOK-POSNR      = GS_AFPO_C-KDPOS.

               GS_BOOK-PS_PSP_PNR = GS_AFPO_C-PROJN.

    *        ENDIF.

     

               IF GS_COEP-KSTAR = '0003002003'"Offloading

                 GS_BOOK-BK_OFF = GS_COEP-WTGBTR.

               ELSEIF GS_COEP-KSTAR = '0007430000'"SVM

                 GS_BOOK-BK_SVM = GS_COEP-WTGBTR.

               ELSEIF GS_COEP-KSTAR = '0007430001'"SFM

                 GS_BOOK-BK_SFM = GS_COEP-WTGBTR.

               ELSEIF GS_COEP-KSTAR = '0007430010'"SMM

                 GS_BOOK-BK_SMM = GS_COEP-WTGBTR.

               ELSEIF GS_COEP-KSTAR = '0009410000'"COH

                 GS_BOOK-BK_COH = GS_COEP-WTGBTR.

               ELSE.

      " Remove Comment STRAT By Nilesh Patel

    *          READ TABLE GT_AFPO_C INTO GS_AFPO_C WITH KEY MATNR = GS_COEP-MATNR.       " Comment on 20.12.2011

    *          IF SY-SUBRC NE 0.

    *            GS_BOOK-BK_MATC = GS_COEP-WTGBTR.

     

    ************* STRAT Addition on 20.12.2011 By Nilesh Patel ***************************

               READ TABLE GT_AFPO_C INTO GS_AFPO_C WITH KEY OBJNR = GS_COEP-OBJNR.

                 IF SY-SUBRC = 0.

                   IF P_SO = 'X'.

                     READ TABLE GT_AFPO_C INTO GS_AFPO WITH KEY KDAUF = GS_AFPO_C-KDAUF

                                                                KDPOS = GS_AFPO_C-KDPOS

                                                                MATNR = GS_COEP-MATNR.

                     IF SY-SUBRC NE 0.

                       GS_BOOK-BK_MATC = GS_COEP-WTGBTR.

                     ELSE.

                       CLEAR: GS_BOOK, GS_COEP, GS_AFPO_C,GS_AFPO,GS_VBAP.

                       CONTINUE.

                     ENDIF.

                   ELSE.

                     READ TABLE GT_AFPO_C INTO GS_AFPO WITH KEY PROJN = GS_AFPO_C-PROJN

                                                                MATNR = GS_COEP-MATNR.

                     IF SY-SUBRC NE 0.

                       GS_BOOK-BK_MATC = GS_COEP-WTGBTR.

                     ELSE.

                       CLEAR: GS_BOOK, GS_COEP,GS_AFPO_C,GS_AFPO,GS_VBAP.

                       CONTINUE.

                     ENDIF.

                   ENDIF.

    ************* END Addition on 20.12.2011 By Nilesh Patel

               ELSE.

                 CLEAR: GS_BOOK, GS_COEP, GS_AFPO_C.

                 CONTINUE.

               ENDIF.

    *            if gs_coep-matnr+8(1) = '7'.

     

         " Comment START By Nilesh Patel

    *            IF P_SO = 'X'.

    *              READ TABLE GT_MSEG INTO GS_MSEG WITH KEY MAT_KDAUF_I = GS_AFPO_C-KDAUF

    *                                                       MAT_KDPOS_I = GS_AFPO_C-KDPOS

    *                                                       MATNR_I = GS_COEP-MATNR.

    *              IF SY-SUBRC EQ 0.

    *                GS_BOOK-BK_MATC = GS_COEP-WTGBTR.

    *              ELSE.

    *                CLEAR: GS_BOOK, GS_COEP, GS_AFPO_C.

    *                CONTINUE.

    *              ENDIF.

    *            ELSE.

    *              READ TABLE GT_MSEG INTO GS_MSEG WITH KEY MAT_PSPNR_I = GS_AFPO_C-PROJN

    *                                                       MATNR_I     = GS_COEP-MATNR.

    *              IF SY-SUBRC EQ 0.

    *                GS_BOOK-BK_MATC = GS_COEP-WTGBTR.

    *              ELSE.

    *                CLEAR: GS_BOOK, GS_COEP, GS_AFPO_C.

    *                CONTINUE.

    *              ENDIF.

    *            ENDIF.

          " Comment END By Nilesh Patel

     

               ENDIF.

               GS_BOOK-BK_TOTAL = GS_BOOK-BK_MATC + GS_BOOK-BK_SMM + GS_BOOK-BK_SVM

                                 + GS_BOOK-BK_SFM + GS_BOOK-BK_COH + GS_BOOK-BK_OFF.

               COLLECT GS_BOOK INTO GT_BOOK.

             ENDIF.

             CLEAR: GS_BOOK, GS_COEP, GS_AFPO_C.

           ENDLOOP.

           DELETE GT_BOOK WHERE VBELN IS INITIAL AND PS_PSP_PNR IS INITIAL.

         ENDIF.

     

       ENDIF.

    ENDFORM.                    " FETCH_COST_BOOK

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

    *&      Form  GET_STANDARD_TIME

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM GET_STANDARD_TIME .

       IF P_SO = 'X'.

         IF GT_VBAP[] IS NOT INITIAL.

           SELECT AUFNR AUFPL KDAUF KDPOS PSPEL

             FROM CAUFV

             INTO TABLE GT_CAUFV

             FOR ALL ENTRIES IN GT_VBAP

             WHERE KDAUF = GT_VBAP-VBELN

               AND KDPOS = GT_VBAP-POSNR.

           IF SY-SUBRC = 0.

             SELECT AUFPL BMSCH VGW01 VGW02 VGW03

               FROM AFVV

               INTO TABLE GT_AFVV

               FOR ALL ENTRIES IN GT_CAUFV

               WHERE AUFPL = GT_CAUFV-AUFPL.

             SELECT AUFNR PROJN PGMNG

               FROM AFPO

               INTO TABLE GT_AFPO_Q

               FOR ALL ENTRIES IN GT_CAUFV

               WHERE AUFNR = GT_CAUFV-AUFNR.

           ENDIF.

         ENDIF.

         LOOP AT GT_CAUFV INTO GS_CAUFV.

           GS_STIME-KDAUF = GS_CAUFV-KDAUF.

           GS_STIME-KDPOS = GS_CAUFV-KDPOS.

           READ TABLE GT_AFVV INTO GS_AFVV WITH KEY AUFPL = GS_CAUFV-AUFPL.

           IF SY-SUBRC = 0.

             READ TABLE GT_AFPO_Q INTO GS_AFPO_Q WITH KEY AUFNR = GS_CAUFV-AUFNR.

             IF SY-SUBRC = 0 .

               GS_STIME-STIME = ( GS_AFVV-VGW01 * GS_AFPO_Q-PGMNG ) / 60.

    *          GS_STIME-STIME = ( ( GS_AFVV-VGW01 + GS_AFVV-VGW02 + GS_AFVV-VGW03 ) * GS_AFPO_Q-PGMNG ) / 60.

             ENDIF.

           ENDIF.

           COLLECT GS_STIME INTO GT_STIME.

           CLEAR: GS_STIME, GS_CAUFV.

         ENDLOOP.

     

       ELSE.

    *    IF GT_VBAP[] IS NOT INITIAL.

    *      SELECT AUFNR AUFPL KDAUF KDPOS PSPEL

    *        FROM CAUFV

    *        INTO TABLE GT_CAUFV

    *        FOR ALL ENTRIES IN GT_VBAP

    *        WHERE PSPEL = GT_VBAP-PS_PSP_PNR.

    *      IF SY-SUBRC = 0.

    *        SELECT AUFPL BMSCH VGW01 VGW02 VGW03

    *          FROM AFVV

    *          INTO TABLE GT_AFVV

    *          FOR ALL ENTRIES IN GT_CAUFV

    *          WHERE AUFPL = GT_CAUFV-AUFPL.

    *        SELECT AUFNR PGMNG

    *          FROM AFPO

    *          INTO TABLE GT_AFPO_Q

    *          FOR ALL ENTRIES IN GT_CAUFV

    *          WHERE AUFNR = GT_CAUFV-AUFNR.

    *      ENDIF.

    *    ENDIF.

         IF GT_VBAP[] IS NOT INITIAL.

           SELECT AUFNR PROJN PGMNG

               FROM AFPO

               INTO TABLE GT_AFPO_Q

             FOR ALL ENTRIES IN GT_VBAP

             WHERE PROJN = GT_VBAP-PS_PSP_PNR

               AND DAUTY = '10'.

           IF SY-SUBRC = 0.

             SELECT AUFNR AUFPL

               FROM AFKO

               INTO TABLE GT_AFKO

               FOR ALL ENTRIES IN GT_AFPO_Q

               WHERE AUFNR = GT_AFPO_Q-AUFNR.

             IF SY-SUBRC = 0.

               SELECT AUFPL BMSCH VGW01 VGW02 VGW03

                 FROM AFVV

                 INTO TABLE GT_AFVV

                 FOR ALL ENTRIES IN GT_AFKO

                 WHERE AUFPL = GT_AFKO-AUFPL.

             ENDIF.

           ENDIF.

         ENDIF.

     

    *    LOOP AT GT_CAUFV INTO GS_CAUFV.

    *      GS_STIME-PSPEL = GS_CAUFV-PSPEL.

    *      READ TABLE GT_AFVV INTO GS_AFVV WITH KEY AUFPL = GS_CAUFV-AUFPL.

    *      IF SY-SUBRC = 0.

    *        READ TABLE GT_AFPO_Q INTO GS_AFPO_Q WITH KEY AUFNR = GS_CAUFV-AUFNR.

    *        IF SY-SUBRC = 0 .

    **          GS_STIME-STIME = ( ( GS_AFVV-VGW01 + GS_AFVV-VGW02 + GS_AFVV-VGW03 ) * GS_AFPO_Q-PGMNG ) / 60.

    *          GS_STIME-STIME = ( GS_AFVV-VGW01 * GS_AFPO_Q-PGMNG ) / 60.

    *        ENDIF.

    *      ENDIF.

    *      COLLECT GS_STIME INTO GT_STIME.

    *      CLEAR: GS_STIME, GS_CAUFV.

    *    ENDLOOP.

     

         LOOP AT GT_AFVV INTO GS_AFVV.

           READ TABLE GT_AFKO INTO GS_AFKO WITH KEY AUFPL = GS_AFVV-AUFPL.

           IF SY-SUBRC = 0.

             READ TABLE GT_AFPO_Q INTO GS_AFPO_Q WITH KEY AUFNR = GS_AFKO-AUFNR.

             IF SY-SUBRC = 0 .

               GS_STIME-PSPEL = GS_AFPO_Q-PROJN.

               GS_STIME-STIME = ( GS_AFVV-VGW01 * GS_AFPO_Q-PGMNG ) / 60.

             ENDIF.

           ENDIF.

           COLLECT GS_STIME INTO GT_STIME.

           CLEAR: GS_STIME, GS_AFVV.

         ENDLOOP.

       ENDIF.

    ENDFORM.                    " GET_STANDARD_TIME

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

    *&      Form  GET_ACTUAL_TIME

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM GET_ACTUAL_TIME .

       IF P_SO = 'X'.

         LOOP AT GT_COEP INTO GS_COEP WHERE KSTAR = '0007430010'.

    *                                   OR KSTAR = '0007430001'

    *                                   OR KSTAR = '0007430000'.

           READ TABLE GT_AFPO_C INTO GS_AFPO_C WITH KEY OBJNR = GS_COEP-OBJNR.

           IF SY-SUBRC = 0.

             GS_ATIME-KDAUF  = GS_AFPO_C-KDAUF.

             GS_ATIME-KDPOS  = GS_AFPO_C-KDPOS.

             GS_ATIME-MEGBTR = GS_COEP-MEGBTR .

             COLLECT GS_ATIME INTO GT_ATIME.

           ENDIF.

           CLEAR: GS_ATIME, GS_COEP, GS_AFPO_C.

         ENDLOOP.

       ELSE.

         LOOP AT GT_COEP INTO GS_COEP WHERE KSTAR = '0007430010'.

    *                                 OR KSTAR = '0007430001'

    *                                 OR KSTAR = '0007430000'.

           READ TABLE GT_AFPO_C INTO GS_AFPO_C WITH KEY OBJNR = GS_COEP-OBJNR.

           IF SY-SUBRC = 0.

             GS_ATIME-PROJN  = GS_AFPO_C-PROJN.

             GS_ATIME-MEGBTR = GS_COEP-MEGBTR .

             COLLECT GS_ATIME INTO GT_ATIME.

           ENDIF.

           CLEAR: GS_ATIME, GS_COEP, GS_AFPO_C.

         ENDLOOP.

       ENDIF.

    ENDFORM.                    " GET_ACTUAL_TIME

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

    *&      Form  PROCESS_DATA

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM PROCESS_DATA .

       DATA: LV_SALES TYPE KZWI1,

             LV_LINE TYPE I.

     

       LOOP AT GT_VBAP INTO GS_VBAP.

         CLEAR LV_LINE.

         GS_FINAL-VBELN = GS_VBAP-VBELN.             "Sales Order

         GS_FINAL-POSNR = GS_VBAP-POSNR.             "SO Item

         GS_FINAL-PS_PSP_PNR = GS_VBAP-PS_PSP_PNR.   "WBS Element

         GS_FINAL-MATNR  = GS_VBAP-MATNR.            "Header material

         GS_FINAL-ARKTX  = GS_VBAP-ARKTX.            "Material Description

         GS_FINAL-ZMENG  = GS_VBAP-ZMENG.            "Quantity

         GS_FINAL-KZWI1  = GS_VBAP-KZWI1.            "Value

         READ TABLE GT_VBAK INTO GS_VBAK WITH KEY VBELN = GS_VBAP-VBELN.

         IF SY-SUBRC = 0.

           READ TABLE GT_KONV INTO GS_KONV WITH KEY KNUMV = GS_VBAP-KNUMV

                                                    KPOSN = GS_VBAP-POSNR.

           IF SY-SUBRC = 0.

             IF P_SO NE 'X'.                       " Add By Nilesh Patel;

                GS_FINAL-KWERT = GS_KONV-KWERT.         "Agreed Price

             ENDIF.

    *        GS_FINAL-KWERT = GS_KONV-KWERT.         "Agreed Price

           ENDIF.

         ENDIF.

    *---For Sales order/item-----

         IF P_SO = 'X'.

     

           MOVE-CORRESPONDING GS_FINAL TO GS_FINAL1.

           CLEAR: GS_FINAL1-ZMENG, GS_FINAL1-KZWI1, GS_FINAL1-KWERT.

           LOOP AT GT_AFPO_C INTO GS_AFPO_C WHERE KDAUF = GS_VBAP-VBELN

                                              AND KDPOS = GS_VBAP-POSNR

                                              AND MATNR = GS_VBAP-MATNR.

     

             LV_LINE = LV_LINE + 1.

             IF LV_LINE = 1.

               GS_FINAL-AUFNR = GS_AFPO_C-AUFNR.          "Production Order

               GS_FINAL-DAUAT = GS_AFPO_C-DAUAT.          "Order Type

               READ TABLE GT_OPEN INTO GS_OPEN WITH KEY VBELN = GS_VBAP-VBELN

                                                        POSNR = GS_VBAP-POSNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-CLOSEINV = GS_OPEN-CLOSEINV.

                 GS_FINAL-MEINS    = GS_OPEN-MEINS.

                 GS_FINAL-OP_MATC  = GS_OPEN-MATCOST.

                 GS_FINAL-OP_SMM   = GS_OPEN-SMM.

                 GS_FINAL-OP_SVM   = GS_OPEN-SVM.

                 GS_FINAL-OP_SFM   = GS_OPEN-SFM.

                 GS_FINAL-OP_COH   = GS_OPEN-COH.

                 GS_FINAL-OP_OFF   = GS_OPEN-OFFLOAD.

                 GS_FINAL-OP_TOTAL = GS_OPEN-TOTAL.

                 DELETE GT_OPEN INDEX SY-TABIX.

               ENDIF.

     

               READ TABLE GT_BOOK INTO GS_BOOK WITH KEY VBELN = GS_VBAP-VBELN

                                                        POSNR = GS_VBAP-POSNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-BK_MATC  = GS_BOOK-BK_MATC.

                 GS_FINAL-BK_SMM   = GS_BOOK-BK_SMM.

                 GS_FINAL-BK_SVM   = GS_BOOK-BK_SVM.

                 GS_FINAL-BK_SFM   = GS_BOOK-BK_SFM.

                 GS_FINAL-BK_COH   = GS_BOOK-BK_COH.

                 GS_FINAL-BK_OFF   = GS_BOOK-BK_OFF.

                 GS_FINAL-BK_TOTAL = GS_BOOK-BK_TOTAL.

               ENDIF.

     

               READ TABLE GT_GR INTO GS_GR WITH KEY KDAUF_I = GS_VBAP-VBELN

                                                    KDPOS_I = GS_VBAP-POSNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-CP_QTY   = GS_GR-MENGE_I.

                 GS_FINAL-CP_UNIT  = GS_GR-MEINS_I.

     

                 IF GS_FINAL-CP_QTY IS NOT INITIAL.

                    GS_FINAL-CP_AGRVAL  = GS_FINAL-CP_QTY * GS_KONV-KBETR.

                 ENDIF.

     

                 READ TABLE GT_KEKO INTO GS_KEKO WITH KEY VBELN = GS_VBAP-VBELN

                                                          POSNR = GS_VBAP-POSNR

                                                          MATNR = GS_VBAP-MATNR.

                 IF SY-SUBRC = 0.

                   READ TABLE GT_KEPH INTO GS_KEPH WITH KEY KALNR = GS_KEKO-KALNR.

                   IF SY-SUBRC = 0.

                     IF GS_VBAP-ZMENG IS NOT INITIAL.        " Addition by nilesh patel on 26.06.2012

                     GS_FINAL-CP_MATC  = ( GS_KEPH-KST001 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     GS_FINAL-CP_SMM   = ( GS_KEPH-KST002 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     GS_FINAL-CP_SVM   = ( GS_KEPH-KST004 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     GS_FINAL-CP_SFM   = ( GS_KEPH-KST005 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     GS_FINAL-CP_COH   = ( GS_KEPH-KST007 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     IF NOT GS_FINAL-BK_OFF IS INITIAL.

                     GS_FINAL-CP_OFF   = ( GS_FINAL-OP_OFF   + GS_FINAL-BK_OFF ).

                     ENDIF.

    *                GS_FINAL-CP_OFF   = ( GS_KEPH-KST001 / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     GS_FINAL-CP_TOTAL = ( ( GS_KEPH-KST001 + GS_KEPH-KST002 + GS_KEPH-KST004 + GS_KEPH-KST005

                                              + GS_KEPH-KST007 ) / GS_VBAP-ZMENG ) * GS_GR-MENGE_I.

                     ENDIF.

                   ENDIF.

                 ENDIF.

               ENDIF.

     

               READ TABLE GT_KEKO INTO GS_KEKO WITH KEY VBELN = GS_VBAP-VBELN

                                                          POSNR = GS_VBAP-POSNR

                                                          MATNR = GS_VBAP-MATNR.

               IF SY-SUBRC = 0.

                 READ TABLE GT_KEPH INTO GS_KEPH WITH KEY KALNR = GS_KEKO-KALNR.

                 IF SY-SUBRC = 0.

                   GS_FINAL-STDMAT  = ( GS_KEPH-KST001 + GS_KEPH-KST002 + GS_KEPH-KST004 + GS_KEPH-KST005

                                            + GS_KEPH-KST007 ).

                 ENDIF.

               ENDIF.

     

               READ TABLE GT_STIME INTO GS_STIME WITH KEY KDAUF = GS_VBAP-VBELN

                                                          KDPOS = GS_VBAP-POSNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-STIME = GS_STIME-STIME.

               ENDIF.

     

               READ TABLE GT_ATIME INTO GS_ATIME WITH KEY KDAUF = GS_VBAP-VBELN

                                                          KDPOS = GS_VBAP-POSNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-ATIME = GS_ATIME-MEGBTR.

               ENDIF.

     

               IF GS_FINAL-CLOSEINV IS NOT INITIAL.

                 GS_FINAL-CL_QTY   = GS_FINAL-CLOSEINV - GS_FINAL-CP_QTY.

               ELSE.

                 GS_FINAL-CL_QTY   = GS_FINAL-ZMENG - GS_FINAL-CP_QTY.

               ENDIF.

     

               READ TABLE GT_CLOSE INTO GS_CLOSE WITH KEY KDAUF = GS_VBAP-VBELN

                                                          KDPOS = GS_VBAP-POSNR.

               IF SY-SUBRC NE 0.

                 GS_FINAL-CL_MATC  = ( GS_FINAL-OP_MATC  + GS_FINAL-BK_MATC )  - GS_FINAL-CP_MATC.

                 GS_FINAL-CL_SMM   = ( GS_FINAL-OP_SMM   + GS_FINAL-BK_SMM )   - GS_FINAL-CP_SMM.

                 GS_FINAL-CL_SVM   = ( GS_FINAL-OP_SVM   + GS_FINAL-BK_SVM )   - GS_FINAL-CP_SVM.

                 GS_FINAL-CL_SFM   = ( GS_FINAL-OP_SFM   + GS_FINAL-BK_SFM )   - GS_FINAL-CP_SFM.

                 GS_FINAL-CL_COH   = ( GS_FINAL-OP_COH   + GS_FINAL-BK_COH )   - GS_FINAL-CP_COH.

                 GS_FINAL-CL_OFF   = ( GS_FINAL-OP_OFF   + GS_FINAL-BK_OFF )   - GS_FINAL-CP_OFF.

                 GS_FINAL-CL_TOTAL = ( GS_FINAL-OP_TOTAL + GS_FINAL-BK_TOTAL ) - GS_FINAL-CP_TOTAL.

               ELSE.

                 GS_FINAL-CP_MATC  = GS_FINAL-BK_MATC.

                 GS_FINAL-CP_SMM   = GS_FINAL-BK_SMM.

                 GS_FINAL-CP_SVM   = GS_FINAL-BK_SVM.

                 GS_FINAL-CP_SFM   = GS_FINAL-BK_SFM.

                 GS_FINAL-CP_COH   = GS_FINAL-BK_COH.

                 GS_FINAL-CP_OFF   = GS_FINAL-BK_OFF.

                 GS_FINAL-CP_TOTAL = GS_FINAL-BK_TOTAL.

               ENDIF.

               IF GS_FINAL-ZMENG IS NOT INITIAL.

                 LV_SALES = ( GS_FINAL-KZWI1 / GS_FINAL-ZMENG ) * GS_FINAL-CP_QTY.

               ENDIF.

               GS_FINAL-CONTR = LV_SALES - ( GS_FINAL-CP_MATC + GS_FINAL-CP_SVM ).

               IF LV_SALES IS NOT INITIAL.

                 GS_FINAL-PERC = ( GS_FINAL-CONTR / LV_SALES ) * 100.

               ENDIF.

     

             ELSE.

               MOVE-CORRESPONDING GS_FINAL1 TO GS_FINAL.

               GS_FINAL-AUFNR = GS_AFPO_C-AUFNR.          "Production Order

               GS_FINAL-DAUAT = GS_AFPO_C-DAUAT.          "Order Type

             ENDIF.

     

             APPEND GS_FINAL TO GT_FINAL.

             CLEAR: GS_VBAP, GS_GR, GS_BOOK, GS_OPEN, GS_STIME, GS_ATIME, LV_SALES, GS_FINAL.

     

           ENDLOOP.

     

    *----for WBS element

         ELSE.

           MOVE-CORRESPONDING GS_FINAL TO GS_FINAL1.

           CLEAR: GS_FINAL1-ZMENG, GS_FINAL1-KZWI1, GS_FINAL1-KWERT.

           LOOP AT GT_AFPO_C INTO GS_AFPO_C WHERE PROJN = GS_VBAP-PS_PSP_PNR

                                              AND MATNR = GS_VBAP-MATNR.

     

             LV_LINE = LV_LINE + 1.

             IF LV_LINE = 1.

               GS_FINAL-AUFNR = GS_AFPO_C-AUFNR.          "Production Order

               GS_FINAL-DAUAT = GS_AFPO_C-DAUAT.          "Order Type

     

               READ TABLE GT_OPEN INTO GS_OPEN WITH KEY PROJN = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-CLOSEINV = GS_OPEN-CLOSEINV.

                 GS_FINAL-MEINS    = GS_OPEN-MEINS.

                 GS_FINAL-OP_MATC  = GS_OPEN-MATCOST.

                 GS_FINAL-OP_SMM   = GS_OPEN-SMM.

                 GS_FINAL-OP_SVM   = GS_OPEN-SVM.

                 GS_FINAL-OP_SFM   = GS_OPEN-SFM.

                 GS_FINAL-OP_COH   = GS_OPEN-COH.

                 GS_FINAL-OP_OFF   = GS_OPEN-OFFLOAD.

                 GS_FINAL-OP_TOTAL = GS_OPEN-TOTAL.

                 DELETE GT_OPEN INDEX SY-TABIX.

               ENDIF.

     

               READ TABLE GT_BOOK INTO GS_BOOK WITH KEY PS_PSP_PNR = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-BK_MATC  = GS_BOOK-BK_MATC.

                 GS_FINAL-BK_SMM   = GS_BOOK-BK_SMM.

                 GS_FINAL-BK_SVM   = GS_BOOK-BK_SVM.

                 GS_FINAL-BK_SFM   = GS_BOOK-BK_SFM.

                 GS_FINAL-BK_COH   = GS_BOOK-BK_COH.

                 GS_FINAL-BK_OFF   = GS_BOOK-BK_OFF.

                 GS_FINAL-BK_TOTAL = GS_BOOK-BK_TOTAL.

               ENDIF.

     

               READ TABLE GT_GR INTO GS_GR WITH KEY PS_PSP_PNR_I = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-CP_QTY   = GS_GR-MENGE_I.

                 GS_FINAL-CP_UNIT  = GS_GR-MEINS_I.

     

                 IF GS_FINAL-CP_QTY IS NOT INITIAL.

                    GS_FINAL-CP_AGRVAL  = GS_FINAL-CP_QTY * GS_KONV-KBETR.

                 ENDIF.

     

                 READ TABLE GT_KEKO INTO GS_KEKO WITH KEY MATNR = GS_VBAP-MATNR.

                 IF SY-SUBRC = 0.

                   READ TABLE GT_KEPH INTO GS_KEPH WITH KEY KALNR = GS_KEKO-KALNR.

                   IF SY-SUBRC = 0.

                     GS_FINAL-CP_MATC  = GS_KEPH-KST001 * GS_GR-MENGE_I.

                     GS_FINAL-CP_SMM   = GS_KEPH-KST002 * GS_GR-MENGE_I.

                     GS_FINAL-CP_SVM   = GS_KEPH-KST004 * GS_GR-MENGE_I.

                     GS_FINAL-CP_SFM   = GS_KEPH-KST005 * GS_GR-MENGE_I.

                     GS_FINAL-CP_COH   = GS_KEPH-KST007 * GS_GR-MENGE_I.

                     GS_FINAL-CP_OFF   = GS_KEPH-KST001 * GS_GR-MENGE_I.

                     GS_FINAL-CP_TOTAL = ( GS_KEPH-KST001 + GS_KEPH-KST002 + GS_KEPH-KST004 + GS_KEPH-KST005

                                              + GS_KEPH-KST007 ) * GS_GR-MENGE_I.

                   ENDIF.

                 ENDIF.

               ENDIF.

    ****Added For Standard Material Cost

               SORT GT_KEPH BY KADKY DESCENDING.

     

    ******End

               READ TABLE GT_KEKO INTO GS_KEKO WITH KEY MATNR = GS_VBAP-MATNR.

               IF SY-SUBRC = 0.

                 READ TABLE GT_KEPH INTO GS_KEPH WITH KEY KALNR = GS_KEKO-KALNR.

                 IF SY-SUBRC = 0.

                   GS_FINAL-STDMAT  = ( GS_KEPH-KST001 + GS_KEPH-KST002 + GS_KEPH-KST004 + GS_KEPH-KST005

                                            + GS_KEPH-KST007 ) * GS_VBAP-ZMENG.

                 ENDIF.

               ENDIF.

     

               READ TABLE GT_STIME INTO GS_STIME WITH KEY PSPEL = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-STIME = GS_STIME-STIME.

               ENDIF.

     

               READ TABLE GT_ATIME INTO GS_ATIME WITH KEY PROJN = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC = 0.

                 GS_FINAL-ATIME = GS_ATIME-MEGBTR.

               ENDIF.

     

               IF GS_FINAL-CLOSEINV IS NOT INITIAL.

                 GS_FINAL-CL_QTY   = GS_FINAL-CLOSEINV - GS_FINAL-CP_QTY.

               ELSE.

                 GS_FINAL-CL_QTY   = GS_FINAL-ZMENG - GS_FINAL-CP_QTY.

               ENDIF.

     

               READ TABLE GT_CLOSE INTO GS_CLOSE WITH KEY PS_PSP_PNR = GS_VBAP-PS_PSP_PNR.

               IF SY-SUBRC NE 0.

                 GS_FINAL-CL_MATC  = ( GS_FINAL-OP_MATC  + GS_FINAL-BK_MATC )  - GS_FINAL-CP_MATC.

                 GS_FINAL-CL_SMM   = ( GS_FINAL-OP_SMM   + GS_FINAL-BK_SMM )   - GS_FINAL-CP_SMM.

                 GS_FINAL-CL_SVM   = ( GS_FINAL-OP_SVM   + GS_FINAL-BK_SVM )   - GS_FINAL-CP_SVM.

                 GS_FINAL-CL_SFM   = ( GS_FINAL-OP_SFM   + GS_FINAL-BK_SFM )   - GS_FINAL-CP_SFM.

                 GS_FINAL-CL_COH   = ( GS_FINAL-OP_COH   + GS_FINAL-BK_COH )   - GS_FINAL-CP_COH.

                 GS_FINAL-CL_OFF   = ( GS_FINAL-OP_OFF   + GS_FINAL-BK_OFF )   - GS_FINAL-CP_OFF.

                 GS_FINAL-CL_TOTAL = ( GS_FINAL-OP_TOTAL + GS_FINAL-BK_TOTAL ) - GS_FINAL-CP_TOTAL.

               ELSE.

                 GS_FINAL-CP_MATC  = GS_FINAL-BK_MATC.

                 GS_FINAL-CP_SMM   = GS_FINAL-BK_SMM.

                 GS_FINAL-CP_SVM   = GS_FINAL-BK_SVM.

                 GS_FINAL-CP_SFM   = GS_FINAL-BK_SFM.

                 GS_FINAL-CP_COH   = GS_FINAL-BK_COH.

                 GS_FINAL-CP_OFF   = GS_FINAL-BK_OFF.

                 GS_FINAL-CP_TOTAL = GS_FINAL-BK_TOTAL.

               ENDIF.

     

               IF GS_FINAL-ZMENG IS NOT INITIAL.

                 LV_SALES = ( GS_FINAL-KZWI1 / GS_FINAL-ZMENG ) * GS_FINAL-CP_QTY.

               ENDIF.

               GS_FINAL-CONTR = LV_SALES - ( GS_FINAL-CP_MATC + GS_FINAL-CP_SVM ).

               IF LV_SALES IS NOT INITIAL.

                 GS_FINAL-PERC = ( GS_FINAL-CONTR / LV_SALES ) * 100.

               ENDIF.

             ELSE.

               MOVE-CORRESPONDING GS_FINAL1 TO GS_FINAL.

               GS_FINAL-AUFNR = GS_AFPO_C-AUFNR.          "Production Order

               GS_FINAL-DAUAT = GS_AFPO_C-DAUAT.          "Order Type

             ENDIF.

     

             APPEND GS_FINAL TO GT_FINAL.

             CLEAR: GS_VBAP, GS_GR, GS_BOOK, GS_OPEN, GS_FINAL, GS_STIME, GS_ATIME, LV_SALES.

           ENDLOOP.

         ENDIF.

         CLEAR: GS_FINAL1, GS_FINAL.

       ENDLOOP.

     

       DATA: IDX TYPE SY-TABIX.

     

       IF P_SO = 'X'.

         DELETE GT_OPEN WHERE PROJN IS NOT INITIAL.

         IF GT_OPEN[] IS NOT INITIAL.

           REFRESH GT_VBAP.

           SELECT VBELN POSNR PS_PSP_PNR MATNR ARKTX

             KWMENG AS ZMENG

             KZWI1

             FROM VBAP

             INTO TABLE GT_VBAP

             FOR ALL ENTRIES IN GT_OPEN

             WHERE VBELN = GT_OPEN-VBELN

               AND POSNR = GT_OPEN-POSNR.

    *-----According to Header Material, Fetch Agreed price only for WBS element

           IF GT_VBAP[] IS NOT INITIAL.

             SELECT VBELN KNUMV FROM VBAK

               INTO TABLE GT_VBAK

               FOR ALL ENTRIES IN GT_VBAP

               WHERE VBELN = GT_VBAP-VBELN.

             IF GT_VBAK[] IS NOT INITIAL.

               LOOP AT GT_VBAP INTO GS_VBAP.

                 IDX = SY-TABIX.

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY  VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   GS_VBAP-KNUMV = GS_VBAK-KNUMV.

                 ENDIF.

                 MODIFY GT_VBAP FROM GS_VBAP INDEX IDX TRANSPORTING KNUMV.

                 CLEAR GS_VBAP.

               ENDLOOP.

               SELECT KNUMV KPOSN KSCHL KBETR KWERT

                 FROM KONV

                 INTO TABLE GT_KONV

                 FOR ALL ENTRIES IN GT_VBAP

                 WHERE KNUMV = GT_VBAP-KNUMV

                   AND KPOSN = GT_VBAP-POSNR

                   AND KSCHL IN ('TPA1', 'TPA2', 'TPA3').

             ENDIF.

           ENDIF.

     

           LOOP AT GT_OPEN INTO GS_OPEN.

             READ TABLE GT_FINAL INTO GS_FINAL WITH KEY VBELN = GS_OPEN-VBELN             "Sales Order

                                                        POSNR = GS_OPEN-POSNR.             "SO Item

             IF SY-SUBRC NE 0.

               GS_FINAL-VBELN    = GS_OPEN-VBELN.

               GS_FINAL-POSNR    = GS_OPEN-POSNR.

               GS_FINAL-AUFNR    = GS_OPEN-AUFNR.                    "Prod Order No Added on 18.08.2011

               GS_FINAL-DAUAT    = GS_OPEN-AUART.                                          "Order Type

               READ TABLE GT_VBAP INTO GS_VBAP WITH KEY VBELN = GS_OPEN-VBELN             "Sales Order

                                                        POSNR = GS_OPEN-POSNR.             "SO Item

               IF SY-SUBRC EQ 0.

    *            GS_FINAL-PS_PSP_PNR = GS_VBAP-PS_PSP_PNR.   "WBS Element

                 GS_FINAL-MATNR  = GS_VBAP-MATNR.            "Header material

                 GS_FINAL-ARKTX  = GS_VBAP-ARKTX.            "Material Description

                 GS_FINAL-ZMENG  = GS_VBAP-ZMENG.            "Quantity

                 GS_FINAL-KZWI1  = GS_VBAP-KZWI1.            "Value

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   READ TABLE GT_KONV INTO GS_KONV WITH KEY KNUMV = GS_VBAP-KNUMV

                                                            KPOSN = GS_VBAP-POSNR.

                   IF SY-SUBRC = 0.

                     GS_FINAL-KWERT = GS_KONV-KWERT.         "Agreed Price

                   ENDIF.

                 ENDIF.

               ENDIF.

               GS_FINAL-CLOSEINV = GS_OPEN-CLOSEINV.

               GS_FINAL-MEINS    = GS_OPEN-MEINS.

               GS_FINAL-OP_MATC  = GS_OPEN-MATCOST.

               GS_FINAL-OP_SMM   = GS_OPEN-SMM.

               GS_FINAL-OP_SVM   = GS_OPEN-SVM.

               GS_FINAL-OP_SFM   = GS_OPEN-SFM.

               GS_FINAL-OP_COH   = GS_OPEN-COH.

               GS_FINAL-OP_OFF   = GS_OPEN-OFFLOAD.

               GS_FINAL-OP_TOTAL = GS_OPEN-TOTAL.

     

               GS_FINAL-CL_QTY   = GS_OPEN-CLOSEINV.

               GS_FINAL-CL_MATC  = GS_OPEN-MATCOST.

               GS_FINAL-CL_SMM   = GS_OPEN-SMM.

               GS_FINAL-CL_SVM   = GS_OPEN-SVM.

               GS_FINAL-CL_SFM   = GS_OPEN-SFM.

               GS_FINAL-CL_COH   = GS_OPEN-COH.

               GS_FINAL-CL_OFF   = GS_OPEN-OFFLOAD.

               GS_FINAL-CL_TOTAL = GS_OPEN-TOTAL.

               APPEND GS_FINAL TO GT_FINAL.

             ENDIF.

             CLEAR: GS_FINAL, GS_OPEN.

           ENDLOOP.

         ENDIF.

     

       ELSE.

         DELETE GT_OPEN WHERE PROJN IS INITIAL.

         IF GT_OPEN[] IS NOT INITIAL.

           REFRESH GT_VBAP.

           SELECT VBELN POSNR PS_PSP_PNR MATNR ARKTX

             KWMENG AS ZMENG

             KZWI1

             FROM VBAP

             INTO TABLE GT_VBAP

             FOR ALL ENTRIES IN GT_OPEN

             WHERE PS_PSP_PNR = GT_OPEN-PROJN.

    *-----According to Header Material, Fetch Agreed price only for WBS element

           IF GT_VBAP[] IS NOT INITIAL.

             SELECT VBELN KNUMV FROM VBAK

               INTO TABLE GT_VBAK

               FOR ALL ENTRIES IN GT_VBAP

               WHERE VBELN = GT_VBAP-VBELN.

             IF GT_VBAK[] IS NOT INITIAL.

     

               LOOP AT GT_VBAP INTO GS_VBAP.

                 IDX = SY-TABIX.

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY  VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   GS_VBAP-KNUMV = GS_VBAK-KNUMV.

                 ENDIF.

                 MODIFY GT_VBAP FROM GS_VBAP INDEX IDX TRANSPORTING KNUMV.

                 CLEAR GS_VBAP.

               ENDLOOP.

               SELECT KNUMV KPOSN KSCHL KBETR KWERT

                 FROM KONV

                 INTO TABLE GT_KONV

                 FOR ALL ENTRIES IN GT_VBAP

                 WHERE KNUMV = GT_VBAP-KNUMV

                   AND KPOSN = GT_VBAP-POSNR

                   AND KSCHL IN ('TPA1', 'TPA2', 'TPA3').

             ENDIF.

           ENDIF.

           LOOP AT GT_OPEN INTO GS_OPEN.

             READ TABLE GT_FINAL INTO GS_FINAL WITH KEY PS_PSP_PNR = GS_OPEN-PROJN.       "WBS Element

             IF SY-SUBRC NE 0.

               GS_FINAL-PS_PSP_PNR = GS_OPEN-PROJN.   "WBS Element

               GS_FINAL-AUFNR      = GS_OPEN-AUFNR.                    "Prod Order No Added on 18.08.2011

               GS_FINAL-DAUAT      = GS_OPEN-AUART.   "Order Type

               READ TABLE GT_VBAP INTO GS_VBAP WITH KEY PS_PSP_PNR = GS_OPEN-PROJN.

               IF SY-SUBRC EQ 0.

                 GS_FINAL-VBELN    = GS_OPEN-VBELN.

                 GS_FINAL-POSNR    = GS_OPEN-POSNR.

                 GS_FINAL-MATNR    = GS_VBAP-MATNR.            "Header material

                 GS_FINAL-ARKTX    = GS_VBAP-ARKTX.            "Material Description

                 GS_FINAL-ZMENG    = GS_VBAP-ZMENG.            "Quantity

                 GS_FINAL-KZWI1    = GS_VBAP-KZWI1.            "Value

                 READ TABLE GT_VBAK INTO GS_VBAK WITH KEY VBELN = GS_VBAP-VBELN.

                 IF SY-SUBRC = 0.

                   READ TABLE GT_KONV INTO GS_KONV WITH KEY KNUMV = GS_VBAP-KNUMV

                                                            KPOSN = GS_VBAP-POSNR.

                   IF SY-SUBRC = 0.

                     GS_FINAL-KWERT = GS_KONV-KWERT.         "Agreed Price

                   ENDIF.

                 ENDIF.

               ENDIF.

               GS_FINAL-CLOSEINV = GS_OPEN-CLOSEINV.

               GS_FINAL-MEINS    = GS_OPEN-MEINS.

               GS_FINAL-OP_MATC  = GS_OPEN-MATCOST.

               GS_FINAL-OP_SMM   = GS_OPEN-SMM.

               GS_FINAL-OP_SVM   = GS_OPEN-SVM.

               GS_FINAL-OP_SFM   = GS_OPEN-SFM.

               GS_FINAL-OP_COH   = GS_OPEN-COH.

               GS_FINAL-OP_OFF   = GS_OPEN-OFFLOAD.

               GS_FINAL-OP_TOTAL = GS_OPEN-TOTAL.

     

               GS_FINAL-CL_QTY   = GS_OPEN-CLOSEINV.

               GS_FINAL-CL_MATC  = GS_OPEN-MATCOST.

               GS_FINAL-CL_SMM   = GS_OPEN-SMM.

               GS_FINAL-CL_SVM   = GS_OPEN-SVM.

               GS_FINAL-CL_SFM   = GS_OPEN-SFM.

               GS_FINAL-CL_COH   = GS_OPEN-COH.

               GS_FINAL-CL_OFF   = GS_OPEN-OFFLOAD.

               GS_FINAL-CL_TOTAL = GS_OPEN-TOTAL.

               APPEND GS_FINAL TO GT_FINAL.

             ENDIF.

             CLEAR: GS_FINAL, GS_OPEN.

           ENDLOOP.

         ENDIF.

       ENDIF.

    ENDFORM.                    " PROCESS_DATA

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

    *&      Form  ALV_FIELDCAT

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM ALV_FIELDCAT .

       REFRESH: GT_FIELDCAT.

       CLEAR: GS_FIELDCAT.

     

       PERFORM FIELDCAT USING  'VBELN'      'Sales Order' '' 'X' '' 'C110' ''.

       PERFORM FIELDCAT USING  'POSNR'      'Item'        '' 'X' '' 'C110' ''.

       PERFORM FIELDCAT USING  'ZMENG'      'SO Quantity' '' 'X' 'X' '' ''.

       PERFORM FIELDCAT USING  'KZWI1'      'SODS Value'  '' 'X' 'X' '' ''.

       PERFORM FIELDCAT USING  'PS_PSP_PNR'  'WBS Element' '' 'X' '' 'C110' ''.

       PERFORM FIELDCAT USING  'KWERT'      'Agreed Price' '' 'X' 'X' '' ''.

       PERFORM FIELDCAT USING  'AUFNR'      'Prod. Order' '' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'MATNR'      'Material'    '18' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'ARKTX'      'Mat. Descriptin' '' '' '' '' ''.

       PERFORM FIELDCAT USING  'DAUAT'      'Order Type' '' '' '' '' ''.

     

    *----Opening Inventory Details

       PERFORM FIELDCAT USING  'CLOSEINV'  'OP Qty' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_MATC'  'OP Mat. Cost' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_SMM'    'OP SMM' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_SVM'    'OP SVM' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_SFM'    'OP SFM' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_COH'    'OP COH' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_OFF'    'OP OFF' '' 'X' 'X' 'C510' ''.

       PERFORM FIELDCAT USING  'OP_TOTAL'  'OP Total' '' 'X' 'X' 'C510' ''.

     

    *----Cost Booked Details

       PERFORM FIELDCAT USING  'BK_MATC'  'BK Mat. Cost' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_SMM'    'BK SMM' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_SVM'    'BK SVM' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_SFM'    'BK SFM' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_COH'    'BK COH' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_OFF'    'BK OFF' '' 'X' 'X' 'C310' ''.

       PERFORM FIELDCAT USING  'BK_TOTAL'  'BK Total' '' 'X' 'X' 'C310' ''.

     

    *----Cost of production Details

       PERFORM FIELDCAT USING  'CP_QTY'    'CP Qty' '' 'X' 'X' 'C710' 'CP_UNIT'.

       PERFORM FIELDCAT USING  'CP_UNIT'  'CP Unit' '' '' '' 'C710' ''.        " Add By Nilesh Patel on 22.12.2011

       PERFORM FIELDCAT USING  'CP_AGRVAL' 'CP Agreed Price' '' 'X' 'X' '' ''" Add By Nilesh Patel on 26.12.2011

       PERFORM FIELDCAT USING  'CP_MATC'  'CP Mat. Cost' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_SMM'    'CP SMM' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_SVM'    'CP SVM' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_SFM'    'CP SFM' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_COH'    'CP COH' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_OFF'    'CP OFF' '' 'X' 'X' 'C710' ''.

       PERFORM FIELDCAT USING  'CP_TOTAL'  'CP Total' '' 'X' 'X' 'C710' ''.

     

    *----Closing Inventory Details

       PERFORM FIELDCAT USING  'CL_QTY'    'CL Qty' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_MATC'  'CL Mat. Cost' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_SMM'    'CL SMM' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_SVM'    'CL SVM' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_SFM'    'CL SFM' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_COH'    'CL COH' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_OFF'    'CL OFF' '' 'X' 'X' 'C410' ''.

       PERFORM FIELDCAT USING  'CL_TOTAL'  'CL Total' '' 'X' 'X' 'C410' ''.

     

     

       PERFORM FIELDCAT USING  'CONTR'    'Contr' '' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'PERC'      'Contr %' '' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'STDMAT'    'SO/Std Cost' '' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'STIME'    'Standard Time(Hr)' '' 'X' '' '' ''.

       PERFORM FIELDCAT USING  'ATIME'    'Actual Time(Hr)' '' 'X' '' '' ''.

    ENDFORM.                    " ALV_FIELDCAT

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

    *&      Form  FIELDCAT

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

    *       text

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

    *      -->P_3083   text

    *      -->P_3084   text

    *      -->P_3085   text

    *      -->P_3086   text

    *      -->P_3087   text

    *      -->P_3088   text

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

    FORM FIELDCAT  USING    P_FILENAME

                             P_TEXT

                             P_OUT

                             P_ZERO

                             P_SUM

                             P_COLOR

                             P_QFIELDNAME.

     

       CLEAR : GS_FIELDCAT.

       GS_FIELDCAT-FIELDNAME = P_FILENAME.

       GS_FIELDCAT-OUTPUTLEN = P_OUT.

       GS_FIELDCAT-SELTEXT_L = P_TEXT.

       GS_FIELDCAT-NO_ZERO   = P_ZERO.

       GS_FIELDCAT-DO_SUM    = P_SUM.

       GS_FIELDCAT-EMPHASIZE = P_COLOR.

       GS_FIELDCAT-QFIELDNAME = P_QFIELDNAME .

       APPEND GS_FIELDCAT TO GT_FIELDCAT.

     

    ENDFORM.                    " FIELDCAT

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

    *&      Form  ALV_LAYOUT

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM ALV_LAYOUT .

       CLEAR GS_LAYOUT.

       GS_LAYOUT-ZEBRA = 'X'.

       GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

    ENDFORM.                    " ALV_LAYOUT

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

    *&      Form  ALV_EVENT

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM ALV_EVENT .

       CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

         EXPORTING

           I_LIST_TYPE     = 0

         IMPORTING

           ET_EVENTS       = GT_EVENT

         EXCEPTIONS

           LIST_TYPE_WRONG = 1

           OTHERS          = 2.

       IF SY-SUBRC <> 0.

         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

     

       READ TABLE GT_EVENT INTO GS_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

       IF  SY-SUBRC = 0.

         GS_EVENT-FORM = 'TOP_OF_PAGE'.

         MODIFY GT_EVENT FROM  GS_EVENT INDEX SY-TABIX.

       ENDIF.

    ENDFORM.                    " ALV_EVENT

     

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

    *&      Form  top_of_page

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

    *       text

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

    FORM TOP_OF_PAGE.

     

       DATA:LT_HEADER TYPE TABLE OF SLIS_LISTHEADER,

            LS_HEADER TYPE SLIS_LISTHEADER,

            T_LINE LIKE LS_HEADER-INFO,

            LD_LINES TYPE I,

            LD_LINESC(10) TYPE C,

            LD_VALUE(20) TYPE C,

            LV_PLANT(40) TYPE C.

     

       REFRESH LT_HEADER.

       CLEAR LS_HEADER.

     

       LS_HEADER-TYP = 'H'.

       LS_HEADER-INFO = 'WIP Ledger'.

       APPEND LS_HEADER TO LT_HEADER.

     

       LS_HEADER-TYP  = 'S'.

       LS_HEADER-KEY = 'Period ending on:'.

       CONCATENATE P_MON '/' P_YEAR INTO LS_HEADER-INFO.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER.

     

       DESCRIBE TABLE GT_FINAL LINES LD_LINES.

       LD_LINESC = LD_LINES.

       CONDENSE LD_LINESC.

       T_LINE = LD_LINESC.

       LS_HEADER-TYP  = 'S'.

       LS_HEADER-KEY = 'Total Order: '.

       LS_HEADER-INFO = T_LINE.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER, T_LINE.

     

       LS_HEADER-TYP  = 'A'.

       LS_HEADER-INFO = 'OP      = Opening Inventory(WIP)'.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER.

     

       LS_HEADER-TYP  = 'A'.

       LS_HEADER-INFO = 'BK      = Cost Booked'.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER.

     

       LS_HEADER-TYP  = 'A'.

       LS_HEADER-INFO = 'CP     = Cost of Production'.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER.

     

       LS_HEADER-TYP  = 'A'.

       LS_HEADER-INFO = 'CL     = Closing Inventory(WIP)'.

       APPEND LS_HEADER TO LT_HEADER.

       CLEAR: LS_HEADER.

     

    *  LS_HEADER-TYP  = 'A'.

    *  LS_HEADER-INFO = 'CONTR   = Contribution'.

    *  APPEND LS_HEADER TO LT_HEADER.

    *  CLEAR: LS_HEADER.

    *

    *  LS_HEADER-TYP  = 'A'.

    *  LS_HEADER-INFO = 'STDMAT  = Standard Material Cost'.

    *  APPEND LS_HEADER TO LT_HEADER.

    *  CLEAR: LS_HEADER.

     

    *  LS_HEADER-TYP  = 'A'.

    *  LS_HEADER-INFO = 'CP     = Cost of Production'.

    *  APPEND LS_HEADER TO LT_HEADER.

    *  CLEAR: LS_HEADER.

     

       CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

         EXPORTING

           IT_LIST_COMMENTARY = LT_HEADER.

    *      I_LOGO                   =

    *   I_END_OF_LIST_GRID       =

    *   I_ALV_FORM               =

       .

    ENDFORM.                    "'TOP_OF_PAGE'

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

    *&      Form  ALV_DISPLAY

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM ALV_DISPLAY .

     

     

       CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

                 EXPORTING

    *    I_BUFFER_ACTIVE                = ' '

                I_CALLBACK_PROGRAM             = SY-REPID

              I_CALLBACK_PF_STATUS_SET       = 'SET_PF_STATUS'

              I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'

                I_CALLBACK_TOP_OF_PAGE         = 'TOP_OF_PAGE'

                I_GRID_TITLE                   = 'Order Details'

                IS_LAYOUT                      = GS_LAYOUT

                IT_FIELDCAT                    = GT_FIELDCAT

                IT_SORT                        = GT_SORT_INFO

                I_DEFAULT                      = 'X'

                I_SAVE                         = G_SAVE

                IS_VARIANT                     = GD_VARIANT

                IT_EVENTS                      = GT_EVENT[]

               TABLES

                T_OUTTAB                       = GT_FINAL

               EXCEPTIONS

                PROGRAM_ERROR                  = 1

                OTHERS                        = 2.

       IF SY-SUBRC <> 0.

         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

    ENDFORM.                    " ALV_DISPLAY

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

    *&      Form  SET_PF_STATUS

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

    *       text

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

    *      -->UT_EXTAB   text

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

    FORM SET_PF_STATUS USING UT_EXTAB TYPE SLIS_T_EXTAB.

     

       SET PF-STATUS 'MAIN'.

     

    ENDFORM.                    " SET_PF_STATUS

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

    *&      Form  user_command

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

    *       text

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

    *      -->V_UCOMM      text

    *      -->RS_SELFIELD  text

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

    FORM USER_COMMAND USING V_UCOMM LIKE SY-UCOMM

                         RS_SELFIELD TYPE SLIS_SELFIELD.

     

       CASE  V_UCOMM.

         WHEN 'CLOSE'.

           PERFORM DISPLAY_CLOSE_DATA.

       ENDCASE.

    ENDFORM.                    "USER_COMMAND

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

    *&      Form  DISPLAY_CLOSE_DATA

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM DISPLAY_CLOSE_DATA .

       REFRESH  GT_FCAT1.

     

       PERFORM  ADD_FIELDCAT USING  'KDAUF'    'Sales Order'  'GT_CLOSE' CHANGING GT_FCAT1.

       PERFORM  ADD_FIELDCAT USING  'KDPOS'    'Item'        'GT_CLOSE' CHANGING GT_FCAT1.

       PERFORM  ADD_FIELDCAT USING  'PS_PSP_PNR' 'WBS Elemnt'  'GT_CLOSE' CHANGING GT_FCAT1.

       PERFORM  ADD_FIELDCAT USING  'MENGE'      'Qty-Dlvd'    'GT_CLOSE' CHANGING GT_FCAT1.

     

     

       CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

         EXPORTING

           I_TITLE               = TEXT-014

           I_SELECTION           = ' '

           I_ZEBRA               = 'X'

           I_SCREEN_START_COLUMN = 10

           I_SCREEN_START_LINE   = 3

           I_SCREEN_END_COLUMN   = 140

           I_SCREEN_END_LINE     = 25

           I_TABNAME             = 'GT_CLOSE'

           I_STRUCTURE_NAME      = 'GTY_CLOSE'

           IT_FIELDCAT           = GT_FCAT1

         TABLES

           T_OUTTAB              = GT_CLOSE

         EXCEPTIONS

           PROGRAM_ERROR         = 1

           OTHERS                = 2.

       IF SY-SUBRC <> 0.

       ENDIF.

    ENDFORM.                    " DISPLAY_CLOSE_DATA

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

    *&      Form  ADD_FIELDCAT

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

    *       text

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

    *      -->P_3620   text

    *      -->P_3621   text

    *      -->P_3622   text

    *      <--P_GT_FCAT1  text

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

    FORM ADD_FIELDCAT  USING    P_FIELDNAME

                                 P_HEADING

                                 P_TAB

                                 CHANGING T_FCAT LIKE GT_FCAT1.

     

       CLEAR GS_FCAT1.

     

       GS_FCAT1-FIELDNAME =  P_FIELDNAME.

       GS_FCAT1-TABNAME   =  P_TAB.

       GS_FCAT1-SELTEXT_L =  P_HEADING.

       APPEND GS_FCAT1 TO GT_FCAT1.

       CLEAR GS_FCAT1 .

     

    ENDFORM.                    " ADD_FIELDCAT

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

    *&      Form  ALV_SORT

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

    *       text

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

    *  -->  p1        text

    *  <--  p2        text

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

    FORM ALV_SORT .

       REFRESH GT_SORT_INFO.

       IF P_SO = 'X'.

         GS_SORT_INFO-SPOS = '1'.

         GS_SORT_INFO-FIELDNAME = 'VBELN'.

         GS_SORT_INFO-TABNAME = 'GT_FINAL'.

         APPEND GS_SORT_INFO TO GT_SORT_INFO.

     

         GS_SORT_INFO-SPOS = '2'.

         GS_SORT_INFO-FIELDNAME = 'POSNR'.

         GS_SORT_INFO-SUBTOT = 'X'.

         APPEND GS_SORT_INFO TO GT_SORT_INFO.

       ELSE.

         GS_SORT_INFO-SPOS = '1'.

         GS_SORT_INFO-FIELDNAME = 'PS_PSP_PNR'.

         GS_SORT_INFO-TABNAME = 'GT_FINAL'.

         APPEND GS_SORT_INFO TO GT_SORT_INFO.

       ENDIF.

    ENDFORM.                    " ALV_SORT


    0 0
  • 04/01/13--03:00: EP Migration
  • Hi All,


    We have our EP Server running on Solaris 10 with Oracle DB. Now we wanted to migrate this EP Server from Old Hardware to New Hardware. We have done migration of ECC and Other ABAP Server(DB Restore method) in past but we are not sure on how to migrate EP Server as unlike ABAP stack, Java Stack has OS level files which needs to be migrated.


    Please let us know on the steps that are required to migrate EP Server.


    Thanks,

    Jithin M


    0 0

    hi all,

     

    I am using Netweaver 7.0 SP24 portal. as per my RED EWA the main error was

    Since 1st of October, 2012, SAP JVM 4 is the only supported JDK on this release. See SAP Note 1708967 for details.

     

    I have performed the jdk to JVM switch and now portal run on sapjvm 4.1.

    Still my early eatch alert report is getting generated as red.

     

    i have not upgraded my wily introscope to run on jvm.

    is it a problem.? also is IS AGENT 9 supported for NW 7.0

     

    please help.


    0 0

    Hi,

     

    I am getting a Windows Security Popup and prompts for user credentials when I click Logoff.

     

    I have a CRM Role along with some other Roles, if I go into CRM Role and click Logoff then I get this popup after a usual confirmation dialog "Are you sure you want to Logoff?"

    Actually, it supposed to logoff when I click "Yes" button in the logoff dialog, but it displays a Popup.

     

    Request you please help me to resolve this issue.

     

    Regards,

    Rambabu


    0 0

    Hi,

      we recently update SAP PI to & 711 and I had to migrate the custome module adapter! I perform all stepa necessary but when I deploy the EAR file I get a warning:

    1. Exception has been returned while the [sap.com/EPA_NewDias_EAR] was starting. Warning/Exception :[

    ][[ERROR CODE DPL.DS.6193] Error while ; nested exception is:

    com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5029] Exception in operation [startApp] with application [sap.com/EPA_NewDias_EAR].]

     

    And in the communication channel I get ana error:

     

      Error:
    com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception
    during lookup operation of object with name
    localejbs/DiasParseFile_DXreosis_NEW, cannot resolve object reference. [Root
    exception is javax.naming.NamingException: Error occurs while the EJB Object
    Factory trying to resolve JNDI reference Reference Class Name: Type:
    clientAppName Content: sap.com/EPA_NewDias_EAR Type: interfaceType Content:
    local Type: ejb-link Content: DiasParseFile_DXreosis_NEW Type: jndi-name
    Content: DiasParseFile_DXreosis_NEW Type: local-home Content:
    com.sap.aii.af.lib.mp.module.ModuleLocalHome Type: local Content:
    com.sap.aii.af.lib.mp.module.ModuleLocal
    com.sap.engine.services.ejb3.runtime.impl.refmatcher.EJBResolvingException:
    Cannot start applicationsap.com/EPA_NewDias_EAR; nested exception is:
    java.rmi.RemoteException: [ERROR CODE DPL.DS.6125] Error occurred while starting
    application locally and wait.; nested exception is:
    com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE
    DPL.DS.5029] Exception in operation [startApp] with application
    [sap.com/EPA_NewDias_EAR]. at
    com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.startApp(DefaultContainerRepository.java:315)
    at
    com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.getEnterpriseBeanContainer(DefaultContainerRepository.java:106)
    at
    com.sap.engine.services.ejb3.runtime.impl.DefaultRemoteObjectFactory.resolveReference(DefaultRemoteObjectFactory.java:55)
    at
    com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:144)
    at
    com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:63)
    at
    com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl._getObjectInstance(ObjectFactoryBuilderImpl.java:77)
    at
    com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl.access$100(ObjectFactoryBuilderImpl.java:33)
    at
    com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl$DispatchObjectFactory.getObjectInstance(ObjectFactoryBuilderImpl.java:228)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:283) at
    com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:434)
    at
    com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:223)
    at
    com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:242)
    at javax.naming.InitialContext.lookup(InitialContext.java:351) at
    javax.naming.InitialContext.lookup(InitialContext.java:351) at
    com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:69)
    at
    com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:50)
    at
    com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.getModuleLocal(ModuleProcessorBean.java:419)
    at
    com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:287)
    at sun.reflect.GeneratedMethodAccessor319.invoke(Unknown Source) at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592) at
    com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:74)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
    at
    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at
    com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
    at
    com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    at com.sun.proxy.$Proxy258.process(Unknown Source) at
    com.sap.aii.adapter.file.File2XI.send(File2XI.java:3519) at
    com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1345) at
    com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:630) at
    com.sap.aii.af.lib.scheduler.JobBroker$Worker.run(JobBroker.java:534) at
    com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at
    java.security.AccessController.doPrivileged(Native Method) at
    com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182) at
    com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:280)
    ]

     

     

    ----------------------------------------------------

     

    In the reference in application-j2ee-engine.xml I have:

    -------------------------------------------------

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    <application-j2ee-engine  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="application-j2ee-engine.xsd">

    <reference reference-type="hard">

    <reference-target provider-name="sap.com" target-type="service">engine.security.facade</reference-target>

    </reference>

    <reference reference-type="hard">

       <reference-target provider-name="sap.com" target-type="library">engine.j2ee14.facade</reference-target>

    </reference>
    <reference reference-type="hard">

      <reference-target provider-name="sap.com" target-type="service">com.sap.aii.af.svc.facade</reference-target>

    </reference>

    <reference reference-type="hard">

       <reference-target provider-name="sap.com" target-type="interface">com.sap.aii.af.ifc.facade</reference-target>

    </reference>

    <reference reference-type="hard">

       <reference-target provider-name="sap.com" target-type="library">com.sap.aii.af.lib.facade</reference-target>

    </reference>

    <reference reference-type="hard">

       <reference-target  provider-name="sap.com" target-type="library">com.sap.base.technology.facade</reference-target>

    </reference>

    <fail-over-enable mode="disable" xsi:type="fail-over-enableType_disable"/>

    </application-j2ee-engine>

    ---------------------------------------------------------------

     

    And in ejb-j2ee-engine.xml the jndi names are correct (same in Communication channel)

    ------------------------------------

    ...

    <enterprise-bean>

       <ejb-name>DiasParseFile_DXreosis_NEW</ejb-name>

       <jndi-name>DiasParseFile_DXreosis_NEW</jndi-name>

    </enterprise-bean>

    ...

    -----------------------------------

    and in ejb-jar.xml

     

    --------------------------------

           

    <session>

                <icon/>

                <ejb-name>DiasParseFile_DXreosis_NEW</ejb-name>

                <home>com.sap.aii.af.lib.mp.module.ModuleHome</home>

                <remote>com.sap.aii.af.lib.mp.module.ModuleRemote</remote>

                <local-home>com.sap.aii.af.lib.mp.module.ModuleLocalHome</local-home>

                <local>com.sap.aii.af.lib.mp.module.ModuleLocal</local>

                <ejb-class>com.sap.adaptermodule.DiasParseFile_DXreosis_NEWBean</ejb-class>

                <session-type>Stateless</session-type>

                <transaction-type>Container</transaction-type>

    </session>

     

     

    ---------------------------------

     

    Any Ideas?

     

    Thanks,

     

    S.Socratous


    0 0
  • 04/04/13--22:55: Nw 7.3 Browser problem
  • Hi,


    We have installed the NW 7.3 which is on sp02 , IE it is supporting

    ,But ,,,Rest of the browser like Firefox ,Once try to open the

    NWA ,it is showing the Source code of the page...


    As Pam says it supports the Firefox.

     

    Rableen


    0 0

    Hello,

     

    I am currently installing ECC6.0 IDES with windows server 2003 & MaxDB.

     

    I am getting an error during the "Create Java Users" phase. The initial error stated that the user SAPJSF already existed. During retry a different error came up - that the user SAPJSF has no password.

     

    Can anyone advise what I can do here to resolve this problem?

     

    Regards,

    Nicholas Wilson


    0 0

    Hi , I want to change system data source connection pool which gets created with NW installation.

    I can navigate and see the default configured values from nwa->infrastructure->application resources -> jdbc system DataSources .

     

    I tried look for connection pool settings in config tool->managers but i didn't find any.

     

    Thanks

    Hari


older | 1 | .... | 3 | 4 | (Page 5) | 6 | 7 | .... | 76 | newer