You are on page 1of 12

*&---------------------------------------------------------------------*

*& Report ZFI_HAMALI_REPORT


*&---------------------------------------------------------------------*
*& Project : Kaveri Seeds Ltd- K I T S *
*& Module : FI *
*& Object Name : ZFI_HAMALI_REPORT *
*& Created Date : 14.11.2017(DD.MM.YYYY) *
*& Functional Consultant : Narendra *
*& Technical Consultant : Subrahmanyam Gupta *
*& Development Request : *
*& Transaction Code : *
*& Description : Hamali Report *
*& Package : ZFI *
************************************************************************
* *
* Copyright (c) 2017 by SEAL Infotech (a CenturyLink Company) & KSCL *
* All rights reserved *
* *
************************************************************************
* No part of this program may be used or reproduced in any form by any *
* means without written permission from SEAL Infotech *
* *
* This is confidential and proprietary information that may not be *
* published, disclosed, or made available without the prior written *
* consent of SEAL Infotech. *
* *
************************************************************************
REPORT zfi_hamali_report.

"*************************************************
"** Selection Screen
"*************************************************
TABLES : zfi_hamali.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : s_date FOR zfi_hamali-zzdate NO-EXTENSION OBLIGATORY,
s_werks FOR zfi_hamali-werks NO INTERVALS NO-EXTENSION.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE TEXT-002.
PARAMETERS : p_r1 RADIOBUTTON GROUP g1 DEFAULT 'X',
p_r2 RADIOBUTTON GROUP g1,
p_r3 RADIOBUTTON GROUP g1,
p_r4 RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN END OF BLOCK a.

"*************************************************
"** Declaration
"*************************************************
TYPES : BEGIN OF ty_final,
crop TYPE zfi_hamali-wgbez,
werks TYPE zfi_hamali-werks,
name1 TYPE t001w-name1,
var TYPE zfi_hamali-extwg,
kpdt TYPE zfi_hamali-zzamount,
kpro TYPE zfi_hamali-zzamount,
kmar TYPE zfi_hamali-zzamount,
ktot TYPE zfi_hamali-zzamount,
kupdt TYPE zfi_hamali-zzamount,
kupro TYPE zfi_hamali-zzamount,
kumar TYPE zfi_hamali-zzamount,
kutot TYPE zfi_hamali-zzamount,
lpdt TYPE zfi_hamali-zzamount,
lpro TYPE zfi_hamali-zzamount,
lmar TYPE zfi_hamali-zzamount,
ltot TYPE zfi_hamali-zzamount,
ppdt TYPE zfi_hamali-zzamount,
ppro TYPE zfi_hamali-zzamount,
pmar TYPE zfi_hamali-zzamount,
ptot TYPE zfi_hamali-zzamount,
spdt TYPE zfi_hamali-zzamount,
spro TYPE zfi_hamali-zzamount,
smar TYPE zfi_hamali-zzamount,
stot TYPE zfi_hamali-zzamount,
tpdt TYPE zfi_hamali-zzamount,
tpro TYPE zfi_hamali-zzamount,
tmar TYPE zfi_hamali-zzamount,
ttot TYPE zfi_hamali-zzamount,
updt TYPE zfi_hamali-zzamount,
upro TYPE zfi_hamali-zzamount,
umar TYPE zfi_hamali-zzamount,
utot TYPE zfi_hamali-zzamount,
topdt TYPE zfi_hamali-zzamount,
topro TYPE zfi_hamali-zzamount,
tomar TYPE zfi_hamali-zzamount,
totot TYPE zfi_hamali-zzamount,
tol1 TYPE zfi_hamali-zzamount,
tol2 TYPE zfi_hamali-zzamount,
tol3 TYPE zfi_hamali-zzamount,
tol4 TYPE zfi_hamali-zzamount,
tol5 TYPE zfi_hamali-zzamount,
tol6 TYPE zfi_hamali-zzamount,
END OF ty_final.

DATA : gt_final TYPE TABLE OF ty_final,


gt_fcat TYPE slis_t_fieldcat_alv,
gs_final TYPE ty_final,
gs_fcat TYPE slis_fieldcat_alv,
gs_layout TYPE slis_layout_alv.

"*************************************************
"** Start of Selection
"*************************************************

START-OF-SELECTION.

IF p_r1 IS NOT INITIAL or p_r2 IS NOT INITIAL.


PERFORM get_data.
PERFORM display.
ELSEIF p_r3 IS NOT INITIAL.
PERFORM get_data_r3.
PERFORM display_r3.
ELSE.
PERFORM get_data_r4.
PERFORM display_r4.
ENDIF.

*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM get_data .

SELECT zzslno,
werks,
zzdate,
wgbez,
zzdept,
ewbez AS zzvariety,
zzwtype,
zzamount
FROM zfi_hamali
INTO TABLE @DATA(lit_hamali)
WHERE werks IN @s_werks AND
zzdate IN @s_date.

LOOP AT lit_hamali INTO DATA(lwa_hamali).


"** Crop
gs_final-crop = lwa_hamali-wgbez.

"** Variety
IF p_r2 IS NOT INITIAL.
gs_final-var = lwa_hamali-zzvariety.
ENDIF.

"** Production
"** Processing
"** Marketing
"** Total
CASE lwa_hamali-zzwtype.
WHEN 1.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-kpdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-kpro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-kmar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-ktot = lwa_hamali-zzamount.
WHEN 2.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-kupdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-kupro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-kumar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-kutot = lwa_hamali-zzamount.
WHEN 3.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-lpdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-lpro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-lmar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-ltot = lwa_hamali-zzamount.
WHEN 4.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-ppdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-ppro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-pmar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-ptot = lwa_hamali-zzamount.
WHEN 5.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-spdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-spro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-smar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-stot = lwa_hamali-zzamount.
WHEN 6.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-tpdt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-tpro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-tmar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-ttot = lwa_hamali-zzamount.
WHEN 7.
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-updt = lwa_hamali-zzamount.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-upro = lwa_hamali-zzamount.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-umar = lwa_hamali-zzamount.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-utot = lwa_hamali-zzamount.
ENDCASE.

"** Grand Totals


gs_final-totot = gs_final-topdt + gs_final-topro + gs_final-tomar.

COLLECT gs_final INTO gt_final.


CLEAR gs_final.
ENDLOOP.

ENDFORM.

*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display .

DEFINE fieldcat.
gs_fcat-fieldname = &1.
gs_fcat-col_pos = &2.
gs_fcat-seltext_m = &3.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
END-OF-DEFINITION.

fieldcat 'CROP ' '1' 'Crop'.


IF p_r2 IS NOT INITIAL.
fieldcat 'VAR ' '2' 'Variety'.
ENDIF.
fieldcat 'KPDT ' '3' 'Kanta Production'.
fieldcat 'KPRO ' '4' 'Kanta Processing'.
fieldcat 'KMAR ' '5' 'Kanta Marketing'.
fieldcat 'KTOT ' '6' 'Kanta Total'.
fieldcat 'KUPDT' '7' 'Kanta-U Production'.
fieldcat 'KUPRO' '8' 'Kanta-U Processing'.
fieldcat 'KUMAR' '9' 'Kanta-U Marketing'.
fieldcat 'KUTOT' '10' 'Kanta-U Total'.
fieldcat 'LPDT' '11' 'Loading Production'.
fieldcat 'LPRO' '12' 'Loading Processing'.
fieldcat 'LMAR' '13' 'Loading Marketing'.
fieldcat 'LTOT' '14' 'Loading Total'.
fieldcat 'PPDT' '15' 'Pulty Production'.
fieldcat 'PPRO' '16' 'Pulty Processing'.
fieldcat 'PMAR' '17' 'Pulty Marketing'.
fieldcat 'PTOT' '18' 'Pulty Total'.
fieldcat 'SPDT' '19' 'Stiching Production'.
fieldcat 'SPRO' '20' 'Stiching Processing'.
fieldcat 'SMAR' '21' 'Stiching Marketing'.
fieldcat 'STOT' '22' 'Stiching Total'.
fieldcat 'TPDT' '23' 'Thuppy Production'.
fieldcat 'TPRO' '24' 'Thuppy Processing'.
fieldcat 'TMAR' '25' 'Thuppy Marketing'.
fieldcat 'TTOT' '26' 'Thuppy Total'.
fieldcat 'UPDT' '27' 'Un-loading Production'.
fieldcat 'UPRO' '28' 'Un-loading Processing'.
fieldcat 'UMAR' '29' 'Un-loading Marketing'.
fieldcat 'UTOT' '30' 'Un-loading Total'.
fieldcat 'TOPDT' '31' 'Total Production'.
fieldcat 'TOPRO' '32' 'Total Processing'.
fieldcat 'TOMAR' '33' 'Total Marketing'.
fieldcat 'TOTOT' '34' 'Grand Total'.

gs_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* it_sort =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'U'
* 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 = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA_R3
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM get_data_r3 .

SELECT zzslno,
werks,
zzdate,
zztolly,
wgbez,
zzdept,
ewbez AS zzvariety,
zzwtype,
zzamount
FROM zfi_hamali
INTO TABLE @DATA(lit_hamali)
WHERE werks IN @s_werks AND
zzdate IN @s_date.

LOOP AT lit_hamali INTO DATA(lwa_hamali).

"** Crop
gs_final-crop = lwa_hamali-wgbez.

"** Tolly1
"** Tolly2
"** Tolly3
"** Tolly4
"** Tolly5
"** Tolly6
"** Total
CASE lwa_hamali-zztolly.
WHEN '1'.
gs_final-tol1 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
WHEN '2'.
gs_final-tol2 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
WHEN '3'.
gs_final-tol3 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
WHEN '4'.
gs_final-tol4 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
WHEN '5'.
gs_final-tol5 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
WHEN '6'.
gs_final-tol6 = lwa_hamali-zzamount.
gs_final-totot = lwa_hamali-zzamount.
ENDCASE.

COLLECT gs_final INTO gt_final.


CLEAR gs_final.

ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_R3
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display_r3 .

DEFINE fieldcat.
gs_fcat-fieldname = &1.
gs_fcat-col_pos = &2.
gs_fcat-seltext_m = &3.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
END-OF-DEFINITION.

fieldcat 'CROP ' '1' 'Crop'.


fieldcat 'TOL1' '2' 'Tolly1'.
fieldcat 'TOL2' '3' 'Tolly2'.
fieldcat 'TOL3' '4' 'Tolly3'.
fieldcat 'TOL4' '5' 'Tolly4'.
fieldcat 'TOL5' '6' 'Tolly5'.
fieldcat 'TOL6' '7' 'Tolly6'.
fieldcat 'TOTOT' '8' 'Total'.

gs_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* it_sort =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'U'
* 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 = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA_R4
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM get_data_r4 .

SELECT zzslno,
werks,
zzdate,
zztolly,
wgbez,
zzdept,
ewbez AS zzvariety,
zzwtype,
zzamount
FROM zfi_hamali
INTO TABLE @DATA(lit_hamali)
WHERE werks IN @s_werks AND
zzdate IN @s_date.
IF lit_hamali IS NOT INITIAL.
data(lit_hama) = lit_hamali.
SORT lit_hama BY werks.
DELETE ADJACENT DUPLICATES FROM lit_hama COMPARING werks.
ENDIF.

IF lit_hama IS NOT INITIAL.


SELECT werks,
name1
FROM t001w
INTO TABLE @DATA(lit_t001w)
FOR ALL ENTRIES IN @lit_hama
WHERE werks = @lit_hama-werks.
ENDIF.

LOOP AT lit_hamali INTO DATA(lwa_hamali).

"** Plant
gs_final-werks = lwa_hamali-werks.

"** Plant Name


READ TABLE lit_t001w INTO DATA(lwa_t001w) WITH KEY werks = lwa_hamali-werks.
gs_final-name1 = lwa_t001w-name1.

"** Production
"** Processing
"** Marketing
CASE lwa_hamali-zzdept.
WHEN 1.
gs_final-topdt = lwa_hamali-zzamount.
WHEN 2.
gs_final-topro = lwa_hamali-zzamount.
WHEN 3.
gs_final-tomar = lwa_hamali-zzamount.
ENDCASE.
gs_final-totot = lwa_hamali-zzamount.

COLLECT gs_final INTO gt_final.


CLEAR gs_final.

ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_R4
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display_r4 .

DEFINE fieldcat.
gs_fcat-fieldname = &1.
gs_fcat-col_pos = &2.
gs_fcat-seltext_m = &3.
gs_fcat-do_sum = &4.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
END-OF-DEFINITION.

fieldcat 'WERKS ' '1' 'Plant' ''.


fieldcat 'NAME1 ' '2' 'Plant Name' ''.
fieldcat 'TOPDT' '3' 'Hamali Inward' 'X'.
fieldcat 'TOPRO' '4' 'Hamali Internal Transfer' 'X'.
fieldcat 'TOMAR' '5' 'Hamali Outward' 'X'.
fieldcat 'TOTOT' '6' 'Hamalli Total' 'X'.

gs_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* it_sort =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'U'
* 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 = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

ENDFORM.

You might also like