Professional Documents
Culture Documents
*Clear :
* Refresh
REFRESH : gt_t093t.
*--------------------------------------------------------------------*`
* Company Code
*--------------------------------------------------------------------*
s_bukrs[] = VALUE #( ( sign = 'I'
option = 'EQ'
low = '1000'
) ).
*--------------------------------------------------------------------*
* Depreciation Areas
*--------------------------------------------------------------------*
IF s_bukrs[] IS NOT INITIAL.
SELECT afapl,
afaber,
afbtxt
FROM t093t
INTO TABLE @gt_t093t
WHERE spras EQ 'E'
AND afapl IN @s_bukrs.
IF p_darea IS INITIAL.
p_darea = ls_t093t-afaber.
ENDIF. " P_DAREA
CLEAR : ls_t093t.
* Set the List box for Depreciation Areas Based on Chart of depreciaton( Comp.Code)
for asset valuation
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_DAREA' " name
values = lt_paymode_val " list
EXCEPTIONS
id_illegal_name = 0
OTHERS = 0.
*--------------------------------------------------------------------*
* Set the Fiscal Year
*--------------------------------------------------------------------*
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = sy-datum
* I_BUKRS = ' '
* I_RLDNR = ' '
* I_PERIV = ' '
* I_GJAHR = 0000
* I_MONAT = 00
* X_XMO16 = ' '
IMPORTING
e_gjahr = s_gjahr-low
* E_MONAT =
* E_POPER =
EXCEPTIONS
fiscal_year = 1
period = 2
period_version = 3
posting_period = 4
special_period = 5
version = 6
posting_date = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
*--------------------------------------------------------------------*
* Validate Selection Screen Entries
*--------------------------------------------------------------------*
METHOD m_validate_selscreen.
*--------------------------------------------------------------------*
* Fetch Data
*--------------------------------------------------------------------*
METHOD m_fetch_data.
CASE
WHEN acdoca~belnr NE @space THEN 'In Use'
WHEN acdoca~belnr EQ @space THEN 'Asset Created'
ELSE 'Asset Created'
END AS status
BYPASSING BUFFER
FROM anla
*--------------------------------------------------------------------*
* Tax Values - CGST/SGST/UGST/IGST
*--------------------------------------------------------------------*
DATA(lt_asset_tmp) = lt_asset.
SELECT bseg~bukrs ,
bseg~belnr ,
bseg~gjahr ,
bseg~bschl ,
bseg~koart ,
bseg~shkzg ,
bseg~dmbtr ,
bseg~hkont ,
bseg~lifnr ,
bseg~h_budat,
bseg~h_bldat,
bset~buzei ,
bset~mwskz ,
bset~txgrp ,
bset~hwbas ,
bset~hwste ,
bset~ktosl ,
bset~knumh ,
bset~kschl ,
bset~kbetr
FROM bseg
INNER JOIN bset
ON bseg~bukrs EQ bset~bukrs
AND bseg~belnr EQ bset~belnr
AND bseg~gjahr EQ bset~gjahr
INTO TABLE @DATA(lt_bset)
FOR ALL ENTRIES IN @lt_asset_tmp
WHERE bseg~bukrs EQ @lt_asset_tmp-bukrs_fi
AND bseg~belnr EQ @lt_asset_tmp-belnr_fi
AND bseg~gjahr EQ @lt_asset_tmp-gjahr_fi
AND bseg~koart EQ 'K'.
*--------------------------------------------------------------------*
* Process the Final Internal Table
*--------------------------------------------------------------------*
gt_final = VALUE #( BASE gt_final
FOR ls_asset IN lt_asset
( bukrs = grf_main->m_pop_data( bukrs =
ls_asset-bukrs
belnr =
ls_asset-belnr_fi
awref =
ls_asset-awref
blart =
ls_asset-blart
ebeln =
ls_asset-ebeln
ebelp =
ls_asset-ebelp
ekgrp =
ls_asset-ekgrp
matkl =
ls_asset-matkl
wgbez =
ls_asset-wgbez
)
"ls_asset-bukrs
anlkl = ls_asset-anlkl
asset_recon_gl = ls_asset-asset_recon_gl
gl_desc = ls_asset-gl_desc
kostl = ls_asset-kostl
kostl_desc = ls_asset-kostl_desc
werks = ls_asset-werks
werks_desc = ls_asset-werks_desc
stort = ls_asset-stort
anln1 = ls_asset-anln1
anln2 = ls_asset-anln2
txt50 = ls_asset-txt50
anlhtxt = ls_asset-anlhtxt
sernr = ls_asset-sernr
aktiv = ls_asset-aktiv
zugdt = ls_asset-zugdt
zujhr = ls_asset-zujhr
zuper = ls_asset-zuper
menge = ls_asset-menge
meins = ls_asset-meins
lifnr = ls_asset-lifnr
name1 = ls_asset-name1
herst = ls_asset-herst
afasl = ls_asset-afasl
afatxt = ls_asset-afatxt
dep_per = ls_asset-dep_per
cutoff_per = ls_asset-cutoff_per
ndjar = ls_asset-ndjar
ndper = ls_asset-ndper
afabg = ls_asset-afabg
answl = ls_asset-answl
tot_acq = space
net_book_val = space
totdep_peryr = space
dep_cal_inyr = space
asset_val = space
ekgrp = gs_data-ekgrp "ls_asset-
ekgrp
ebeln = gs_data-ebeln "ls_asset-
ebeln
ebelp = gs_data-ebelp "ls_asset-
ebelp
matkl = gs_data-matkl "ls_asset-
matkl
wgbez = gs_data-wgbez "ls_asset-
wgbez
ser_grpcode = space
ser_grpdesc = space
belnr_miro = gs_data-awref " ls_asset-
awref
belnr_fi = ls_asset-belnr_fi
gjahr = ls_asset-gjahr_fi
txgrp = ls_asset-txgrp
mwskz = ls_asset-mwskz
budat = ls_asset-budat
bldat = ls_asset-bldat
dmbtr_fi = ls_asset-dmbtr_fi
* cgst_per = space
* cgst_val = space
* sgst_per = space
* sgst_val = space
* ugst_per = space
* ugst_val = space
* igst_per = space
* igst_val = space
status = ls_asset-status
"'Created' ##NO_TEXT
soldqty = space
solddate = space
soldvalue = space
trans_asset = space
trans_ccent = space
)
).
REFRESH : lt_final.
* CGST
READ TABLE lt_bset INTO DATA(ls_bset) WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JICG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-cgst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-cgst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* SGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JISG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-sgst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-sgst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* UGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JIUG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-ugst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-ugst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* IGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JIIG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-igst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-igst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
ELSE.
* CGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JICG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-cgst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-cgst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* SGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JISG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-sgst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-sgst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* UGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JIUG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-ugst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-ugst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
* IGST
READ TABLE lt_bset INTO ls_bset WITH KEY bukrs = <fs_final>-bukrs
belnr = <fs_final>-belnr_fi
gjahr = <fs_final>-gjahr
txgrp = <fs_final>-txgrp
kschl = 'JIIG'
BINARY SEARCH.
IF ls_bset IS NOT INITIAL.
<fs_final>-igst_per = ls_bset-kbetr / 10. " Tax Rate Percentage
<fs_final>-igst_val = ls_bset-hwste. " Tax Rate Value
CLEAR : ls_bset.
ENDIF. " LS_BSET
*--------------------------------------------------------------------*
* Display Data
*--------------------------------------------------------------------*
METHOD m_display_data.
* Call Screen
CALL SCREEN 0100.
*--------------------------------------------------------------------*
* Populate Data
*--------------------------------------------------------------------*
METHOD m_pop_data.
CLEAR : gs_data.
IF blart EQ 'RE' AND belnr NE awref. " Invoice via MIRO Based Document >>
MIRO Invoice No. + Accouting Doc generated for PO
gs_data-belnr = belnr.
gs_data-awref = awref.
gs_data-blart = blart.
gs_data-ebeln = ebeln.
gs_data-ebelp = ebelp.
gs_data-ekgrp = ekgrp.
gs_data-matkl = matkl.
gs_data-wgbez = wgbez.
ELSE. " Invoice via F-90 >> Accounting Doc.
only generated
ENDIF.
* gs_data
bukrs1 = bukrs.