Professional Documents
Culture Documents
** +----------------------------------------------------------------+ **
** + Confidential and Proprietary + **
** + Copyright 2017.KSCL + **
** + All Rights Reserved + **
** +----------------------------------------------------------------+ **
** + Object Name.........: ZFI_TRAVELLING_EXPENSES + **
** + Object Type.........: Report + **
** + Database Status.....: NA + **
** + Transaction Code....: + **
** + Developer...........: T M S Gupta + **
** + Creation Date.......: 09 NOV 2017 + **
** + Reference...........: + **
** + Transport Numbers...: KHDK900471 + **
** +----------------------------------------------------------------+ **
** + Contract Accounting : Travelling Expenses + **
** +----------------------------------------------------------------+ **
*/ +------------------------------------------------------------------+\
*/ + Description : Travelling Expenses +\
*/ +------------------------------------------------------------------+\
TABLES: acdoca.
*----------------------------------------------------------------*
* Selection Screen
*----------------------------------------------------------------*
*&---------------------------------------------------------------------*
* Types Declaration
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* At Selection Screen
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
SELECT SINGLE *
FROM zfi_travel_ex
INTO @DATA(lwa_ex).
IF lwa_ex IS INITIAL.
MESSAGE 'Maintain the G/L in Travel Expense Table' TYPE 'E'.
ENDIF.
*&---------------------------------------------------------------------*
* Start Of Selection
*&---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_and_fill.
PERFORM display.
*&---------------------------------------------------------------------*
*& Form GET_AND_FILL
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM get_and_fill .
SELECT *
FROM zfi_travel_ex
INTO TABLE @DATA(lit_gl).
IF lit_gl IS NOT INITIAL.
LOOP AT lit_gl INTO DATA(lwa_gl).
s_hkont-sign = 'I'.
s_hkont-option = 'EQ'.
s_hkont-low = lwa_gl-hkont.
APPEND s_hkont.
ENDLOOP.
ENDIF.
SELECT rldnr,
rbukrs AS bukrs,
gjahr,
belnr,
docln AS buzei,
racct,
wsl,
budat,
lifnr,
koart,
zzwerks
FROM acdoca
INTO TABLE @DATA(lit_bseg)
WHERE rldnr = '0L' AND
rbukrs IN @s_bukrs AND
gjahr IN @s_gjahr AND
belnr IN @s_belnr AND
docln IN @s_docln AND
budat IN @s_budat.
SELECT lifnr,
name1,
ort01,
regio,
sortl,
mcod1,
ktokk
FROM lfa1
INTO TABLE @DATA(lit_lfa1)
WHERE lifnr IN @s_lifnr AND
ktokk = 'ZEMP'.
CLEAR lv_name.
REFRESH it_line.
lv_name = lwa_lfa1-lifnr.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0001'
language = sy-langu
name = lv_name
object = 'BUT000'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
* OLD_LINE_COUNTER =
TABLES
lines = it_line
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
wa_final-ort01 = lwa_bseg-zzwerks.
wa_final-gjahr = lwa_bseg-gjahr.
wa_final-hq = 'Secundrabad'.
CLEAR lwa_gl.
READ TABLE lit_gl INTO lwa_gl WITH KEY hkont = lwa_bseg-racct.
IF lwa_gl IS NOT INITIAL AND p_r1 IS NOT INITIAL.
wa_final-hkont = lwa_bseg-racct.
wa_final-txt50 = lwa_gl-txt50.
ENDIF.
CASE lwa_bseg-budat+4(2).
WHEN '01'.
wa_final-jan = lwa_bseg-wsl.
WHEN '02'.
wa_final-feb = lwa_bseg-wsl.
WHEN '03'.
wa_final-mar = lwa_bseg-wsl.
WHEN '04'.
wa_final-apr = lwa_bseg-wsl.
WHEN '05'.
wa_final-may = lwa_bseg-wsl.
WHEN '06'.
wa_final-jun = lwa_bseg-wsl.
WHEN '07'.
wa_final-jul = lwa_bseg-wsl.
WHEN '08'.
wa_final-aug = lwa_bseg-wsl.
WHEN '09'.
wa_final-sep = lwa_bseg-wsl.
WHEN '10'.
wa_final-oct = lwa_bseg-wsl.
WHEN '11'.
wa_final-nov = lwa_bseg-wsl.
WHEN '12'.
wa_final-dec = lwa_bseg-wsl.
ENDCASE.
wa_final-total = lwa_bseg-wsl.
COLLECT wa_final INTO it_final.
CLEAR wa_final.
ENDLOOP.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display .
DEFINE fieldcat.
wa_fcat-fieldname = &1.
wa_fcat-col_pos = &2.
wa_fcat-seltext_m = &3.
wa_fcat-do_sum = &4.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
END-OF-DEFINITION.
CLEAR wa_sort.
wa_sort-fieldname = 'EMP_ID'.
wa_sort-spos = 1. " sort first on column field1.
wa_sort-up = 'X'. " ascending order.
wa_sort-subtot = 'X'. " display sub-total at change of emp_id
APPEND wa_sort TO it_sort.
wa_layout-colwidth_optimize = 'X'.
ENDFORM.