Question : I want mutiple delivery no and multiple grn and there quantities
Please help with have stuck from 3 days.
TABLES: ekko, ekpo, ekbe.
TYPE-POOLS: slis. "ALV Declarations
DATA: BEGIN OF it_ekko OCCURS 0,
bedat LIKE ekko-bedat, "porder date
reswk LIKE ekko-reswk, "supll plant
ebeln LIKE ekko-ebeln, "stopo
END OF it_ekko.
DATA: BEGIN OF it_ekpo OCCURS 0,
werks LIKE ekpo-werks, "recv plant
ebeln LIKE ekpo-ebeln, "stopo
ebelp LIKE ekpo-ebelp, "line item
loekz TYPE eloek , "Added by subeesh
matnr TYPE ekpo-matnr, "material
txz01 LIKE ekpo-txz01, "mat desc
menge LIKE ekpo-menge, "po qty
meins LIKE ekpo-meins, "qty unit
netpr TYPE ekpo-netpr, "po value "TN 13 CAZ:Sirisha on 06.08.2014
END OF it_ekpo.
" Start Caz :Subeesh "TN 38
TYPES : BEGIN OF ty_qty,
objectclas TYPE cdobjectcl,
objectid TYPE cdobjectv,
changenr TYPE cdchangenr,
tabname TYPE tabname,
tabkey TYPE cdtabkey,
chngind TYPE cdchngind,
value_old TYPE cdfldvalo,
END OF ty_qty.
TYPES: BEGIN OF ty_ebeln,
objectid TYPE cdobjectv,
END OF ty_ebeln.
TYPES :BEGIN OF ty_mc,
matnr TYPE mara-matnr,
matkl TYPE mara-matkl,
END OF ty_mc.
TYPES :BEGIN OF ty_recv,
werks TYPE ekpo-werks,
name1 TYPE t001w-name1,
END OF ty_recv.
TYPES :BEGIN OF ty_supply,
werks TYPE ekpo-werks,
name2 TYPE t001w-name2,
END OF ty_supply.
DATA :lt_qty TYPE STANDARD TABLE OF ty_qty,
wa_qty TYPE ty_qty,
lt_ebeln TYPE STANDARD TABLE OF ty_ebeln,
wa_ebeln TYPE ty_ebeln,
lt_mc TYPE STANDARD TABLE OF ty_mc,
wa_mc TYPE ty_mc,
lt_recv TYPE STANDARD TABLE OF ty_recv,
wa_recv TYPE ty_recv,
lt_supply TYPE STANDARD TABLE OF ty_supply,
wa_supply TYPE ty_supply,
lv_tabkey TYPE cdtabkey.
"End Caz: Subeesh "TN38
DATA: BEGIN OF it_ekbe OCCURS 0,
ebeln LIKE ekbe-ebeln, "stopo
ebelp LIKE ekbe-ebelp, "line item
matnr LIKE ekbe-matnr, "material
belnr LIKE ekbe-belnr, "del no
g_belnr LIKE ekbe-belnr, "grn no
menge LIKE ekbe-menge, "quantity
bwart LIKE ekbe-bwart, "mov type
dmbtr TYPE ekbe-dmbtr, "Amount in Local Currency "TN 13 CAZ:Sirisha on 06.08.2014
shkzg TYPE ekbe-shkzg, "Debit/Credit Indicator "TN 13 CAZ:Sirisha on 06.08.2014
werks TYPE ekbe-werks,
END OF it_ekbe.
*****Start of insertion chiru on 10.06.2013 T.No-13******************
TYPES:BEGIN OF ty_likp,
vbeln TYPE likp-vbeln,
vstel TYPE likp-vstel,
kunnr TYPE likp-kunnr,
wadat_ist TYPE likp-wadat_ist,
werks TYPE likp-werks,
END OF ty_likp.
DATA:it_likp TYPE STANDARD TABLE OF ty_likp,
wa_likp TYPE ty_likp.
TYPES:BEGIN OF ty_lips,
vbeln TYPE likp-vbeln,
vgbel TYPE lips-vgbel,
vgpos TYPE lips-vgpos, " TN 29 caz madhushree
matnr TYPE lips-matnr, " TN 29 caz madhushree
werks TYPE lips-werks,
END OF ty_lips,
*-BOC by Sirisha REQ by Girish-*
BEGIN OF ty_zta_ccd_po,
ebeln TYPE zta_ccd_po-po_number,
END OF ty_zta_ccd_po.
DATA : it_zta_ccd_po TYPE STANDARD TABLE OF ty_zta_ccd_po,
wa_zta_ccd_po TYPE ty_zta_ccd_po.
*-EOC by Sirisha REQ by Girish-*
DATA:it_lips TYPE STANDARD TABLE OF ty_lips,
wa_lips TYPE ty_lips.
*****End of insertion chiru on 10.06.2013 T.No-13******************
DATA: BEGIN OF it_final OCCURS 0,
bedat LIKE ekko-bedat, "po date
reswk LIKE ekko-reswk, "supll plant
name2 TYPE t001w-name1, "supplying plant name "TN 38 caz subeesh
werks LIKE ekpo-werks, "recv plant
name1 TYPE t001w-name1, "recv plant name "TN 38 caz subeesh
ebeln LIKE ekpo-ebeln, "stopo
ebelp LIKE ekpo-ebelp, "line item
loekz TYPE eloek, " "TN 38 caz Subeesh
matnr TYPE ekpo-matnr, "material " TN 29 caz madhushree
matkl TYPE mara-matkl , "material description "TN 38 Caz subeesh
txz01 LIKE ekpo-txz01, "mat desc
menge LIKE ekpo-menge, "po qty
menge2 LIKE ekpo-menge, "PO OLD QTY "TN-38 CAZ :SUBEESH
meins LIKE ekpo-meins, "po qty unit
netpr TYPE ekpo-netpr, "po value "TN 13 CAZ:Sirisha on 06.08.2014
d_belnr LIKE ekbe-belnr, "del doc no
g_belnr LIKE ekbe-belnr, "gr doc no
d_menge LIKE ekbe-menge, "del qty
d_meins LIKE ekpo-meins, "del qty unit
g_menge LIKE ekbe-menge, "grn qty
g_meins LIKE ekpo-meins, "grn qty unit
g_dmbtr TYPE ekbe-dmbtr, "dispatch value "TN 13 CAZ:Sirisha on 06.08.2014
g_map TYPE ekbe-dmbtr, "MAP "TN 13 CAZ:Sirisha on 06.08.2014
p_menge LIKE ekbe-menge, "pending quantity
p_meins LIKE ekpo-meins, "pending qty unit
P_dmbtr TYPE ekbe-dmbtr, "Pending Value "TN 13 CAZ:Sirisha on 06.08.2014
t_menge LIKE ekbe-menge, "transit qty
t_meins LIKE ekpo-meins, "transit qty unit
pgidate LIKE likp-wadat_ist, "PGI Date
remarks TYPE char30, "Remarks "Caz:Sirisha 13.05.2014
icon TYPE icon-id, " Tn:33:CAZ:Srikanth:18.12.2013
color TYPE slis_t_specialcol_alv, " Tn:33:CAZ:Srikanth:18.12.2013
cellcolor TYPE lvc_t_scol, "TN 38 caz Subeesh
END OF it_final.
*-BOC by Sirisha, TN 13 Req by Girish on 13/08/2014-*
TYPES:BEGIN OF ty_mbew,
matnr TYPE mbew-matnr,
bwkey TYPE mbew-bwkey,
verpr TYPE mbew-verpr,
END OF ty_mbew.
DATA : i_mbew TYPE STANDARD TABLE OF ty_mbew,
wa_mbew TYPE ty_mbew.
*-EOC by Sirisha, TN 13 Req by Girish on 13/08/2014-*
SELECTION-SCREEN BEGIN OF BLOCK b1.
SELECT-OPTIONS : s_reswk FOR ekko-reswk,
s_matnr FOR ekpo-matnr,
s_werks FOR ekpo-werks,
s_bedat FOR ekko-bedat.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002 .
PARAMETERS: p_vari LIKE disvariant-variant. " ALV Variant
SELECTION-SCREEN END OF BLOCK b2 .
DATA:st_layout TYPE slis_layout_alv,
it_fieldcat TYPE slis_t_fieldcat_alv,
it_listheader TYPE slis_t_listheader,
it_event TYPE slis_t_event,
keyinfo TYPE slis_keyinfo_alv.
DATA:ls_selfield TYPE slis_selfield.
DATA: v_repid LIKE sy-repid.
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid,
prg LIKE sy-repid,
g_save(1) TYPE c,
g_variant LIKE disvariant,
g_exit(1) TYPE c,
g_diff TYPE ekbe-dmbtr, "TN 13 CAZ:Sirisha on 06.08.2014
gx_variant LIKE disvariant,
wa_color TYPE slis_specialcol_alv. " Tn:33:CAZ:Srikanth:18.12.2013
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
AT SELECTION-SCREEN.
PERFORM pai_of_selection_screen.
INITIALIZATION.
v_repid = sy-repid .
START-OF-SELECTION.
PERFORM get_data.
PERFORM process_data.
PERFORM alv_display_details.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_data .
*****Start of insertion chiru on 10.06.2013 T.No-13******************
SELECT vbeln
vstel
kunnr
wadat_ist
werks
FROM likp INTO TABLE it_likp
WHERE vstel IN s_reswk
AND werks IN s_werks
AND wadat_ist IN s_bedat.
IF it_likp[] IS NOT INITIAL.
SELECT vbeln
vgbel
vgpos " TN 29 caz madhushree
matnr " TN 29 caz madhushree
werks
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE vbeln = it_likp-vbeln
AND matnr IN s_matnr. " TN 29 caz madhushree
ENDIF.
IF it_lips[] IS NOT INITIAL.
SELECT ebeln ebelp matnr belnr menge bwart dmbtr shkzg werks FROM ekbe "Added dmbtr,shkzg TN 13 CAZ:Sirisha on 06.08.2014
INTO CORRESPONDING FIELDS OF TABLE it_ekbe
FOR ALL ENTRIES IN it_lips
WHERE ebeln = it_lips-vgbel.
ENDIF.
IF it_ekbe[] IS NOT INITIAL.
SELECT bedat reswk ebeln FROM ekko
INTO CORRESPONDING FIELDS OF TABLE it_ekko
FOR ALL ENTRIES IN it_ekbe
WHERE reswk IN s_reswk
AND ebeln = it_ekbe-ebeln.
" start CAZ SUBEESH TN-38
IF it_ekko[] IS NOT INITIAL.
SELECT werks name1
FROM t001w
INTO TABLE lt_supply
FOR ALL ENTRIES IN it_ekko
WHERE werks = it_ekko-reswk.
IF sy-subrc = 0.
SORT lt_supply BY werks.
ENDIF.
*-BOC by sirisha REQ by Girish-*
SELECT po_number FROM zta_ccd_po
INTO TABLE it_zta_ccd_po
FOR ALL ENTRIES IN it_ekko
WHERE po_number = it_ekko-ebeln.
IF NOT it_zta_ccd_po IS INITIAL.
SORT it_zta_ccd_po BY ebeln.
DELETE ADJACENT DUPLICATES FROM it_zta_ccd_po.
ENDIF.
*-EOC by sirisha REQ by Girish-*
ENDIF.
" End CAZ SUBEESH TN-38
SELECT werks ebeln ebelp loekz matnr txz01 menge meins netpr loekz FROM ekpo "Added NETPR TN 13 CAZ: Sirisha on 06.08.2014
INTO CORRESPONDING FIELDS OF TABLE it_ekpo
FOR ALL ENTRIES IN it_ekbe
WHERE ebeln = it_ekbe-ebeln
AND werks IN s_werks.
* AND LOEKZ NE 'L'. " TN 33 Caz Madhushree 3/12/2013
* AND MATNR = IT_EKBE-MATNR. " TN 29 caz madhushree
ENDIF.
"Start :Caz :Subeesh TN-38
IF it_ekpo[] IS NOT INITIAL.
SELECT werks
name1
FROM t001w
INTO TABLE lt_recv
FOR ALL ENTRIES IN it_ekpo
WHERE werks = it_ekpo-werks.
IF sy-subrc = 0.
SORT lt_recv BY werks.
ENDIF.
ENDIF.
IF it_ekpo[] IS NOT INITIAL.
SELECT matnr
matkl
FROM mara
INTO TABLE lt_mc
FOR ALL ENTRIES IN it_ekpo
WHERE matnr = it_ekpo-matnr.
IF sy-subrc = 0.
SORT lt_mc BY matnr.
ENDIF.
SELECT matnr bwkey verpr
FROM mbew
INTO TABLE i_mbew
FOR ALL ENTRIES IN it_ekpo
WHERE matnr = it_ekpo-matnr
AND bwkey IN s_reswk.
ENDIF.
LOOP AT it_ekpo[] INTO it_ekpo.
wa_ebeln-objectid = it_ekpo-ebeln.
APPEND wa_ebeln TO lt_ebeln.
ENDLOOP.
IF lt_ebeln IS NOT INITIAL.
SELECT objectclas
objectid
changenr
tabname
tabkey
chngind
value_old
FROM cdpos
INTO TABLE lt_qty
FOR ALL ENTRIES IN lt_ebeln
WHERE objectid = lt_ebeln-objectid
AND tabname = 'EKPO'
AND fname = 'MENGE'.
IF sy-subrc = 0.
SORT lt_qty BY changenr DESCENDING .
DELETE ADJACENT DUPLICATES FROM lt_qty COMPARING objectid tabname tabkey.
ENDIF.
ENDIF.
"End :Caz :Subeesh TN-38
*****End of insertion chiru on 10.06.2013 T.No-13******************
*****start of comment chiru on 10.06.2013 T.No-13******************
* SELECT bedat reswk ebeln FROM ekko
* INTO CORRESPONDING FIELDS OF TABLE it_ekko
* WHERE reswk IN s_reswk
* AND bedat IN s_bedat.
** AND bsart = 'ZCPX'.
*
* SELECT werks ebeln ebelp matnr txz01 menge meins FROM ekpo
* INTO CORRESPONDING FIELDS OF TABLE it_ekpo
* FOR ALL ENTRIES IN it_ekko
* WHERE ebeln = it_ekko-ebeln
* AND werks IN s_werks.
*
* SELECT ebeln ebelp matnr belnr menge bwart FROM ekbe
* INTO CORRESPONDING FIELDS OF TABLE it_ekbe
* FOR ALL ENTRIES IN it_ekpo
* WHERE ebeln = it_ekpo-ebeln.
** AND bwart IN ('101', '').
*****End of comment chiru on 10.06.2013 T.No-13******************
ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Form process_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM process_data .
LOOP AT it_ekko.
CLEAR wa_supply.
READ TABLE lt_supply INTO wa_supply WITH KEY werks = it_ekko-reswk BINARY SEARCH. "Caz:Subeesh :TN-38
LOOP AT it_ekpo WHERE ebeln = it_ekko-ebeln.
CLEAR wa_recv. "Caz:Subeesh :TN-38
READ TABLE lt_recv INTO wa_recv WITH KEY werks = it_ekpo-werks BINARY SEARCH. "Caz: Subeesh :TN-38
CLEAR wa_mc. "Caz:Subeesh :TN-38
READ TABLE lt_mc INTO wa_mc WITH KEY matnr = it_ekpo-matnr BINARY SEARCH. "Caz :Subeesh :TN-38
CLEAR lv_tabkey. "Caz:Subeesh :TN-38
CONCATENATE sy-mandt it_ekpo-ebeln it_ekpo-ebelp INTO lv_tabkey. "Caz:Subeesh :TN-38
CLEAR wa_qty. "Caz:Subeesh :TN-38
READ TABLE lt_qty INTO wa_qty WITH KEY objectid = it_ekpo-ebeln tabkey = lv_tabkey ."Caz:Subeesh :TN-38
it_final-bedat = it_ekko-bedat.
it_final-reswk = it_ekko-reswk.
it_final-ebeln = it_ekko-ebeln.
it_final-werks = it_ekpo-werks.
it_final-name1 = wa_recv-name1. "Caz:Subeesh :TN-38
it_final-name2 = wa_supply-name2. "Caz:Subeesh :TN-38
it_final-ebelp = it_ekpo-ebelp.
it_final-matnr = it_ekpo-matnr.
it_final-matkl = wa_mc-matkl.
it_final-txz01 = it_ekpo-txz01.
it_final-menge = it_ekpo-menge.
it_final-menge2 = wa_qty-value_old. "Caz:Subeesh :TN-38
it_final-meins = it_ekpo-meins.
it_final-loekz = it_ekpo-loekz. " Tn:33:CAZ:Srikanth:18.12.2013
*-BOC by Sirisha, TN 13 Req by Girish on 13/08/2014-*
CLEAR : wa_mbew.
READ TABLE i_mbew INTO wa_mbew WITH KEY matnr = it_ekpo-matnr "TN 13 CAZ:Sirisha on 06.08.2014
bwkey = it_ekko-reswk.
IF sy-subrc = 0.
it_final-g_map = wa_mbew-verpr.
it_final-netpr = it_ekpo-menge * wa_mbew-verpr.
ENDIF.
*-EOC by Sirisha, TN 13 Req by Girish on 13/08/2014-*
Delivery No:
LOOP AT it_ekbe WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.
* AND MATNR = IT_EKPO-MATNR
* AND werks = it_ekpo-werks.
* if sy-subrc = 0.
IF it_ekbe-bwart = ''.
it_final-d_belnr = it_ekbe-belnr.
it_final-d_menge = it_ekbe-menge.
it_final-d_meins = it_ekpo-meins.
ENDif.
ENDLOOP.
GRN details:
loop at it_lips INTO wa_lips WHERE vgbel = it_ekpo-ebeln
AND vgpos = it_ekpo-ebelp.
* AND matnr = it_ekbe-matnr
* AND werks = it_ekbe-werks.
IF it_ekbe-bwart = '101' .
it_final-g_belnr = it_ekbe-belnr.
it_final-g_menge = it_ekbe-menge.
it_final-g_meins = it_ekpo-meins.
ENDIF.
ENDLOOP.
IF sy-subrc = 0.
READ TABLE it_likp INTO wa_likp WITH KEY vbeln = wa_lips-vbeln.
IF sy-subrc = 0.
it_final-pgidate = wa_likp-wadat_ist.
ENDIF.
ENDIF.
* IF it_ekbe-bwart = '101'.
* it_final-g_belnr = it_ekbe-belnr.
***Start of insertion chiru on 26.06.2013 ********************************
* it_final-g_menge = it_ekbe-menge.
* it_final-g_menge = it_final-g_menge + it_ekbe-menge.
***End of insertion chiru on 26.06.2013 ********************************
* it_final-g_meins = it_ekpo-meins.
* ELSE.
***Start of insertion chiru on 02.07.2013 ********************************
* IF it_ekbe-bwart = ''.
* it_ekbe-bwart = ''.
***End of insertion chiru on 02.07.2013 ********************************
* it_final-d_belnr = it_ekbe-belnr.
***Start of insertion chiru on 26.06.2013 ********************************
* it_final-d_menge = it_ekbe-menge.
* IF it_ekbe-matnr is NOT INITIAL."comment by chiru on 01.07.2013
* it_final-d_menge = it_final-d_menge + it_ekbe-menge.
* endif.
***Start of insertion chiru on 02.07.2013 ********************************
* ENDIF.
***End of insertion chiru on 02.07.2013 ********************************
***end of insertion chiru on 26.06.2013 ********************************
* it_final-d_meins = it_ekpo-meins.
* ENDIF.
* ENDLOOP.
*-BOC TN 13,CAZ:Sirisha on 06.08.2014 req by Girish-*
IF it_ekbe-shkzg = 'S'.
it_final-g_dmbtr = it_final-g_dmbtr + it_ekbe-dmbtr.
ELSEif it_ekbe-shkzg = 'H'.
it_final-g_dmbtr = it_final-g_dmbtr - it_ekbe-dmbtr.
ENDIF.
* IF NOT it_final-g_menge IS INITIAL.
* it_final-g_map = it_final-g_dmbtr / it_final-g_menge.
* ENDIF.
*-EOC TN 13,CAZ:Sirisha on 06.08.2014 req by Girish-*
it_final-p_menge = it_final-menge - it_final-d_menge.
it_final-p_meins = it_ekpo-meins.
IF it_final-g_belnr IS NOT INITIAL .
it_final-t_menge = it_final-d_menge - it_final-g_menge.
it_final-t_meins = it_ekpo-meins.
ELSE.
it_final-t_menge = it_final-d_menge.
it_final-t_meins = it_ekpo-meins.
ENDIF.
*-BOC TN 13,CAZ:Sirisha on 06.08.2014 req by Girish-*
it_final-p_dmbtr = it_final-p_menge * it_final-g_map.
*-EOC TN 13,CAZ:Sirisha on 06.08.2014 req by Girish-*
IF it_final-loekz = 'L'. " start of Tn:33:CAZ:Srikanth:18.12.2013
it_final-icon = '@0A@'.
wa_color-color-col = '5'.
wa_color-color-int = '0'.
wa_color-color-inv = '0'.
wa_color-nokeycol = 'X'.
APPEND wa_color TO it_final-color.
ENDIF. " End of Tn:33:CAZ:Srikanth:18.12.2013
*-BOC By Sirisha REQ by Girisha 13.05.2014-*
CLEAR : wa_zta_ccd_po.
READ TABLE it_zta_ccd_po INTO wa_zta_ccd_po WITH KEY ebeln = it_ekko-ebeln.
IF sy-subrc = 0.
it_final-remarks = 'Auto Indent'.
ELSE.
it_final-remarks = 'Manual'.
ENDIF.
*-EOC By Sirisha REQ by Girisha 13.05.2014-*
APPEND it_final.
CLEAR it_ekbe.
CLEAR it_final.
ENDLOOP.
ENDLOOP.
ENDFORM. " process_data
*&---------------------------------------------------------------------*
*& Form alv_display_details
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_display_details .
PERFORM fill_layout_structure.
PERFORM set_cell_colours. "Caz:Subeesh :TN-38
PERFORM fill_field_catalog_table_sales.
PERFORM get_event USING it_event.
PERFORM fill_listheader USING it_listheader.
PERFORM call_alv_function.
ENDFORM. " alv_display_details
*&---------------------------------------------------------------------*
*& Form fill_layout_structure
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_layout_structure .
st_layout-zebra = 'X'.
st_layout-colwidth_optimize = 'X'.
st_layout-coltab_fieldname = 'COLOR'. " Tn:33:CAZ:Srikanth:18.12.2013
st_layout-info_fieldname = 'LINE_COLOR'.
st_layout-coltab_fieldname = 'CELLCOLOR'. "Caz:Subeesh :TN-38
ENDFORM. " fill_layout_structure
*&---------------------------------------------------------------------*
*& Form fill_field_catalog_table_sales
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_field_catalog_table_sales .
PERFORM fill_field_catalog USING :
'BEDAT' 'PO_DATE' 'IT_FINAL' 'X' space,
'RESWK' 'SUPPL_PLANT' 'IT_FINAL' space space,
'NAME2' 'SUPPLYING PLANT NAME' 'IT_FINAL' space space, "Caz:Subeesh-TN-38
'WERKS' 'RECV_PLANT' 'IT_FINAL' space space,
'NAME1' 'RECIEVING PLANT NAME' 'IT_FINAL' space space, "Caz:Subeesh-TN-38
'EBELN' 'STOPO' 'IT_FINAL' space space,
'EBELP' 'LINEITEM' 'IT_FINAL' space space,
'MATNR' 'MATERIAL' 'IT_FINAL' space space,
'MATKL' 'MC ' 'IT_FINAL' space space, "Caz:Subeesh-TN-38
'TXZ01' 'DESCRIPTION' 'IT_FINAL' space space,
'MENGE' 'PO QTY' 'IT_FINAL' space space,
'MENGE2' 'PO OLD QTY' 'IT_FINAL' space space, "Caz:Subeesh :TN-38
'MEINS' 'QTY_UNIT' 'IT_FINAL' space space,
'NETPR' 'PO Value' 'IT_FINAL' space space, "TN 13 CAZ:Sirisha on 06.08.2014
'PGIDATE' 'PGI Date' 'IT_FINAL' space space,
'D_BELNR' 'DEL_NO' 'IT_FINAL' space space,
'D_MENGE' 'DEL_QTY' 'IT_FINAL' space space,
'D_MEINS' 'QTY_UNIT' 'IT_FINAL' space space,
'T_MENGE' 'IN-TRANSIT_QTY' 'IT_FINAL' space space,
'T_MEINS' 'QTY_UNIT' 'IT_FINAL' space space,
'G_BELNR' 'GRN_NO' 'IT_FINAL' space space,
'G_MENGE' 'GRN_QTY' 'IT_FINAL' space space,
'G_MEINS' 'QTY_UNIT' 'IT_FINAL' space space,
'G_DMBTR' 'Dispatch Value' 'IT_FINAL' space space, "TN 13 CAZ:Sirisha on 06.08.2014
'G_MAP' 'MAP' 'IF_FINAL' space space, "TN 13 CAZ:Sirisha on 06.08.2014
'P_MENGE' 'PENDING_QTY' 'IT_FINAL' space space,
'P_DMBTR' 'Pending Value' 'IT_FINAL' space space, "TN 13 CAZ:Sirisha on 06.08.2014
'P_MEINS' 'QTY_UNIT' 'IT_FINAL' space space,
'REMARKS' 'Remarks' 'IT_FINAL' space space. "Caz:Sirisha - 13.05.2014
ENDFORM. " fill_field_catalog_table_sales
*&---------------------------------------------------------------------*
*& Form get_event
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_event USING p_it_event.
DATA : wa_event TYPE slis_alv_event.
DATA: idx TYPE sy-tabix.
wa_event-name = 'TOP_OF_PAGE'.
wa_event-form = 'TOP_OF_PAGE'.
APPEND wa_event TO it_event.
ENDFORM. " get_event
*&---------------------------------------------------------------------*
*& Form fill_listheader
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_listheader USING p_it_listheader.
DATA : wa_listheader TYPE slis_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'H'.
wa_listheader-info = 'STO PO TRACKING REPORT'.
APPEND wa_listheader TO it_listheader.
ENDFORM. " fill_listheader
*&---------------------------------------------------------------------*
*& Form call_alv_function
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM call_alv_function .
IF NOT it_final[] IS INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
* I_CALLBACK_USER_COMMAND = 'CALL_TCODE'
is_layout = st_layout
it_fieldcat = it_fieldcat[]
i_save = 'A'
it_events = it_event[]
TABLES
t_outtab = it_final[].
ELSE.
MESSAGE i013(zmm). " TN 29 caz madhushree
ENDIF.
ENDFORM. " call_alv_function
*&---------------------------------------------------------------------*
*& Form fill_field_catalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_field_catalog USING f d t p s.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
STATICS v_pos TYPE i VALUE 1.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = v_pos.
wa_fieldcat-fieldname = f.
wa_fieldcat-seltext_m = d.
wa_fieldcat-tabname = t.
wa_fieldcat-fix_column = p.
wa_fieldcat-do_sum = s.
wa_fieldcat-no_sign = 'X'.
* WA_FIELDCAT-NO_ZERO = SPACE. " TN 29 caz madhushree
* wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO it_fieldcat.
v_pos = v_pos + 1.
ENDFORM. " fill_field_catalog
********************************************************************
*FORM FOR TOP_OF_PAGE(to assign form for the top-of-page event)
********************************************************************
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader.
ENDFORM. "top_of_page
*&---------------------------------------------------------------------*
*& Form f4_for_variant
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM f4_for_variant .
g_save = 'A'.
g_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = g_variant
i_save = g_save
IMPORTING
e_exit = g_exit
es_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF g_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.
ENDFORM. " f4_for_variant
*&---------------------------------------------------------------------*
*& Form pai_of_selection_screen
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM pai_of_selection_screen .
IF NOT p_vari IS INITIAL.
MOVE g_variant TO gx_variant.
MOVE p_vari TO gx_variant-variant.
gx_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant.
g_variant = gx_variant.
ENDIF.
ENDFORM. " pai_of_selection_screen
*&---------------------------------------------------------------------*
*& Form SET_CELL_COLOURS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM set_cell_colours .
"Caz:Subeesh :TN-38
DATA: wa_cellcolor TYPE lvc_s_scol.
DATA: ld_index TYPE sy-tabix.
LOOP AT it_final .
ld_index = sy-tabix.
IF it_final-loekz = 'L'.
wa_cellcolor-fname = 'BEDAT'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'RESWK'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'NAME2'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'WERKS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'NAME1'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'EBELN'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'EBELP'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'MATNR'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'MATKL'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'TXZ01'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'MENGE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'MENGE2'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'MEINS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'D_BELNR'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'G_BELNR'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'D_MENGE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'D_MEINS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'G_MENGE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'G_MEINS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'P_MENGE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'P_MEINS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'T_MENGE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'T_MEINS'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'PGIDATE'.
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
wa_cellcolor-fname = 'REMARKS'. "Caz:Sirisha - 13.05.2014
wa_cellcolor-color-col = '1'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO it_final-cellcolor.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
ELSE.
CLEAR lv_tabkey.
CONCATENATE sy-mandt it_final-ebeln it_final-ebelp INTO lv_tabkey.
CLEAR wa_qty.
READ TABLE lt_qty INTO wa_qty WITH KEY objectid = it_final-ebeln tabkey = lv_tabkey .
IF wa_qty IS NOT INITIAL.
wa_cellcolor-fname = 'MENGE'.
wa_cellcolor-color-col = '3'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '0'.
IF it_final-cellcolor IS INITIAL.
APPEND wa_cellcolor TO it_final-cellcolor.
ENDIF.
MODIFY it_final INDEX ld_index TRANSPORTING cellcolor.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "SET_CELL_COLOURS