Professional Documents
Culture Documents
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
BREAK pwcabap.
IF so_kalsk[] IS NOT INITIAL.
SELECT lifnr kalsk
FROM lfm1
INTO TABLE gt_lfm1
WHERE kalsk IN so_kalsk[].
IF sy-subrc EQ 0.
SORT gt_lfm1.
DELETE ADJACENT DUPLICATES FROM gt_lfm1.
LOOP AT gt_lfm1 ASSIGNING <fs_lfm1>.
gs_lifnr-sign = 'I'.
gs_lifnr-option = 'EQ'.
gs_lifnr-low = <fs_lfm1>.
APPEND gs_lifnr TO gr_lifnr.
CLEAR gs_lifnr.
ENDLOOP.
ENDIF.
ENDIF.
SELECT ebeln
mandt_i
ebeln_i
ebelp_i
bukrs
bstyp
bsart
loekz
aedat
lifnr
zterm
ekorg
ekgrp
waers
wkurs
bedat
reswk
inco1
knumv
kalsm
exnum
aedat_i
matnr_i
bukrs_i
werks_i
ktmng_i
menge_i
meins_i
netpr_i
peinh_i
netwr_i
mwskz_i
pstyp_i
knttp_i
wepos_i
weunb_i
repos_i
lmein_i
**Begin of ADD Ananth M 14/09/2017.
packno_i
**End of ADD Ananth M 14/09/2017.
attyp_i "Maheb
FROM wb2_v_ekko_ekpo2
INTO CORRESPONDING FIELDS OF TABLE gt_ekko_ekpo
WHERE bukrs IN so_bukrs[]
AND ebeln IN so_ebeln[] " Added by chiru on 12-04-18 for
corrections
AND bsart IN so_bsart[] " Added by chiru on 12-04-18 for
corrections
AND werks_i IN so_werks[]
AND werks_i IN so_plant[]
AND lifnr IN so_lifnr[]
AND reswk IN so_reswk[]
AND matnr_i IN so_matnr[]
AND bedat IN so_budat[]
AND pstyp_i IN so_pstyp[]
AND bstyp EQ 'F'
.
**Select VBRP
IF gt_ekko_ekpo IS NOT INITIAL.
SELECT fkimg
aubel
aupos
auref
matnr
FROM vbrp
INTO TABLE gt_vbrp_gst
FOR ALL ENTRIES IN gt_ekko_ekpo
WHERE aubel = gt_ekko_ekpo-ebeln_i
* AND aupos = gt_ekko_ekpo-ebelp_i
AND matnr = gt_ekko_ekpo-matnr_i.
ENDIF.
IF sy-subrc EQ 0.
SORT gt_vbrp_gst BY aubel matnr."aupos
ENDIF.
**Select LFA1
**For Vendor Identification, GSTIN NO. OF Vendor
REFRESH gt_ekko_ekpo_gst_temp[].
gt_ekko_ekpo_gst_temp[] = gt_ekko_ekpo[].
SORT gt_ekko_ekpo_gst_temp BY lifnr.
DELETE ADJACENT DUPLICATES FROM gt_ekko_ekpo_gst_temp COMPARING lifnr.
IF gt_ekko_ekpo_gst_temp IS NOT INITIAL.
SELECT lifnr
land1
stcd3
ort01
regio
ven_class
FROM lfa1
INTO TABLE gtt_lfa11
FOR ALL ENTRIES IN gt_ekko_ekpo_gst_temp
WHERE lifnr = gt_ekko_ekpo_gst_temp-lifnr.
IF sy-subrc EQ 0.
SORT gtt_lfa11 BY lifnr.
ENDIF.
ENDIF.
**Select T001W
SELECT werks
name1
ort01
regio
FROM t001w
INTO TABLE gt_t001w_gst
FOR ALL ENTRIES IN gt_ekko_ekpo
WHERE werks = gt_ekko_ekpo-werks_i.
SORT gt_t001w_gst BY werks.
**CHIRU ** ON 14-04-2018
SELECT bukrs
belnr
gjahr
buzid " added by chiru
koart
shkzg " navya
mwskz
dmbtr
wrbtr
hkont " added by chiru
kunnr
lifnr
ebeln
ebelp
zekkn
prctr
awkey
hsn_sac
FROM bseg
INTO TABLE gt_bseg1 " MODIFIED SELECT select kept for
all entires insetad of where only.
FOR ALL ENTRIES IN gt_bseg
WHERE belnr = gt_bseg-belnr
AND gjahr = gt_bseg-gjahr
AND bukrs = gt_bseg-bukrs
AND koart = 'K'
AND shkzg = 'H'.
*chiru on 13-04-18*
ENDIF.
**SELECT mkpf.
IF gtt_ekbe IS NOT INITIAL.
SELECT mblnr
mjahr
vgart
bldat
xblnr
frbnr
FROM mkpf
INTO TABLE gt_mkpf
FOR ALL ENTRIES IN gtt_ekbe
WHERE mblnr = gtt_ekbe-belnr
AND mjahr = gtt_ekbe-gjahr.
***Select BKPF
SELECT bukrs
belnr
gjahr
bldat
budat
xblnr
dbblg
stblg
stjah
awkey
xblnr_alt
awref_rev "Added by navya on 09.04.2018
xreversing "Added by chiru on 12.04.2018
xreversed "Added by navya on 10.04.2018
knumv
FROM bkpf
INTO TABLE gt_bkpf
FOR ALL ENTRIES IN gtt_ekbe
WHERE awkey = gtt_ekbe-awkey_bkpf
AND budat IN s_budat.
ENDIF.
**Select MSEG.
IF gtt_ekbe IS NOT INITIAL.
SELECT mblnr
mjahr
zeile
bwart
matnr
werks
charg
shkzg "Added by chiru on 12-04-18
ebeln
ebelp
lfbja
lfbnr
lfpos
sgtxt
grund
pprctr "Maheb
budat_mkpf
FROM mseg
INTO TABLE gtt_mseg
FOR ALL ENTRIES IN gtt_ekbe
* WHERE mblnr = gt_mkpf-mblnr
* AND mjahr = gt_mkpf-mjahr.
WHERE mblnr = gtt_ekbe-belnr
AND mjahr = gtt_ekbe-gjahr
AND charg = gtt_ekbe-charg
AND ebeln = gtt_ekbe-ebeln
AND ebelp = gtt_ekbe-ebelp
AND werks = gtt_ekbe-werks.
IF sy-subrc EQ 0.
SORT gtt_mseg BY mblnr mjahr charg ebeln ebelp werks.
ENDIF.
ENDIF.
IF sy-subrc EQ 0.
SORT gt_bkpf BY awkey.
ENDIF.
* BREAK-POINT.
***Select RBKP
*Header invoice
IF gtt_ekbe IS NOT INITIAL.
SELECT belnr
gjahr
blart
budat
vgart
xblnr
lifnr
rmwwr
stblg
ivtyp
sgtxt
FROM rbkp
INTO TABLE gtt_rbkp
FOR ALL ENTRIES IN gtt_ekbe
WHERE belnr = gtt_ekbe-belnr
AND gjahr = gtt_ekbe-gjahr
AND budat IN s_mirdat.
* AND vgart IN ( '1' , '2').
ENDIF.
**Select LFA1
REFRESH gtt_rbkp_gst_temp[].
gtt_rbkp_gst_temp[] = gtt_rbkp[].
SORT gtt_rbkp_gst_temp BY lifnr.
DELETE ADJACENT DUPLICATES FROM gtt_rbkp_gst_temp COMPARING lifnr.
IF gtt_rbkp_gst_temp IS NOT INITIAL.
SELECT lifnr
land1
stcd3
ort01
regio
ven_class
FROM lfa1
INTO TABLE gtt_lfa1
FOR ALL ENTRIES IN gtt_rbkp_gst_temp
WHERE lifnr = gtt_rbkp_gst_temp-lifnr.
IF sy-subrc EQ 0.
SORT gtt_lfa1 BY lifnr.
ENDIF.
ENDIF.
ENDIF.
***Select MARC
REFRESH gt_ekko_ekpo_gst_temp[].
gt_ekko_ekpo_gst_temp[] = gt_ekko_ekpo[].
SORT gt_ekko_ekpo_gst_temp BY matnr_i werks_i.
DELETE ADJACENT DUPLICATES FROM gt_ekko_ekpo_gst_temp COMPARING matnr_i werks_i.
IF gtt_rseg[] IS NOT INITIAL.
SELECT matnr
werks
prctr
steuc
FROM marc
INTO TABLE gt_marc
*** FOR ALL ENTRIES IN GTT_RSEG
*** WHERE MATNR = GTT_RSEG-MATNR
*** AND WERKS = GTT_RSEG-WERKS
FOR ALL ENTRIES IN gt_ekko_ekpo_gst_temp
WHERE matnr = gt_ekko_ekpo_gst_temp-matnr_i
AND werks = gt_ekko_ekpo_gst_temp-werks_i
AND steuc IN s_steuc.
IF sy-subrc EQ 0.
SORT gt_marc BY matnr werks.
ENDIF.
***Select T007S
SELECT spras
kalsm
mwskz
text1
FROM t007s
INTO TABLE gt_t007s_gst
FOR ALL ENTRIES IN gtt_rseg
WHERE spras = 'EN'" sy-langu
AND kalsm = 'ZTAXIN'
AND mwskz = gtt_rseg-mwskz.
IF sy-subrc EQ 0.
SORT gt_t007s_gst BY mwskz.
ENDIF.
ENDIF.
**Select ESLL
REFRESH gt_ekko_ekpo_gst_temp[].
gt_ekko_ekpo_gst_temp[] = gt_ekko_ekpo[].
SORT gt_ekko_ekpo_gst_temp BY packno_i.
DELETE ADJACENT DUPLICATES FROM gt_ekko_ekpo_gst_temp COMPARING packno_i.
SELECT packno
introw
srvpos
PACKAGE
sub_packno
ktext1 "Maheb
FROM esll
INTO TABLE gt_esll
FOR ALL ENTRIES IN gt_ekko_ekpo_gst_temp
WHERE packno = gt_ekko_ekpo_gst_temp-packno_i.
REFRESH:gt_esll_temp.
gt_esll_temp = gt_esll.
**Select ESLL
IF gt_esll IS NOT INITIAL.
SELECT packno
introw
srvpos
PACKAGE
sub_packno
ktext1 "Maheb
FROM esll
INTO TABLE gt_esll_temp
FOR ALL ENTRIES IN gt_esll
WHERE packno = gt_esll-sub_packno.
* AND introw = '0000000002'.
ENDIF.
**Select ASMD
IF gt_esll_temp IS NOT INITIAL.
SELECT asnum
matkl
astyp
taxtariffcode
FROM asmd
INTO TABLE gt_asmd
FOR ALL ENTRIES IN gt_esll_temp
WHERE asnum = gt_esll_temp-srvpos.
IF sy-subrc EQ 0.
SORT gt_asmd BY asnum.
ENDIF.
ENDIF.
**Select ASMDT
IF gt_asmd IS NOT INITIAL.
SELECT asnum
asktx
FROM asmdt
INTO TABLE gt_asmdt
FOR ALL ENTRIES IN gt_asmd
WHERE asnum = gt_asmd-asnum.
IF sy-subrc EQ 0.
SORT gt_asmdt BY asnum.
ENDIF.
ENDIF.
***Select MBEW
IF gt_marc IS NOT INITIAL.
SELECT matnr
bwkey
bklas
FROM mbew
INTO TABLE gt_mbew
FOR ALL ENTRIES IN gt_marc
WHERE matnr = gt_marc-matnr.
IF sy-subrc EQ 0.
SORT gt_mbew BY matnr.
ENDIF.
***Select MARD
* IF gt_ekko_ekpo IS NOT INITIAL.
* REFRESH gt_ekko_ekpo_gst_temp[].
* gt_ekko_ekpo_gst_temp[] = gt_ekko_ekpo[].
* SORT gt_ekko_ekpo_gst_temp BY matnr_i werks_i.
* DELETE ADJACENT DUPLICATES FROM gt_ekko_ekpo_gst_temp COMPARING matnr_i werks_i.
* IF gt_ekko_ekpo_gst_temp IS NOT INITIAL.
SELECT matnr
werks
lgort
FROM mard
INTO TABLE gt_mard
FOR ALL ENTRIES IN gt_marc
WHERE matnr = gt_marc-matnr
AND werks = gt_marc-werks.
* AND werks = gt_ekko_ekpo-lgort_i.
IF sy-subrc EQ 0.
SORT gt_mard BY matnr werks.
ENDIF.
ENDIF.
***Added by Maheb
IF gt_ekko_ekpo IS NOT INITIAL.
SELECT matnr matkl FROM mara INTO TABLE gt_mara FOR ALL ENTRIES IN gt_ekko_ekpo
WHERE matnr = gt_ekko_ekpo-matnr_i.
ENDIF.
***Ended by Maheb
***Select T010
REFRESH gt_mbew_temp[].
gt_mbew_temp[] = gt_mbew[].
SORT gt_mbew_temp BY bklas.
DELETE ADJACENT DUPLICATES FROM gt_mbew_temp COMPARING bklas.
IF gt_mbew_temp IS NOT INITIAL.
SELECT ktopl
ktosl
bklas
konts
FROM t030
INTO TABLE gt_t030
FOR ALL ENTRIES IN gt_mbew
WHERE ktopl = '1000'
AND ktosl = 'BSX'
AND bklas = gt_mbew-bklas.
IF sy-subrc EQ 0.
SORT gt_t030 BY bklas."ktopl ktosl bklas.
ENDIF.
ENDIF.
* REFRESH gt_ekko_ekpo_gst[].
* gt_ekko_ekpo_gst[] = gt_ekko_ekpo[] .
REFRESH gt_bkpf_temp .
gt_bkpf_temp = gt_bkpf.
CLEAR:gs_bkpf_temp.
SORT gt_bkpf_temp BY belnr gjahr.
SORT gt_bseg BY ebeln ebelp. "bukrs belnr gjahr."
SORT gtt_ekbe BY ebeln ebelp.
SORT gt_esll BY packno.
SORT gtt_rbkp BY belnr ."xblnr."gjahr.
SORT gtt_rseg BY belnr gjahr.
SORT gt_mkpf BY mblnr mjahr.
**End of ADD Ananth M 11/09/2017.
IF gt_lfa11[] IS INITIAL.
SELECT lifnr land1 regio j_1ilstno
FROM lfa1
INTO TABLE gt_lfa11
FOR ALL ENTRIES IN gt_ekko_ekpo
WHERE lifnr = gt_ekko_ekpo-lifnr.
IF gt_lfa11[] IS NOT INITIAL.
SELECT bland bezei
FROM t005u
INTO TABLE gt_t005u
FOR ALL ENTRIES IN gt_lfa11
WHERE spras = 'E'
AND land1 = gt_lfa11-land1 "'IN'
AND bland = gt_lfa11-regio.
ENDIF.
ENDIF.
*** IF sy-subrc EQ 0.
IF gr_lifnr IS NOT INITIAL.
SORT gt_ekko_ekpo BY lifnr.
DELETE gt_ekko_ekpo WHERE lifnr NOT IN gr_lifnr.
ENDIF.
REFRESH gt_temp.
SORT gt_ekko_ekpo BY ebeln ebeln_i ebelp_i.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY ebeln.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING ebeln.
IF gt_temp IS NOT INITIAL.
SELECT ebeln
bukrs
lifnr
dppct
dpamt
dpdat
zzlicty
zzlicenseno FROM ekko
INTO TABLE gt_ekko
FOR ALL ENTRIES IN gt_temp
WHERE ebeln EQ gt_temp-ebeln
AND bukrs EQ gt_temp-bukrs
AND lifnr EQ gt_temp-lifnr.
* AND bedat IN so_budat[]
* AND reswk IN so_reswk[].
IF sy-subrc EQ 0.
SORT gt_ekko BY ebeln.
* SELECT ebeln
* ebelp
* matnr
* bukrs
* werks
* menge
* meins
* netpr
* peinh
* netwr
* mwskz
* pstyp
* knttp
* lmein
* FROM ekpo
* INTO CORRESPONDING FIELDS OF TABLE gt_ekpo
* FOR ALL ENTRIES IN gt_ekko
* WHERE ebeln EQ gt_ekko-ebeln
* AND pstyp IN so_pstyp[].
* IF sy-subrc EQ 0.
* SORT gt_ekpo BY ebeln ebelp.
* LOOP AT gt_ekpo ASSIGNING <fs_ekpo>.
* UNASSIGN <fs_ekko>.
* READ TABLE gt_ekko ASSIGNING <fs_ekko> WITH KEY ebeln = <fs_ekpo>-ebeln
* BINARY SEARCH.
* IF sy-subrc EQ 0.
* <fs_ekpo>-bstyp = <fs_ekko>-bstyp .
* <fs_ekpo>-bsart = <fs_ekko>-bsart .
* <fs_ekpo>-aedat = <fs_ekko>-aedat .
* <fs_ekpo>-lifnr = <fs_ekko>-lifnr .
* <fs_ekpo>-zterm = <fs_ekko>-zterm .
* <fs_ekpo>-ekgrp = <fs_ekko>-ekgrp .
* <fs_ekpo>-waers = <fs_ekko>-waers .
* <fs_ekpo>-wkurs = <fs_ekko>-wkurs .
* <fs_ekpo>-bedat = <fs_ekko>-bedat .
* <fs_ekpo>-inco1 = <fs_ekko>-inco1 .
* <fs_ekpo>-knumv = <fs_ekko>-knumv .
* <fs_ekpo>-dppct = <fs_ekko>-dppct .
* <fs_ekpo>-dpamt = <fs_ekko>-dpamt .
* <fs_ekpo>-dpdat = <fs_ekko>-dpdat .
* <fs_ekpo>-zzlicty = <fs_ekko>-zzlicty .
* <fs_ekpo>-zzlicenseno = <fs_ekko>-zzlicenseno.
* <fs_ekpo>-kposn = <fs_ekpo>-ebelp.
* ENDIF.
*
* gs_matnr-sign = 'I'.
* gs_matnr-option = 'EQ'.
* gs_matnr-low = <fs_ekpo>-ebeln.
* APPEND gs_matnr TO gr_matnr.
* CLEAR gs_matnr.
*
* gs_lifnr-sign = 'I'.
* gs_lifnr-option = 'EQ'.
* gs_lifnr-low = <fs_ekpo>-ebeln.
* APPEND gs_lifnr TO gr_lifnr.
* CLEAR gs_lifnr.
*
* AT END OF ebeln.
* gs_ebeln-sign = 'I'.
* gs_ebeln-option = 'EQ'.
* gs_ebeln-low = <fs_ekpo>-ebeln.
* APPEND gs_ebeln TO gr_ebeln.
* CLEAR gs_ebeln.
* ENDAT.
*
* ENDLOOP.
*
* SORT gr_matnr by low.
* SORT gr_lifnr by low.
* DELETE ADJACENT DUPLICATES FROM gr_matnr COMPARING low.
* DELETE ADJACENT DUPLICATES FROM gr_lifnr COMPARING low.
REFRESH : gt_temp.
* gt_temp = gt_ekko_ekpo.
LOOP AT gt_ekko_ekpo ASSIGNING <fs_ekko_ekpo>.
* APPEND INITIAL LINE TO gt_temp.
<fs_ekko_ekpo>-kposn = <fs_ekko_ekpo>-ebelp_i.
READ TABLE gt_ekko ASSIGNING <fs_ekko> WITH KEY ebeln = <fs_ekko_ekpo>-
ebeln.
IF sy-subrc EQ 0 AND <fs_ekko> IS ASSIGNED.
<fs_ekko_ekpo>-dppct = <fs_ekko>-dppct .
<fs_ekko_ekpo>-dpamt = <fs_ekko>-dpamt .
<fs_ekko_ekpo>-dpdat = <fs_ekko>-dpdat .
<fs_ekko_ekpo>-zzlicty = <fs_ekko>-zzlicty .
<fs_ekko_ekpo>-zzlicenseno = <fs_ekko>-zzlicenseno.
ENDIF.
ENDLOOP.
REFRESH gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY knumv kposn.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING knumv kposn.
IF gt_temp IS NOT INITIAL.
SELECT knumv
kposn
kschl
kbetr
waers
kwert
FROM prcd_elements
INTO TABLE gt_prcd
FOR ALL ENTRIES IN gt_temp
WHERE knumv EQ gt_temp-knumv
AND kposn EQ gt_temp-kposn.
* and kstat eq ' '.
IF sy-subrc EQ 0.
SORT gt_prcd BY knumv kposn.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*******
REFRESH : gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY bukrs werks_i.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING bukrs werks_i.
IF gt_temp[] IS NOT INITIAL.
SELECT bukrs
werks
j_1icstno " CST No.
j_1ilstno " VAT No.
FROM j_1imocomp
INTO TABLE gt_1imocomp
FOR ALL ENTRIES IN gt_temp
WHERE bukrs = gt_temp-bukrs
AND werks = gt_temp-werks_i.
ENDIF.
*******
REFRESH : gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY lifnr.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING lifnr.
DELETE gt_temp WHERE lifnr IS INITIAL.
IF gt_temp IS NOT INITIAL.
SELECT a~lifnr
a~land1
a~name1
b~landx50 " Added by ananth M 16/10/2017
a~ven_class
a~ort01
a~regio
* b~landx50 " Commented by Ananth M 16/10/2017
FROM lfa1 AS a
INNER JOIN t005t AS b
ON b~spras EQ sy-langu
AND b~land1 EQ a~land1
INTO TABLE gt_lfa1
FOR ALL ENTRIES IN gt_temp
WHERE lifnr EQ gt_temp-lifnr.
IF sy-subrc EQ 0.
SORT gt_lfa1 BY lifnr.
ENDIF.
** added by sankeerthana
LOOP AT gt_ekko_ekpo ASSIGNING <fs_ekko_ekpo>.
CONCATENATE 'Z' <fs_ekko_ekpo>-reswk INTO fs_ekko_ekpo1-lifnr .
APPEND fs_ekko_ekpo1 TO gt_ekko_ekpo_gst_temp1.
CLEAR fs_ekko_ekpo1.
ENDLOOP.
SELECT a~lifnr
a~land1
a~name1
b~landx50 " Added by ananth M 16/10/2017
a~ven_class
a~ort01
a~regio
* b~landx50 " Commented by Ananth M 16/10/2017
FROM lfa1 AS a
INNER JOIN t005t AS b
ON b~spras EQ sy-langu
AND b~land1 EQ a~land1
INTO TABLE lt_lfa1
FOR ALL ENTRIES IN gt_ekko_ekpo_gst_temp1
WHERE lifnr EQ gt_ekko_ekpo_gst_temp1-lifnr.
* SELECT lifnr
* stcd3
* ort01
* regio
* ven_class
* FROM lfa1
* INTO TABLE Lt_lfa1
* FOR ALL ENTRIES IN gt_ekko_ekpo_gst_temp1
* WHERE lifnr = gt_ekko_ekpo_gst_temp1-LIFNR.
* IF sy-subrc EQ 0.
* SORT gtt_lfa11 BY lifnr.
* ENDIF.
ENDIF.
IF lt_lfa1[] IS NOT INITIAL.
SELECT bland bezei
FROM t005u
APPENDING TABLE gt_t005u
FOR ALL ENTRIES IN lt_lfa1
WHERE spras = sy-langu
AND land1 = lt_lfa1-land1
AND bland = lt_lfa1-regio.
ENDIF.
** ended by sankeerthana
SELECT lifnr
j_1iexcd
j_1iexrn
j_1iexdi
FROM j_1imovend
INTO TABLE gt_movend
FOR ALL ENTRIES IN gt_temp
WHERE lifnr EQ gt_temp-lifnr
.
IF sy-subrc EQ 0.
SORT gt_movend BY lifnr.
ENDIF.
ENDIF.
REFRESH : gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY matnr_i.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING matnr_i.
DELETE gt_temp WHERE matnr_i IS INITIAL.
IF gt_temp IS NOT INITIAL.
SELECT matnr spras maktx FROM makt
INTO TABLE gt_makt
FOR ALL ENTRIES IN gt_temp
WHERE matnr EQ gt_temp-matnr_i
AND spras EQ sy-langu
.
IF sy-subrc EQ 0.
SORT gt_makt BY matnr.
ENDIF.
SELECT ebeln
ebelp
vgabe
gjahr
belnr
buzei
budat
menge
dmbtr
FROM ekbe
INTO TABLE gt_grref
FOR ALL ENTRIES IN gt_ekko_ekpo
WHERE ebeln EQ gt_ekko_ekpo-ebeln_i
AND ebelp EQ gt_ekko_ekpo-ebelp_i
AND vgabe IN ('1', '2').
IF sy-subrc EQ 0.
SORT gt_grref BY ebeln ebelp vgabe.
REFRESH gt_reftemp.
gt_reftemp = gt_grref.
DELETE gt_reftemp WHERE vgabe NE '1'.
SELECT werks
lgort_sid
bukrs
meins
menge
budat
gjahr
mblnr
mjahr
zeile
ebeln
ebelp
belnr
bwart
matnr
lifnr
lfbja
lfbnr
lfpos
sjahr
smbln
smblp
pprctr "Maheb
FROM matdoc
INTO CORRESPONDING FIELDS OF TABLE gt_matdoc
* FOR ALL ENTRIES IN gt_grref
FOR ALL ENTRIES IN gt_reftemp
WHERE ebeln EQ gt_reftemp-ebeln
AND ebelp EQ gt_reftemp-ebelp
.
IF sy-subrc EQ 0.
* DELETE gt_matdoc WHERE lgort_sid IS INITIAL. "Commented by Maheb
SORT gt_matdoc BY ebeln ebelp.
gt_matdoc_rev[] = gt_matdoc[].
* DELETE gt_matdoc WHERE bwart = '102'. "Commented by navya on 09.04.2018
DELETE gt_matdoc_rev WHERE bwart NE '102'. " Deleting materail documents
other than reversal
ENDIF.
SELECT rldnr
rbukrs
gjahr
belnr
docln
awref
xreversing
xreversed
xtruerev
awtyp_rev
aworg_rev
awref_rev
budat
bldat
buzei
rebzj
rebzz
ebeln
ebelp
sgtxt
koart
FROM acdoca
INTO TABLE gt_acdoca
REFRESH gt_irref.
gt_irref = gt_grref.
DELETE gt_irref WHERE vgabe NE '2'.
SORT gt_irref BY belnr gjahr.
IF gt_irref IS NOT INITIAL.
LOOP AT gt_irref ASSIGNING <fs_ekbe>.
APPEND INITIAL LINE TO gt_rseg_temp ASSIGNING <fs_rseg>.
<fs_rseg>-belnr = <fs_ekbe>-belnr.
<fs_rseg>-gjahr = <fs_ekbe>-gjahr.
<fs_rseg>-buzei = <fs_ekbe>-buzei.
<fs_rseg>-ebeln = <fs_ekbe>-ebeln.
<fs_rseg>-ebelp = <fs_ekbe>-ebelp.
ENDLOOP.
BREAK pwcabap.
IF gt_rseg_temp IS NOT INITIAL.
SELECT belnr
gjahr
buzei
ebeln
ebelp
spgrt
lfbnr
lfgja
lfpos
mwskz
menge "Maheb
hsn_sac "Navya
FROM rseg
INTO TABLE gt_rseg
FOR ALL ENTRIES IN gt_rseg_temp
*** WHERE belnr EQ gt_rseg_temp-belnr
*** AND gjahr EQ gt_rseg_temp-gjahr
*** AND buzei EQ gt_rseg_temp-buzei.
WHERE ebeln EQ gt_rseg_temp-ebeln
AND ebelp EQ gt_rseg_temp-ebelp.
IF sy-subrc EQ 0.
SORT gt_rseg BY lfbnr lfgja lfpos.
SORT gt_rseg_temp.
ENDIF.
ENDIF.
SELECT belnr
gjahr
budat
xblnr
bukrs
lifnr
waers
beznk
zterm
FROM rbkp
INTO TABLE gt_rbkp
FOR ALL ENTRIES IN gt_rseg "gt_irref
WHERE belnr EQ gt_rseg-belnr "gt_irref-belnr
AND gjahr EQ gt_rseg-gjahr "gt_irref-gjahr
.
IF sy-subrc EQ 0.
SORT gt_rbkp.
ENDIF.
ENDIF.
ENDIF.
REFRESH gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY mwskz_i.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING mwskz_i.
IF gt_temp IS NOT INITIAL.
SELECT spras " added by ananth m 16/10/2017
kalsm
mwskz
text1
FROM t007s
INTO TABLE gt_t007
FOR ALL ENTRIES IN gt_temp
WHERE spras EQ sy-langu
AND kalsm EQ 'ZTAXIN'
AND mwskz EQ gt_temp-mwskz_i.
IF sy-subrc EQ 0.
SORT gt_t007.
ENDIF.
ENDIF.
IF sy-subrc EQ 0.
SORT gt_t001w.
ENDIF.
*** ENDIF.
REFRESH gt_temp.
gt_temp = gt_ekko_ekpo.
SORT gt_temp BY reswk.
DELETE ADJACENT DUPLICATES FROM gt_temp COMPARING reswk.
IF gt_temp IS NOT INITIAL.
SELECT werks name1 FROM t001w
INTO TABLE gt_t001w_reswk
FOR ALL ENTRIES IN gt_temp
WHERE werks EQ gt_temp-reswk.
IF sy-subrc EQ 0.
SORT gt_t001w_reswk.
ENDIF.
ENDIF.
REFRESH : gr_tmp.
PERFORM get_ranges TABLES gr_tmp
USING 'VAT_CONDITION' .
APPEND LINES OF gr_tmp TO gr_vat.
REFRESH : gr_tmp.
PERFORM get_ranges TABLES gr_tmp
USING 'ST_CONDITION' .
APPEND LINES OF gr_tmp TO gr_st.
REFRESH : gr_tmp.
PERFORM get_ranges TABLES gr_tmp
USING 'EXCISE_CONDITION' .
APPEND LINES OF gr_tmp TO gr_exc.
REFRESH : gr_tmp.
PERFORM get_ranges TABLES gr_tmp
USING 'EXCISE_CONDITION' .
APPEND LINES OF gr_tmp TO gr_del.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_RANGES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_R_TMP text
* -->P_0966 text
*----------------------------------------------------------------------*
FORM get_ranges TABLES r_tmp
USING p_setname TYPE c.
IF sy-subrc = 0.
CALL FUNCTION 'G_SET_FETCH'
EXPORTING
setnr = lv_setid
no_setid_conversion = 'X'
TABLES
set_lines_basic = lt_setval
EXCEPTIONS
no_authority = 1
set_is_broken = 2
set_not_found = 3
OTHERS = 4.
IF sy-subrc = 0.
LOOP AT lt_setval ASSIGNING <fs_setval>.
CLEAR ls_range.
ls_range-sign = 'I'.
ls_range-option = 'EQ'.
ls_range-low = <fs_setval>-from.
APPEND ls_range TO r_tmp.
ENDLOOP.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form PROCESS_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM process_data.
DATA : lv_tabix TYPE i,
lv_tabix1 TYPE i,
lv_tabix2 TYPE i,
lv_qnty TYPE bstmg,
lv_curr TYPE waers.
**Begin of Add by Ananth M 10/11/2017
DATA: lv_taxrate TYPE string,
lv_taxrate1 TYPE string.
**End of Add by Ananth M 10/11/2017
gs_purreg-zterm = <fs_ekko_ekpo>-zterm.
gs_purreg-mwskz = <fs_ekko_ekpo>-mwskz_i.
gs_purreg-mwskz_gst1 = <fs_ekko_ekpo>-mwskz_i. " PO TAX CODE
gs_purreg-ekgrp = <fs_ekko_ekpo>-ekgrp.
gs_purreg-waers = <fs_ekko_ekpo>-waers.
gs_purreg-wkurs = <fs_ekko_ekpo>-wkurs.
gs_purreg-inco1 = <fs_ekko_ekpo>-inco1.
gs_purreg-dppct = <fs_ekko_ekpo>-dppct.
gs_purreg-dpamt = <fs_ekko_ekpo>-dpamt.
gs_purreg-dpdat = <fs_ekko_ekpo>-dpdat.
gs_purreg-zzlicty = <fs_ekko_ekpo>-zzlicty.
gs_purreg-zzlicenseno = <fs_ekko_ekpo>-zzlicenseno.
gs_purreg-matnr = <fs_ekko_ekpo>-matnr_i.
SELECT SINGLE steuc FROM marc
INTO gs_purreg-steuc
WHERE matnr EQ gs_purreg-matnr
AND werks EQ gs_purreg-werks.
gs_purreg-menge = <fs_ekko_ekpo>-menge_i.
gs_purreg-meins = <fs_ekko_ekpo>-meins_i.
gs_purreg-netpr = <fs_ekko_ekpo>-netpr_i.
gs_purreg-netwr = <fs_ekko_ekpo>-netwr_i.
gs_purreg-pstyp = <fs_ekko_ekpo>-pstyp_i.
gs_purreg-knttp = <fs_ekko_ekpo>-knttp_i.
gs_purreg-lmein = <fs_ekko_ekpo>-lmein_i.
IF gs_purreg-lmein IS INITIAL.
gs_purreg-lmein = <fs_ekko_ekpo>-meins_i.
ENDIF.
gs_purreg-bsart = <fs_ekko_ekpo>-bsart.
gs_purreg-ekorg = <fs_ekko_ekpo>-ekorg.
ENDIF.
*****
UNASSIGN <fs_lfa1>.
READ TABLE gt_lfa11 ASSIGNING <fs_lfa11> WITH KEY lifnr = <fs_ekko_ekpo>-lifnr.
IF sy-subrc EQ 0 AND <fs_lfa11> IS ASSIGNED.
gs_purreg-j_1ilstno_1 = <fs_lfa11>-j_1ilstno_1.
READ TABLE gt_t005u ASSIGNING <fs_t005u> WITH KEY bland = <fs_lfa11>-regio.
IF sy-subrc EQ 0 AND <fs_t005u> IS ASSIGNED.
gs_purreg-bland = <fs_t005u>-bland.
gs_purreg-bezei = <fs_t005u>-bezei.
ENDIF.
ENDIF.
*****
READ TABLE gt_movend ASSIGNING <fs_movend> WITH KEY lifnr = <fs_ekko_ekpo>-
lifnr.
IF sy-subrc EQ 0 AND <fs_movend> IS ASSIGNED.
gs_purreg-j_1iexcd = <fs_movend>-j_1iexcd.
gs_purreg-j_1iexrn = <fs_movend>-j_1iexrn.
gs_purreg-j_1iexdi = <fs_movend>-j_1iexdi.
ENDIF.
UNASSIGN <fs_1imocomp>.
READ TABLE gt_1imocomp ASSIGNING <fs_1imocomp> WITH KEY bukrs = <fs_ekko_ekpo>-
bukrs
werks = <fs_ekko_ekpo>-
werks_i.
IF sy-subrc EQ 0 AND <fs_1imocomp> IS ASSIGNED.
gs_purreg-j_1icstno = <fs_1imocomp>-j_1icstno.
gs_purreg-j_1ilstno = <fs_1imocomp>-j_1ilstno.
ENDIF.
* UNASSIGN <fs_matdoc>.
* READ TABLE gt_matdoc ASSIGNING <fs_matdoc> WITH KEY ebeln = <fs_ekko_ekpo>-
ebeln_i
* ebelp = <fs_ekko_ekpo>-
ebelp_i
* BINARY SEARCH.
* IF sy-subrc EQ 0 AND <fs_matdoc> IS ASSIGNED.
* gs_purreg-mblnr = <fs_matdoc>-mblnr.
* gs_purreg-mjahr = <fs_matdoc>-mjahr.
* gs_purreg-zeile = <fs_matdoc>-zeile.
* gs_purreg-menge = <fs_matdoc>-menge.
* UNASSIGN <fs_exchdr>.
* READ TABLE gt_exchdr ASSIGNING <fs_exchdr> WITH KEY rdoc = <fs_matdoc>-mblnr
* ryear = <fs_matdoc>-
ryear
* .
* IF sy-subrc EQ 0 AND <fs_exchdr> IS ASSIGNED.
* gs_purreg-docno = <fs_exchdr>-docno.
* gs_purreg-exnum = <fs_exchdr>-exnum.
* gs_purreg-exdat = <fs_exchdr>-exdat.
* ENDIF.
* ENDIF.
* UNASSIGN <fs_ekbe>.
* READ TABLE gt_irref ASSIGNING <fs_ekbe> WITH KEY ebeln = <fs_ekko_ekpo>-
ebeln_i
* ebelp = <fs_ekko_ekpo>-
ebelp_i
* BINARY SEARCH.
* IF sy-subrc EQ 0 AND <fs_ekbe> IS ASSIGNED .
* READ TABLE gt_rbkp ASSIGNING <fs_rbkp> WITH KEY belnr = <fs_ekbe>-belnr
* gjahr = <fs_ekbe>-gjahr
* BINARY SEARCH.
* IF sy-subrc EQ 0 AND <fs_rbkp> IS ASSIGNED .
* gs_purreg-belnr = <fs_rbkp>-belnr.
* gs_purreg-gjahr = <fs_rbkp>-gjahr.
* gs_purreg-budat = <fs_rbkp>-budat.
* gs_purreg-xblnr = <fs_rbkp>-xblnr.
* gs_purreg-beznk = <fs_rbkp>-beznk.
* ENDIF.
* ENDIF.
UNASSIGN <fs_makt>.
READ TABLE gt_makt ASSIGNING <fs_makt> WITH KEY matnr = <fs_ekko_ekpo>-matnr_i.
IF sy-subrc EQ 0 AND <fs_makt> IS ASSIGNED .
gs_purreg-maktx = <fs_makt>-maktx.
ENDIF.
UNASSIGN <fs_mtchid>.
READ TABLE gt_mtchid ASSIGNING <fs_mtchid> WITH KEY matnr = <fs_ekko_ekpo>-
matnr_i
werks = <fs_ekko_ekpo>-
werks_i.
IF sy-subrc EQ 0 AND <fs_mtchid> IS ASSIGNED .
gs_purreg-j_1ichid = <fs_mtchid>-j_1ichid.
ENDIF.
UNASSIGN <fs_t007>.
READ TABLE gt_t007 ASSIGNING <fs_t007> WITH KEY kalsm = 'ZTAXIN'
mwskz = <fs_ekko_ekpo>-mwskz_i.
IF sy-subrc EQ 0 AND <fs_t007> IS ASSIGNED .
gs_purreg-text1 = <fs_t007>-text1.
gs_purreg-mwskz_taxdesc = <fs_t007>-text1. ."TAX DESCRIPTION
ENDIF.
ENDIF.
ENDIF.
* READ TABLE gt_bkpf INTO gs_bkpf WITH KEY awkey = gss_ekbe-awkey_bkpf BINARY
SEARCH . "Commented by Maheb
READ TABLE gt_bkpf INTO gs_bkpf WITH KEY belnr = gs_bseg-belnr. " awkey =
gss_ekbe-awkey_bkpf BINARY SEARCH . " Added by Maheb
IF sy-subrc EQ 0.
* gs_purreg-gjahr_gst = gs_bkpf-gjahr. "GRN Item No.
* gs_purreg-belnr_gst = gs_bkpf-belnr. "Commented by navya on
11.04.2018
* gs_purreg-budat_fimiro_gst = gs_bkpf-budat. " MIRO FI reversal Doc date
"Commented by navya on 11.04.2018
** gs_purreg-bldat_gst = gs_bkpf-bldat. " GST INBOUND INV Date
"Commented by navya on 11.04.2018
gs_purreg-xblnr_gst = gs_bkpf-xblnr. " GST INBOUND INV No.
* gs_purreg-awkey_gst = gs_bkpf-awkey." FI MIGO Doc No. awkey+gjahr
"Object Key (new name) "Commented by Maheb
* gs_purreg-budat_gst = gs_bkpf-budat. "FI MIGO Doc Date
"Posting Date(new name)"Commented by Maheb " comment by chiru on 13-04-18
* gs_purreg-budat_fi_rev = gs_bkpf-budat. " FI MIGO Reversal Doc Date.
"Commented by navya on 10.04.2018
* gs_purreg-xblnr_alt = gs_bkpf-xblnr_alt ."ODN Doc No. "Commented by
navya on 10.04.2018
* gs_purreg-awkey_gst = gs_bkpf-belnr." FI MIGO Doc No. awkey+gjahr
"Object Key (new name) "comment by chiru 12-042018
** gs_purreg-stblg_belnr = gs_bkpf-belnr. " FI MIGO Reversal Doc No.
BKPF-BELNR "Commented by navya on 09.04.2018
ENDIF.
* BREAK-POINT.
*** Added by navya on 10.04.2018
* READ TABLE gtt_ekbe INTO gss_ekbe1 WITH KEY ebeln = <fs_ekko_ekpo>-ebeln_i
* ebelp = <fs_ekko_ekpo>-ebelp_i
* shkzg = 'H'
* bewtp = 'Q' BINARY SEARCH."belnr
= gss_mseg-belnr
* IF sy-subrc EQ 0.
** Comment by chiru on 13-04-18
* DATA : lv_awkey TYPE char15.
** LOOP AT gtt_ekbe INTO gss_ekbe1 WHERE ebeln = <fs_ekko_ekpo>-ebeln_i
** AND ebelp = <fs_ekko_ekpo>-
ebelp_i
** AND shkzg = 'H'
** AND bewtp = 'Q'.
** CLEAR lv_awkey.
** CONCATENATE gss_ekbe1-belnr gss_ekbe1-gjahr INTO lv_awkey .
** comment by chiru
* LOOP AT gt_bkpf INTO gs_bkpf4 WHERE awkey = lv_awkey
* AND gjahr = gss_ekbe1-gjahr.
** AND xreversed = 'X'.
*
* gs_purreg-miro_fi_rev = gs_bkpf4-belnr.
* IF gs_purreg-miro_fi_rev IS NOT INITIAL .
** gs_purreg-budat_fi_rev = gs_bkpf4-budat. " FI MIGO Reversal Doc
Date. "11.04.2018
* gs_purreg-budat_fimiro_gst = gs_bkpf4-budat. " MIRO FI reversal Doc
date
* ENDIF.
* ENDLOOP.
** comment by chiru
* added chiru
**** *** code for FI MIRO DOC NUMBER OR ACCOUNTING DOC NUMBER
*** CLEAR gss_ekbe_1.
*** READ TABLE gtt_ekbe INTO gss_ekbe_1 WITH KEY belnr = <fs_matdoc>-mblnr
*** bewtp = 'Q'
*** shkzg = 'S'.
***
***
*** CLEAR:gs_bkpf_c2.
*** READ TABLE gt_bkpf INTO gs_bkpf_c2 WITH KEY awkey = gss_ekbe_1-
awkey_bkpf
*** gjahr = gss_ekbe_1-gjahr.
***
*** IF sy-subrc IS INITIAL .
*** gs_purreg-acc_doc_no = gs_bkpf_c2-belnr. " Accounting document
number or MIRO FI DOCUMENT NUMBER
*** gs_purreg-budat_rbkp = gs_bkpf_c2-budat. " Accounting document
date or MIRO FI DOCUMENT DATE
*** ENDIF.
*** CLEAR:gss_ekbe_1,gs_bkpf_c2.
***
*** CLEAR:gs_bkpf_c2.
*** READ TABLE gt_bkpf INTO gs_bkpf_c2 WITH KEY awkey = gss_ekbe1-
awkey_bkpf
*** gjahr = gss_ekbe1-gjahr.
***
*** IF sy-subrc IS INITIAL .
*** gs_purreg-miro_fi_rev = gs_bkpf_c2-belnr. " FI MIRO REVERSAL
DOCUMENT NUMBER
*** gs_purreg-budat_fimiro_gst = gs_bkpf_c2-budat. " FI MIRO
REVERSAL DOCUMENT DATE
*** ENDIF.
*** CLEAR:gss_ekbe1,gs_bkpf_c2.
*** ENDLOOP.
** Comment by chiru on 13-04-18
* ENDIF.
CLEAR:lv_taxrate ,
lv_taxrate1.
READ TABLE gtt_mseg INTO gss_mseg WITH KEY mblnr = gss_ekbe-belnr
mjahr = gss_ekbe-gjahr
charg = gss_ekbe-charg
ebeln = gss_ekbe-ebeln
ebelp = gss_ekbe-ebelp
werks = gss_ekbe-werks. "BINARY
SEARCH.
ENDIF.
ENDIF.
CLEAR : gss_ekbe_2.
READ TABLE gtt_ekbe_2 INTO gss_ekbe_2 WITH KEY ebeln = <fs_ekko_ekpo>-ebeln_i
ebelp = <fs_ekko_ekpo>-ebelp_i.
IF sy-subrc EQ 0.
ENDIF.
DATA : lv_acc TYPE char15.
* read table gtt_rbkp into gss_rbkp with key belnr = gss_ekbe-belnr BINARY
SEARCH. "Commented by Nagendra
READ TABLE gtt_rbkp INTO gss_rbkp WITH KEY belnr = gss_ekbe_2-belnr
gjahr = gss_ekbe_2-gjahr BINARY
SEARCH.
IF sy-subrc EQ 0.
* RBKP pass belnr and vgart=rs the u will get the cancell docum number
IF gss_rbkp-vgart = 'RS'.
* gs_purreg-canceldoc_rbkp = gss_rbkp-belnr. " MIRO Reversal Doc No. "
comment by chiru on 13-4-2018
gs_purreg-odnrev_rbkp = gss_rbkp-belnr. "ODN Reversal Doc No.
ENDIF.
* comment by chiru on 13-04-18
* IF gss_rbkp-ivtyp = '5'.
* gs_purreg-budat_rbkp_rev = gss_rbkp-budat."MIRO Reversal Posting
Date
* ENDIF.
* end of chnags :comment by chiru
" RBKP pass belnr and vgart=rs the u will get the cancell docum number
ENDIF.
IF sy-subrc = 0.
* gs_purreg-acc_doc_no = gs_bkpf2-belnr. "Acc Doc No. "commeny chiru
READ TABLE gt_bkpf INTO gs_bkpf3 WITH KEY belnr = gs_bkpf2-belnr..
gs_purreg-xblnr_alt = gs_bkpf3-xblnr_alt ."ODN Doc No.
ENDIF.
READ TABLE gt_t030 INTO gs_t030 WITH KEY bklas = gss_rseg-bklas BINARY SEARCH.
* ktopl = ' '
* ktosl = 'BSX'
IF sy-subrc EQ 0.
gs_purreg-konts_gst = gs_t030-konts ."GL A/c assigned to Material/Service
ENDIF.
***Added by Maheb
"Added by chiru on 10.04.2018
CLEAR:gs_bseg2.
READ TABLE gt_bseg INTO gs_bseg2 WITH KEY belnr = gs_bseg-belnr
bukrs = gs_bseg-bukrs
gjahr = gs_bseg-gjahr
buzid = 'M'.
IF gs_purreg-konts_gst IS INITIAL AND <fs_ekko_ekpo>-bsart = 'ZSER' AND
gs_bseg2-buzid = 'M'.
* gs_purreg-konts_gst = gs_bseg-lifnr. " commmented by chiru on 12-04-2018
gs_purreg-konts_gst = gs_bseg2-hkont. " added chiru 12-04-18
ENDIF.
***Ended by Maheb
***Added by Maheb
READ TABLE gt_asmdt INTO gs_asmdt WITH KEY asnum = gs_asmd-asnum BINARY SEARCH.
IF sy-subrc EQ 0 .
gs_purreg-asktx = gs_asmdt-asktx."Activity Decription
ENDIF.
READ TABLE gt_mbew INTO gs_mbew WITH KEY matnr = <fs_ekko_ekpo>-matnr_i BINARY
SEARCH. "gs_marc-matnr Commented by Nagendra
IF sy-subrc EQ 0.
gs_purreg-bklas_gst = gs_mbew-bklas. "gs_t030-bklas ."Valuation class
"Commented by nagendra
ENDIF.
IF <fs_ekko_ekpo>-bsart EQ 'UB'.
gs_purreg-reswk = <fs_ekko_ekpo>-reswk.
UNASSIGN <fs_t001w>.
READ TABLE gt_t001w_reswk ASSIGNING <fs_t001w> WITH KEY werks =
<fs_ekko_ekpo>-reswk.
IF sy-subrc EQ 0 AND <fs_t001w> IS ASSIGNED.
gs_purreg-supp_name = <fs_t001w>-name1.
ENDIF.
ENDIF.
UNASSIGN <fs_t163y>.
READ TABLE gt_t163y ASSIGNING <fs_t163y> WITH KEY spras = sy-langu
pstyp = <fs_ekko_ekpo>-
pstyp_i.
IF sy-subrc EQ 0.
gs_purreg-ptext = <fs_t163y>-ptext.
ENDIF.
IF <fs_ekko_ekpo>-bstyp = 'K'.
lv_qnty = <fs_ekko_ekpo>-ktmng_i.
ELSE.
lv_qnty = <fs_ekko_ekpo>-menge_i.
ENDIF.
*BREAK-POINT.
*******Added by navya on 10.04.2018
LOOP AT gt_bkpf INTO gs_bkpf2 WHERE awkey = lv_acc.
LOOP AT it_bset1 INTO wa_bset1 WHERE belnr = gs_bkpf2-belnr.
IF wa_bset1-kschl = 'ZICG'.
gs_purreg-cgstrate_konv = wa_bset1-kbetr / 10. "CGSTRate"
gs_purreg-taxbase_amount_cgst = wa_bset1-fwbas. "CGst Base amount.
gs_purreg-cgstamount_konv = ( gs_purreg-cgstrate_konv / 100 ) *
gs_purreg-taxbase_amount_cgst .""CGSTAmount"
ELSEIF wa_bset1-kschl = 'ZISG'.
gs_purreg-sgstrate_konv = wa_bset1-kbetr / 10. "SSTRate"
gs_purreg-taxbase_amount_sgst = wa_bset1-fwbas. "SGST Base amount.
gs_purreg-sgstamount_konv = ( gs_purreg-sgstrate_konv / 100 ) *
gs_purreg-taxbase_amount_sgst. "SGST Amount
ELSEIF wa_bset1-kschl = 'ZIIG'.
gs_purreg-igstrate_konv = wa_bset1-kbetr / 10. "IGSTRate"
gs_purreg-taxbase_amount_igst = wa_bset1-fwbas. "IGST Base amount.
gs_purreg-igstamount_konv = ( gs_purreg-igstrate_konv / 100 ) *
gs_purreg-taxbase_amount_igst. "IGST Amount
ENDIF.
CLEAR lv_curr.
LOOP AT gt_komv ASSIGNING <fs_komv>.
***Begin of Add BY Ananth M 23/10/2017.
* IF <fs_komv>-waers = 'INR'.
IF <fs_komv>-kschl = 'ZICG'.
* gs_purreg-cgstrate_konv = <fs_komv>-kbetr / 10. "CGSTRate"
* gs_purreg-cgstamount_konv = <fs_komv>-kwert. ""CGSTAmount"
gs_purreg-taxrate_konv_cgst = <fs_komv>-kbetr / 10. "TAX RATE
*Start of changes by sankeerthana
* gs_purreg-taxbase_amount_cgst = <fs_komv>-kwert. "CGst Base amount.
* gs_purreg-taxbase_amount_cgst = <fs_komv>-kawrt. "CGst Base amount.
gs_purreg-tax_type = 'CGST'.
*End of changes by sankeerthana
* CONCATENATE gs_purreg-taxrate_konv '%' INTO gs_purreg-taxrate_konv1.
* CONDENSE gs_purreg-taxrate_konv1 NO-GAPS.
********************************************************************************
***End of Add BY Ananth M 23/10/2017.
IF <fs_komv>-waers IS NOT INITIAL.
lv_curr = <fs_komv>-waers.
ENDIF.
IF <fs_komv>-kschl IN gr_vat.
PERFORM get_perc USING <fs_komv>
<fs_ekko_ekpo>-meins_i
CHANGING gs_purreg-vat_amt.
IF gs_purreg-vat_amt IS NOT INITIAL.
gs_purreg-vat_cur = lv_curr.
ENDIF.
ELSEIF <fs_komv>-kschl IN gr_cst.
PERFORM get_perc USING <fs_komv>
<fs_ekko_ekpo>-meins_i
CHANGING gs_purreg-cst_amt.
IF gs_purreg-cst_amt IS NOT INITIAL.
gs_purreg-cst_cur = lv_curr.
ENDIF.
ELSEIF <fs_komv>-kschl IN gr_st.
PERFORM get_perc USING <fs_komv>
<fs_ekko_ekpo>-meins_i
CHANGING gs_purreg-st_amt.
IF gs_purreg-st_amt IS NOT INITIAL.
gs_purreg-st_cur = lv_curr.
ENDIF.
ELSEIF <fs_komv>-kschl IN gr_exc.
PERFORM get_perc USING <fs_komv>
<fs_ekko_ekpo>-meins_i
CHANGING gs_purreg-ed_amt.
IF gs_purreg-ed_amt IS NOT INITIAL.
gs_purreg-ed_cur = lv_curr.
ENDIF.
* ELSEIF <fs_komv>-kschl IN gr_del.
* PERFORM get_perc USING <fs_komv>
* <fs_ekko_ekpo>-meins_i
* CHANGING gs_purreg-at_amt.
ENDIF.
ENDLOOP.
gs_purreg-waers_i = lv_curr.
CLEAR lv_curr.
UNASSIGN <fs_prcd>.
READ TABLE gt_prcd ASSIGNING <fs_prcd> WITH KEY knumv = <fs_ekko_ekpo>-knumv
kposn = <fs_ekko_ekpo>-kposn.
IF sy-subrc = 0 AND <fs_prcd> IS ASSIGNED.
lv_tabix = sy-tabix.
UNASSIGN <fs_prcd>.
LOOP AT gt_prcd ASSIGNING <fs_prcd> FROM lv_tabix.
IF <fs_ekko_ekpo>-knumv <> <fs_prcd>-knumv
OR <fs_ekko_ekpo>-kposn <> <fs_prcd>-kposn.
* LV_TABIX = SY-TABIX.
EXIT.
ELSE.
CASE <fs_prcd>-kschl.
WHEN 'JCV5' OR 'JCV4' OR 'JCV3' OR 'JCV2' OR 'JCV1'.
gs_purreg-cvd_amt = gs_purreg-cvd_amt + <fs_prcd>-kwert.
* if <fs_prcd>-waers is NOT INITIAL.
* gs_purreg-cvd_cur = <fs_prcd>-waers.
* ENDIF.
WHEN 'JCDB'.
gs_purreg-cd_amt = gs_purreg-cd_amt + <fs_prcd>-kwert.
* if <fs_prcd>-waers is NOT INITIAL.
* gs_purreg-cd_cur = <fs_prcd>-waers.
* ENDIF.
WHEN 'ZADC'.
gs_purreg-sad_amt = gs_purreg-sad_amt + <fs_prcd>-kwert.
* if <fs_prcd>-waers is NOT INITIAL.
* gs_purreg-sad_cur = <fs_prcd>-waers.
* ENDIF.
* Added by sankeerthana
WHEN 'FPF1' OR 'FQF1' OR 'FRA1' OR 'FRA2' OR 'FRB1' OR 'FRB2' OR 'FRC1'
OR 'FRC2' OR 'FVF1' OR 'TRAV' OR
'TRNL' OR 'TRNQ' OR 'TRNT' OR 'ZTRC'.
gs_purreg-freight_charges = gs_purreg-freight_charges + <fs_prcd>-
kwert.
WHEN 'PBXX'.
gs_purreg-basic_price = gs_purreg-basic_price + <fs_prcd>-kwert.
WHEN 'OTHR'.
gs_purreg-other_charges = gs_purreg-other_charges + <fs_prcd>-kwert.
WHEN 'ZOTV'.
gs_purreg-other_charges = gs_purreg-other_charges + <fs_prcd>-kwert.
* Ended by sankeerthana
WHEN 'PB00' OR 'PBXX' OR 'ZPB0' OR 'ZPBX' OR 'PBXX' OR 'P000' OR
'P001'.
* gs_purreg-tot_amt = gs_purreg-tot_amt + <fs_prcd>-kwert.
gs_purreg-base_amt = gs_purreg-base_amt + <fs_prcd>-kwert.
lv_curr = <fs_prcd>-waers.
WHEN OTHERS.
ENDCASE.
ENDIF.
CLEAR <fs_prcd>-kwert.
* UNASSIGN <fs_prcd>.
ENDLOOP.
ENDIF.
BREAK pwcabap.
CLEAR : lv_tabix1, gs_matdoc, lv_tabix2.
READ TABLE gt_matdoc INTO gs_matdoc WITH KEY ebeln = <fs_ekko_ekpo>-ebeln_i
ebelp = <fs_ekko_ekpo>-ebelp_i
BINARY SEARCH.
***Added by Maheb
***Added by Maheb
gs_purreg-zeile_gst = gs_matdoc-zeile. "GRN Item No. "Added by Maheb
IF gs_purreg-prctr IS INITIAL AND <fs_ekko_ekpo>-bsart = 'ZSER'.
gs_purreg-prctr = gs_matdoc-pprctr."Profit center
ENDIF.
***Ended by Maheb
**Ended by Maheb
IF sy-subrc EQ 0.
lv_tabix1 = sy-tabix.
LOOP AT gt_matdoc ASSIGNING <fs_matdoc> FROM lv_tabix1.
IF <fs_matdoc>-ebeln NE <fs_ekko_ekpo>-ebeln_i
OR <fs_matdoc>-ebelp NE <fs_ekko_ekpo>-ebelp_i.
EXIT.
ELSE.
* ***Start of changes by chiru on 28-03-2018 # for correcting PGI doc
number
IF <fs_matdoc>-bwart = 641.
IF gs_purreg-pgi_doc IS INITIAL.
gs_purreg-pgi_doc = <fs_matdoc>-mblnr.
gs_purreg-bwart_gst = <fs_matdoc>-bwart. " ADDED BY Chiru on 29-03-
18 for moment type display on report
ENDIF.
ELSE.
gs_purreg-mblnr = <fs_matdoc>-mblnr.
gs_purreg-mblnr_gst = <fs_matdoc>-mblnr.
gs_purreg-bwart_gst = <fs_matdoc>-bwart. " ADDED BY Chiru on 29-03-18
for moment type display on report
ENDIF.
* ***End of changes by chiru on 28-03-2018 # for correcting PGI doc number
gs_purreg-mjahr = <fs_matdoc>-mjahr.
gs_purreg-zeile = <fs_matdoc>-zeile.
gs_purreg-menge_i = <fs_matdoc>-menge.
gs_purreg-budat = <fs_matdoc>-budat.
gs_purreg-budat_mkpf_gst = <fs_matdoc>-budat.
gs_purreg-lgort = <fs_matdoc>-lgort_sid.
***Added by Maheb
CLEAR gss_ekbe_1.
READ TABLE gtt_ekbe INTO gss_ekbe_1 WITH KEY belnr = <fs_matdoc>-mblnr
bewtp = 'E'. "Changed by
chiru on 12-04 ."BINARY SEARCH."belnr = gss_mseg-belnr
** gs_purreg-awkey_gst = gss_ekbe_1-awkey_bkpf." FI MIGO Doc No.
awkey+gjahr "Object Key (new name) "Added by Maheb "Commented by navya on
09.4.2018
* gs_purreg-budat_gst = gss_ekbe_1-budat. "FI MIGO Doc Date
"Posting Date(new name) " Added by Maheb " COMMNET BY CHIRU
**Ended by Maheb
* **start of changes by chiru on 12-04-2018
* only for FI DOCUMENTS BEWTP IF E = MIGO DOC OR Q = MIRO DOCS.
IF gss_ekbe_1-bewtp = 'E'.
CLEAR:gs_bkpf_c.
READ TABLE gt_bkpf INTO gs_bkpf_c WITH KEY awkey = gss_ekbe_1-
awkey_bkpf.
IF sy-subrc IS INITIAL.
gs_purreg-awkey_gst = gs_bkpf_c-belnr. "FI MIGO DOCUMENT NO.
gs_purreg-budat_gst = gs_bkpf_c-budat. " FI MIGO DOC DATE
CLEAR :gs_bseg2.
READ TABLE gt_bseg INTO gs_bseg2 WITH KEY belnr = gs_bkpf_c-belnr
bukrs = gs_bkpf_c-bukrs
gjahr = gs_bkpf_c-gjahr
buzid = 'M'
shkzg = 'S'.
IF sy-subrc IS INITIAL.
gs_purreg-migodoc_valbseg = gs_bseg2-dmbtr. " FI MIGO
Doc Value
ENDIF.
CLEAR:gs_bkpf_c2.
READ TABLE gt_bkpf INTO gs_bkpf_c2 WITH KEY awkey = gs_bkpf_c-awkey
xreversing = 'X'.
IF sy-subrc IS INITIAL.
gs_purreg-stblg_belnr = gs_bkpf_c2-belnr. " FI MIGO Reversal
Doc No
gs_purreg-budat_fi_rev = gs_bkpf_c2-budat. " FI MIGO Reversal
Doc No DATE
CLEAR:gs_bseg2.
READ TABLE gt_bseg INTO gs_bseg2 WITH KEY belnr = gs_bkpf_c2-belnr
bukrs = gs_bkpf_c2-bukrs
gjahr = gs_bkpf_c2-gjahr
buzid = 'M'
shkzg = 'H'.
IF sy-subrc IS INITIAL.
gs_purreg-migo_revvalue = gs_bseg2-dmbtr. " FI
MIGO Reversal Doc Value
ENDIF.
CLEAR:gs_bseg2.
ENDIF.
ENDIF.
ENDIF.
*chiru ,***
* IF gss_ekbe_1-bewtp = '
* ENDIF.
**ENDOF CHANGES BY CHIRU ****
UNASSIGN <fs_matdoc_rev>.
READ TABLE gt_matdoc_rev ASSIGNING <fs_matdoc_rev> WITH KEY sjahr =
<fs_matdoc>-mjahr
smbln = <fs_matdoc>-
mblnr
smblp = <fs_matdoc>-
zeile.
IF <fs_matdoc_rev> IS ASSIGNED.
gs_purreg-mblnr_gst_rev = <fs_matdoc_rev>-mblnr. "MM-MIGO
Reversal Doc no.
gs_purreg-budat_mkpf_gst_rev = <fs_matdoc_rev>-budat. " MM-MIGO
Reversal Doc Date
gs_purreg-migo_revtext = <fs_matdoc_rev>-sgtxt. "MIGO Reversal TEXT
ENDIF.
UNASSIGN <fs_exchdr>.
READ TABLE gt_exchdr ASSIGNING <fs_exchdr> WITH KEY rdoc = <fs_matdoc>-
mblnr
ryear = <fs_matdoc>-
ryear
.
IF sy-subrc EQ 0 AND <fs_exchdr> IS ASSIGNED.
gs_purreg-docno = <fs_exchdr>-docno.
gs_purreg-exnum = <fs_exchdr>-exnum.
gs_purreg-exdat = <fs_exchdr>-exdat.
ENDIF.
UNASSIGN <fs_rseg>.
READ TABLE gt_rseg ASSIGNING <fs_rseg> WITH KEY lfbnr = <fs_matdoc>-mblnr
lfgja = <fs_matdoc>-mjahr
lfpos = <fs_matdoc>-
zeile.
IF sy-subrc EQ 0 AND <fs_rseg> IS ASSIGNED.
lv_tabix2 = sy-tabix.
LOOP AT gt_rseg ASSIGNING <fs_rseg> FROM lv_tabix2.
IF <fs_rseg>-lfbnr <> <fs_matdoc>-mblnr
OR <fs_rseg>-lfgja <> <fs_matdoc>-mjahr
OR <fs_rseg>-lfpos <> <fs_matdoc>-zeile.
EXIT.
ELSE.
gs_purreg-mwskz_gst = <fs_rseg>-mwskz. "MIRO TAX CODE
UNASSIGN <fs_rbkp>.
READ TABLE gt_rbkp ASSIGNING <fs_rbkp> WITH KEY belnr = <fs_rseg>-
belnr
gjahr = <fs_rseg>-
gjahr
BINARY SEARCH.
IF sy-subrc EQ 0 AND <fs_rbkp> IS ASSIGNED .
gs_purreg-belnr = <fs_rbkp>-belnr.
gs_purreg-gjahr = <fs_rbkp>-gjahr.
gs_purreg-budat_i = <fs_rbkp>-budat.
gs_purreg-xblnr = <fs_rbkp>-xblnr.
gs_purreg-beznk = <fs_rbkp>-beznk.
gs_purreg-buzei = <fs_rseg>-buzei.
gs_purreg-mblnr = <fs_matdoc>-mblnr.
gs_purreg-mjahr = <fs_matdoc>-mjahr.
gs_purreg-zeile = <fs_matdoc>-zeile.
gs_purreg-menge_i = <fs_matdoc>-menge.
gs_purreg-budat = <fs_matdoc>-budat.
IF <fs_exchdr> IS ASSIGNED .
gs_purreg-docno = <fs_exchdr>-docno.
gs_purreg-exnum = <fs_exchdr>-exnum.
gs_purreg-exdat = <fs_exchdr>-exdat.
ENDIF.
***chiru
* *** start of changes by chiru on 13-04-2018
.
CLEAR :gs_acdoca.
READ TABLE gt_acdoca INTO gs_acdoca WITH KEY awref = <fs_rbkp>-belnr
gjahr = <fs_rbkp>-gjahr.
IF sy-subrc IS INITIAL .
****** code for FI MIRO DOC NUMBER OR ACCOUNTING DOC NUMBER
ENDIF.
* *** code for FI MIRO REVERSAL DOC NUMBER
CLEAR :gs_acdoca.
READ TABLE gt_acdoca INTO gs_acdoca WITH KEY awref_rev = <fs_rbkp>-belnr
gjahr = <fs_rbkp>-gjahr
* koart = 'K'
rbukrs = <fs_rbkp>-bukrs
XREVERSING = 'X'.
IF sy-subrc is INITIAL.
endif.
*** chiru
UNASSIGN <fs_rseg>.
READ TABLE gt_rseg ASSIGNING <fs_rseg> WITH KEY ebeln =
<fs_ekko_ekpo>-ebeln
ebelp = <fs_ekko_ekpo>-
ebelp_i.
IF sy-subrc = 0.
gs_purreg-belnr = <fs_rseg>-belnr.
gs_purreg-steuc_hsn = <fs_rseg>-hsn_sac."MIRO HSN/SAC code "Added
by navya on 10.04.2018
UNASSIGN <fs_rbkp>.
READ TABLE gt_rbkp ASSIGNING <fs_rbkp> WITH KEY belnr = <fs_rseg>-
belnr
gjahr = <fs_rseg>-
gjahr
BINARY SEARCH.
IF sy-subrc EQ 0 AND <fs_rbkp> IS ASSIGNED .
gs_purreg-belnr = <fs_rbkp>-belnr.
gs_purreg-gjahr = <fs_rbkp>-gjahr.
gs_purreg-budat_i = <fs_rbkp>-budat.
gs_purreg-xblnr = <fs_rbkp>-xblnr.
gs_purreg-beznk = <fs_rbkp>-beznk.
gs_purreg-buzei = <fs_rseg>-buzei.
ENDIF.
ENDIF.
CASE is_komv-krech.
WHEN 'A'.
* lv_perc = is_komv-kbetr / 10.
p_amt = p_amt + is_komv-kwert.
* p_perc = p_perc + lv_perc.
* MOVE p_perc TO lv_perc.
* CONCATENATE p_taxty lv_perc
* '%' INTO p_text SEPARATED BY space.
WHEN 'C'.
* lv_perc = is_komv-kbetr.
p_amt = p_amt + is_komv-kwert.
* p_perc = p_perc + lv_perc.
* MOVE p_perc TO lv_perc.
* MOVE p_meins TO lv_meins.
* MOVE is_komv-kpein TO lv_kpein.
* CONCATENATE p_taxty lv_perc
* 'per' lv_kpein lv_meins INTO p_text SEPARATED BY space.
ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_data .
DATA : lv_count TYPE i.
CLEAR lv_count.
PERFORM : build_fcat TABLES gt_fieldcat
USING lv_count 'BUKRS' 'GT_PURREG' 'COMPANY CODE' '20' ' ' 'BUKRS'
'T001' '' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'WERKS' 'GT_PURREG' 'PLANT' '15' ' ' 'WERKS' 'T001W' ''
'',
build_fcat TABLES gt_fieldcat
USING lv_count 'PLAN_NAME' 'GT_PURREG' 'Plant Name' '20' ' ' ' ' ' '
'' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'LIFNR' 'GT_PURREG' 'Vendor No.' '20' '' ' ' ' ' '' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'VEND_NAME' 'GT_PURREG' 'Vendor Name' '30' ' ' '' '' ''
'',
build_fcat TABLES gt_fieldcat
USING lv_count 'VEN_CLASS' 'GT_PURREG' 'Vendor Tax Classification'
'30' ' ' '' '' '' '',
* build_fcat TABLES gt_fieldcat
* USING lv_count 'TAXNUM' 'GT_PURREG' 'GSTIN/UIN of Supplier' '20' '' '
' ' ' '' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'STEUC' 'GT_PURREG' 'HSN/SAC Code' '20' '' ' ' ' ' ''
'',
build_fcat TABLES gt_fieldcat
USING lv_count 'AKONT' 'GT_PURREG' 'Recon A/C' '20' '' ' ' ' ' '' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'RESWK' 'GT_PURREG' 'Supplying Plant' '20' ' ' ' ' ' '
'' '',
build_fcat TABLES gt_fieldcat
USING lv_count 'SUPP_NAME' 'GT_PURREG' 'Supplying Plant Name' '30' ' '
'' '' '' '',
**start of changes by chiru on 29-03-2018 chnaged from Vendor STATE NAME to Vendor
City
* BUILD_FCAT TABLES GT_FIELDCAT
* USING LV_COUNT 'ORT01_GST' 'GT_PURREG' 'Vendor STATE NAME' '30' ' ' '' '' ''
'X',
*
* build_fcat TABLES gt_fieldcat
* USING lv_count 'MWSKZ_GST1' 'GT_PURREG' 'PO TAX CODE' '20' ' ' 'MWSKZ' 'RSEG'
'' 'X',
CLEAR gs_layout.
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
* REFRESH : GT_SORT.
* CLEAR GS_SORT.
* GS_SORT-SPOS = '1'.
* GS_SORT-FIELDNAME = 'WERKS'.
* GS_SORT-TABNAME = 'GT_PURREG'.
* GS_SORT-UP = 'X'.
* APPEND GS_SORT TO GT_SORT.
* CLEAR GS_SORT.
*
* GS_SORT-SPOS = '2'.
* GS_SORT-FIELDNAME = 'EBELN'.
* GS_SORT-TABNAME = 'GT_PURREG'.
* GS_SORT-UP = 'X'.
* APPEND GS_SORT TO GT_SORT.
* CLEAR GS_SORT.
*
* GS_SORT-SPOS = '3'.
* GS_SORT-FIELDNAME = 'EBELP'.
* GS_SORT-TABNAME = 'GT_PURREG'.
* GS_SORT-UP = 'X'.
* APPEND GS_SORT TO GT_SORT.
* CLEAR GS_SORT.
REFRESH :gt_fieldcat_gst.
gt_fieldcat_gst = gt_fieldcat.
REFRESH :gt_fieldcat.
* DATA: gv_flag(1).
LOOP AT gt_purreg_gst INTO gs_purreg.
IF gs_purreg-bedat > lv_datee.":'20170701'.
* '20170801
CLEAR: gs_purreg-st_amt,"ST Amount
gs_purreg-st_cur, "ST Currency
gs_purreg-cst_amt,
gs_purreg-cst_cur,
gs_purreg-ed_amt,
gs_purreg-ed_cur,
gs_purreg-exnum,
gs_purreg-exdat,
gs_purreg-docno,
gs_purreg-j_1icstno,"CST NO
gs_purreg-j_1ilstno, "LST NO
gs_purreg-base_rate, "PO Base Rate'
gs_purreg-bt_amt, "Del. Charges (BT)
gs_purreg-bt_cur, "BT Currency
gs_purreg-at_amt, "Del. Charges (AT)
gs_purreg-at_cur, "AT Currency
gs_purreg-tot_amt, "PO Total Amount
gs_purreg-beznk, "UnPlanned Del
gs_purreg-dppct, "PO Down payment %
gs_purreg-dpamt, "PO Down payment Amount
gs_purreg-dpdat, "Due Date For DP
gs_purreg-j_1ilstno_1 . "Vendor Tin no
* gs_purreg-
ENDIF.
** APPEND gs_purreg TO gt_purreg. " Commented by Sridhar/Pavan on 11/04/2018
*---- Begin of change by Sridhar/pavan on 11/04/2018.
" Exclude movement type 102 documents
* IF gs_purreg-bwart_gst <> 102.,
APPEND gs_purreg TO gt_purreg.
* ENDIF.
*---- End of Change by Sridhar/pavan on 11/04/2018
CLEAR:gs_purreg.
ENDLOOP.
LOOP AT gt_fieldcat_gst INTO gs_fieldcat.
IF so_budat-low > lv_datee OR so_budat-high > lv_datee.":'20170701'.
IF ( gs_fieldcat-fieldname = 'ST_AMT' OR gs_fieldcat-fieldname = 'ST_CUR' OR
gs_fieldcat-fieldname = 'CST_AMT' OR gs_fieldcat-fieldname = 'CST_CUR'
OR gs_fieldcat-fieldname = 'ED_AMT' OR gs_fieldcat-fieldname = 'ED_CUR' OR
gs_fieldcat-fieldname = 'EXNUM' OR gs_fieldcat-fieldname = 'EXDAT'
OR gs_fieldcat-fieldname = 'DOCNO' OR gs_fieldcat-fieldname = 'J_1ICSTNO' OR
gs_fieldcat-fieldname = 'J_1ILSTNO' OR gs_fieldcat-fieldname = 'BASE_RATE'
OR gs_fieldcat-fieldname = 'BT_AMT' OR gs_fieldcat-fieldname = 'BT_CUR' OR
gs_fieldcat-fieldname = 'AT_AMT' OR gs_fieldcat-fieldname = 'AT_CUR'
OR gs_fieldcat-fieldname = 'TOT_AMT' OR gs_fieldcat-fieldname = 'BEZNK' OR
gs_fieldcat-fieldname = 'DPPCT' OR gs_fieldcat-fieldname = 'DPAMT'
OR gs_fieldcat-fieldname = 'DPDAT' OR gs_fieldcat-fieldname = 'J_1ILSTNO_1'
).
CLEAR:
gs_fieldcat-fieldname,
gs_fieldcat-seltext_l,
gs_fieldcat-seltext_m ,
gs_fieldcat,
gs_fieldcat-seltext_s .
* ELSEIF ( gs_fieldcat-fieldname = 'EXNUM' OR gs_fieldcat-fieldname = 'EXDAT'
OR gs_fieldcat-fieldname = 'DOCNO' OR gs_fieldcat-fieldname = 'J_1ICSTNO' OR
gs_fieldcat-fieldname = 'J_1ILSTNO' ).
* CLEAR:
* gs_fieldcat-fieldname ,
* gs_fieldcat-seltext_l,
* gs_fieldcat-seltext_m ,
* gs_fieldcat,
* gs_fieldcat-seltext_s .
ENDIF.
ENDIF.
IF gs_fieldcat IS NOT INITIAL.
APPEND gs_fieldcat TO gt_fieldcat.
ENDIF.
CLEAR:gs_fieldcat .
ENDLOOP.
**End of ADD Ananth M 19/09/2017.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form BUILD_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_1846 text
* -->P_1847 text
* -->P_1848 text
* -->P_1849 text
* -->P_1850 text
* -->P_1851 text
*----------------------------------------------------------------------*
ENDFORM.
FORM top_of_page.
REFRESH : gt_header.
CLEAR: gs_header, lv_butxt.
gs_header-typ = 'H'.
gs_header-info = 'Purchase Register'.
APPEND gs_header TO gt_header.
CLEAR gs_header.
gs_header-typ = 'S'.
CONCATENATE sy-datum+6(2) sy-datum+4(2) sy-datum+0(4) INTO lv_date
SEPARATED BY '.'.
CONCATENATE 'Report Date' ':' lv_date INTO gs_header-info SEPARATED BY space.
APPEND gs_header TO gt_header.
CLEAR gs_header.
ENDFORM.
ENDIF.
ENDIF.
ENDFORM.