OPENING BALANCE IN ANNEXURE10

Hi Experts,
In my RG23A AND RG23C ANNEXURE10 report opening balance is not coming. Herewith i am sending the code of the report. Kindly do the needful.
Regards,
Shankar
CODING:
REPORT YMS_ANNEXURE10NEW NO STANDARD PAGE HEADING LINE-SIZE 255
                                                       LINE-COUNT 60.
*REPORT  ZKVB_CENVAT_CREDIT_LEDGER_NEW
DICTIONARY STRUCTURES USED                                           *
TABLES: J_1IPART2 , J_1IEXCHDR , J_1IEXCDTL , GLT0 .
INTERNAL TABLES USED                                                 *
DATA : BEGIN OF ITAB_EXCISE OCCURS 0    ,
        SERIALNO LIKE J_1IPART2-SERIALNO ,     "SERIAL NUMBER
        BUDAT LIKE J_1IPART2-BUDAT ,           "DATE
        TRNTYP LIKE J_1IPART2-TRNTYP ,         "TRANSACTION TYPE
        EXNUM LIKE J_1IEXCHDR-EXNUM ,          "EXCISE INVOICE NUMBER
        EXDAT LIKE J_1IEXCHDR-EXDAT ,          "EXCISE INVOICE DATE
        EXBED LIKE J_1IEXCHDR-EXBED ,          "CENVAT
        EXSED LIKE J_1IEXCHDR-EXSED ,          "SED
        CVDIND LIKE J_1IEXCHDR-CVDIND ,
        RDOC3 LIKE J_1IEXCDTL-RDOC3 ,
        ECS LIKE J_1IPART2-ECS,
        ECS1 LIKE J_1IPART2-ECS,
        OCT_ECS LIKE J_1IPART2-ECS,
       END OF ITAB_EXCISE.
DATA : BEGIN OF ITAB_EXCISE1 OCCURS 0 ,
        SERIALNO LIKE J_1IPART2-SERIALNO ,     "SERIAL NUMBER
        SERIALNO_C LIKE J_1IPART2-SERIALNO ,
        BUDAT LIKE J_1IPART2-BUDAT ,           "DATE
        TRNTYP LIKE J_1IPART2-TRNTYP ,         "TRANSACTION TYPE
        EXNUM LIKE J_1IEXCHDR-EXNUM ,          "EXCISE INVOICE NUMBER
        EXDAT LIKE J_1IEXCHDR-EXDAT ,          "EXCISE INVOICE DATE
        EXBED LIKE J_1IEXCHDR-EXBED ,          "CENVAT
        EXSED LIKE J_1IEXCHDR-EXSED ,          "SED
        CVDIND LIKE J_1IEXCHDR-CVDIND ,
        RDOC3 LIKE J_1IEXCDTL-RDOC3 ,
        SERIALNO1 LIKE J_1IPART2-SERIALNO ,
        EXBED1 LIKE J_1IPART2-EXBED,
        EXSED1 LIKE J_1IPART2-EXSED,
        ECS LIKE J_1IPART2-ECS,
        ECS1 LIKE J_1IPART2-ECS,
        OCT_ECS LIKE J_1IPART2-ECS,
       END OF ITAB_EXCISE1.
*DATA : ITAB1 LIKE ZEXCISE_SED_BED OCCURS 0 WITH HEADER LINE .
DATA : ITAB_EXCISE2 LIKE ITAB_EXCISE1 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF ITAB_DISPLAY OCCURS 0,
          SERIALNO LIKE J_1IPART2-SERIALNO ,     "SERAIL NUMBER
          BUDAT LIKE J_1IPART2-BUDAT ,           "DATE
          CENVAT_OPG type p decimals 3,          "OPENING CENVAT
          SED_OPG LIKE J_1IPART2-EXSED ,         "OPENING SED
          ECS LIKE J_1IPART2-ECS ,               "OPENING ECS
          EXNUM_CR LIKE J_1IEXCHDR-EXNUM ,       "CERDIT EXC INV NUMBER
          EXDAT_CR LIKE J_1IEXCHDR-EXDAT ,       "CREDIT EXC INV DATE
          CENVAT_CR type p decimals 3,            "CREDIT CENVAT
          ADDL_DTY type p decimals 2,
          SED_CR LIKE J_1IEXCHDR-EXSED ,         "CREDIT SED
          TOT_CENVAT_CR type p decimals 3,
          TOT_CENVAT_CESS type p decimals 3,
          TOT_SED_CR LIKE J_1IEXCHDR-EXSED ,
          EXNUM_DB LIKE J_1IEXCHDR-EXNUM ,
          EXDAT_DB LIKE J_1IEXCHDR-EXDAT ,
          CENVAT_DB type p decimals 3,
          SED_DB LIKE J_1IEXCHDR-EXSED ,
          CENVAT_CLS type p decimals 3,
          SED_CLS LIKE J_1IPART2-EXSED ,
          total_ecs like J_1IPART2-ECS,
          ECS1 LIKE J_1IPART2-ECS,
          CNT TYPE P,
          OCT_ECS LIKE J_1IPART2-ECS,
        END OF ITAB_DISPLAY.
DATA : BEGIN OF ITAB_EXNUM OCCURS 0 ,
        EXNUM LIKE J_1IEXCHDR-EXNUM ,
        EXDAT LIKE J_1IEXCHDR-EXDAT ,
        CENVAT like J_1IEXCHDR-exbed,
        ADDL_DTY like J_1IEXCHDR-exbed,
        SED LIKE J_1IEXCHDR-EXSED ,
        CNT TYPE P,
       END OF ITAB_EXNUM.
DATA : BEGIN OF ITAB_EXNUM1 OCCURS 0 ,
          EXNUM LIKE J_1IEXCHDR-EXNUM ,
          EXDAT LIKE J_1IEXCHDR-EXDAT ,
          CENVAT LIKE J_1IEXCHDR-EXBED ,
          SED LIKE J_1IEXCHDR-EXSED ,
          CNT TYPE P,
       END OF ITAB_EXNUM1.
DATA: BEGIN OF ITAB_GLT0 OCCURS   0,
        RACCT LIKE GLT0-RACCT,
        TSLVT LIKE GLT0-TSLVT,
        TSL01 LIKE GLT0-TSL01,
        TSL02 LIKE GLT0-TSL02,
        TSL03 LIKE GLT0-TSL03,
        TSL04 LIKE GLT0-TSL04,
        TSL05 LIKE GLT0-TSL05,
        TSL06 LIKE GLT0-TSL06,
        TSL07 LIKE GLT0-TSL07,
        TSL08 LIKE GLT0-TSL08,
        TSL09 LIKE GLT0-TSL09,
        TSL10 LIKE GLT0-TSL10,
        TSL11 LIKE GLT0-TSL11,
        TSL12 LIKE GLT0-TSL12,
      END OF ITAB_GLT0.
DATA : BEGIN OF OPEN_BAL_OCT OCCURS 0,
           ECS LIKE J_1IPART2-ECS,
       END OF OPEN_BAL_OCT.
DATA : BEGIN OF ITAB_CESSCO OCCURS 0,
           ECS LIKE J_1IPART2-ECS,
           TRNTYP LIKE J_1IPART2-TRNTYP ,
       END OF ITAB_CESSCO.
DATA : MM(2) TYPE C ,
      GR_TOTAL_CESS_SEPT LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_OCT LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_NOV LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_DEC LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_JAN LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_FEB LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_MAR LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_APR LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_MAY LIKE J_1IPART2-ECS, " FOR JUNE OPENING BALANCE
       GR_TOTAL_CESS_JUN LIKE J_1IPART2-ECS, " FOR JULY OPENING BALANCE
       GR_TOTAL_CESS_JUL LIKE J_1IPART2-ECS, " FOR AUGUST OPENINGBALANCE
       GR_TOTAL_CESS_AUG LIKE J_1IPART2-ECS, " FOR SEPT OPENING BALANCE
       GR_TOTAL_CESS_SEP LIKE J_1IPART2-ECS,
       GR_TOTAL_CESS_CO LIKE J_1IPART2-ECS,
       CREDIT_ECS LIKE J_1IPART2-ECS,
       DEBIT_ECS LIKE J_1IPART2-ECS ,
       CREDIT_ECS1 LIKE J_1IPART2-ECS,
       DEBIT_ECS1 LIKE J_1IPART2-ECS ,
       CREDIT_ECS2 LIKE J_1IPART2-ECS,
       DEBIT_ECS2 LIKE J_1IPART2-ECS ,
       CREDIT_ECS3 LIKE J_1IPART2-ECS,
       DEBIT_ECS3 LIKE J_1IPART2-ECS ,
       CREDIT_ECS4 LIKE J_1IPART2-ECS,
       DEBIT_ECS4 LIKE J_1IPART2-ECS ,
       CREDIT_ECS5 LIKE J_1IPART2-ECS,
       DEBIT_ECS5 LIKE J_1IPART2-ECS ,
       CREDIT_ECS6 LIKE J_1IPART2-ECS,
       DEBIT_ECS6 LIKE J_1IPART2-ECS,
       CREDIT_ECS7 LIKE J_1IPART2-ECS, " FOR JUNE OPENING BALANCE
       DEBIT_ECS7 LIKE J_1IPART2-ECS,
       CREDIT_ECS8 LIKE J_1IPART2-ECS, " FOR JULY OPENING BALANCE
       DEBIT_ECS8 LIKE J_1IPART2-ECS,
       CREDIT_ECS9 LIKE J_1IPART2-ECS, " FOR AUGUST OPENING BALANCE
       DEBIT_ECS9 LIKE J_1IPART2-ECS,
       CREDIT_ECS10 LIKE J_1IPART2-ECS, " FOR SEPT OPENING BALANCE
       DEBIT_ECS10 LIKE J_1IPART2-ECS,
       CREDIT_ECS11 LIKE J_1IPART2-ECS, " FOR OCT OPENING BALANCE
       DEBIT_ECS11 LIKE J_1IPART2-ECS,
       CREDIT_ECSCO LIKE J_1IPART2-ECS,
       DEBIT_ECSCO LIKE J_1IPART2-ECS.
DATA : ITAB_GLT0_1 LIKE ITAB_GLT0 OCCURS 0 WITH HEADER LINE.
SELECT OPTION INTERNAL TABLE DEFINATIONS                             *
RANGES : R_TRNTYP FOR J_1IPART2-TRNTYP.
        R_BUDAT FOR J_1IPART2-BUDAT.
DATA VARIABLES USED                                                  *
DATA: V_LIN LIKE SY-TABIX .
DATA : V_OPENING_BED LIKE ITAB_DISPLAY-CENVAT_OPG.
DATA : V_OPENING_SED LIKE ITAB_DISPLAY-SED_OPG.
DATA : OCT_ECS LIKE J_1IPART2-ECS.
DATA : TOTAL_ECS LIKE J_1IPART2-ECS.
DATA : TOTAL_ECS_1 LIKE J_1IPART2-ECS.
DATA : GR_TOTAL_ECS LIKE J_1IPART2-ECS.
DATA : INIT_ECS LIKE J_1IPART2-ECS.
DATA : GR_TOTAL_CREDIT_CESS LIKE J_1IPART2-ECS.
DATA : GR_TOTAL_DEBIT_CESS LIKE J_1IPART2-ECS.
DATA : GR_CLOSE_BAL_CESS LIKE J_1IPART2-ECS.
SELECTION SCREEN                                                     *
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
PARAMETERs : P_WERKS LIKE J_1IEXCDTL-WERKS MEMORY ID WRK.
SELECT-OPTIONS : S_BUDAT FOR J_1IPART2-BUDAT,
                 S_REGTYP FOR J_1IPART2-REGTYP.
SELECTION-SCREEN END OF BLOCK BLK1  .
*RANGES R_BUDAT FOR J_1IPART2-BUDAT.
EVENT ----> TOP OF PAGE                                              *
TOP-OF-PAGE.
  PERFORM F_003_TOPI_PEHNAO.
EVENT ----> AT SELECTION SCREEN                                      *
*t selection-screen.
perform f_006_check_karo.
EVENT ----> START OF SELECTION                                       *
START-OF-SELECTION.
  PERFORM F_001_SERIAL_NOS_UTHAO.
  PERFORM F_002_DISPLAY_TABLE_BHARO.
  PERFORM F_005_CREDIT_SUBTOTAL.
EVENT ----> END OF SELECTION                                         *
END-OF-SELECTION.
  PERFORM F_004_DIKHAO.
*&      Form  F_001_SERIAL_NOS_UTHAO
      text
-->  p1        text
<--  p2        text
FORM F_001_SERIAL_NOS_UTHAO.
  PERFORM F_002_TRNTYP_CHUNO.
  DATA :  BEGIN OF OPEN_BAL_OCT OCCURS 0,
              ECS LIKE J_1IPART2-ECS,
              TOTAL_ECS LIKE J_1IPART2-ECS,
          END OF OPEN_BAL_OCT.
  DATA : LOWMM(2) TYPE N.
  DATA : LOWYR(4) TYPE N.
  DATA : LOWDT(2) TYPE N.
  DATA : L1 LIKE J_1IPART2-BUDAT.
  DATA : L2 LIKE J_1IPART2-BUDAT.
  LOWMM = S_BUDAT-LOW+4(2).
  IF LOWMM = '01'.
    LOWMM = '12'.
  ELSE.
    LOWMM = LOWMM - 1.
  ENDIF.
  IF LOWMM = '12'.
    LOWYR = S_BUDAT-LOW+0(4) - 1.
  ELSE.
    LOWYR = S_BUDAT-LOW+0(4).
  ENDIF.
  LOWDT = S_BUDAT-LOW+6(2).
  CONCATENATE LOWYR LOWMM LOWDT INTO L1.
  CALL FUNCTION 'LAST_DAY_OF_MONTHS'
    EXPORTING
      DAY_IN            = L1
    IMPORTING
      LAST_DAY_OF_MONTH = L2
    EXCEPTIONS
      DAY_IN_NO_DATE    = 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.
  RANGES CO_BUDAT FOR J_1IPART2-BUDAT.
  IF P_WERKS = '1000'.
    CO_BUDAT-LOW =  '20041001'.
  ELSEIF P_WERKS = '3000'.
    CO_BUDAT-LOW =  '20041201'.
  ELSEIF P_WERKS = '4000'.
    CO_BUDAT-LOW =  '20041201'.
  ELSEIF P_WERKS = '2000'.
    CO_BUDAT-LOW =  '20041201'.
  ELSEIF P_WERKS = '5000'.
    CO_BUDAT-LOW =  '20041201'.
  ENDIF.
  CO_BUDAT-HIGH =  L2.
  CO_BUDAT-SIGN = 'I'.
  CO_BUDAT-OPTION = 'BT'.
  APPEND CO_BUDAT.
  CLEAR CO_BUDAT.
  SELECT J_1IEXCDTL1RG23ASER J_1IEXCDTL1RG23CSER
                              J_1IPART21BUDAT J_1IPART21TRNTYP
         J_1IEXCHDR1EXNUM J_1IEXCHDR1EXDAT J_1IEXCDTL1~EXBED
         J_1IEXCDTL1EXSED J_1IEXCHDR1CVDIND J_1IEXCDTL1~RDOC3
     J_1IPART21SERIALNO J_1IPART21EXBED J_1IPART21~EXSED
J_1IPART21~ECS
                                    INTO TABLE ITAB_EXCISE1 FROM
       ( J_1IPART2 AS J_1IPART21 INNER JOIN J_1IEXCHDR AS J_1IEXCHDR1 ON
            J_1IPART21TRNTYP EQ J_1IEXCHDR1TRNTYP AND
            J_1IPART21DOCYR  EQ J_1IEXCHDR1DOCYR  AND
            J_1IPART21DOCNO  EQ J_1IEXCHDR1DOCNO )
         LEFT OUTER JOIN J_1IEXCDTL AS J_1IEXCDTL1 ON
            J_1IPART21TRNTYP EQ J_1IEXCDTL1TRNTYP AND
            J_1IPART21DOCYR  EQ J_1IEXCDTL1DOCYR  AND
            J_1IPART21DOCNO  EQ J_1IEXCDTL1DOCNO
      WHERE J_1IPART21~REGTYP IN S_REGTYP AND
                J_1IPART21~BUDAT IN S_BUDAT AND
                J_1IEXCHDR1~WERKS EQ P_WERKS AND
                J_1IEXCHDR1~STATUS NE 'D'.
  IF P_WERKS = '1000'.
    SELECT  ECS TRNTYP  FROM J_1IPART2 INTO TABLE  ITAB_CESSCO  WHERE
                                    EXGRP EQ '01' AND
                                    REGTYP = 'A' AND
                                    BUDAT IN CO_BUDAT.
  ELSEIF P_WERKS = '2000'.
    SELECT  ECS TRNTYP  FROM J_1IPART2 INTO TABLE  ITAB_CESSCO  WHERE
                                    EXGRP EQ '81' AND
                                    REGTYP = 'A' AND
                                    BUDAT IN CO_BUDAT.
  ELSEIF P_WERKS = '3000'.
    SELECT  ECS TRNTYP  FROM J_1IPART2 INTO TABLE  ITAB_CESSCO  WHERE
                                    EXGRP EQ '31' AND
                                    REGTYP = 'A' AND
                                    BUDAT IN CO_BUDAT.
  ELSEIF P_WERKS = '4000'.
    SELECT  ECS TRNTYP  FROM J_1IPART2 INTO TABLE  ITAB_CESSCO  WHERE
                                    EXGRP EQ '41' AND
                                    REGTYP = 'A' AND
                                    BUDAT IN CO_BUDAT.
  ELSEIF P_WERKS = '5000'.
    SELECT  ECS TRNTYP  FROM J_1IPART2 INTO TABLE  ITAB_CESSCO  WHERE
                                    EXGRP EQ '55' AND
                                    REGTYP = 'A' AND
                                    BUDAT IN CO_BUDAT.
  ENDIF.
  LOOP AT ITAB_CESSCO.
    CASE ITAB_CESSCO-TRNTYP.
      WHEN 'GRPO' OR 'DIEX' OR 'EWPO'.
        CREDIT_ECSCO = CREDIT_ECSCO + ITAB_CESSCO-ECS.
      WHEN 'MRDY'.
        DEBIT_ECSCO  = DEBIT_ECSCO + ITAB_CESSCO-ECS.
    ENDCASE.
  ENDLOOP.
  MM = S_BUDAT-LOW+4(2).
  GR_TOTAL_CESS_CO  = CREDIT_ECSCO - DEBIT_ECSCO.
  LOOP AT ITAB_EXCISE1.
    ITAB_EXCISE1-OCT_ECS = OCT_ECS.
    MODIFY ITAB_EXCISE1.
  ENDLOOP.
  DELETE ITAB_EXCISE1 WHERE NOT TRNTYP IN R_TRNTYP .
  SORT ITAB_EXCISE1 BY SERIALNO BUDAT.
  DELETE ADJACENT DUPLICATES FROM ITAB_EXCISE1 COMPARING SERIALNO
                                                         BUDAT
                                                         SERIALNO1
                                                         EXBED1.
  APPEND LINES OF ITAB_EXCISE1 TO ITAB_EXCISE2.
  DELETE ITAB_EXCISE2 WHERE NOT SERIALNO IS INITIAL.
  DELETE ITAB_EXCISE1 WHERE SERIALNO IS INITIAL.
  SORT ITAB_EXCISE2 BY SERIALNO BUDAT SERIALNO1 EXBED1.
  DELETE ADJACENT DUPLICATES FROM ITAB_EXCISE2 COMPARING SERIALNO
                                                         BUDAT
                                                         SERIALNO1
                                                         EXBED1.
  APPEND LINES OF ITAB_EXCISE2 TO ITAB_EXCISE1.
  SORT ITAB_EXCISE1 BY SERIALNO BUDAT.
  LOOP AT ITAB_EXCISE1.
    MOVE-CORRESPONDING ITAB_EXCISE1 TO ITAB_EXCISE .
    IF ITAB_EXCISE1-SERIALNO IS INITIAL.
      MOVE : ITAB_EXCISE1-SERIALNO1 TO ITAB_EXCISE-SERIALNO.
      MOVE : ITAB_EXCISE1-EXBED1 TO ITAB_EXCISE-EXBED.
      MOVE : ITAB_EXCISE1-EXSED1 TO ITAB_EXCISE-EXSED.
      MOVE : ITAB_EXCISE1-OCT_ECS TO ITAB_EXCISE-OCT_ECS.
      MOVE : ITAB_EXCISE1-ECS TO ITAB_EXCISE-ECS.
    ENDIF.
    COLLECT ITAB_EXCISE .
  ENDLOOP.
  CLEAR ITAB_EXCISE1.REFRESH ITAB_EXCISE1.FREE ITAB_EXCISE1.
  DELETE ADJACENT DUPLICATES FROM ITAB_EXCISE COMPARING SERIALNO.
  DESCRIBE TABLE ITAB_EXCISE LINES V_LIN.
  IF V_LIN LE 0.
    MESSAGE E000(8I) WITH 'No Records Found'.
  ENDIF.
  PERFORM F_005_DIEX_DTL_SE_UTHAO.
ENDFORM.                               " F_001_SERIAL_NOS_UTHAO
*&      Form  F_002_TRNTYP_CHUNO
      text
-->  p1        text
<--  p2        text
FORM F_002_TRNTYP_CHUNO.
  MOVE : 'I' TO R_TRNTYP-SIGN.
  MOVE : 'EQ' TO R_TRNTYP-OPTION.
  MOVE : 'GRPO' TO R_TRNTYP-LOW.
  APPEND R_TRNTYP.
  MOVE : 'DIEX' TO R_TRNTYP-LOW.
  APPEND R_TRNTYP.
  MOVE : 'MRDY' TO R_TRNTYP-LOW.
  APPEND R_TRNTYP.
  MOVE : 'EWPO' TO R_TRNTYP-LOW.
  APPEND R_TRNTYP.
ENDFORM.                               " F_002_TRNTYP_CHUNO
*&      Form  F_002_DISPLAY_TABLE_BHARO
      text
-->  p1        text
<--  p2        text
FORM F_002_DISPLAY_TABLE_BHARO.
  DATA : V_CNT TYPE I.
  DATA : V_PREV_EXDAT LIKE J_1IEXCHDR-EXDAT ,
         V_PREV_EXNUM LIKE J_1IEXCHDR-EXNUM .
  DATA : V_DATE LIKE SY-DATUM.
  DATA : V_YYYY(4) , V_MM(2) , V_DD(2).
  PERFORM F_006_KHOL_BUND.
  SORT ITAB_EXCISE BY SERIALNO.
  LOOP AT ITAB_EXCISE.
    MOVE : ITAB_EXCISE-SERIALNO TO ITAB_DISPLAY-SERIALNO.
    MOVE : ITAB_EXCISE-BUDAT TO ITAB_DISPLAY-BUDAT.
    MOVE : V_OPENING_BED TO ITAB_DISPLAY-CENVAT_OPG.
    MOVE : V_OPENING_SED TO ITAB_DISPLAY-SED_OPG.
    MOVE : ITAB_EXCISE-OCT_ECS TO ITAB_DISPLAY-OCT_ECS.
    CASE ITAB_EXCISE-TRNTYP.
      WHEN 'GRPO' OR 'DIEX' OR 'EWPO'.
To pick up RDOC3 as date for transaction type DIEX
        IF ITAB_EXCISE-TRNTYP EQ 'DIEX'.
          IF ITAB_EXCISE-RDOC3 CA '.'.
            SPLIT ITAB_EXCISE-RDOC3 AT '.' INTO V_DD V_MM V_YYYY.
            CONCATENATE V_YYYY V_MM V_DD INTO ITAB_DISPLAY-EXDAT_CR.
          ELSE.
            CONCATENATE ITAB_EXCISE-RDOC34(4) ITAB_EXCISE-RDOC32(2)
                      ITAB_EXCISE-RDOC3+0(2) INTO ITAB_DISPLAY-EXDAT_CR
          ENDIF.
        ELSE.
          MOVE : ITAB_EXCISE-EXDAT TO ITAB_DISPLAY-EXDAT_CR.
        ENDIF.
        MOVE : ITAB_EXCISE-EXNUM TO ITAB_DISPLAY-EXNUM_CR.
Checking for Addl Duty of customs
        IF ITAB_EXCISE-CVDIND EQ 'X'.
          MOVE : ITAB_EXCISE-EXBED TO ITAB_DISPLAY-ADDL_DTY.
        ELSE.
          MOVE : ITAB_EXCISE-EXBED TO ITAB_DISPLAY-CENVAT_CR.
        ENDIF.
        MOVE : ITAB_EXCISE-EXSED TO ITAB_DISPLAY-SED_CR.
        MOVE : ITAB_EXCISE-ECS TO ITAB_DISPLAY-ECS.
Getting the count of EXNUM
        IF V_PREV_EXDAT EQ ITAB_EXCISE-EXDAT AND
           V_PREV_EXNUM EQ ITAB_EXCISE-EXNUM.
          V_CNT = V_CNT + 1.
        ELSE.
          V_CNT = 1.
        ENDIF.
        MOVE : V_CNT TO ITAB_DISPLAY-CNT.
        MOVE : ITAB_EXCISE-EXNUM TO V_PREV_EXNUM.
        MOVE : ITAB_EXCISE-EXDAT TO V_PREV_EXDAT.
Debits
      WHEN 'MRDY'.
        MOVE : ITAB_EXCISE-EXNUM TO ITAB_DISPLAY-EXNUM_DB.
        MOVE : ITAB_EXCISE-EXDAT TO ITAB_DISPLAY-EXDAT_DB.
        MOVE : ITAB_EXCISE-EXBED TO ITAB_DISPLAY-CENVAT_DB.
        MOVE : ITAB_EXCISE-EXSED TO ITAB_DISPLAY-SED_DB.
        MOVE : ITAB_EXCISE-ECS TO ITAB_DISPLAY-ECS1.
    ENDCASE.
Total Credits
    ITAB_DISPLAY-TOT_CENVAT_CR = ITAB_DISPLAY-CENVAT_OPG +
                                 ITAB_DISPLAY-CENVAT_CR +
                                 ITAB_DISPLAY-ADDL_DTY .
    ITAB_DISPLAY-TOT_SED_CR = ITAB_DISPLAY-SED_OPG +
                              ITAB_DISPLAY-SED_CR .
Closing Balance
    ITAB_DISPLAY-CENVAT_CLS = ITAB_DISPLAY-TOT_CENVAT_CR -
                              ITAB_DISPLAY-CENVAT_DB.
    ITAB_DISPLAY-SED_CLS = ITAB_DISPLAY-TOT_SED_CR -
                              ITAB_DISPLAY-SED_DB.
    APPEND ITAB_DISPLAY.
    MOVE : ITAB_DISPLAY-CENVAT_CLS TO V_OPENING_BED.
    MOVE : ITAB_DISPLAY-SED_CLS TO V_OPENING_SED.
    CLEAR : ITAB_DISPLAY .
  ENDLOOP.
ENDFORM.                               " F_002_DISPLAY_TABLE_BHARO
*&      Form  F_003_TOPI_PEHNAO
      text
-->  p1        text
<--  p2        text
FORM F_003_TOPI_PEHNAO.
  WRITE:/70 'CENVAT CREDIT LEDGER FOR PERIOD:' , (12) S_BUDAT-LOW ,
             'to' , (12) S_BUDAT-HIGH , 180 'Page :' , SY-PAGNO .
  SKIP 3.
  WRITE :/25(30) 'OPENING BALANCE' CENTERED ,
          66(50) 'CREDIT' CENTERED ,
         118(28) 'CREDIT SUBTOTAL' CENTERED ,
         150(28) 'TOTAL CREDIT' CENTERED ,
         182(36) 'DEBIT' CENTERED ,
         225(28) 'BALANCE OF CREDIT' CENTERED .
  WRITE:/1 TEXT-001 ,
        12 TEXT-002 ,
        24(12) TEXT-003 CENTERED,
        40(12) TEXT-004 CENTERED,
        56 TEXT-005 ,
        66(12) TEXT-003 CENTERED,
        81(12) TEXT-006 CENTERED,
       102(12) TEXT-004 CENTERED,
       118(12) TEXT-003 CENTERED,
       134(12) TEXT-004 CENTERED,
       150(12) TEXT-003 CENTERED,
       166(12) TEXT-004 CENTERED,
       182 TEXT-007 ,                  "Doc no
       194(12) TEXT-003 CENTERED,
       210(12) TEXT-004 CENTERED,
       225(12) TEXT-003 CENTERED,
       240(12) TEXT-004 CENTERED.                           "(255)
  WRITE:/56 TEXT-008 , 81 TEXT-009 CENTERED
                                   , 182 TEXT-002.
  WRITE:/56 TEXT-002 , 81 TEXT-010 CENTERED .
  WRITE:/1(11) '1' CENTERED  ,
        12(11) '2' CENTERED ,
        24(12) '3' CENTERED ,
        40(12) '4' CENTERED ,
        55(11) '5' CENTERED ,
        66(12) '8a' CENTERED ,
        81(12) '8b' CENTERED ,
       102(12) '8c' CENTERED ,
       150(12) '9' CENTERED ,
       166(12) '10' CENTERED ,
       182(11) '11' CENTERED ,         "Doc no
       194(12) '12a' CENTERED ,
       210(12) '12B' CENTERED ,
       225(12) '13' CENTERED ,
       240(12) '14' CENTERED .                              "(255)
  WRITE :/
ENDFORM.                               " F_003_TOPI_PEHNAO
*&      Form  F_004_DIKHAO
      text
-->  p1        text
<--  p2        text
FORM F_004_DIKHAO.
  DATA : V_FIRST , V_PREV_EXNUM LIKE J_1IEXCHDR-EXNUM .
  DATA : V_PREV_EXDAT LIKE J_1IEXCHDR-EXDAT , V_CNT TYPE I .
  SORT ITAB_DISPLAY BY SERIALNO BUDAT EXNUM_CR.
  LOOP AT ITAB_DISPLAY.
    IF SY-TABIX = 1.
      TOTAL_ECS = GR_TOTAL_CESS_CO .
      TOTAL_ECS_1 = GR_TOTAL_CESS_CO .
    ENDIF.
    WRITE:/1 ITAB_DISPLAY-SERIALNO ,
          12 ITAB_DISPLAY-BUDAT ,
          24(15) ITAB_DISPLAY-CENVAT_OPG .
    WRITE: 40(14) TOTAL_ECS.
    IF NOT ITAB_DISPLAY-EXNUM_CR IS INITIAL.
      WRITE : 55 ITAB_DISPLAY-EXNUM_CR ,
              66(15) ITAB_DISPLAY-CENVAT_CR ,
              82(14) ITAB_DISPLAY-ADDL_DTY .
   ---------------------INCLUDING CESS CREDIT VALUE---------
      IF NOT ITAB_DISPLAY-ECS IS INITIAL.
        WRITE : 102(14) ITAB_DISPLAY-ECS.
      ENDIF.
      READ TABLE ITAB_EXNUM1 WITH KEY EXNUM = ITAB_DISPLAY-EXNUM_CR
                                      EXDAT = ITAB_DISPLAY-EXDAT_CR
                                      CNT = ITAB_DISPLAY-CNT .
      IF SY-SUBRC EQ 0.
        WRITE : 118(15) ITAB_EXNUM1-CENVAT.
        IF NOT ITAB_EXNUM1-SED IS INITIAL.
          WRITE : 134(14) ITAB_EXNUM1-SED.
        ENDIF.
      ENDIF.
    ENDIF.
    WRITE : 150(15) ITAB_DISPLAY-TOT_CENVAT_CR.
   IF NOT ITAB_DISPLAY-TOT_SED_CR IS INITIAL.
     WRITE : 166(14) ITAB_DISPLAY-TOT_SED_CR.
   ENDIF.
    WRITE : 166(14) TOTAL_ECS.
    IF NOT ITAB_DISPLAY-EXNUM_DB IS INITIAL.
      WRITE : 182 ITAB_DISPLAY-EXNUM_DB ,
              194(15) ITAB_DISPLAY-CENVAT_DB .
*--GETTING CESS VALUE FOR DEBIT--
      IF NOT ITAB_DISPLAY-ECS1 IS INITIAL.
        WRITE : 210(14)  ITAB_DISPLAY-ECS1.
      ENDIF.
    ENDIF.
    WRITE : 225(15) ITAB_DISPLAY-CENVAT_CLS.
RECENT CHANGES -
    IF NOT ITAB_DISPLAY-ECS IS  INITIAL.
      TOTAL_ECS = ITAB_DISPLAY-ECS + TOTAL_ECS.
    ENDIF.
    IF NOT ITAB_DISPLAY-ECS1 IS  INITIAL.
      TOTAL_ECS = TOTAL_ECS - ITAB_DISPLAY-ECS1 .
    ENDIF.
    WRITE : 240(13) TOTAL_ECS.
RECENT CHANGES -
    IF NOT ITAB_DISPLAY-EXNUM_CR IS INITIAL.
      WRITE :/55 ITAB_DISPLAY-EXDAT_CR.
    ENDIF.
    IF NOT ITAB_DISPLAY-EXNUM_DB IS INITIAL.
      WRITE :/182 ITAB_DISPLAY-EXDAT_DB.
    ENDIF.
    GR_TOTAL_ECS = GR_TOTAL_ECS + TOTAL_ECS.
    COMPUTE  GR_TOTAL_CREDIT_CESS = GR_TOTAL_CREDIT_CESS +
ITAB_DISPLAY-ECS .
    COMPUTE  GR_TOTAL_DEBIT_CESS = GR_TOTAL_DEBIT_CESS +
ITAB_DISPLAY-ECS1 .
    COMPUTE  GR_CLOSE_BAL_CESS = ( TOTAL_ECS_1 + GR_TOTAL_CREDIT_CESS )
- GR_TOTAL_DEBIT_CESS.
    AT LAST.
      IF NOT ITAB_DISPLAY-ECS IS  INITIAL.
        TOTAL_ECS = ITAB_DISPLAY-ECS + TOTAL_ECS.
      ENDIF.
      IF NOT ITAB_DISPLAY-ECS1 IS  INITIAL.
        TOTAL_ECS = TOTAL_ECS - ITAB_DISPLAY-ECS1 .
      ENDIF.
      WRITE:/(255) SY-ULINE.
      WRITE:/212(12) GR_TOTAL_DEBIT_CESS.
      SUM.
     WRITE:/(255) SY-ULINE.
     WRITE:/40(12) GR_TOTAL_ECS ,
      WRITE:  66 ITAB_DISPLAY-CENVAT_CR ,
            82 ITAB_DISPLAY-ADDL_DTY ,
           102 ITAB_DISPLAY-SED_CR ,
           102(12) GR_TOTAL_CREDIT_CESS,
           168(12) GR_TOTAL_CREDIT_CESS,
           194 ITAB_DISPLAY-CENVAT_DB .
           210 ITAB_DISPLAY-SED_DB.
      WRITE : 240(13) GR_CLOSE_BAL_CESS.
      WRITE:/(255) SY-ULINE.
    ENDAT.
    MOVE : ITAB_DISPLAY-EXNUM_CR TO V_PREV_EXNUM.
    MOVE : ITAB_DISPLAY-EXDAT_CR TO V_PREV_EXDAT.
   IF NOT ITAB_DISPLAY-ECS IS  INITIAL.
    TOTAL_ECS = ITAB_DISPLAY-ECS + total_ecs.
   ENDIF.
   IF NOT ITAB_DISPLAY-ECS1 IS  INITIAL.
    TOTAL_ECS = TOTAL_ECS - ITAB_DISPLAY-ECS1 .
   ENDIF.
   GR_TOTAL_ECS = GR_TOTAL_ECS + TOTAL_ECS.
  ENDLOOP.
ENDFORM.                               " F_004_DIKHAO
*&      Form  F_005_CREDIT_SUBTOTAL
      text
-->  p1        text
<--  p2        text
FORM F_005_CREDIT_SUBTOTAL.
  DATA : V_CENVAT LIKE J_1IEXCHDR-EXBED , V_SED LIKE J_1IEXCHDR-EXSED.
  DATA : V_CNT TYPE I.
  LOOP AT ITAB_DISPLAY WHERE EXNUM_CR NE SPACE.
    MOVE : ITAB_DISPLAY-EXNUM_CR TO ITAB_EXNUM-EXNUM.
    MOVE : ITAB_DISPLAY-EXDAT_CR TO ITAB_EXNUM-EXDAT.
    MOVE : ITAB_DISPLAY-CENVAT_CR TO ITAB_EXNUM-CENVAT.
    MOVE : ITAB_DISPLAY-ADDL_DTY TO ITAB_EXNUM-ADDL_DTY.
    MOVE : ITAB_DISPLAY-SED_CR TO ITAB_EXNUM-SED.
    APPEND ITAB_EXNUM.
  ENDLOOP.
  SORT ITAB_EXNUM BY EXNUM EXDAT.
  LOOP AT ITAB_EXNUM.
    AT NEW EXDAT.
      MOVE : ITAB_EXNUM-EXNUM TO ITAB_EXNUM1-EXNUM.
      CLEAR : V_CNT , V_CENVAT , V_SED.
    ENDAT.
    V_CNT = V_CNT + 1.
    V_CENVAT = V_CENVAT + ITAB_EXNUM-CENVAT + ITAB_EXNUM-ADDL_DTY.
    V_SED = V_SED + ITAB_EXNUM-SED.
    AT END OF EXDAT.
      MOVE : ITAB_EXNUM-EXDAT TO ITAB_EXNUM1-EXDAT.
      MOVE : V_CENVAT TO ITAB_EXNUM1-CENVAT.
      MOVE : V_SED TO ITAB_EXNUM1-SED.
      MOVE : V_CNT TO ITAB_EXNUM1-CNT.
      APPEND ITAB_EXNUM1.
    ENDAT.
  ENDLOOP.
  DELETE ITAB_EXNUM1 WHERE CNT EQ 1.
ENDFORM.                               " F_005_CREDIT_SUBTOTAL
*&      Form  F_006_CHECK_KARO
      text
-->  p1        text
<--  p2        text
*FORM F_006_CHECK_KARO.
DATA : ITAB_CHECK LIKE ZEXCISE_SED_BED OCCURS 0 WITH HEADER LINE.
SELECT * FROM ZEXCISE_SED_BED INTO TABLE ITAB_CHECK WHERE
                                                      ZDATE IN S_BUDAT
DESCRIBE TABLE ITAB_CHECK LINES V_LIN.
IF V_LIN GT 0.
   SORT ITAB_CHECK BY ZDATE DESCENDING.
   READ TABLE ITAB_CHECK INDEX 1.
   MESSAGE E000(8I) WITH 'Please execute the report for date after'
                          ITAB_CHECK-ZDATE.
ENDIF.
*ENDFORM.                               " F_006_CHECK_KARO
*&      Form  F_006_KHOL_BUND
      text
-->  p1        text
<--  p2        text
FORM F_006_KHOL_BUND.
  TABLES : MARD .
  DATA : MM LIKE MARD-LFMON , YYYY LIKE MARD-LFGJA.
CALL FUNCTION 'Z_GET_FINANCIAL_YEAR'
   EXPORTING
     DATE     = S_BUDAT-LOW
   IMPORTING
     F_PERIOD = MM
     F_YEAR   = YYYY
   EXCEPTIONS
     OTHERS   = 1.
****KANS INSERT
  IF P_WERKS EQ '1000'.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000155110' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0.
      COLLECT ITAB_GLT0.
    ENDSELECT.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000155130' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0_1.
      COLLECT ITAB_GLT0_1.
    ENDSELECT.
  ELSEIF P_WERKS EQ '3000'.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000157110' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0.
      COLLECT ITAB_GLT0.
    ENDSELECT.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000157130' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0_1.
      COLLECT ITAB_GLT0_1.
    ENDSELECT.
Begin of corrections
  ELSEIF P_WERKS EQ '4000'.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000158110' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0.
      COLLECT ITAB_GLT0.
    ENDSELECT.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000158130' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0_1.
      COLLECT ITAB_GLT0_1.
    ENDSELECT.
  ELSEIF P_WERKS EQ '2000'.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000156110' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0.
      COLLECT ITAB_GLT0.
    ENDSELECT.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000156130' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0_1.
      COLLECT ITAB_GLT0_1.
    ENDSELECT.
  ELSEIF P_WERKS EQ '5000'.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000159110' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0.
      COLLECT ITAB_GLT0.
    ENDSELECT.
    SELECT * FROM GLT0 WHERE BUKRS EQ '1000' AND
                                       RYEAR EQ YYYY AND
                                       RACCT EQ '0000159130' .
      MOVE-CORRESPONDING GLT0 TO ITAB_GLT0_1.
      COLLECT ITAB_GLT0_1.
    ENDSELECT.
****End of corrections (20.04.2002 for Plant 4000)
  ENDIF.
  READ TABLE ITAB_GLT0 INDEX 1.
  READ TABLE ITAB_GLT0_1 INDEX 1.
  CASE MM.
    WHEN '01'.
      MOVE : ITAB_GLT0-TSLVT TO V_OPENING_BED.
      MOVE : ITAB_GLT0_1-TSLVT TO V_OPENING_SED.
    WHEN '02'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01.
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01.
    WHEN '03'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02.
    WHEN '04'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 .
    WHEN '05'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 .
    WHEN '06'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 .
    WHEN '07'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 .
    WHEN '08'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 + ITAB_GLT0-TSL07 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 + ITAB_GLT0_1-TSL07 .
    WHEN '09'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 + ITAB_GLT0-TSL07 +
                      ITAB_GLT0-TSL08 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 + ITAB_GLT0_1-TSL07 +
                      ITAB_GLT0_1-TSL08 .
    WHEN '10'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 + ITAB_GLT0-TSL07 +
                      ITAB_GLT0-TSL08 + ITAB_GLT0-TSL09 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 + ITAB_GLT0_1-TSL07 +
                      ITAB_GLT0_1-TSL08 + ITAB_GLT0_1-TSL09 .
    WHEN '11'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 + ITAB_GLT0-TSL07 +
                      ITAB_GLT0-TSL08 + ITAB_GLT0-TSL09 +
                      ITAB_GLT0-TSL10 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 + ITAB_GLT0_1-TSL07 +
                      ITAB_GLT0_1-TSL08 + ITAB_GLT0_1-TSL09 +
                      ITAB_GLT0_1-TSL10 .
    WHEN '12'.
      V_OPENING_BED = ITAB_GLT0-TSLVT + ITAB_GLT0-TSL01 +
                      ITAB_GLT0-TSL02 + ITAB_GLT0-TSL03 +
                      ITAB_GLT0-TSL04 + ITAB_GLT0-TSL05 +
                      ITAB_GLT0-TSL06 + ITAB_GLT0-TSL07 +
                      ITAB_GLT0-TSL08 + ITAB_GLT0-TSL09 +
                      ITAB_GLT0-TSL10 + ITAB_GLT0-TSL11 .
      V_OPENING_SED = ITAB_GLT0_1-TSLVT + ITAB_GLT0_1-TSL01 +
                      ITAB_GLT0_1-TSL02 + ITAB_GLT0_1-TSL03 +
                      ITAB_GLT0_1-TSL04 + ITAB_GLT0_1-TSL05 +
                      ITAB_GLT0_1-TSL06 + ITAB_GLT0_1-TSL07 +
                      ITAB_GLT0_1-TSL08 + ITAB_GLT0_1-TSL09 +
                      ITAB_GLT0_1-TSL10 + ITAB_GLT0_1-TSL11 .
  ENDCASE.
ENDFORM.                               " F_006_KHOL_BUND
*&      Form  F_005_DIEX_DTL_SE_UTHAO
      text
-->  p1        text
<--  p2        text
FORM F_005_DIEX_DTL_SE_UTHAO.
*ppend lines of itab_excise to itab_excise1.
*elete itab_excise where trntyp eq 'DIEX'.
*elete itab_excise1 where trntyp ne 'DIEX'.
ENDFORM.                               " F_005_DIEX_DTL_SE_UTHAO

Star ,
Tell me how u are calc.Opening Balance?
Regards
Prabhu

Similar Messages

  • Opening Balances and Closing Balance of customer

    Hi,
    Does SAP provide any standard customer account statement for Opening Balances and Closing Balance for specific date range have given in selection screen?
    The statement also contains reference number, order, and Delivery number.
    Note: FBL5N Transaction code will not sufficient for the requirement, so looking for any other transaction code / report provided by SAP already for it.
    Thanks in advance,
    Shwetha

    Hi,
    There are several standard reports which could be easily accessed through the menu (Accounts Receivable - Information systems). If none of these reports does not suit your requirement, you have to develop your own.
    Regards,
    Eli

  • Table for Customer and vendor open balance on a key date

    Dear All,
    Can anyone please let me know Table for Customer and vendor open balance on a key date. We are developing one customized report.
    I have checked with the below table :
    Customer-KNC1, KNC3,BSID, BSAD
    Vendor-LFC1, LFC3, BSIK, BSAK.
    But these are not working properly for all customers and vedors. Also, in open items, there are items with clearing documents.
    Plesae let me know, how to go for it.
    Please suggest.

    Hi
    Use BSID and BSIK for open items
    And pass company code, year and from date and to date range in Posting date selection option
    Reg
    Vishnu

  • Fixed Asset Opening Balance

    Hi,
    Any idea to do (by import and manual create) the opening balance for fixed asset Mmaster data? Tried to search SAP notes or guide, only can find related topic on Import FA Master Data and not manual create of FA Master Data, and how to import the FA Master Data with belong to same Asset Type (same life-span) but due to purchase at different timing, now having different remaining life span).
    Thank you.

    Hello,
    I am sorry for unclear answer. I did not mean that you have to develop addon.
    after checking our client database, I see that one asset class will have same useful life and depreciation type which it means that different asset class can only the way to have different useful life (UL), and of course it will be different in depreciation type (DT).
    For example : machine A : UL : 96, DT : SL12.5
                         land        B ; UL 250  DT : SL25.
    Hope you also could discuss with SAP support about this.
    Rgds,

  • Fixed Asset - Manually enter opening balance

    Hi,
    It's possible to manually enter fixed asset opening balance? anyone wanna share ways of manually enter? l only tried on import way.
    Thanks in advance!
    Phoebe

    Hi,
    There is no feature that can be used to upload FA opening balance amount in the fixed asset addon.
    If you refer to fixed asset master data import, you can use template fixed asset master data to import the master data.
    JimM

  • Customer line items with balance carry forward no opening balance

    Hello FI Experts,
    We have ticket where the user is using a Z* Report for Customer line items with balance carry forward. In 31.01.2007 user has posted some legacy data, latter he was executing this Z* report then user can see the values posted on the same day (31.01.2007) as line items. But he was executing the report on 01.02.2007 then he was not able to see the line item as well as the values posted on 31.01.2007 as opening balance as on 01.02.2007. But if we run the report as on 01.01.2008 then we are able to see the values which are carry forwarded as opening balances. Did anyone have worked on this type of scenario?
    Requirement Here Is:  The values that have been posted on 31.03.2007 which are still open line items should get displayed as opening balance as on 01.02.2007.
    Thanks for helping on this issue.

    Hi,
      Any report will get data from Tables. Please check whether the table you have used to develop this report has opening balance.
    Balance will be carry forwarded only when you run the balance carry forward program. Check whether this was run for the date you have specified. This can be done in the year end.
    If you are checking in the middle of the year, then the balance will not be carry forwarded.
    Regards,
    B. Radhika.

  • Debit,credit ,opening balance,closing balance..doubt.

    Dear friends,
                   I am working in FI report (vendor balance for date ranges) .Its a ALV report. I want to fetch the datas for debit ,
    credit,opening balance,closing balance,for the paticular vendor or all vendors for date ranges.the table for this iam using is BSIK AND LFC1.
    all the datas stored in the table is for month wise,but my programe (my user needs even for day wise) how to calculate this,
    or is there any function modules avaliable  or can u konw any other table storing day wise balances...this report is urgent ..
    any one pls suggest me .advance thanks..
    regards
    veera

    if user wants day wise then make use of BSAK+BSIK, here u will get all line items daywise , i mean to say Posting daywise.
    BUDAT        31.03.2003---->posting date
    BLDAT        31.03.2003
    CPUDT        31.03.2003
    WAERS        INR
    XBLNR        T&E-29-30.3-PNPT
    BLART        PA
    MONAT        3
    BSCHL        31
    ZUMSK
    SHKZG        H------------>D/C
    GSBER--------------------->Business Area
    MWSKZ-------------------->tax Code.
    DMBTR        1,507.00
    WRBTR        1,507.00
    regards
    Prabhu

  • Posting Open Balance to a All Currencies G/L Account

    Hi All,
    I have a situation for which some assistance is required.
    I am trying to post opening balance to the G/L bank account which is defined as ALL Currency.
    On the G/L the system show that Account as Currency = All Currencies and adjacent to the Balance it shows that currency ID  as GBP.
    This account is a $ Account and I want to post the Open Balance in $. However, when I try to create the Open Balance the FC columns are disabled.
    What am I missing?
    Best regards
    Earl

    Hi Earl,
    There is nothing wrong.  If it is a MC account, all JE would be based on LC.  Hence only LC would be allowed for Opening Balance. If it is not LC, convert it to LC for posting.
    Thanks,
    Gordon

  • How to create a first row in crystal report as opening balance which contains two columns with debit and credit

    I have created a crystal report with credit and debit column. Balance column created on the report. Report running with cummulative balance. THis report contain an option for date range. If i filtered this report its not showing the actual balance. I need
    a first row to indicate previous balance as opening balance in this report.  And following is the formula for balance column.
    Whileprintingrecords;
    Shared Numbervar balance;
    Shared Numbervar display;
    balance:={@debit}-{@credit};
    display:=display+balance;
    display

    As this question is out of the T-SQL queue, thus I would suggest you consult Crystal Report questions to the correct forums.
    C#
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=csharpgeneral
    VB
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=vbgeneral
    people there have more knowledge on Crystal Report.

  • Opening Balance

    Hi,
    How do i get opening balance and closing balances in reports?
    where i have the time chars 0fiscper3 and 0fiscyear and the values for the 0fiscper3 are 1 to 16.
    Thanks,
    Venu.

    Hi venu,
    this is sudharsan, working on abap, here i have seen that u have worked on that, printing Opening and closing balance for GL a/c,
    i got the same requirment, so could u plz help me that if u have a solution. it is very urgent for me..
    my id is: [email protected]
    regards,
    sudharsan.

  • To caluclate the opening balances

    I want to calulate the opening balances and closing balances for each month in the result like this :
    Month uom Opening Closing
    Apr
    May
    Jun
    Jul
    Aug
    sep
    Oct
    Nov
    Dec
    Jan
    Feb
    Mar
    SELECT UOM,
    SUM(OPSTK) OPSTK, SUM(OPVAL) OPVAL
    SUM(INQTY) INQTY, SUM(INVAL) INVAL,
    SUM(OUTQTY) OUTQTY, SUM(OUTVAL) OUTVAL,
    SUM(CLSTK) CLSTK, SUM(CL_VAL) CL_VAL
    FROM
    SELECT
    UOM, ITEM_CODE, ITEM_NAME,
    ROUND(OPSTK/CNV/ML,2) OPSTK, ROUND(OPVAL,3)OPVAL,
    ROUND(INQTY/CNV/ML,2) INQTY, ROUND(INVAL,3) INVAL,
    ROUND(OUTQTY/CNV/ML,2) OUTQTY, ROUND(OUTVAL,3)OUTVAL,
    ROUND((NVL(OPSTK,0)+NVL(INQTY,0)-NVL(OUTQTY,0))/CNV/ML,2) CLSTK,
    ROUND((NVL(OPVAL,0)+NVL(INVAL,0)-NVL(OUTVAL,0)),3) CL_VAL
    FROM
    SELECT
    ITEM_UOM_CODE UOM, ITEM_CODE, ITEM_NAME,
    IU_CONV_FACTOR CNV,
    IU_MAX_LOOSE_1 ML
    FROM OM_ITEM,OM_ITEM_UOM
    WHERE ITEM_CODE = IU_ITEM_CODE AND IU_UOM_CODE = ITEM_UOM_CODE
    SELECT
    SL_ITEM_CODE OP_ICODE,
    SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_QTY_BU) OPSTK,
    ROUND(SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_VAL_1),2) OPVAL
    FROM OS_STK_LEDGER
    WHERE SL_DT < TO_DATE(:P249_DATE1,'DD-MM-YYYY')
    GROUP BY SL_ITEM_CODE
    SELECT
    SL_ITEM_CODE TX_ICODE,
    SUM(DECODE(SL_RCVD_ISSD,'R',1)*SL_QTY_BU)INQTY,
    SUM(DECODE(SL_RCVD_ISSD,'R',1)*SL_VAL_1) INVAL,
    SUM(DECODE(SL_RCVD_ISSD,'I',1)*SL_QTY_BU)OUTQTY,
    SUM(DECODE(SL_RCVD_ISSD,'I',1)*SL_VAL_1) OUTVAL
    FROM OS_STK_LEDGER
    WHERE SL_DT BETWEEN TO_DATE(:P249_DATE1,'DD-MM-YYYY') AND TO_DATE(:P249_DATE2,'DD-MM-YYYY')
    GROUP BY SL_ITEM_CODE
    WHERE ITEM_CODE = OP_ICODE(+)
    AND ITEM_CODE = TX_ICODE(+)
    AND ITEM_CODE LIKE 'R%'
    --AND   ITEM_CODE LIKE :P249_ITEMCODE
    ORDER BY ITEM_CODE
    GROUP BY UOM
    The below given query gives me the opening and closing balances, for the date range entered by me.
    For ex. if I enter the date in TO_DATE(:P249_DATE1,'DD-MM-YYYY') field as '01-04-2008', then i get the opening balance for the month April. The SL_DT is the date column in the table.
    Kindly guide me for this to solve..

    There seems to be a problem with your query formatting. I've formatted it and the ORDER BY clause is not needed in the In line view. Remove it. I have added new GROUP BY column.
    SELECT UOM,
           SUM(OPSTK) OPSTK, SUM(OPVAL) OPVAL
           SUM(INQTY) INQTY, SUM(INVAL) INVAL,
           SUM(OUTQTY) OUTQTY, SUM(OUTVAL) OUTVAL,
           SUM(CLSTK) CLSTK, SUM(CL_VAL) CL_VAL
    FROM ( SELECT UOM, ITEM_CODE, ITEM_NAME,
                  ROUND(OPSTK/CNV/ML,2) OPSTK, ROUND(OPVAL,3)OPVAL,
                  ROUND(INQTY/CNV/ML,2) INQTY, ROUND(INVAL,3) INVAL,
                  ROUND(OUTQTY/CNV/ML,2) OUTQTY, ROUND(OUTVAL,3)OUTVAL,
                  ROUND((NVL(OPSTK,0)+NVL(INQTY,0)-NVL(OUTQTY,0))/CNV/ML,2) CLSTK,
                  ROUND((NVL(OPVAL,0)+NVL(INVAL,0)-NVL(OUTVAL,0)),3) CL_VAL
           FROM ( SELECT ITEM_UOM_CODE UOM, ITEM_CODE, ITEM_NAME,
                         IU_CONV_FACTOR CNV,
                         IU_MAX_LOOSE_1 ML
                  FROM OM_ITEM,OM_ITEM_UOM
                  WHERE ITEM_CODE = IU_ITEM_CODE AND IU_UOM_CODE = ITEM_UOM_CODE
                 ( SELECT SL_ITEM_CODE OP_ICODE,
                          SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_QTY_BU) OPSTK,
                          ROUND(SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_VAL_1),2) OPVAL
                   FROM OS_STK_LEDGER
                   WHERE SL_DT < TO_DATE(:P249_DATE1,'DD-MM-YYYY')
                   GROUP BY SL_ITEM_CODE
                 ( SELECT SL_ITEM_CODE TX_ICODE,
                          SUM(DECODE(SL_RCVD_ISSD,'R',1)*SL_QTY_BU)INQTY,
                          SUM(DECODE(SL_RCVD_ISSD,'R',1)*SL_VAL_1) INVAL,
                          SUM(DECODE(SL_RCVD_ISSD,'I',1)*SL_QTY_BU)OUTQTY,
                          SUM(DECODE(SL_RCVD_ISSD,'I',1)*SL_VAL_1) OUTVAL,
                          trunc(SL_DT, 'MM')
                   FROM OS_STK_LEDGER
                   WHERE SL_DT BETWEEN TO_DATE(:P249_DATE1,'DD-MM-YYYY') AND TO_DATE(:P249_DATE2,'DD-MM-YYYY')
                   GROUP BY SL_ITEM_CODE, trunc(SL_DT, 'MM')
           WHERE ITEM_CODE = OP_ICODE(+)
           AND ITEM_CODE = TX_ICODE(+)
           AND ITEM_CODE LIKE 'R%'
           --AND ITEM_CODE LIKE :P249_ITEMCODE
    GROUP BY UOM;Cheers
    Sarma.

  • Opening Balance and closing balance

    Dear All,
                 Can i create a calculated field for ledger opening balance and closing balance. we are using  epicor. I dont know the exact table which captures opening balance and closing balance, where as i got credit balances and debit balances for the segments, i could not find opening and closing balances in this table. table name is GLjrntdtl . Any ideas on this subject please.
    Thanks & Regards,
    Akram

    hi Akram,
    this is a question that you may wish to ask at the epicor forums
    -jamie

  • Opening balances in RG1

    Hi All,
    As per the new excise requirement we have to show the opening and closing balances of all the materials in RG1 register.
    Please help me how to get this?
    What is Extraction Indicator in J2irg1bal table?
    Please help
    Thanks
    Prasad

    Hi Satyendra ,
    For initial  upload in RG1 there are 2 tables you need to manually update. J_2IRG1BAL  from CIN or SD side. And Accounts to be updated for Balance in J_2IACCBAL.
    There are 2 ways for updating balance tables
    On last day of month enter Balance in Closing balance field.
    OR enter opening balance on 1 st day of month.
    Also check Material form P ,can be maintained in user exit for permanent effect.
    After  updating balances ,
    perform any one transaction on system.
    and then  Extract  the Rg1 table .
    Ask FI consultant to put in  FI JV after balance upload in ACCBAL table.
    If you have not done table entries before performing transaction and extraction of RG1  then balances will not appear .
    Check with your senior there and use table edit in such case (I hope you are not on production server  at the moment) .Then again perform Extraction and check once.
    SD FI and ABAP to be present and take decision accordingly.

  • GL balances differences between Year end closing and opening balances

    Hi friends,
    One GL account balances showing differences between year end closing & year opening balances.
    Example: 2006 closing balance is  250000 $
                   2007 opening balance is 150000 $
    difference is 100000 $ . why should coming like this. already completed balances carryforward (F.16) in 2006 & 2007 year. 
    any programe for this solution ?
    One more point is  just 2 days back i posted 2 entries for 2006 year equal to 100000 $ . after this entries shall we need go for F.16 (carry forwarded balances).
    please do the needful. It is very urgant issue.
    Raj

    HI,
    There shouldn't be any more postings to a GL Account once Balance carry forward has been executed.
    If postings have been made then you should execute the Balance carry forward again, otherwise you will see difference in opening and closing GL balance (as mentioned by you).
    Regards

  • Opening balance and closing balances for discounts?

    Hi all,
    I have a typical sceanario where in
    opening balance for discounts 10,000 (balance of last month)
    actual discounts  from the sales order 5,000
    manual upload is   from flat file            2,000
    closing balance is 7,000 (which is opening balance + manual upload - actual discounts)
    opening and closing balance needs to be calculated, how to calculate nor handle this on every month?
    level of granularity of the data is
    sku, month, rebate category and rebate amount?
    Thanks

    Hi Pooja,
    can you please let us know few things about your report requirements
    What is the extractor you are using?
    What are the KFs ?
    what are the selection parameters that you want to enter at the reporting level?
    is it the report related to FI AR. do you want to display the values based on the customer -->profitcenter?
    Bcoz we had a same requirement where our requirement was global recievables aging report in which the report need to display opening bal, sales,adjustment,colelction and closing balance and the aging values.
    here what we did is changed the modeling of the DSO and infocube.
    we had used non-cumulative KF in order to calculate closing balance and from that derived opening balance and again create a new formula to get the closing balance.
    if you can be specific with your requirement hope can help you with your report.

Maybe you are looking for

  • Urg : error look on bsp pages

    Hi i created two pages in web application with form . when launching or excuting application i got error "No complete domain statement contains the URLS (ECC60 instead of ECC60.").) how to solve this issue . could please suggest me . thanks , Suresh

  • How do I change page margins on pdf file on acrobat?

    Hi there Could someone please help me. I need to change the page margins on a pdf file using adobe acrobat.  The page size is 7" by 10" which I have been able to change.  I need to change the page margins to: Left - .75" Right - .25" Top - .25" Botto

  • BAPI to cancel Transfer order

    Hi All, Is there is any BAPI to cancel Transfer Order (using T-Code LT15) already created? Regards, Raghu

  • EJB dependent libraries: NoClassDefFoundError

    I am using Sun ONE Application Server 7 on a Win2K machine. In porting a working application from Oracle 9i App Server to Sun ONE, I experiece the following problem. When the application's EJB module attemtpts to call code in a third-party jar, a NoC

  • How do I save my online resume in PDF to a word document?

    I have a MAC 10.9.  I cannot for the life of me figure out how to change a PDF file sent via a resume writing company, to my email.  I can open the document, read it, but cannot change it to word.  Please help me.