Custom purchase requsitionto vendor open and cleared payment report

dear all i develop report but i cant ableto show in that open amount and cleared amount of vender in that report so please see this report and feedback me for logic to show open and clear amount of vendor purchase orderwise or vendorwise
report zpo_purchase_history no standard page heading message-id 00.
TABLES : bsik, bsak, lfa1, lfb1, skb1, t001, bapifvdexp_vzzbepp.
type-pools:slis,ICON.
types :begin of ty_po,
        banfn type eban-banfn,
        "Purchase Requisition Number
        bnfpo type eban-bnfpo,
        "Item Number of Purchase Requisition
        ekgrp type eban-ekgrp,                 "Purchasing Group
        badat type eban-badat,
        "Requisition (Request) Date
        menge type eban-menge,
        KNTTP TYPE EBAN-KNTTP,
         PSTYP type eban-PSTYP,
        "Purchase Requisition Quantity
        meins type eban-meins,
        "Purchase Requisition Unit of Measure
        lifnr type ekko-lifnr,                 "Vendor Account Number
        bedat type ekko-bedat,                 "Purchasing Document Date
        ebeln type ekpo-ebeln,
        "Purchasing Document Number
        ebelp type ekpo-ebelp,
        "Item Number of Purchasing Document
        matkl type ekpo-matkl,                 "Material Group
        mtart type ekpo-mtart,                 "Material Type
        matnr type ekpo-matnr,                 "Material Number
        txz01 type ekpo-txz01,                 "Short Text
        menge1 type ekpo-menge,                "Purchase Order Quantity
        meins1 type ekpo-meins,
        "Purchase Order Unit of Measure
        balqty type ekpo-menge,                "Balance Quantity
        netpr type ekpo-netpr,
        "Net Price in Purchasing Document
        peinh type ekpo-peinh,                 "Price Unit
        mblnr type mseg-mblnr,
        "Number of Material Document
        zeile type mseg-zeile,                 "Item in Material Document
        menge2 type mseg-menge,                "GR Quantity
        meins2 type mseg-meins,                "GR Unit of Measure
        werks type mseg-werks,                 "Plant
        charg type mseg-charg,                 "Batch
        belnr type rbkp-belnr,
        "Document Number of an Invoice Document
        bldat type ekbe-bldat,                 "Document Date in Document
        belnr_b type rbkp-belnr,
        SHKZG type ekbe-SHKZG ,                "Debit/Credit Indicator
        DMBTR type   bsik-dmbtr,                "Amount in Local Currency
        DMBTR_C type   bsAk-dmbtr,                "Amount in Local Currency
        thick(10) type c,                      "Thickness
        width(10) type c,                      "Width
        length(10) type c,                     "Length
        grade(10) type c,                        "Grade
        BELNR_d type bseg-belnr,
        xblnr type bkpf-xblnr,
        awkey  type bkpf-awkey,
        RMWWR type rbkp-RMWWR,
        WMWST1 type rbkp-WMWST1,
        end of ty_po.
types :begin of ty_ekko,
        ebeln type ekko-ebeln,
        lifnr type ekko-lifnr,
        bedat type ekko-bedat,
        end of ty_ekko.
types:begin of ty_ekpo,
        ebeln type ekpo-ebeln,
        ebelp type ekpo-ebelp,
        matnr type ekpo-matnr,
        txz01 type ekpo-txz01,
        menge type ekpo-menge,
        meins type ekpo-meins,
        netpr type ekpo-netpr,
        peinh type ekpo-peinh,
        banfn type ekpo-banfn,
        bnfpo type ekpo-bnfpo,
        mtart type ekpo-mtart,
        end of ty_ekpo.
types :begin of ty_eban,
        banfn type eban-banfn,
        bnfpo type eban-bnfpo,
        matnr type eban-matnr,
        menge type eban-menge,
        meins type eban-meins,
        end of ty_eban.
types : begin of ty_ekbe,
         ebeln type ekbe-ebeln,
         ebelp type ekbe-ebelp,
         belnr type ekbe-belnr,
         bldat type ekbe-bldat,
         gjahr type ekbe-gjahr,
         buzei type ekbe-buzei,
         matnr type ekbe-matnr,
         DMBTR type ekbe-dmbtr,
         shkzg type ekbe-shkzg,
         end of ty_ekbe.
types : begin of ty_mseg,
         mblnr type mseg-mblnr,
         mjahr type mseg-mjahr,
         zeile type mseg-zeile,
         menge type mseg-menge,
         meins type mseg-meins,
         ebeln type mseg-ebeln,
         ebelp type mseg-ebelp,
         matnr type mseg-matnr,
         werks type mseg-werks,
         charg type mseg-charg,
         end of ty_mseg.
types : begin of ty_rbkp,
         belnr type rbkp-belnr,
         gjahr type rbkp-gjahr,
         bldat type rbkp-bldat,
         lifnr type rbkp-lifnr,
         ZUONR type rbkp-ZUONR,
         RMWWR type rbkp-RMWWR,
         WMWST1 type rbkp-WMWST1,
         end of ty_rbkp.
types : begin of ty_bseg,
         bukrs type bseg-bukrs,
         belnr type bseg-belnr,
         gjahr type bseg-gjahr,
         buzei type bseg-buzei,
         valut type bseg-valut,
         wrbtr type bseg-wrbtr ,
         augbl type bseg-augbl,
         matnr type bseg-matnr,
         lifnr type bseg-lifnr,
         ebeln type bseg-ebeln,
         end of ty_bseg.
types : begin of ty_rseg,
         belnr type rseg-belnr,
         gjahr type rseg-gjahr,
         ebeln type rseg-ebeln,
         ebelp type rseg-ebelp,
         matnr type rseg-matnr,
         bukrs type rseg-bukrs,
         end of ty_rseg.
types : begin of ty_bsik,
         belnr type bsik-belnr,
          buzei type bsik-buzei,
         DMBTR type bsik-DMBTR,
         budat type bsik-budat,
         shkzg type bsik-shkzg,
         ebeln type bsik-ebeln,
         lifnr type bsik-lifnr,
         end of ty_bsik.
types : begin of ty_bsak,
         belnr type bsak-belnr,
   lifnr type bsak-lifnr,
    ebeln type bsak-ebeln,
         DMBTR_C type bsak-DMBTR,
ZUONR type bsak-ZUONR,
         end of ty_bsak.
types: begin of ty_bkpf,
         BELNR type bkpf-belnr,
         xblnr type bkpf-xblnr,
         awkey  type bkpf-awkey,
       end of ty_bkpf.
data: it_po type standard table of ty_po,
       it_ekko type standard table of ty_ekko,
       it_ekpo type standard table of ty_ekpo,
       it_eban type standard table of ty_eban,
       it_ekbe type standard table of ty_ekbe,
       it_mseg type standard table of ty_mseg,
       it_rbkp type standard table of ty_rbkp,
       it_rseg type standard table of ty_rseg,
       it_bseg type standard table of ty_bseg,
       it_bsik type STANDARD TABLE OF ty_bsik with header line,
       it_bsak type STANDARD TABLE OF ty_bsak,
       it_bkpf type standard table of ty_bkpf,
       wa_po type ty_po,
       wa_ekko type ty_ekko,
       wa_ekpo type ty_ekpo,
       wa_eban type ty_eban,
       wa_mseg type ty_mseg,
       wa_rbkp type ty_rbkp,
       wa_rseg type ty_rseg,
       wa_bseg type ty_bseg,
       wa_ekbe type ty_ekbe,
       wa_bsik type ty_bsik,
       wa_bsak type ty_bsak,
       wa_bkpf type ty_bkpf.
data: it_fcat type slis_t_fieldcat_alv,
       it_lshead type slis_t_listheader,
       it_sort type slis_t_sortinfo_alv,
       wa_fcat type slis_fieldcat_alv,
       wa_lshead type slis_listheader,
       wa_layout type slis_layout_alv,
       wa_sort type slis_sortinfo_alv.
data :it_cl_data like table of clobjdat,
       wa_cl_data like clobjdat.
data: values(10) type n.
data: value1(4) type N.
data: c_matkl type ekpo-matkl,
       c_matnr type ekpo-matnr,
       c_ekgrp type eban-ekgrp,
       c_badat type eban-badat,
       c_index type sy-tabix,
       c_grmenge type mseg-erfmg,
       c_low(10) type c,
       c_high(10) type c,
       c_date type string,
       c_bukrs type ekko-bukrs,
       c_WERKS type eban-WERKS.
data: gd_date(10).
DATA: V_EVENTS TYPE SLIS_T_EVENT,
       WA_EVENT TYPE SLIS_ALV_EVENT.
*********Selection screen variables*********
selection-screen:begin of block b1 with frame title text-001.
select-options: s_bukrs for c_bukrs DEFAULT  'bmp1',
                 s_WERKS for c_WERKS,
                 s_matnr for c_matnr DEFAULT 'rm-01',
                 s_matkl for c_matkl ,
                 s_badat for c_badat ,"obligatory,
                 s_ekgrp for c_ekgrp.
parameters: ch_bal as checkbox.
selection-screen:end of block b1.
*initialization.
* PERFORM EVENT_CALL.
*  PERFORM POPULATE_EVENT.
start-of-selection.
     PERFORM EVENT_CALL.
   PERFORM POPULATE_EVENT.
   perform getdata.
   perform setdata.
   perform fieldcat.
   perform display.
*&      Form  GETDATA
form getdata .
   select a~BANFN
          a~bnfpo
          a~ekgrp
          a~badat
          a~KNTTP
          a~PSTYP
          b~ebeln
          b~ebelp
          b~matkl
          b~matnr
          b~bukrs
          into corresponding fields of table it_po
          from eban as a inner join ekpo as b
          on a~banfn = b~banfn and
             a~bnfpo = b~bnfpo AND
             A~KNTTP = B~KNTTP and
             a~PSTYP = b~PSTYP
          where  a~badat in s_badat and
                 a~ekgrp in s_ekgrp and
                 a~WERKS in s_WERKS and
                 b~matnr in s_matnr and
                 b~matkl in s_matkl and
                 b~bukrs in s_bukrs and
                 b~loekz <> 'L' and
                 a~loekz <> 'X'.
   if it_po[] is not initial.
     select ebeln
            ebelp
            matnr
            txz01
            menge
            meins
            netpr
            peinh
            banfn
            bnfpo
            mtart
            from ekpo into table it_ekpo
            for all entries in it_po
            where ebeln = it_po-ebeln and
                  ebelp = it_po-ebelp and
                  loekz <> 'L'.
     select banfn
            bnfpo
            matnr
            menge
            meins
            from eban into table it_eban
            for all entries in it_po
            where banfn = it_po-banfn and
                  bnfpo = it_po-bnfpo and
                  loekz <> 'X'.
     if it_ekpo[] is not initial.
       select ebeln
              lifnr
              bedat
              from ekko into table it_ekko
              for all entries in it_ekpo
              where ebeln = it_ekpo-ebeln.
       select ebeln
              ebelp
              belnr
              bldat
              gjahr
              buzei
              matnr
              DMBTR
              shkzg
              from ekbe into table it_ekbe
              for all entries in it_ekpo
              where ebeln = it_ekpo-ebeln and
                    ebelp = it_ekpo-ebelp .
*if it_ekbe-shkzg = 'H'.
**ekbe-dmbtr = ekbe-dmbtr * -1.
**ekbe-menge = ekbe-menge * -1.
*endif.
* select belnr
*             gjahr
*             ebeln
*             ebelp
*     from bseg into table it_bseg
*             for all entries in it_ekpo
*             where ebeln = it_ekpo-ebeln and
*                   ebelp = it_ekpo-ebelp.
       select belnr
              gjahr
              ebeln
              ebelp
              matnr
              bukrs
              from rseg into table it_rseg
              for all entries in it_ekpo
              where ebeln = it_ekpo-ebeln and
                    ebelp = it_ekpo-ebelp.
     endif.
     if it_ekbe[] is not initial.
       select mblnr
              mjahr
              zeile
              menge
              meins
              ebeln
              ebelp
              matnr
              werks
              charg
              from mseg into table it_mseg
              for all entries in it_ekbe
              where mblnr = it_ekbe-belnr and
                    mjahr = it_ekbe-gjahr and
                    zeile = it_ekbe-buzei and
                    bwart = '101'.
     endif.
     if it_rseg[] is not initial.
       select belnr
              gjahr
              bldat
              lifnr
              ZUONR
              RMWWR
              WMWST1
              from rbkp into table it_rbkp
              for all entries in it_rseg
              where belnr = it_rseg-belnr.
     endif.
*if it_rseg[] is not initial.
*      SELECT bukrs
*              belnr
*              gjahr
*              buzei
*              valut
*              wrbtr
*              augbl
*              matnr
*              lifnr
*              ebeln
*        INTO TABLE it_bseg
*          FROM bseg
*          FOR ALL ENTRIES IN it_rseg
*          WHERE bukrs = it_rseg-bukrs and ebeln = it_rseg-ebeln and mwskz = ''.
*endif.
*loop at it_BKPF into wa_BKPF.
*  values = wa_rbkp-belnr.
*  value1 = wa_rbkp-gjahr.
   data: aekey_1 type string .
*CONCATENATE values value1 into aekey_1.
*  if it_BSEG[] is not initial.
*MESSAGE aekey_1 type 'I'.
       SELECT single belnr xblnr awkey into wa_bkpf
         from bkpf
         where awkey = aekey_1.
SELECT SINGLe belnr
buzei
dmbtr
budat
   shkzg
   ebeln
   lifnr
   FROM bsik
INTO CORRESPONDING FIELDS OF  wa_bsik
*FOR ALL ENTRIES IN it_bseg
WHERE
    bukrs in s_bukrs and
    lifnr = wa_rbkp-lifnr
and
*AND gjahr = it_bseg-gjahr
* AND
    belnr = wa_bkpf-belnr.
insert wa_bsik into table it_bsik.
CLEAR wa_bsik.
CLEAR it_bsik.
*endloop.
* and ebeln = it_bseg-ebeln .
*    select BELNR
**           SHKZG
**           DMBTR
*           from bkpf into table it_bkpf
*            for ALL ENTRIES IN it_rbkp
*            where belnr = it_rbkp-belnr.
*        ENDif.
IF IT_bseg[] IS NOT INITIAL.
       select belnr
         LIFNR
         ebeln
              DMBTR
          ZUONR
              from bsik into table it_bsik
              for all entries in it_bseg
              where belnr = it_bseg-belnr.
       select belnr
         LIFNR
         ebeln
              DMBTR
          ZUONR
              from bsak into table it_bsak
              for all entries in it_bseg
              where belnr = it_bseg-belnr.
ENDIF.
   else.
     message s002.
     leave list-processing.
   endif.
endform.                    " GETDATA
*&      Form  SETDATA
form setdata .
   clear wa_po.
   loop at it_po into wa_po.
     c_index = sy-tabix.
********Calculate PR Quantity**********
     clear wa_eban.
     read table it_eban into wa_eban
                with key banfn = wa_po-banfn
                         bnfpo = wa_po-bnfpo.
     if sy-subrc eq 0.
       move:wa_eban-menge to wa_po-menge,
            wa_eban-meins to wa_po-meins.
     endif.
********Calculate PO Quantity**********
     clear wa_ekpo.
     read table it_ekpo into wa_ekpo
                with key banfn = wa_po-banfn
                         bnfpo = wa_po-bnfpo .
     if sy-subrc eq 0.
       move:wa_ekpo-txz01 to wa_po-txz01,
            wa_ekpo-netpr to wa_po-netpr,
            wa_ekpo-peinh to wa_po-peinh,
            wa_ekpo-mtart to wa_po-mtart,
            wa_ekpo-menge to wa_po-menge1,
            wa_ekpo-meins to wa_po-meins1.
     endif.
********Calculate Balance Quantity******
     clear wa_mseg.
     loop at it_mseg into wa_mseg
            where ebeln = wa_po-ebeln and
                  ebelp = wa_po-ebelp.
       c_grmenge = c_grmenge + wa_mseg-menge.
     endloop.
     move:wa_mseg-mblnr to wa_po-mblnr,
          c_grmenge to wa_po-menge2,
          wa_mseg-meins to wa_po-meins2,
          wa_mseg-werks to wa_po-werks,
          wa_mseg-charg to wa_po-charg.
     wa_po-balqty = wa_eban-menge - c_grmenge.
     clear : wa_rseg,wa_rbkp.
     read table it_rseg into wa_rseg with key
                    ebeln = wa_mseg-ebeln
                    ebelp = wa_mseg-ebelp.
     read table it_rbkp into wa_rbkp
                with key belnr = wa_rseg-belnr
                         gjahr = wa_rseg-gjahr.
     if sy-subrc eq 0.
       move : wa_rbkp-belnr to wa_po-belnr,
              wa_rbkp-bldat to wa_po-bldat,
              wa_rbkp-RMWWR to wa_po-RMWWR,
              WA_RBKP-WMWST1 TO WA_PO-WMWST1.
     endif.
       read table it_bseg into wa_bseg with key
                     ebeln = wa_rseg-ebeln
                     bukrs = wa_rseg-bukrs.
       if sy-subrc eq 0.
         move wa_bseg-belnr to wa_po-belnr_d.
       endif.
*    read table it_bkpf into wa_bkpf
*    with key belnr = wa_ekbe-belnr.
*    read table it_bseg into wa_bseg
*    with key belnr = wa_bkpf-belnr.
CLEAR wa_bsik.
clear it_bsik.
     read table it_bsik into wa_bsik
     with key belnr = wa_bkpf-belnr.
*    if wa_bsik-shkzg = 'H'.
*     wa_bsik-DMBTR = wa_bsik-DMBTR * 1.
*     endif.
       if sy-subrc eq 0.
         move : wa_bsik-belnr to wa_po-belnr,
                 wa_bsik-DMBTR to wa_po-DMBTR.
        endif.
*    clear wa_bsik.
*    read table it_bsik into wa_bsik
*               with key  belnr = wa_bseg-belnr.
*    if sy-subrc eq 0.
*        move : wa_bsik-DMBTR to wa_po-DMBTR.
*    endif.
*clear wa_bsak.
*    read table it_bsak into wa_bsak
*               with key  belnr = wa_bseg-belnr.
*    if sy-subrc eq 0.
*        move : wa_bsak-DMBTR_C to wa_po-DMBTR_C.
*    endif.
*clear : wa_rbkp.
*loop at it_bsik into wa_bsik.
*read table it_bsik into wa_bsik with key belnr = wa_rbkp-belnr.
*if sy-subrc eq 0.
*  move : wa_bsik-DMBTR to wa_po-DMBTR.
*    endif.
*endloop.
*********Assign Vendor,PO Date*********
     clear wa_ekko.
     read table it_ekko into wa_ekko
                with key ebeln = wa_po-ebeln.
     if sy-subrc eq 0.
       move:wa_ekko-lifnr to wa_po-lifnr,
            wa_ekko-bedat to wa_po-bedat.
     endif.
*clear wa_ekko.
*read table it_ekko into wa_ekko
*with key lifnr = wa_po-lifnr.
*if sy-subrc eq 0.
*  move: wa_bsik-DMBTR to wa_po-DMBTR.
*  endif.
*    call function 'ZSD_BATCH_CLASSIFICATION_DATA'
*      exporting
**        ch_charg                   = wa_po-charg
*        ch_matnr                   = wa_po-matnr
*        ch_werks                   = wa_po-werks
*      tables
*        cl_data                    = it_cl_data
**       I_SEL_CHARACTERISTIC       =
     loop at it_cl_data into wa_cl_data.
       if wa_cl_data-ausp1 ne '?'.
         if wa_cl_data-atnam eq 'THICKNESS'.
           move wa_cl_data-ausp1 to wa_po-thick.
         elseif wa_cl_data-atnam eq 'LENGTH'.
           move wa_cl_data-ausp1 to wa_po-length.
         elseif wa_cl_data-atnam eq 'WIDTH'.
           move wa_cl_data-ausp1 to wa_po-width.
         elseif wa_cl_data-atnam eq 'GRADE'.
           move wa_cl_data-ausp1 to wa_po-grade.
         endif.
       endif.
     endloop.
     modify it_po from wa_po index c_index.
     clear :c_grmenge,wa_po,wa_ekpo,wa_mseg,c_index.
   endloop.
endform.                    " SETDATA
*&      Form  FIELDCAT
*       text
*  -->  p1        text
*  <--  p2        text
form fieldcat .
   perform buildfields using '1' 'BANFN'  'IT_PO' 'PR Number' '' ''.
*  perform buildfields using '2' 'BNFPO'  'IT_PO' 'PR Item Number' '' ''.
   perform  buildfields using '2' 'KNTTP' 'IT_PO' 'A/c Assignment Cat' '' ''.
   perform  buildfields using '2' 'PSTYP' 'IT_PO' 'Item Cat' '' ''.
   perform buildfields using '3' 'EKGRP'  'IT_PO' 'Purchase Group' '' ''.
   perform buildfields using '4' 'BADAT'  'IT_PO' 'Request Date' '' ''.
   perform buildfields using '5' 'MENGE'  'IT_PO' 'PR Quantity'  'X' ''.
   perform buildfields using '6' 'MEINS'  'IT_PO' 'PR Unit' '' ''.
   perform buildfields using '7' 'LIFNR'  'IT_PO' 'Vendor Number' '' ''.
   perform buildfields using '8' 'EBELN'  'IT_PO' 'Purchasing Doc No' '' ''  .
   perform buildfields using '9' 'BEDAT'  'IT_PO' 'PO Date' '' ''.
   perform buildfields using '10' 'MTART' 'IT_PO' 'Material Type' '' ''.
   perform buildfields using '11' 'MATKL' 'IT_PO' 'Material Group' '' ''.
   perform buildfields using '12' 'MATNR' 'IT_PO' 'Material Number' '' ''.
   perform buildfields using '13' 'TXZ01' 'IT_PO' 'Material Desc' '' ''.
   perform buildfields using '18' 'MENGE1' 'IT_PO' 'PO Quantity' 'X' ''.
   perform buildfields using '19' 'MEINS' 'IT_PO' 'PO Unit' '' ''.
   perform buildfields using '20' 'NETPR' 'IT_PO' 'Net Price' '' ''.
   perform buildfields using '21' 'PEINH' 'IT_PO' 'Price Unit' '' ''.
   perform buildfields using '22' 'MBLNR' 'IT_PO' 'GR Number' '' ''.
   perform buildfields using '23' 'MENGE2' 'IT_PO' 'GR Quantity' 'X' ''.
   perform buildfields using '24' 'MEINS2' 'IT_PO' 'GR Unit' '' ''.
   perform buildfields using '25' 'BELNR' 'IT_PO' 'Invoice doc. number' '' ''.
   perform buildfields using '26' 'BLDAT' 'IT_PO' 'Invoice Date' '' ''.
*  perform buildfields using '26' 'BELNR_D' 'IT_POP' 'A/C Doc. No.' '' ''.
*  perform buildfields using '26' 'AUGBL' 'IT_PO' 'Clearing Doc No.' '' ''.
   perform buildfields using '26' 'DMBTR' 'IT_PO' 'OPEN AMOUNT' '' ''.
  perform buildfields using '26' 'DMBTR' 'IT_PO' 'clear AMOUNT' '' ''.
*  perform buildfields using '26' 'DMBTR_C' 'IT_PO' 'Clear balance' '' ''.
   if ch_bal = 'X'.
     perform buildfields using '27' 'BALQTY' 'IT_PO' 'Balance Quantity'
     'X' ''.
   endif.
   perform buildfields using '26' 'WMWST1' 'IT_PO' 'TOTAL TAX ADDED' 'X' ''.
   perform buildfields using '26' 'RMWWR' 'IT_PO' 'TOTAL AMOUNT IN INVOICE' 'X' ''.
endform.                    " FIELDCAT
*&      Form  BUILDFIELDS
*       text
*      -->P_0449   text
*      -->P_0450   text
*      -->P_0451   text
*      -->P_0452   text
form buildfields  using    value(p_col_pos) like sy-cucol
                            value(p_fldname) type slis_fieldname
                            value(p_tabname) type slis_tabname
                            value(p_reptext) like dd03p-reptext
                            value(p_do_sum) type char1
                            value(hotspot) type char1.
   wa_fcat-col_pos = p_col_pos.
   wa_fcat-fieldname = p_fldname.
   wa_fcat-tabname = p_tabname.
   wa_fcat-reptext_ddic = p_reptext.
   wa_fcat-do_sum = p_do_sum.
   wa_fcat-hotspot = hotspot.
   append wa_fcat to it_fcat.
   clear wa_fcat.
endform.                    " BUILDFIELDS
*&      Form  DISPLAY
form display .
   clear wa_layout.
   wa_layout-zebra = 'X'.
   wa_layout-colwidth_optimize = 'X'.
* wa_layout-box_fieldname     = 'SEL'.
* wa_layout-edit = 'X'.
   perform build_sort using 'BANFN' '1' 'X'.
   call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
      i_callback_program               = sy-cprog
*   I_CALLBACK_PF_STATUS_SET          = ' '
    I_CALLBACK_USER_COMMAND           = 'USER_COMMAND '
      i_callback_top_of_page           = 'TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
    i_background_id                   = 'ALV_BACKGROUND'
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
      is_layout                        = wa_layout
      it_fieldcat                      = it_fcat
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
     it_sort                           = it_sort
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
    I_SAVE                            = 'A'
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
     tables
       t_outtab                          = it_po[]
  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.                    " DISPLAY
*&      Form  top_of_page
*       text
form top_of_page.                                           "#EC *
**********Create report header*********
   refresh it_lshead.
   clear wa_lshead.
**********To display date in header*********
*  write: s_badat-low to c_low dd/mm/yyyy,s_badat-high to c_high
*  dd/mm/yyyy.
*  if s_badat-high is initial.
*    concatenate 'Dated on' c_low into c_date separated by space.
*  else.
*    concatenate 'Dated between' c_low 'and' c_high into c_date separated
*    by space.
*  endif.
   wa_lshead-typ = 'H'.
   wa_lshead-info = 'PR To Payment History'.
*  'Pending Indents History -

We had a requirement to retrieve "aging of receiveables" by customer. Basically, it goes thru each record and depending on the due date places the amounts in the following buckets (example). 0-30 day Overdue, 31-60 days Overdue, 61-90 days overdue, 30+ days overdue, 60+ days overdue) etc all the way to 6+ years overdue.
There are also cooresponding buckets for coming due analysis. For example, what is: 0-30 days coming due, 31-60 days coming due, 30+ days coming due, etc...
To do this, first I needed to be able be able to produce an open items statement at any given time in the past. Now, this seems impossible because of how the items go from open to cleared all the time. And an item that was open one month ago, may not be open anymore.
What I did was first remove any selections on item status. Then compare the posting date with teh key date in the past, if the posting date is less than or equal to the key date, keep the record.
Then compare the clearing date with the key date. First, keep all that are #. (This keeps all records still open from that posting date/key date)
Then, add another check for all items that were cleared after the key date (GT Key Date). This gives you the open items on that date.
Hope that makes sense. Let me know if you want clarification.
/smw

Similar Messages

  • Where we can link the vendor & Customer open and cleared iteams.

    Dear Experts,
               Vendor & Customer open line iteam and clear line iteams tables is BSIK, BSID, BSIAK,BSAD, But where we can link the open iteam and clear iteam, what is the link table of open iteam and cleared iteam. And where we can link the vendor & Customer open and cleared iteams.
    For example vendor & Customer linked table is KLPA.
    Same above the G/L open line iteam and clear line iteams tables is BSIS, BSAS,where we can link the open iteam and clear iteam, what is the link table of open iteam and cleared iteam.
    Thanks in Advance,.
    Srinu.M.

    Sorry to say you but it is mandatory.
    Everybody is trying to help others and solve their problem. When you say i am not asking for that and looking for this, it looks a bit arrogant.
    Tables are
    Customer
    BSID (open items) and BSAD (cleared items)
    Vendor - similarly
    BSAK and BSIK
    Totals
    BSEG, BKPF
    Let us know if you still need any help
    Edited by: nkonnipati on Jan 28, 2012 5:51 AM

  • FBL5N Review Open and Cleared Invoices per Customer

    WHen one of our users goes into FBL5N to review open and cleared invoices he adds the WBS and the Profit Center. When the report runs it is blank. I looked at the invoice itself and the WBS and Profit center is on the invoice but I don't know why it doesn't show up on the report. Can anyone tell me why this happens? Do I need to make any kind of adjustment before running the report?
    Thanks

    I looked at the VF03 and there is a WBS and Profit Center on the Invoice. If this report shows Open and Cleared invoices then it should bring what is on the invoice in the report but doesn't.
    I had someone email me this response"
    Hi linda,
    For your info, The reason why profit center and WBS element blank in report FBL5N is, this report purposely used to display subledger account.When me made a posting, balance sheet account is not require
    cost object.Only PNL account require cost object.
    Regards,
    Abdul
    I would like to know what other report in SAP shows open and cleared invoices with the Profit Center and WBS?

  • Open and Cleared Items

    Hi all
    We are currently busy finalising our FI-CA BW Data Modeling exercise - and in process to complete Dataflow documentation.
    We will make use of the standard open and cleared item extractors with enhancements on different levels. Some background on the requirements:
    - We will have to extract document types, divisions, dates, clearing reasons, contract account, Business Partner etc.. information to meet the requirements.
    - We will have to keep history for at least 26 months to produce the required management reports (very high number of data), and 'partition' the cubes on date level for both Cleared and Open Items.
    - Most of the reports display 13 months worth of billing/ payment figures. I.e. the report for the end of October show billings vs. payments for October 2006, September, August, July, ... to October 2005.
    - The requirement is that the report figures will not change from one month to the next (i.e. if I run the report for end of October - all figures from October 2006 to Oct 2005 will remain the same when I run the report for end of November). I.e. if reversals, transfers, returns etc. occur - these will be picked up in later months.
    - For the above requirement, we are looking at extracting open (end of month) and cleared items (for the specific monthly interval) on a monthly basis, and appending the data in the cubes. We will then always base the June figure in the report on the June month extraction (LAUFD/ LAUFI fields) and we will pick up any movement in the next month/s - i.e. July.
    Has anyone had these types of requirements before - to report on billings vs. payments, and report on history as described above. We would appreciate it if you could share your report requirements, and also design documents, especially the DataFlow documentation that we can look at as input to our design.

    We had a requirement to retrieve "aging of receiveables" by customer. Basically, it goes thru each record and depending on the due date places the amounts in the following buckets (example). 0-30 day Overdue, 31-60 days Overdue, 61-90 days overdue, 30+ days overdue, 60+ days overdue) etc all the way to 6+ years overdue.
    There are also cooresponding buckets for coming due analysis. For example, what is: 0-30 days coming due, 31-60 days coming due, 30+ days coming due, etc...
    To do this, first I needed to be able be able to produce an open items statement at any given time in the past. Now, this seems impossible because of how the items go from open to cleared all the time. And an item that was open one month ago, may not be open anymore.
    What I did was first remove any selections on item status. Then compare the posting date with teh key date in the past, if the posting date is less than or equal to the key date, keep the record.
    Then compare the clearing date with the key date. First, keep all that are #. (This keeps all records still open from that posting date/key date)
    Then, add another check for all items that were cleared after the key date (GT Key Date). This gives you the open items on that date.
    Hope that makes sense. Let me know if you want clarification.
    /smw

  • Dowload open and cleared invoices to Users PC

    Hi Friends..
    Can someone suggest how to download the open and cleared invoices in an excel format to users PC either in foreground or bakground based on customer account (KNA1-kunnr) and company code..
    your help is greatly appreciateld and rightly rewarded...
    Thanks again..

    hi Kranthi,
    here is the sample code for GUI_DOWNLOAD AND GUI_UPLOAD
    hope this might help you
    GUI_DOWNLOAD
          DATA: W_WSD_FILENAME01 TYPE STRING,
                W_WSD_FILETYPE01 TYPE CHAR10.
          W_WSD_FILENAME01 = P_OUT1.
          W_WSD_FILETYPE01 = 'DAT'.
          CALL FUNCTION 'GUI_DOWNLOAD'
               EXPORTING
                 BIN_FILESIZE                    =
                   FILENAME                        = W_WSD_FILENAME01
                   FILETYPE                        = W_WSD_FILETYPE01
                 APPEND                          = ' '
                 WRITE_FIELD_SEPARATOR           = ' '
                 HEADER                          = '00'
                 TRUNC_TRAILING_BLANKS           = ' '
                 WRITE_LF                        = 'X'
                 COL_SELECT                      = ' '
                 COL_SELECT_MASK                 = ' '
                 DAT_MODE                        = ' '
                 CONFIRM_OVERWRITE               = ' '
                 NO_AUTH_CHECK                   = ' '
                 CODEPAGE                        = ' '
                 IGNORE_CERR                     = ABAP_TRUE
                 REPLACEMENT                     = '#'
                 WRITE_BOM                       = ' '
                 TRUNC_TRAILING_BLANKS_EOL       = 'X'
                 WK1_N_FORMAT                    = ' '
                 WK1_N_SIZE                      = ' '
                 WK1_T_FORMAT                    = ' '
                 WK1_T_SIZE                      = ' '
             IMPORTING
                 FILELENGTH                      =
               TABLES
                   DATA_TAB                        = ITAB_VBAK
                 FIELDNAMES                      =
               EXCEPTIONS
                   FILE_WRITE_ERROR                = 1
                   NO_BATCH                        = 2
                   GUI_REFUSE_FILETRANSFER         = 3
                   INVALID_TYPE                    = 4
                   NO_AUTHORITY                    = 5
                   UNKNOWN_ERROR                   = 6
                   HEADER_NOT_ALLOWED              = 7
                   SEPARATOR_NOT_ALLOWED           = 8
                   FILESIZE_NOT_ALLOWED            = 9
                   HEADER_TOO_LONG                 = 10
                   DP_ERROR_CREATE                 = 11
                   DP_ERROR_SEND                   = 12
                   DP_ERROR_WRITE                  = 13
                   UNKNOWN_DP_ERROR                = 14
                   ACCESS_DENIED                   = 15
                   DP_OUT_OF_MEMORY                = 16
                   DISK_FULL                       = 17
                   DP_TIMEOUT                      = 18
                   FILE_NOT_FOUND                  = 19
                   DATAPROVIDER_EXCEPTION          = 20
                   CONTROL_FLUSH_ERROR             = 21
                   OTHERS                          = 22  .
               IF SY-SUBRC <> 0.
                 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
               ENDIF.
    GUI_UPLOAD
    DATA W_WSU_FILENAME02 TYPE STRING.
      DATA W_WSU_FILETYPE02 TYPE CHAR10.
      W_WSU_FILETYPE02 = 'ASC'.
    CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                      = W_WSU_FILENAME02
          FILETYPE                      = W_WSU_FILETYPE02
        TABLES
          DATA_TAB                      = ITAB_INFILE
        EXCEPTIONS
          FILE_OPEN_ERROR               = 1
          FILE_READ_ERROR               = 2
          NO_BATCH                      = 3
          GUI_REFUSE_FILETRANSFER       = 4
          INVALID_TYPE                  = 5
          NO_AUTHORITY                  = 6
          UNKNOWN_ERROR                 = 7
          BAD_DATA_FORMAT               = 8
          HEADER_NOT_ALLOWED            = 9
          SEPARATOR_NOT_ALLOWED         = 10
          HEADER_TOO_LONG               = 11
          UNKNOWN_DP_ERROR              = 12
          ACCESS_DENIED                 = 13
          DP_OUT_OF_MEMORY              = 14
          DISK_FULL                     = 15
          DP_TIMEOUT                    = 16
          OTHERS                        = 17
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Regards,
    Santosh

  • Reports to display vendor open items by payment methods

    Hi Gurus,
    Is there any reports to display vendor open items by payment methods?
    Thanks i

    Hi,
      Use FBl1N or F.41
    Goto Dynamic selections, Select payment method give that and execute. It will give you the report payment methd wise.
    Regards,
    Radhika.

  • I had to change my payment information on my apple account and now my purchase won't download and  my payment information won't save in i tunes...what do I do? I have an ipad 2

    I had to change my payment information on my apple account and now my purchase won't download and  my payment information won't save in i tunes...what do I do? I have an ipad 2

    What id shows in Settings > iTunes & App Store ? If it's the old one then tap on it and log out of it and then log in with the updated version

  • I've purchased the Creative Cloud and the payment was pending. I log out and log in with a diferent PC, but now my account doesn't have any payment pending and it's all trial. What happend? Thks

    I've purchased the Creative Cloud and the payment was pending. I log out and log in with a diferent PC, but now my account doesn't have any payment pending and it's all trial. What happend? Thks

    I am not doing it in ITunes, but i did down load the song from ITunes.  I loaded the song on to my Nano, but in my menu selections it doesn't show the song or the artist in any search format.  However, when i plug in my nano to my PC I see the Nano library on my PC drive listings and that song and artist are there.  I can click on the song and it will play in Windows media on my work PC.  I did notice that the format for most all the songs in my library on my Nano are MPEG - 4 audio Files. 
    Thanks for your help, Mel

  • Open and cancelled Quote Report

    Hi,
    Can anyone give me the information  for getting open and cancelled Quote Report?

    I hope you are using reason for rejection for cancelling quotations. If that is the case, you can use transaction VA25 to view the list of quotations. Here you can filter on two columns status and reason for rejection to view the report as per your requirement.
    Regards,
    GSL.

  • I am having macbook air recently my iphotos did not open and was showing report apple and reopen but i came to know that by pressing alt and iphotos i open an new photo library and stored the pics but now how can i get the pics which i had in the earlier

    i am having macbook air recently my iphotos did not open and was showing report apple and reopen but i came to know that by pressing alt and iphotos i open an new photo library and stored the pics but now how can i get the pics which i had in the earlier photo please help me to recover my photos

    Well I'll guess you're using iPhoto 11:
    Option 1
    Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Repair Database. If that doesn't help, then try again, this time using Rebuild Database.
    If that fails:
    Option 2
    Download iPhoto Library Manager and use its rebuild function. (In early versions of Library Manager it's the File -> Rebuild command. In later versions it's under the Library menu.)
    This will create an entirely new library. It will then copy (or try to) your photos and all the associated metadata and versions to this new Library, and arrange it as close as it can to what you had in the damaged Library. It does this based on information it finds in the iPhoto sharing mechanism - but that means that things not shared won't be there, so no slideshows, books or calendars, for instance - but it should get all your events, albums and keywords, faces and places back.
    Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one.  
    Regards
    TD

  • Hi, i am trying to open and view a report that comes from another server with different odbc connection

    hi, i am trying to open and view a report that comes from another server with different odbc connection
    i created a crystal report for a mysql database on my machine and everything works great
    but we have other reports that come from other machines with different odbc connection
    and this its not working when opens the report asks for credentials
    and i cannot use the remote ip for these reports that come from other machine
    question
    if i cannot connect to remote ip to open the report
    for each report i have to create a database the report database on my machine and then open the report ?
    or there is some other way to open the report ?
    i am using visual studio 2013 and mysql and
       <add key="MYSQLODBCDRIVER" value="{MySQL ODBC 5.3 UNICODE Driver}"/>
    thanks

    short
    i have a report that it was created on another server with a specific dsn
    now i am trying to open the report on my machine
    the database from the other server does not exist on my machine
    the server machine where the report was created the ip its not accessible
    question ?
    can i open the report on my machine or its impossible ?
    thanks

  • Firefox crashes when opening and the crash report I get is Firefox 3.6.3 Crash Report [@ strlen | nspr4.dll@0x15f9f ].

    == Issue
    ==
    Firefox is crashing or closing unexpectedly
    == Description
    ==
    Firefox 3.6.3 crashes when opening and the Crash Report [[@ strlen nspr4.dll@0x15f9f ]. It was working perfectly fine and the last three days, I am having difficulty in opening firefox. It crashes with the above crash report every time I open. I came across the bad image error and did a clean reinstall multiple times and that did not help. I have firebug and firecookies as an addon.
    == Crash ID(s)
    ==
    bp-5972b384-791f-4667-b3cb-051812100504
    == Firefox version
    ==
    3.6
    == Operating system
    ==
    windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1064 Safari/532.5
    == Plugins installed
    ==
    firebug and firecookie

    Usually doesn't immediately crash, although that happens also. Usually hangs, then crashes.
    Addons are WHY I use Firefox when it works. I am NOT on the bleeding edge any longer. I could go back to boring, boring, Chrome.

  • F-44 vendor open item clearing

    Hi ,
    1. in our org. the emplyees are paid perdiem advance for onsite travel and treated as Vendors and settled the travel advance account
    2. we are using f-44 to clear the vendor open items, it is not happening system error saying section code is mandatory in company code
    but while creating a document it doesn't ask for section code entry
    What is the solution to this?
    manoj

    Hi Manoj
    You need to use T.Code OB28 for creating a validation.  There you give your company code for which you want the validation for..
    Further, you need to specifity, whether you want to do the validation at line item level or header
    level. In your case its line item level and then double click on that lien item. Give the name for your validation and select step button. It will ask for the prerequisite,there you give all the t.codes such as F-44 etc.and then in the next step give the rule that check for the field Section Code by giving its tech name. and then give it as an error msg.
    Regards
    Mohit

  • Vendor Line item with Opening and Closing Balances report regarding

    Dear All,
    I need a report for vendor line items with Opening and Closing balances.
    Thanks in advance
    Sateesh

    Hi
    Try S_ALR_87012082 - Vendor Balances in Local Currency
    Regards
    Sanil Bhandari

  • Open and cleared items FBL3n

    Hi Guys,
    I have a query.
    In FBL3n for G/L line item display , we select open items or cleared items on a particular date.
    What is the meaning of this? open in what sense? cleared in what sense?
    thanks..
    srikanth

    Hi,
    You can set up accounts with open item management if offsetting entries are to be assigned to the postings made to these accounts. Postings to these accounts represent incomplete transactions.
    Example:
    A goods receipt/invoice receipt (GR/IR) clearing account should be managed on an open item basis so that you can check at any time whether invoices have been received for the goods received for an order.
    Items posted to accounts managed on an open item basis are marked as open or cleared. The balance of these accounts is always equal to the balance of the open items.
    You can say that open items means vendor or customers needs to be paid.
    Regards,
    Jigar

Maybe you are looking for

  • How to convert class file

    Hi all, I am new in java card development. This is my environment setting: @echo off set JC_HOME=C:\JavaCard\java_card_kit-2_2 set JAVA_HOME=C:\j2sdk14103 set PATH=.;%JC_HOME%\bin;%PATH% I have created the Wallet applet according to 'Zhiqun Chen" tex

  • Ldap in solaris 11-11-11

    Does ldap works in solaris 11 ? I am configuring a solaris 11 system to connect with ldap. But i am finding out that the configuration files "nsswitch.conf" cant be edit. edits will be lost. Can you help me seting up the ldap client on this system "s

  • Assign the quality type =01 at material type level

    Hi, I am working with quality Management , Here Client want to all Raw material is check at time of receiving .So We want to Assign the quality type =01 at material type level . How we can do that?? Individual Material assignment is not possible beca

  • How to upload a iPhone profile to a website

    Im using the iPhone profile creator and im trying to make it so i can upload the file to my FTP files directory on my website so i can give the link and people can download it, but when i try to go the the URL it just loads forever and gives me a err

  • All applications crashes when i try to print out.

    When i try to print out anything either its from word, text edit, safari etc. Then the application juses hangs and crashes. Even when i try to save the print as a PDF it still crash and burn. i get this error msg. Anyone at all who knows whats happen