0% found this document useful (0 votes)
126 views47 pages

OOPS Knowledge

The document describes a report for analyzing warranty data from SAP. It includes: - Data declarations for structures to store warranty claim information from various SAP tables like PNWTYH, KNA1, EQUI, etc. - Types defined to extract and organize relevant fields from these tables into internal structures for reporting and analysis. - Variables declared for selecting and filtering warranty claims based on fields like plant, date, material number, claim number, etc. - Procedures for retrieving long text, displaying selections, and building the ALV grid to display the warranty analysis report.

Uploaded by

Lakshman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
126 views47 pages

OOPS Knowledge

The document describes a report for analyzing warranty data from SAP. It includes: - Data declarations for structures to store warranty claim information from various SAP tables like PNWTYH, KNA1, EQUI, etc. - Types defined to extract and organize relevant fields from these tables into internal structures for reporting and analysis. - Variables declared for selecting and filtering warranty claims based on fields like plant, date, material number, claim number, etc. - Procedures for retrieving long text, displaying selections, and building the ALV grid to display the warranty analysis report.

Uploaded by

Lakshman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 47

************************************************************************--ZQM01

* OBJECT ID :
* PROGRAM TITLE : QC105_MQ Analysis Report
* MODULE : QM(Quality Management)
* CREATED BY : DINESH KUMAR(HMSI)
*Functional Analyst : Ravi Arora(IBM)
* CREATION DATE & Time : 28.05.2013
*-----------------------------------------------------------------------
* DESCRIPTION : Display Warranty Data from(QM01)
*
************************************************************************
* Modification history:
* --------------------------------------------------------------------------------
* DATE : 04.09.2013 |User ID : 7213 |TS Ver | Transport Request | Description
* --------------------------------------------------------------------------------
REPORT zqm_warranty NO STANDARD PAGE HEADING.
TABLES: zmqanalysis.
*DATA: lt_dropdown TYPE lvc_t_drop,
* ls_dropdown TYPE lvc_s_drop.

DATA: lt_dral TYPE lvc_t_dral,


ls_dral TYPE lvc_s_dral.

DATA: stable TYPE lvc_s_stbl.


DATA: gstring TYPE c.
DATA: qm_container TYPE REF TO cl_gui_custom_container,"FOR CONTAINER
qm_grid TYPE REF TO cl_gui_alv_grid, "FOR ALV GRID
qm_layout TYPE lvc_s_layo, "FOR LAYOUT
it_fieldcat TYPE lvc_t_fcat, "FOR FIELDCAT
wa_fieldcat LIKE LINE OF it_fieldcat.
* go_handler type ref to lcl_event_receiver.

DATA:l_layout TYPE disvariant.


DATA : lt_exclude TYPE ui_functions.

DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE."08.07.2013

DATA: gv_mdtxt TYPE imrg-mdtxt.


DATA: id TYPE tdid, " for long text
lang TYPE spras VALUE 'E',
nam TYPE thead-tdname,
object TYPE thead-tdobject,
lines TYPE TABLE OF tline.
DATA: wa_line LIKE LINE OF lines.
*********************************Select Option Variables***************
DATA: plant TYPE pnwtyh-werks,
date TYPE pnwtyh-creadat,
matnr TYPE mara-matnr,
claim TYPE pnwtyh-clmno,
symptom_code TYPE char20,
part_damage TYPE char30.

*********************************Structure Declaration Strat***************


DATA: lv_mq TYPE pnwtyh-clmno.

TYPES: BEGIN OF ty_pnwty,


parnr TYPE pnwtyh-parnr,
creadat TYPE pnwtyh-creadat,
clmno TYPE pnwtyh-clmno,
relob_ext(18) TYPE c," pnwtyh-relob_ext,"frame no
zzmodel(11) TYPE c,"pnwtyh-zzmodel,
clmty TYPE pnwtyh-clmty,
werks TYPE pnwtyh-werks,
pnguid TYPE pnwtyh-pnguid,
pncnt TYPE pnwtyh-pncnt,
refno TYPE pnwtyh-refno,
* OBJNR TYPE pnwtyh-OBJNR,
reldt TYPE pnwtyh-reldt,
refdt TYPE pnwtyh-refdt,
* knumv TYPE pnwtyh-knumv,
END OF ty_pnwty.

TYPES: BEGIN OF ty_kna1,


kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1,
END OF ty_kna1.

TYPES: BEGIN OF ty_model,


zzffcd TYPE char8,
zzmodel(11) TYPE c," TYPE zzmodel,
zzdesc TYPE char11,"zzframeqc-zzdesc,
zzvehicle TYPE zzframeqc-zzvehicle,
zzmodel2 TYPE zzframeqc-zzmodel2,
END OF ty_model.

TYPES: BEGIN OF ty_model1,


zzmodel(11) TYPE c," zzmodel-zzmodel,
zzdesc TYPE char11,"zzmodel-zzdesc,
END OF ty_model1.

TYPES: BEGIN OF ty_bgm, " table name - BGMKOBJ FOR TAKE DATE OF SALE FIELD NAME-
GWLDT
j_objnr TYPE bgmkobj-j_objnr,
gwldt TYPE bgmkobj-gwldt,
END OF ty_bgm.

TYPES: BEGIN OF ty_equi,


equnr(18) TYPE c," equi-equnr,
objnr TYPE equi-objnr,
sernr TYPE equi-sernr,
matnr TYPE equi-matnr,
datlwb TYPE equi-datlwb,
erdat TYPE equi-erdat,
END OF ty_equi.

TYPES: BEGIN OF ty_mbew,


matnr TYPE mbew-matnr,
stprs TYPE mbew-stprs,
END OF ty_mbew.

TYPES: BEGIN OF ty_konv,"for condition record


knumv TYPE konv-knumv,
kschl TYPE konv-kschl,
kawrt TYPE konv-kawrt,
kwert TYPE konv-kwert,
kposn TYPE konv-kposn,
kbetr TYPE konv-kbetr,
END OF ty_konv.

TYPES: BEGIN OF ty_lfa1,"for VENDOR


lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
END OF ty_lfa1.

TYPES: BEGIN OF ty_makt,"for Material Description


matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
END OF ty_makt.

TYPES: BEGIN OF ty_imptt,


mandt TYPE sy-mandt,
point TYPE imptt-point,
mpobj TYPE imptt-mpobj,
***********mpobj(20) TYPE c,
*mpobj TYPE ty_pnwty-relob_ext,
mrngu TYPE imptt-mrngu,
END OF ty_imptt.

*TYPES: BEGIN OF ty_imrg,


*point TYPE imrg-point,
*mdtxt TYPE imrg-mdtxt,
*erdat TYPE imrg-erdat,
*eruhr TYPE imrg-eruhr,
*recdv TYPE imrg-recdv,
*END OF ty_imrg.

TYPES: BEGIN OF ty_status,


rejcd TYPE cwty003t-rejcd,
rejcd_txt TYPE cwty003t-rejcd_txt,
END OF ty_status.

TYPES: BEGIN OF ty_mara,


matnr TYPE mara-matnr,
zzefcd TYPE mara-zzefcd,
END OF ty_mara.

TYPES: BEGIN OF ty_eina,


infnr TYPE eina-infnr,
matnr TYPE eina-matnr,
lifnr TYPE eina-lifnr,
END OF ty_eina.

TYPES: BEGIN OF ty_eine,


infnr TYPE eine-infnr,
netpr TYPE eine-netpr,
END OF ty_eine.

TYPES: BEGIN OF ty_tab,


creadat TYPE zmqanalysis-creadat,
clmno TYPE zmqanalysis-clmno,
zzposnr TYPE zmqanalysis-zzposnr,
zsection TYPE zmqanalysis-zsection,
zsection2 TYPE zmqanalysis-zsection2,
zlot TYPE zmqanalysis-zlot,
zrecieved TYPE zmqanalysis-zrecieved,
zok_ng TYPE zmqanalysis-zok_ng,
zfault TYPE zmqanalysis-zok_ng,
zcause TYPE zmqanalysis-zcause,
zcause2 TYPE zmqanalysis-zcause2,
zmis TYPE zmqanalysis-zmis,
zbreakup TYPE zmqanalysis-zbreakup,
zupdate TYPE zmqanalysis-zbreakup,
zzveh TYPE zmqanalysis-zzveh,
zzvehicle TYPE zmqanalysis-zzvehicle,
END OF ty_tab.

TYPES: BEGIN OF ty_final,


parnr TYPE pnwtyh-parnr, "Partner code in Warranty document
creadat TYPE pnwtyh-creadat, "from date of warranty claim
clmno TYPE pnwtyh-clmno, "SAP Claim no.
relob_ext TYPE pnwtyh-relob_ext, "frame no
clmty TYPE pnwtyh-clmty, "Claim Type
werks TYPE pnwtyh-werks, "Plant
refno TYPE pnwtyh-refno, "DEALER CODE REF NO
* OBJNR TYPE PNWTYH-OBJNR, "DEALER CODE REF NO
reldt TYPE pnwtyh-reldt,
refdt TYPE pnwtyh-refdt,
j_objnr TYPE bgmkobj-j_objnr,
gwldt TYPE bgmkobj-gwldt,
kunnr TYPE kna1-kunnr, "Customer No
name1 TYPE kna1-name1, "Customer Name
zzmodel TYPE zzmodel-zzmodel, "Model Code
zzdesc TYPE zzmodel-zzdesc, "Model Description
equnr TYPE equi-equnr, "Equipment No
objnr TYPE equi-objnr, "Object number
quant TYPE char10,"pvwty-quant,
sernr TYPE equi-sernr,
matnr TYPE equi-matnr,
stprs TYPE mbew-stprs,
datlwb TYPE equi-datlwb,
zsection TYPE zqm_email-zfecod,
zsection2 TYPE zmqanalysis-zsection2,
zlot TYPE zmqanalysis-zlot,
zrecieved TYPE zmqanalysis-zrecieved,
zok_ng TYPE zmqanalysis-zok_ng,
zfault TYPE zmqanalysis-zfault,
zcause TYPE zmqanalysis-zcause,
zcause2 TYPE zmqanalysis-zcause2,
zmis TYPE zmqanalysis-zmis,
zbreakup TYPE zmqanalysis-zbreakup,
zfr1 TYPE zmqanalysis-zfr1 ,
zpart2 TYPE zmqanalysis-zpart2,
zpart3 TYPE zmqanalysis-zpart3,
zupdate TYPE zmqanalysis-zupdate,
veh TYPE zmqanalysis-zzvehicle,
chk TYPE c,
gv_days TYPE i,
knumv TYPE konv-knumv,"********18.06.2013
kschl TYPE konv-kschl,
kawrt TYPE konv-kawrt,
kwert TYPE konv-kwert,
ndp TYPE konv-kawrt,"ADDITIONAL 18.06.2013
plc TYPE konv-kawrt,
plc_amt TYPE konv-kawrt,
plc_amt1 TYPE konv-kawrt,
frt TYPE konv-kawrt,
lbr TYPE konv-kawrt,
lbr_amt TYPE konv-kawrt,
condition TYPE konv-knumv,
total_prts TYPE konv-kawrt,
total_prts_lab TYPE konv-kawrt,"************"18.06.2013
claim_type(10) TYPE c,
claim_type1(10) TYPE c,
claim_type2(10) TYPE c,
zztreat_cd TYPE zde_treat,
zzhtr TYPE char20,
zzdate_mf TYPE sy-datum,
zzdes_mf TYPE char40,
zzfill_dt TYPE sy-datum,
zzremark TYPE char40,
zzstatus TYPE char100,
zzven_name TYPE name1,
zzven_price TYPE dmbtr,
zzexport TYPE char10,
zzpart_send TYPE sy-datum,
zzpart_rec TYPE sy-datum,
zzresubmit TYPE char40,
item_no TYPE posnr,
gv_senddate TYPE i,
gv_recdate TYPE i,
gv_srdate TYPE i,
symtom TYPE char8,
code1 TYPE char4,
code TYPE char4,
herst TYPE wty_herst,
lifnr TYPE lfa1-lifnr,
ven_name TYPE lfa1-name1,
currency TYPE wty_crncy,
maktx TYPE makt-maktx,
part_other TYPE char10,
symtom_other TYPE char10,
milage TYPE cha_class_view-sollwert,
codegruppe TYPE qcodegrp,
point TYPE imrg-point,
mdtxt TYPE imrg-mdtxt,
erdat TYPE imrg-erdat,
eruhr TYPE imrg-eruhr,
recdv TYPE imrg-recdv,
mpobj(20) TYPE c,
mrngu TYPE imptt-mrngu,
kbetr TYPE konv-kbetr,
kposn TYPE posnr,
din TYPE posnr,
zzvehicle TYPE zzframeqc-zzvehicle,
* veh TYPE zzmq-zzvehicle,
zzmodel2 TYPE zzframeqc-zzmodel2,
cr_dt TYPE equi-erdat,
tdline(40) TYPE c,
zzmodel1 TYPE char11,
* zzdesc type zzmodel-zzdesc,
zzposnr TYPE zmqanalysis-zzposnr,
zzveh TYPE zmqanalysis-zzveh,
gv_per TYPE i,
symtem_text TYPE char10,
rejcd TYPE cwty003t-rejcd,
rejcd_txt TYPE cwty003t-rejcd_txt,
total_k TYPE konv-kawrt,
ndp_input TYPE konv-kawrt,
sbl TYPE konv-kawrt,
efcd TYPE mara-zzefcd,
dist TYPE char5,
infnr TYPE eina-infnr,
* matnr TYPE eina-matnr,
* lifnr TYPE eina-lifnr,
netpr TYPE eine-netpr,
gv_mb TYPE numc3,
gv_mb1 TYPE char6,
gv_mb2 TYPE sy-datum,
matnr_p TYPE mara-matnr,
END OF ty_final.

DATA: lv_frm TYPE char2.


TYPES: BEGIN OF ys_qpcd,
* codegruppe TYPE qpcd-codegruppe,
code TYPE qpcd-code,

END OF ys_qpcd.

TYPES: BEGIN OF ty_qpcd,


* katalogart TYPE qpcd-katalogart,
codegruppe TYPE qpcd-codegruppe,
code TYPE qpcd-code,
END OF ty_qpcd.

TYPES: BEGIN OF ty_f4,


zsection2 TYPE zmqanalysis-zsection2,
END OF ty_f4.

TYPES: BEGIN OF ty_f5,


zrecieved TYPE zmqanalysis-zrecieved,
END OF ty_f5.

TYPES: BEGIN OF ty_f6,


zok_ng TYPE zmqanalysis-zok_ng,
END OF ty_f6.

TYPES: BEGIN OF ty_f7,


zfault TYPE zmqanalysis-zfault,
END OF ty_f7.

TYPES: BEGIN OF ty_f8,


zlot TYPE zmqanalysis-zlot,
END OF ty_f8.

TYPES: BEGIN OF ty_f9,


zupdate TYPE zmqanalysis-zupdate,
END OF ty_f9.

DATA: it_grp TYPE TABLE OF ty_qpcd,


wa_grp TYPE ty_qpcd.
" Local Vars
DATA: it_f4 TYPE TABLE OF ty_f4,
wa_f4 TYPE ty_f4.

DATA: it_f5 TYPE TABLE OF ty_f5,


wa_f5 TYPE ty_f5.

DATA: it_f6 TYPE TABLE OF ty_f6,


wa_f6 TYPE ty_f6.

DATA: it_f7 TYPE TABLE OF ty_f7,


wa_f7 TYPE ty_f7.

DATA: it_f8 TYPE TABLE OF ty_f8,


wa_f8 TYPE ty_f8.

DATA: it_f9 TYPE TABLE OF ty_f9,


wa_f9 TYPE ty_f9.

DATA: lt_bwtar TYPE TABLE OF ys_qpcd,


ls_bwtar TYPE ys_qpcd,
lt_map TYPE TABLE OF dselc,
ls_map TYPE dselc,
lt_return TYPE TABLE OF ddshretval,
ls_return TYPE ddshretval,
ls_stable TYPE lvc_s_stbl.
" Field-symbols
FIELD-SYMBOLS: <l_out> TYPE ty_final. " ALV table line

TYPES: BEGIN OF ty_mara1,


matnr TYPE mara-matnr,
zzmodel TYPE mara-zzmodel,
END OF ty_mara1.

*DATA: lv_recdv TYPE imrg-recdv.


*DATA: lv_mdtxt TYPE imrg-mdtxt.
*DATA: lv_point TYPE imrg-point.
********************************************Structure Declarations
End************************
********************************Internal
Tables***********************************************
DATA: t_pnwty TYPE STANDARD TABLE OF ty_pnwty INITIAL SIZE 0.
DATA: it_tab1 TYPE STANDARD TABLE OF ty_pnwty INITIAL SIZE 0.
DATA: t_kna1 TYPE STANDARD TABLE OF ty_kna1 INITIAL SIZE 0.
DATA: t_model TYPE STANDARD TABLE OF ty_model INITIAL SIZE 0.
DATA: t_model1 TYPE STANDARD TABLE OF ty_model1 INITIAL SIZE 0.
DATA: t_equi TYPE STANDARD TABLE OF ty_equi INITIAL SIZE 0.
DATA: t_mbew TYPE STANDARD TABLE OF ty_mbew INITIAL SIZE 0.
DATA: t_bgm TYPE STANDARD TABLE OF ty_bgm INITIAL SIZE 0.
DATA: t_final TYPE STANDARD TABLE OF ty_final INITIAL SIZE 0.
DATA: it_pbo TYPE STANDARD TABLE OF ty_final INITIAL SIZE 0.
DATA: it_zmq TYPE STANDARD TABLE OF zmqanalysis INITIAL SIZE 0.
DATA: it_zzmq TYPE STANDARD TABLE OF ty_tab INITIAL SIZE 0.
DATA: it_konv TYPE STANDARD TABLE OF ty_konv INITIAL SIZE 0.
DATA: it_konv1 TYPE STANDARD TABLE OF ty_konv INITIAL SIZE 0.
DATA: it_konv2 TYPE STANDARD TABLE OF ty_konv INITIAL SIZE 0.
DATA: it_konv3 TYPE STANDARD TABLE OF ty_konv INITIAL SIZE 0.
DATA: it_lfa1 TYPE STANDARD TABLE OF ty_lfa1 INITIAL SIZE 0.
DATA: it_makt TYPE STANDARD TABLE OF ty_makt INITIAL SIZE 0.
*DATA: it_imptt TYPE STANDARD TABLE OF ty_imptt INITIAL SIZE 0.
*DATA: it_imrg TYPE STANDARD TABLE OF ty_imrg INITIAL SIZE 0.
DATA: it_status TYPE STANDARD TABLE OF ty_status INITIAL SIZE 0.
DATA: it_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0.
DATA: it_mara1 TYPE STANDARD TABLE OF ty_mara1 INITIAL SIZE 0.
DATA: it_eina TYPE STANDARD TABLE OF ty_eina INITIAL SIZE 0.
DATA: it_eine TYPE STANDARD TABLE OF ty_eine INITIAL SIZE 0.
DATA: it_tab TYPE STANDARD TABLE OF ty_tab INITIAL SIZE 0.

TYPES: BEGIN OF ty_imp,


mandt TYPE sy-mandt,
point TYPE imptt-point,
mpobj TYPE imptt-mpobj,
mrngu TYPE imptt-mrngu,
END OF ty_imp.

DATA: it_imptt TYPE TABLE OF ty_imp.


DATA: wa_imptt TYPE ty_imptt."ty_imp.
*********************************Work Area's**************
DATA: wa_pnwty LIKE LINE OF t_pnwty.
DATA: wa_tab1 LIKE LINE OF it_tab1.
DATA: wa_kna1 LIKE LINE OF t_kna1.
DATA: wa_model LIKE LINE OF t_model.
DATA: wa_model1 LIKE LINE OF t_model1.
DATA: wa_equi LIKE LINE OF t_equi.
DATA: wa_mbew LIKE LINE OF t_mbew.
DATA: wa_bgm LIKE LINE OF t_bgm.
DATA: wa_final LIKE LINE OF t_final.
DATA: wa_zmq LIKE LINE OF it_zmq.
DATA: wa_konv LIKE LINE OF it_konv.
DATA: wa_konv1 LIKE LINE OF it_konv.
DATA: wa_konv2 LIKE LINE OF it_konv.
DATA: wa_konv3 LIKE LINE OF it_konv.
DATA: wa_mara1 LIKE LINE OF it_mara1.
DATA: wa_tab LIKE LINE OF it_tab.
DATA: wa_lfa1 TYPE lfa1.
DATA: wa_makt LIKE LINE OF it_makt.
DATA: wa_zzmq LIKE LINE OF it_zzmq.

TYPES: BEGIN OF ty_imrg,


mandt TYPE sy-mandt,
point TYPE imrg-point,
mdtxt TYPE imrg-mdtxt,
erdat TYPE imrg-erdat,
eruhr TYPE imrg-eruhr,
recdv TYPE imrg-recdv,
* recdv TYPE imrg-recdv,
* mdtxt TYPE imrg-mdtxt ,
* point TYPE imrg-point,
END OF ty_imrg.

*DATA: wa_imptt TYPE imptt.


DATA: it_imrg TYPE TABLE OF ty_imrg.
DATA: wa_imrg TYPE ty_imrg.

DATA: wa_mara LIKE LINE OF it_mara.


DATA: wa_status LIKE LINE OF it_status.
DATA: wa_eina LIKE LINE OF it_eina.
DATA: wa_eine LIKE LINE OF it_eine.

DATA:diff LIKE rf60v-nlaufz.


*types: LO_HANDLER type xxxxxx.
*DATA: gv_date1 TYPE vtbbewe-dbervon.
*DATA: gv_date2 TYPE vtbbewe-dbervon.
DATA: gv_date1 TYPE datum.
DATA: gv_date2 TYPE datum.
*DATA: gv_days TYPE vtbbewe-dbervon.

DATA: gv_date3 TYPE datum.


DATA: gv_date4 TYPE datum.
DATA: gv_date5 TYPE datum.
DATA: gv_date6 TYPE datum.
DATA: lv_diff3 TYPE i.
DATA: gv_days TYPE i.
DATA: lv_diff4 TYPE i.
DATA: gv_da TYPE i.
DATA: flag.
DATA: flag1.
*********************************Selection Screen*************************
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_date FOR date OBLIGATORY,
s_clmno FOR claim.
SELECTION-SCREEN: END OF BLOCK b1.
***************************************Function Module for display quantity**
DATA:
et_pnwtyh TYPE pnwtyh_tab,
wa_pnwtyh TYPE pnwtyh,
et_pnwtyv TYPE pnwtyv_tab WITH HEADER LINE,
et_pvwty TYPE pvwty_tab WITH HEADER LINE ,
gv_tab TYPE pvwty_tab WITH HEADER LINE ,
et_wtyv_imrg TYPE wtyv_imrg_tab,
et_partner TYPE wty_partner_t,
lv_guid TYPE wty_pnguid_tab WITH HEADER LINE.

DATA:
wa_pv LIKE LINE OF et_pvwty,
wa_pvd LIKE LINE OF et_pvwty,
gv_pv LIKE LINE OF et_pvwty,
wa_pnwtyv LIKE LINE OF et_pnwtyv.

DATA: wa_pnt LIKE LINE OF et_pnwtyv.


* wa_pnt LIKE LINE OF et_pnwtyv.

DATA: wa_et LIKE LINE OF et_pnwtyh.

DATA: BEGIN OF fcode,


code TYPE char10,
END OF fcode.

DATA: gv_date7 LIKE sy-datum,


gv_date8 LIKE sy-datum.

*****************************Kilometers Data types***********


DATA: gv_atflv TYPE atflv,
gv_warranty_kilometers TYPE cha_class_view-sollwert.
TYPES: BEGIN OF ty_class,
atflv TYPE cawn-atflv,
atinn TYPE cawn-atinn,
END OF ty_class.
DATA: it_class TYPE STANDARD TABLE OF ty_class INITIAL SIZE 0.
DATA: wa_class LIKE LINE OF it_class.
DATA: gv_mpobj TYPE imptt-mpobj,
gv_point TYPE imptt-point,
gv_mrngu TYPE imptt-mrngu.
*----------------------------------------------------------------------*
* CLASS lcl_event_handler DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION FINAL.

PUBLIC SECTION.
METHODS
handle_on_f4
FOR EVENT onf4 OF cl_gui_alv_grid
IMPORTING e_fieldname
es_row_no
er_event_data.

ENDCLASS. "lcl_event_handler DEFINITION

*----------------------------------------------------------------------*
* CLASS lcl_event_handler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
*--Handle On F4

METHOD handle_on_f4.
PERFORM handle_on_f4
USING e_fieldname
es_row_no
er_event_data.

ENDMETHOD. "handle_on_f4
ENDCLASS. "lcl_event_handler IMPLEMENTATION

START-OF-SELECTION.
* break cab01.
IF sy-mandt EQ '300'.
SELECT parnr creadat clmno relob_ext zzmodel clmty werks pnguid pncnt refno
reldt refdt FROM pnwtyh INTO TABLE t_pnwty
WHERE creadat IN s_date AND clmty NOT IN ('ZHFS' , 'ZFRS' , 'ZHDC' , 'ZHEX')
AND clmno IN s_clmno AND creadat GT '20140102'.
ENDIF.

IF sy-mandt EQ '130' OR sy-mandt EQ '200' OR sy-mandt EQ '220' .


SELECT parnr creadat clmno relob_ext zzmodel clmty werks pnguid pncnt refno
reldt refdt FROM pnwtyh INTO TABLE t_pnwty
WHERE creadat IN s_date AND clmty NOT IN ('ZHFS' , 'ZFRS' , 'ZHDC' , 'ZHEX')
AND clmno IN s_clmno." and creadat gt '20140102'.
ENDIF.
* LOOP AT t_pnwty INTO wa_pnwty.
* CLEAR lv_guid[].
*
* lv_guid = wa_pnwty-pnguid.
* APPEND lv_guid.
* CLEAR:et_pnwtyh[],et_pnwtyv[],et_pvwty[].
* CALL FUNCTION 'PVSDBWTY_CLAIM_GET'
* EXPORTING
* it_pnguid = lv_guid[]
* IMPORTING
* et_pnwtyh = et_pnwtyh[]
* et_pnwtyv = et_pnwtyv[]
* et_pvwty = et_pvwty[]
* et_wtyv_imrg = et_wtyv_imrg
* et_partner = et_partner.
* ENDLOOP.

* break cab01.
IF t_pnwty[] IS NOT INITIAL.
SELECT zzffcd zzmodel zzdesc zzvehicle zzmodel2 FROM zzframeqc INTO TABLE
t_model
FOR ALL ENTRIES IN t_pnwty WHERE zzffcd = t_pnwty-relob_ext(8).

SELECT equnr objnr sernr matnr datlwb erdat FROM equi INTO TABLE t_equi
FOR ALL ENTRIES IN t_pnwty WHERE equnr = t_pnwty-relob_ext.

IF t_model IS NOT INITIAL.


SELECT zzmodel zzdesc FROM zzmodel INTO TABLE t_model1 FOR ALL ENTRIES IN
t_model WHERE zzmodel = t_model-zzdesc.

ENDIF.
* break cab01.
IF t_equi IS NOT INITIAL.
SELECT matnr stprs FROM mbew INTO TABLE t_mbew FOR ALL ENTRIES IN
t_equi WHERE matnr = t_equi-matnr.

IF t_equi IS NOT INITIAL.


SELECT matnr zzmodel FROM mara INTO TABLE it_mara1 FOR ALL ENTRIES IN
t_equi WHERE matnr = t_equi-matnr.
ENDIF.

SELECT zzmodel zzdesc FROM zzmodel INTO TABLE t_model1 FOR ALL ENTRIES IN
it_mara1 WHERE zzmodel = it_mara1-zzmodel.

SELECT j_objnr gwldt FROM bgmkobj INTO TABLE t_bgm FOR ALL ENTRIES IN
t_equi WHERE j_objnr = t_equi-objnr.
ENDIF.

LOOP AT t_pnwty INTO wa_pnwty.


* CLEAR lv_guid[].
lv_guid = wa_pnwty-pnguid.
APPEND lv_guid.
ENDLOOP.
CLEAR:et_pnwtyh[],et_pnwtyv[],et_pvwty[].
CALL FUNCTION 'PVSDBWTY_CLAIM_GET'
EXPORTING
it_pnguid = lv_guid[]
IMPORTING
et_pnwtyh = et_pnwtyh[]
et_pnwtyv = et_pnwtyv[]
et_pvwty = et_pvwty[]
et_wtyv_imrg = et_wtyv_imrg
et_partner = et_partner.

RANGES: r_mpobj FOR imptt-mpobj.


REFRESH r_mpobj.

LOOP AT et_pnwtyh INTO wa_pnwtyh.


IF wa_pnwtyh-relob_ext CO '0123456789 ' .
UNPACK wa_pnwtyh-relob_ext TO wa_pnwtyh-relob_ext.
ENDIF.
r_mpobj-sign = 'I'.
r_mpobj-option = 'EQ'.
CONCATENATE 'IE' wa_pnwtyh-relob_ext+0(17) INTO r_mpobj-low.
APPEND r_mpobj.
ENDLOOP.

SELECT mandt point mpobj mrngu


FROM imptt CLIENT SPECIFIED
INTO TABLE it_imptt
WHERE mandt EQ sy-mandt
AND mpobj IN r_mpobj."AND mrngu = 'KM'
IF sy-subrc IS INITIAL.
DELETE it_imptt WHERE mrngu NE 'KM'.
IF it_imptt IS NOT INITIAL.
SELECT mandt point mdtxt erdat eruhr recdv
FROM imrg CLIENT SPECIFIED
INTO TABLE it_imrg
FOR ALL ENTRIES IN it_imptt
WHERE mandt EQ sy-mandt
AND point = it_imptt-point.
SORT it_imrg BY point mdtxt.
ENDIF.
ENDIF.

*RANGES: r_mpobj FOR imptt-mpobj.


* REFRESH r_mpobj.
* r_mpobj-sign = 'I'.
* r_mpobj-option = 'CP'.
* CONCATENATE '*' wa_pnwtyh-relob_ext+0(17) INTO r_mpobj-low.
* APPEND r_mpobj.

* data: lv_con type char2.


* concatenate lv_con wa_pnwtyh-relob_ext+0(17) into lv_con.

SELECT creadat
clmno
zzposnr
zsection
zsection2
zlot
zrecieved
zok_ng
zfault
zcause
zcause2
zmis
zbreakup
zupdate
zzveh
zzvehicle FROM zmqanalysis INTO TABLE it_zzmq FOR ALL ENTRIES IN
et_pvwty
WHERE zzposnr = et_pvwty-posnr AND creadat = et_pvwty-creadat.

* SELECT recdv mdtxt point FROM imrg INTO TABLE it_imrg.

* SELECT mrngu mpobj point FROM imptt INTO TABLE it_imptt


* FOR ALL ENTRIES IN it_imrg WHERE mrngu = 'KM' AND point = it_imrg-point.

SELECT lifnr name1 FROM lfa1 INTO TABLE it_lfa1 FOR ALL ENTRIES IN et_pvwty
WHERE lifnr = et_pvwty-herst.

SELECT matnr maktx FROM makt INTO TABLE it_makt FOR ALL ENTRIES IN et_pvwty
WHERE matnr = et_pvwty-matnr.

SELECT kunnr name1 FROM kna1 INTO TABLE t_kna1 FOR ALL ENTRIES IN et_pnwtyv
WHERE kunnr = et_pnwtyv-v_parnr.

SELECT knumv kschl kawrt kwert kposn kbetr FROM konv INTO TABLE it_konv FOR
ALL ENTRIES IN et_pnwtyv WHERE
knumv = et_pnwtyv-knumv AND
kschl IN ('ZNDP' , 'ZPLC' , 'ZFRT' , 'ZLBR' , 'ZSBL').

*
***********************************************************************************
**************
ELSE.
MESSAGE 'Data not found' TYPE 'S' DISPLAY LIKE 'E'. "#EC NOTEXT
ENDIF.

SELECT rejcd rejcd_txt FROM cwty003t INTO TABLE it_status FOR ALL ENTRIES IN
et_pnwtyv
WHERE rejcd = et_pnwtyv-v_rejcd AND spras = 'EN'.

SELECT matnr zzefcd FROM mara INTO TABLE it_mara FOR ALL ENTRIES IN et_pvwty
WHERE matnr = et_pvwty-matnr.

SELECT infnr matnr lifnr FROM eina INTO TABLE it_eina


FOR ALL ENTRIES IN et_pvwty WHERE matnr = et_pvwty-matnr AND lifnr = et_pvwty-
herst.
IF it_eina IS NOT INITIAL.
SELECT infnr netpr FROM eine INTO TABLE it_eine FOR ALL ENTRIES IN it_eina
WHERE infnr = it_eina-infnr.
ENDIF.

SORT it_konv BY knumv.


LOOP AT it_konv INTO wa_konv WHERE kschl EQ 'ZPLC'.
wa_konv1-knumv = wa_konv-knumv.
wa_konv1-kawrt = wa_konv-kawrt.
wa_konv1-kschl = wa_konv-kschl.
COLLECT wa_konv1 INTO it_konv1.
CLEAR: wa_konv1 , wa_konv.
ENDLOOP.

SORT it_konv BY knumv.


LOOP AT it_konv INTO wa_konv WHERE kschl EQ 'ZFRT'.
wa_konv2-knumv = wa_konv-knumv.
wa_konv2-kbetr = wa_konv-kbetr.
wa_konv2-kschl = wa_konv-kschl.
COLLECT wa_konv2 INTO it_konv2.
CLEAR: wa_konv2 , wa_konv.
ENDLOOP.

SORT it_konv BY knumv.


LOOP AT it_konv INTO wa_konv WHERE kschl EQ 'ZSBL'.
wa_konv3-knumv = wa_konv-knumv.
wa_konv3-kbetr = wa_konv-kbetr.
wa_konv3-kschl = wa_konv-kschl.
COLLECT wa_konv INTO it_konv3.
CLEAR: wa_konv3 , wa_konv.
ENDLOOP.

* break cab01.

gv_tab[] = et_pvwty[].
LOOP AT et_pvwty INTO wa_pv.
wa_final-quant = wa_pv-quant.
CONDENSE wa_final-quant.
wa_final-item_no = wa_pv-posnr.
wa_final-matnr = wa_pv-matnr.
wa_final-zzven_name = wa_pv-zzven_name.
wa_final-herst = wa_pv-herst.

* IF wa_final-item_no EQ 1 OR wa_final-item_no GT 1."Reapet Add DAta


* clear: wa_pv.
LOOP AT et_pvwty INTO wa_pvd WHERE version_guid = wa_pv-version_guid.
IF wa_pvd-zzdate_mf IS NOT INITIAL.
wa_final-zztreat_cd = wa_pvd-zztreat_cd.
wa_final-zzhtr = wa_pvd-zzhtr.
wa_final-zzdate_mf = wa_pvd-zzdate_mf.
wa_final-zzdes_mf = wa_pvd-zzdes_mf.
wa_final-zzfill_dt = wa_pvd-zzfill_dt.
wa_final-zzremark = wa_pvd-zzremark.
* wa_final-zzstatus = wa_pv-zzstatus.

* wa_final-zzven_price = wa_pv-contr.
wa_final-zzexport = wa_pvd-zzexport.
wa_final-zzpart_send = wa_pvd-zzpart_send.
wa_final-zzpart_rec = wa_pvd-zzpart_rec.
wa_final-zzresubmit = wa_pvd-zzresubmit.
wa_final-symtom = wa_pvd-zzsymtom.
wa_final-code1 = wa_pvd-zzcode.
wa_final-zzresubmit = wa_pvd-zzresubmit.
ENDIF.
ENDLOOP.

READ TABLE et_pnwtyv INTO wa_pnwtyv WITH KEY pnguid = wa_pv-version_guid.


IF sy-subrc = 0.

READ TABLE et_pnwtyh INTO wa_pnwtyh WITH KEY pnguid = wa_pnwtyv-header_guid.


IF sy-subrc = 0.
wa_final-creadat = wa_pnwtyh-creadat.

CALL FUNCTION 'CCM_GO_BACK_MONTHS'


EXPORTING
currdate = wa_final-creadat
backmonths = 01
IMPORTING
newdate = wa_final-gv_mb2.

* = wa_final-creadat(6).

CONCATENATE wa_final-gv_mb2(4) wa_final-gv_mb2+4(2) INTO wa_final-gv_mb1.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'


EXPORTING
input = wa_pnwtyh-clmno
IMPORTING
output = wa_final-clmno.

wa_final-relob_ext = wa_pnwtyh-relob_ext.
wa_final-werks = wa_pnwtyh-werks.
wa_final-refno = wa_pnwtyh-refno.
* wa_final-OBJNR = wa_pnwty-OBJNR.
wa_final-reldt = wa_pnwtyh-reldt.
wa_final-refdt = wa_pnwtyh-refdt.
wa_final-clmty = wa_pnwtyh-clmty.

lv_frm = wa_final-relob_ext+10(1).
IF lv_frm EQ '8'.
wa_final-werks = 'MNSR'.
ELSEIF lv_frm EQ '7'.
wa_final-werks = 'TPKR'.
ELSEIF lv_frm EQ 'T'.
wa_final-werks = 'NSPR'.
ENDIF.

CONCATENATE '562' wa_final-creadat+4(2) INTO wa_final-dist.


* break cab01.
CLEAR:wa_model.
READ TABLE t_model INTO wa_model WITH KEY zzffcd = wa_pnwtyh-relob_ext(8).
IF sy-subrc EQ 0.
wa_final-zzmodel = wa_model-zzmodel.
* wa_final-zzdesc = wa_model-zzdesc.
wa_final-zzmodel2 = wa_model-zzmodel2.
wa_final-zzvehicle = wa_model-zzvehicle.
ENDIF.

* CLEAR wa_model1.
*
* READ TABLE t_model1 INTO wa_model1 WITH KEY zzmodel = wa_model-zzdesc.
* IF sy-subrc EQ 0.
* wa_final-zzdesc = wa_model1-zzdesc.
* ENDIF.
* break cab01.

CLEAR:wa_equi.
READ TABLE t_equi INTO wa_equi WITH KEY equnr = wa_pnwtyh-relob_ext.
IF sy-subrc EQ 0.
wa_final-sernr = wa_equi-sernr.
wa_final-matnr_p = wa_equi-matnr.
wa_final-datlwb = wa_equi-datlwb.
wa_final-cr_dt = wa_equi-erdat.
wa_final-objnr = wa_equi-objnr.
ENDIF.

CLEAR: wa_mara1.
READ TABLE it_mara1 INTO wa_mara1 WITH KEY matnr = wa_final-matnr_p.
IF sy-subrc EQ 0.
wa_final-zzmodel1 = wa_mara1-zzmodel.
ENDIF.

CLEAR wa_model1.
READ TABLE t_model1 INTO wa_model1 WITH KEY zzmodel = wa_mara1-zzmodel.
IF sy-subrc EQ 0.
wa_final-zzdesc = wa_model1-zzdesc.
ENDIF.

* LOOP AT et_pnwtyv INTO wa_pnt.


* wa_final-parnr = wa_pnt-v_parnr.
* ENDLOOP.

* break cab01.

*************************************************problem

CLEAR: wa_lfa1.
* SELECT SINGLE name1 into name1 FROM lfa1 WHERE lifnr = wa_pv-herst.
READ TABLE it_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_pv-herst.
IF sy-subrc EQ 0.
wa_final-ven_name = wa_lfa1-name1.
ENDIF.

* break cab01.
CLEAR: wa_eina.
READ TABLE it_eina INTO wa_eina WITH KEY matnr = wa_final-matnr lifnr =
wa_final-herst.
IF sy-subrc EQ 0.
wa_final-infnr = wa_eina-infnr.
ENDIF.

CLEAR: wa_eine.
READ TABLE it_eine INTO wa_eine WITH KEY infnr = wa_eina-infnr.
IF sy-subrc EQ 0.
wa_final-zzven_price = wa_eine-netpr.
ENDIF.

* ******************
CLEAR: wa_makt.
* SELECT SINGLE * FROM makt INTO wa_makt WHERE matnr = wa_pv-matnr.
READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_pv-matnr.
IF sy-subrc EQ 0.
wa_final-maktx = wa_makt-maktx.
ENDIF.

CLEAR: wa_mara.
READ TABLE it_mara INTO wa_mara WITH KEY matnr = wa_pv-matnr.
IF sy-subrc EQ 0.
wa_final-efcd = wa_mara-zzefcd.
ENDIF.

* LOOP AT et_pnwtyv INTO wa_pnwtyv .


wa_final-parnr = wa_pnwtyv-v_parnr.

CLEAR: wa_kna1.
READ TABLE t_kna1 INTO wa_kna1 WITH KEY kunnr = wa_pnwtyv-v_parnr.
* SELECT SINGLE * FROM kna1 INTO wa_kna1 WHERE kunnr = wa_pnwtyv-v_parnr.
IF sy-subrc EQ 0.
wa_final-name1 = wa_kna1-name1.
ENDIF.

CLEAR: wa_status.
READ TABLE it_status INTO wa_status WITH KEY rejcd = wa_pnwtyv-v_rejcd.
IF sy-subrc EQ 0.
wa_final-zzstatus = wa_status-rejcd_txt.
ENDIF.

wa_final-condition = wa_pnwtyv-knumv.
wa_final-currency = wa_pnwtyv-v_crncy.

CLEAR: wa_konv.
READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZNDP' kposn = wa_pv-posnr."*********AMT DISPLAY USING DIFF CONDITION
IF sy-subrc EQ 0.
* wa_final-knumv = wa_konv-knumv.
wa_final-ndp = wa_konv-kwert.
wa_final-ndp_input = wa_konv-kbetr.

ENDIF.

CLEAR: wa_konv.
READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZPLC' kposn = wa_pv-posnr."PLCA %
IF sy-subrc EQ 0.
wa_final-plc = wa_konv-kbetr / 10."
ENDIF.

"for ZSBL 7 DEC


* break cab01.
CLEAR: wa_konv3.
READ TABLE it_konv3 INTO wa_konv3 WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZSBL'." kposn = wa_pv-posnr."PLCA %
IF sy-subrc EQ 0.
wa_final-sbl = wa_konv3-kbetr."
ENDIF.

CLEAR: wa_konv1.
READ TABLE it_konv1 INTO wa_konv1 WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZPLC'.
IF sy-subrc EQ 0.
* IF flag IS INITIAL.
wa_final-total_k = wa_konv1-kawrt.
* flag = 'X'.
* ENDIF.
ENDIF.

**************************************
CLEAR: wa_konv2.
READ TABLE it_konv2 INTO wa_konv2 WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZFRT'." kposn = wa_pv-posnr.
IF sy-subrc EQ 0.
wa_final-frt = wa_konv2-kbetr.
ENDIF.

CLEAR: wa_konv.
READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_pnwtyv-knumv kschl =
'ZLBR'." kposn = wa_pv-posnr.
IF sy-subrc EQ 0.
wa_final-lbr = wa_konv-kbetr / 10.
ENDIF.

wa_final-lbr_amt = ( wa_final-frt * wa_final-lbr ) + wa_final-sbl."7 DEC

* ENDLOOP.

CLEAR: wa_mbew.
READ TABLE t_mbew INTO wa_mbew WITH KEY matnr = wa_equi-matnr.
IF sy-subrc EQ 0.
wa_final-stprs = wa_mbew-stprs.
ENDIF.

CLEAR:wa_bgm.
READ TABLE t_bgm INTO wa_bgm WITH KEY j_objnr = wa_equi-objnr.
IF sy-subrc EQ 0.
wa_final-gwldt = wa_bgm-gwldt.
ENDIF.
******************************************************************************
gv_date1 = wa_final-zzdate_mf.
gv_date2 = wa_final-gwldt .

CALL FUNCTION 'ZCALCULATE_DAYS'


EXPORTING
beg_da = gv_date2
end_da = gv_date1
IMPORTING
* NO_DAY =
* NO_MONTH =
* NO_YEAR =
no_cal_day = gv_days
* EXCEPTIONS
* DATEINT_ERROR = 1
* OTHERS = 2
.
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.

wa_final-gv_per = gv_days.

IF wa_final-gv_per LT 0.
wa_final-gv_per = '0'.
ENDIF.

* CLEAR: wa_zmq.
* lv_mq = wa_final-clmno.
* IF lv_mq CO '0123456789 '.
** UNPACK lv_mq TO lv_mq. 00000 + 1008519
* PACK lv_mq TO lv_mq. "1008519
* ENDIF.
* CONDENSE lv_mq.
* break cab01.
* SELECT SINGLE * FROM zmqanalysis INTO wa_zmq WHERE clmno = lv_mq AND
zzposnr = wa_pv-posnr
* AND creadat = wa_pnwty-creadat.

* SELECT SINGLE * FROM zmqanalysis INTO wa_zmq .

READ TABLE it_zzmq INTO wa_zzmq WITH KEY clmno = wa_pnwty-clmno zzposnr =
wa_pv-posnr creadat = wa_pnwty-creadat.

* READ TABLE it_tab INTO wa_tab WITH KEY clmno = lv_mq zzposnr = wa_pv-
posnr creadat = wa_pnwty-creadat.
wa_final-code = wa_zzmq-zsection.
wa_final-zsection2 = wa_zzmq-zsection2.
wa_final-zlot = wa_zzmq-zlot .
wa_final-zrecieved = wa_zzmq-zrecieved.
wa_final-zok_ng = wa_zzmq-zok_ng.
wa_final-zfault = wa_zzmq-zfault.
wa_final-zcause = wa_zzmq-zcause.
wa_final-zcause2 = wa_zzmq-zcause2.
wa_final-zmis = wa_zzmq-zmis.
wa_final-zbreakup = wa_zzmq-zbreakup.
wa_final-zupdate = wa_zzmq-zupdate.
* wa_final-codegruppe = wa_zmq-codegruppe.
wa_final-veh = wa_zzmq-zzveh.
wa_final-zzvehicle = wa_zzmq-zzvehicle.
* ENDIF.

wa_final-zfr1 = wa_final-relob_ext+11(6). "last 6 digit of frame number


wa_final-zpart2 = wa_final-matnr+0(6)."first 6 digit of frame number
"relob_ext+0(6).
wa_final-zpart3 = wa_final-matnr+0(8)."first 8 digit of frame number
"relob_ext+0(6).

IF wa_final-gv_per = 0.
wa_final-claim_type = 'PDI'.
ELSEIF wa_final-gv_per BETWEEN 1 AND 90.
wa_final-claim_type = '1To90'.
ELSEIF wa_final-gv_per GT 90.
wa_final-claim_type = 'IPPAN'.
ENDIF.

* IF wa_final-symtom GT 99.
* wa_final-claim_type = 'OTHERS'.
* ENDIF.

IF wa_final-item_no GT 1. "30.08.2013 7:15:AM


wa_final-claim_type = 'OTHERS'.
wa_final-zrecieved = 'NO CHECK'.
wa_final-zok_ng = '---'.
wa_final-zfault = 'HMSI'.
wa_final-zcause = 'CONSEQUENCIAL'.
ENDIF.
* 1ENDIF.

IF wa_final-claim_type = 'PDI'.
wa_final-claim_type1 = '0 TO 90'.
ELSEIF wa_final-claim_type = '1To90'.
wa_final-claim_type1 = '0TO90'.
ELSEIF wa_final-claim_type = 'IPPAN'.
wa_final-claim_type1 = 'IPPAN'.
ELSEIF wa_final-claim_type = 'OTHERS'.
wa_final-claim_type1 = 'OTHERS'.
ENDIF.
wa_final-claim_type2 = 'TOTAL'.

IF wa_final-zupdate = ' '. "logic for default Set 'No' value in Dropdawn
List---24.06.2013
wa_final-zupdate = 'NO'.
ENDIF.

IF wa_final-zzvehicle IS NOT INITIAL. "30.08.2013


wa_final-veh = wa_final-zzvehicle.
ENDIF.

* ********** Dinesh Kumar(HMSI)06.12.2013 2:36:50 PM


gv_date3 = wa_final-refdt. .
gv_date4 = wa_final-zzdate_mf .

CALL FUNCTION 'ZCALCULATE_DAYS'


EXPORTING
beg_da = gv_date4
end_da = gv_date3
IMPORTING
* NO_DAY =
* NO_MONTH =
* NO_YEAR =
no_cal_day = lv_diff3
* EXCEPTIONS
* DATEINT_ERROR = 1
* OTHERS = 2
.
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.

wa_final-gv_senddate = lv_diff3.

IF wa_final-gv_senddate LT 0."No of days not in negative


wa_final-gv_senddate = '0'.
ENDIF.

***********************************************************************

gv_date5 = wa_final-zzpart_send. "date of rec - date of repair


gv_date6 = wa_final-refdt.

CALL FUNCTION 'ZCALCULATE_DAYS'


EXPORTING
beg_da = gv_date6
end_da = gv_date5
IMPORTING
* NO_DAY =
* NO_MONTH =
* NO_YEAR =
no_cal_day = lv_diff4
* EXCEPTIONS
* DATEINT_ERROR = 1
* OTHERS = 2
.
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.
wa_final-gv_recdate = lv_diff4.

IF wa_final-gv_recdate LT 0.
wa_final-gv_recdate = '0'.
ENDIF.

gv_date7 = wa_final-zzpart_rec.
gv_date8 = wa_final-zzpart_send.

CALL FUNCTION 'ZCALCULATE_DAYS'


EXPORTING
beg_da = gv_date8
end_da = gv_date7
IMPORTING
* NO_DAY =
* NO_MONTH =
* NO_YEAR =
no_cal_day = gv_da
* EXCEPTIONS
* DATEINT_ERROR = 1
* OTHERS = 2
.
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.
wa_final-gv_srdate = gv_da.
IF wa_final-gv_srdate LT 0.
wa_final-gv_srdate = '0'.
ENDIF.

********** IF wa_pnwty-relob_ext CO '0123456789 ' . " for Zero


********** UNPACK wa_pnwty-relob_ext TO wa_pnwty-relob_ext.
********** ENDIF.

*************************************************************************
* concatenate wa_pnwty-relob_ext 'IE' into wa_pnwty-relob_ext.

********** RANGES: r_mpobj FOR imptt-mpobj.


********** REFRESH r_mpobj.
********** r_mpobj-sign = 'I'.
********** r_mpobj-option = 'CP'.
********** CONCATENATE '*' wa_pnwtyh-relob_ext+0(17) INTO r_mpobj-low.
********** APPEND r_mpobj.

* DATA: lv_mpobj TYPE imptt-mpobj,


* lv_point type imptt-point,
* lv_mrngu type imptt-mrngu.

* CLEAR: gv_mpobj, gv_point , gv_mrngu.


* SELECT SINGLE * FROM imptt INTO wa_imptt
* WHERE mrngu = 'KM' AND mpobj IN r_mpobj.

* IF sy-subrc EQ 0.
* wa_final-mpobj = wa_imptt-mpobj.
** IF wa_imptt-mpobj+2(17) EQ wa_pnwtyh-relob_ext.
* IF wa_imptt-mpobj+2(17) EQ wa_pnwtyh-relob_ext.
* wa_final-point = wa_imptt-point.
* wa_final-mrngu = wa_imptt-mrngu.
* SHIFT wa_final-mpobj BY 2 PLACES.
* CONDENSE wa_final-mpobj.
* ENDIF.
* ENDIF.
* break cab01.
********** CLEAR: gv_mpobj , gv_point, gv_mrngu.
********** SELECT SINGLE mpobj point mrngu INTO (gv_mpobj , gv_point,
gv_mrngu) FROM
********** imptt WHERE mrngu = 'KM' AND mpobj IN r_mpobj.
********** IF sy-subrc EQ 0.
********** wa_final-mpobj = gv_mpobj.
*********** IF wa_imptt-mpobj+2(17) EQ wa_pnwtyh-relob_ext.
********** IF gv_mpobj+2(17) EQ wa_pnwtyh-relob_ext.
********** wa_final-point = gv_point.
********** wa_final-mrngu = gv_mrngu.
********** SHIFT wa_final-mpobj BY 2 PLACES.
********** CONDENSE wa_final-mpobj.
********** ENDIF.
********** ENDIF.
CLEAR wa_imptt.
LOOP AT it_imptt INTO wa_imptt WHERE mrngu = 'KM' AND mpobj CS wa_pnwtyh-
relob_ext.
wa_final-mpobj = wa_imptt-mpobj.
wa_final-point = wa_imptt-point.
wa_final-mrngu = wa_imptt-mrngu.
SHIFT wa_final-mpobj BY 2 PLACES.
CONDENSE wa_final-mpobj.
ENDLOOP.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'


EXPORTING
input = wa_final-clmno
IMPORTING
output = wa_final-clmno.
CONCATENATE 'Warranty Claim' wa_final-clmno INTO gv_mdtxt SEPARATED BY
space. "#EC NOTEXT

*********** data: gv_recdv type imrg-recdv.


*********** CLEAR: gv_recdv , gv_mdt ,gv_point.
********** SELECT SINGLE * FROM imrg INTO wa_imrg
********** WHERE point = gv_point AND mdtxt = gv_mdtxt.
*********** WHERE point = wa_imptt-point AND mdtxt = gv_mdtxt.
*********** READ TABLE it_imrg INTO wa_imrg WITH KEY mdtxt = gv_mdtxt.
********** IF sy-subrc EQ 0.
********** wa_final-recdv = wa_imrg-recdv.
********** wa_final-mdtxt = wa_imrg-mdtxt.
********** wa_final-point = wa_imrg-point.
********** SHIFT wa_final-mdtxt BY 15 PLACES.
********** CONDENSE wa_final-mdtxt.
********** ENDIF.
*

CLEAR wa_imrg.
READ TABLE it_imrg INTO wa_imrg WITH KEY point = wa_imptt-point mdtxt =
gv_mdtxt BINARY SEARCH.
IF sy-subrc EQ 0.
wa_final-recdv = wa_imrg-recdv.
wa_final-mdtxt = wa_imrg-mdtxt.
SHIFT wa_final-mdtxt BY 15 PLACES.
CONDENSE wa_final-mdtxt.
ENDIF.

CALL FUNCTION 'QSS0_FLTP_TO_CHAR_CONVERSION' " important logic


EXPORTING
i_number_of_digits = 0
i_fltp_value = wa_imrg-recdv
IMPORTING
e_char_field = gv_warranty_kilometers.
CONDENSE gv_warranty_kilometers.

wa_final-milage = gv_warranty_kilometers.

APPEND wa_final TO t_final.


CLEAR: wa_mbew, wa_lfa1 , wa_imptt , wa_imrg.
CLEAR: wa_final-ven_name , wa_final-ndp_input ,wa_final-ndp ." ,
wa_pnwty ,wa_pnwtyv.
ENDIF.
ENDIF.
* ENDLOOP.
CLEAR: wa_final , wa_pnwty ,wa_pnwtyv,wa_pnwtyh.
ENDLOOP.

* break cab01.
LOOP AT t_final INTO wa_final.
wa_final-total_prts = wa_final-total_k + wa_final-plc_amt.
wa_final-plc_amt = ( wa_final-plc * wa_final-total_prts ) / 100.
wa_final-total_prts = wa_final-total_k + wa_final-plc_amt.
wa_final-total_prts_lab = wa_final-total_prts + wa_final-lbr_amt.
MODIFY t_final FROM wa_final TRANSPORTING total_prts total_prts_lab plc_amt.
CLEAR wa_final.
ENDLOOP.

break cab01.
LOOP AT t_final INTO wa_final. "LONG TEXT ADDED ON 17.08.2013
REFRESH lines.
CLEAR: lines , wa_line.
nam = wa_final-relob_ext.
id = 'LTXT'.
object = 'EQUI'.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
id = id
language = lang
name = nam
object = object
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER = HEADER
TABLES
lines = lines
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.
* wa_line-tdline = ' '.
* APPEND wa_line TO lines.
* ENDIF.
LOOP AT lines INTO wa_line.
CONCATENATE wa_final-tdline wa_line-tdline INTO wa_final-tdline SEPARATED BY
space.
ENDLOOP.
MODIFY t_final FROM wa_final TRANSPORTING tdline.
CLEAR : id , wa_line , wa_final , nam , object.
ENDLOOP.
SORT t_final BY clmno item_no.

* break cab01.
DELETE t_final WHERE zupdate = 'YES'.."WHERE chk = 'X'."SAVED RECORDS DOES'T SHOW
IN THE REPORT NEXT EXECUTION OF OUTPUT.

* break cab01.
* DELETE ADJACENT DUPLICATES FROM t_final COMPARING clmno. " Dinesh
Kumar(HMSI)03.12.2013 09:08:19
***********************************************Fieldcats***************************
****
CREATE OBJECT qm_grid
EXPORTING
i_parent = cl_gui_container=>screen0."qm_container
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

wa_fieldcat-col_pos = 1.
wa_fieldcat-fieldname = 'CHK'.
wa_fieldcat-coltext = 'SELECTED ROWS'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-emphasize = 'C412'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 2.
wa_fieldcat-fieldname = 'MILAGE'.
wa_fieldcat-coltext = 'MILAGE'.
* wa_fieldcat-outputlen = '12'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 3.
wa_fieldcat-fieldname = 'MRNGU'.
wa_fieldcat-coltext = 'UNIT'.
* wa_fieldcat-outputlen = '12'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*
wa_fieldcat-col_pos = 4.
wa_fieldcat-fieldname = 'CREADAT'.
wa_fieldcat-coltext = 'DATE'.
*WA_FIELDCAT-checkbox = 'X'.
* wa_fieldcat-emphasize = '4'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*
wa_fieldcat-col_pos = 5.
wa_fieldcat-fieldname = 'CLMNO'.
wa_fieldcat-coltext = 'CLAIM NO'.
* wa_fieldcat-outputlen = '12'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 6.
wa_fieldcat-fieldname = 'PARNR'.
wa_fieldcat-coltext = 'DEALER CODE'.
* wa_fieldcat-outputlen = '12'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 7.
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-coltext = 'DEALER NAME'.
* wa_fieldcat-outputlen = '12'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 8.
wa_fieldcat-fieldname = 'REFNO'.
wa_fieldcat-coltext = 'DEALER CLM REFNO'.
* wa_fieldcat-outputlen = '30'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 9.
wa_fieldcat-fieldname = 'RELOB_EXT'.
wa_fieldcat-coltext = 'FRAME NO'.
*WA_FIELDCAT-HOTSPOT = 'X'.
* wa_fieldcat-outputlen = '12'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 10.
wa_fieldcat-fieldname = 'TDLINE'.
wa_fieldcat-coltext = 'CUSTOMER NAME'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 11.
wa_fieldcat-fieldname = 'ZZMODEL1'.
wa_fieldcat-coltext = 'MODEL NAME'.
* wa_fieldcat-outputlen = '15'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 12.
wa_fieldcat-fieldname = 'ZZDESC'.
wa_fieldcat-coltext = 'MODEL CODE'.
*WA_FIELDCAT-HOTSPOT = 'X'.
* wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 13.
wa_fieldcat-fieldname = 'ZZMODEL2'.
wa_fieldcat-coltext = 'MODEL NAME2'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 14.
wa_fieldcat-fieldname = 'QUANT'.
wa_fieldcat-coltext = 'QUANTITY'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 15.
wa_fieldcat-fieldname = 'SERNR'.
wa_fieldcat-coltext = 'ENGINE NO'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

* wa_fieldcat-fieldname = 'STPRS'.
* wa_fieldcat-coltext = 'COST'.
**WA_FIELDCAT-HOTSPOT = 'X'.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 16.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-coltext = 'PART NO'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 17.
wa_fieldcat-fieldname = 'MAKTX'.
wa_fieldcat-coltext = 'PART DESC'.
* wa_fieldcat-outputlen = '40'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 18.
wa_fieldcat-fieldname = 'ITEM_NO'.
wa_fieldcat-coltext = 'PART S.NO'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 19.
wa_fieldcat-fieldname = 'WERKS'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'PLANT'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 20.
wa_fieldcat-fieldname = 'DATLWB'.
wa_fieldcat-coltext = 'PRD MONTH'.
* wa_fieldcat-outputlen = '25'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 21.
wa_fieldcat-fieldname = 'ZFR1'.
wa_fieldcat-coltext = 'FR1'."'LAST SIX DIGIT OF FRAME NO'.
* wa_fieldcat-outputlen = '30'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 22.
wa_fieldcat-fieldname = 'ZPART2'.
wa_fieldcat-coltext = 'INIT 5 DIGIT OF MAT'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 23.
wa_fieldcat-fieldname = 'ZPART3'.
wa_fieldcat-coltext = 'INIT 8 DIGIT OF MAT'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 24.
wa_fieldcat-fieldname = 'REFDT'.
wa_fieldcat-coltext = 'DT OF REPAIR'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 25.
wa_fieldcat-fieldname = 'GWLDT'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'DATE OF SALE'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 26.
wa_fieldcat-fieldname = 'GV_PER'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'PERIOD/DAYS'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 27.
wa_fieldcat-fieldname = 'NDP'.
wa_fieldcat-coltext = 'TOTAL COST'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 28.
wa_fieldcat-fieldname = 'PLC'.
wa_fieldcat-coltext = 'PLCA%'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 29.
wa_fieldcat-fieldname = 'PLC_AMT'.
wa_fieldcat-coltext = 'PLCA AMT'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 30.
wa_fieldcat-fieldname = 'FRT'.
wa_fieldcat-coltext = 'TOT FRT'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 31.
wa_fieldcat-fieldname = 'LBR'.
wa_fieldcat-coltext = 'LBR RATE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 32.
wa_fieldcat-fieldname = 'LBR_AMT'.
wa_fieldcat-coltext = 'TOT LBR COST'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 33.
wa_fieldcat-fieldname = 'TOTAL_PRTS'.
wa_fieldcat-coltext = 'TOT PRT AMT'.
* wa_fieldcat-outputlen = '20'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 34.
wa_fieldcat-fieldname = 'TOTAL_PRTS_LAB'.
wa_fieldcat-coltext = 'TOT PRTS & LAB AMT'.
* wa_fieldcat-outputlen = '30'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 35.
wa_fieldcat-fieldname = 'CLAIM_TYPE'.
wa_fieldcat-coltext = 'CLAIM TYPE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 36.
wa_fieldcat-fieldname = 'CLAIM_TYPE1'.
wa_fieldcat-coltext = 'CLAIM TYPE1'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 37.
wa_fieldcat-fieldname = 'CLAIM_TYPE2'.
wa_fieldcat-coltext = 'CLAIM TYPE2'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 38.
wa_fieldcat-fieldname = 'ZZTREAT_CD'.
wa_fieldcat-coltext = 'TREATMENT CODE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 39.
wa_fieldcat-fieldname = 'ZZHTR'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'HTR NO.'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 40.
wa_fieldcat-fieldname = 'ZZDATE_MF'.
wa_fieldcat-coltext = 'DT OF MALFUNC'.
* wa_fieldcat-outputlen = '30'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 41.
wa_fieldcat-fieldname = 'ZZDES_MF'.
wa_fieldcat-coltext = 'DES OF MALFUNC'.
* wa_fieldcat-outputlen = '22'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 42.
wa_fieldcat-fieldname = 'ZZFILL_DT'.
wa_fieldcat-coltext = 'FILING DATE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 43.
wa_fieldcat-fieldname = 'ZZREMARK'.
wa_fieldcat-coltext = 'WTY REMARKS'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 44.
wa_fieldcat-fieldname = 'ZZSTATUS'.
wa_fieldcat-coltext = 'STATUS'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 45.
wa_fieldcat-fieldname = 'VEN_NAME'.
wa_fieldcat-coltext = 'VEND NAME'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 46.
wa_fieldcat-fieldname = 'ZZVEN_PRICE'.
wa_fieldcat-coltext = 'VEND PRICE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 47.
wa_fieldcat-fieldname = 'ZZEXPORT'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'DOM/EXP'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 48.
wa_fieldcat-fieldname = 'CURRENCY'.
wa_fieldcat-coltext = 'CURRENCY'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 49.
wa_fieldcat-fieldname = 'ZZPART_SEND'. "
wa_fieldcat-coltext = 'Dt SEND PARTS'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 50.
wa_fieldcat-fieldname = 'ZZPART_REC'. "
wa_fieldcat-coltext = 'PART REC DATE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 51.
wa_fieldcat-fieldname = 'ZZRESUBMIT'.
wa_fieldcat-coltext = 'RESUBMIT'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 52.
wa_fieldcat-fieldname = 'GV_SENDDATE'.
wa_fieldcat-coltext = 'DORP-DOM'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 53.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-fieldname = 'GV_RECDATE'.
wa_fieldcat-coltext = 'DOS-DORP'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 54.
wa_fieldcat-fieldname = 'GV_SRDATE'. "
wa_fieldcat-coltext = 'DOR-DOS'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 55.
wa_fieldcat-fieldname = 'SYMTOM'.
wa_fieldcat-coltext = 'SYMPTOM Code'.
* wa_fieldcat-outputlen = '30'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 56.
wa_fieldcat-fieldname = 'CODE1'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-coltext = 'SYMPTOM CODE'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 57.
wa_fieldcat-fieldname = 'HERST'.
wa_fieldcat-coltext = 'VENDOR CODE'.
* wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 58.
wa_fieldcat-fieldname = 'CODE'. "F4 help F4 help F4 help VERY
IMP
wa_fieldcat-coltext = 'SECTION CODE'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_table = 'QPCD'."ZQM_EMAIL'.
wa_fieldcat-ref_field = 'CODE'."'ZFECOD'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 59.
wa_fieldcat-fieldname = 'ZSECTION2'. "F4 help F4 help F4 help
VERY IMP
wa_fieldcat-coltext = 'SECTION2'.
wa_fieldcat-f4availabl = 'X'.
* wa_fieldcat-ref_table = 'QPCD'."ZQM_EMAIL'.
wa_fieldcat-ref_field = 'ZSECTION2'."'ZFECOD'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 60.
wa_fieldcat-fieldname = 'ZLOT'. "F4 help F4 help F4 help VERY
IMP
wa_fieldcat-coltext = 'LOT'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_field = 'ZLOT'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 61.
wa_fieldcat-fieldname = 'ZRECIEVED'. "F4 help F4 help F4 help
VERY IMP
wa_fieldcat-coltext = 'RECIEVED'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_field = 'ZRECIEVED'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 62.
wa_fieldcat-fieldname = 'ZOK_NG'. "F4 help F4 help F4 help VERY
IMP
wa_fieldcat-coltext = 'OK/NG'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_field = 'ZOK_NG'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 63.
wa_fieldcat-fieldname = 'ZFAULT'. "F4 help F4 help F4 help VERY
IMP
wa_fieldcat-coltext = 'ZFAULT'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_field = 'ZFAULT'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 64.
wa_fieldcat-fieldname = 'ZCAUSE'.
wa_fieldcat-coltext = 'CAUSE'.
wa_fieldcat-edit = 'X'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 65.
wa_fieldcat-fieldname = 'ZCAUSE2'.
wa_fieldcat-coltext = 'CAUSE2'.
wa_fieldcat-edit = 'X'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 66.
wa_fieldcat-fieldname = 'ZMIS'.
wa_fieldcat-coltext = 'MISCAUSE'.
wa_fieldcat-edit = 'X'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 67.
wa_fieldcat-fieldname = 'ZBREAKUP'.
wa_fieldcat-coltext = 'CONS BREKUP'.
wa_fieldcat-edit = 'X'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 68.
wa_fieldcat-fieldname = 'ZZVEHICLE'.
wa_fieldcat-coltext = 'VEH FOR QC'.
wa_fieldcat-edit = 'X'.
* wa_fieldcat-outputlen = '18'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 69.
wa_fieldcat-fieldname = 'VEH'.
wa_fieldcat-coltext = 'VEH'.
* wa_fieldcat-outputlen = '10'.
* wa_fieldcat-edit = 'X'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 70.
wa_fieldcat-fieldname = 'ZUPDATE'. "F4 help F4 help F4 help
VERY IMP
wa_fieldcat-coltext = 'FIN UPDATE'.
wa_fieldcat-f4availabl = 'X'.
wa_fieldcat-ref_field = 'ZUPDATE'.
* wa_fieldcat-outputlen = '18'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

* wa_fieldcat-col_pos = 71.
* wa_fieldcat-fieldname = 'SYMTEM_TEXT'.
* wa_fieldcat-coltext = 'WTY CLAIM TYPE'.
* wa_fieldcat-outputlen = '15'.
** wa_fieldcat-edit = 'X'.
**WA_FIELDCAT-HOTSPOT = 'X'.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 72.
wa_fieldcat-fieldname = 'SBL'.
wa_fieldcat-coltext = 'OTHER EXP'.
* wa_fieldcat-outputlen = '10'.
* wa_fieldcat-edit = 'X'.
*WA_FIELDCAT-HOTSPOT = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 73.
wa_fieldcat-fieldname = 'EFCD'.
wa_fieldcat-coltext = 'EFCD'.
* wa_fieldcat-outputlen = '10'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 74.
wa_fieldcat-fieldname = 'DIST'.
wa_fieldcat-coltext = 'DIST CODE MONTH'.
* wa_fieldcat-outputlen = '40'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 75.
wa_fieldcat-fieldname = 'GV_MB1'.
wa_fieldcat-coltext = 'YEAR/MONTH'.
* wa_fieldcat-outputlen = '10'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 76.
wa_fieldcat-fieldname = 'TOTAL_K'.
wa_fieldcat-coltext = 'PART AMOUNT'.
* wa_fieldcat-outputlen = '12'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 77.
wa_fieldcat-fieldname = 'NDP_INPUT'.
wa_fieldcat-coltext = 'INPUT PRICE'.
* wa_fieldcat-outputlen = '12'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

l_layout-report = sy-repid.
qm_layout-grid_title = 'WARRANTY CLAIM REPORT'.
qm_layout-zebra = 'X'.
* qm_layout-no_rowmark = 'X'.
qm_layout-cwidth_opt = 'X'.
*QM_LAYOUT-EDIT_MODE = 'X'.
* qm_layout-frontend = 'X'.
* qm_layout-sel_mode = 'B'.
qm_layout-sel_mode = 'A'. "Dinesh Kumar(HMSI)22.11.2013 11:10:30
* qm_layout-box_fname = 'SEL'.
* qm_layout->f4_layouts( ). "Activate F4 Help for Layouts"

* qm_layout-box_fname = 'CHECKBOX'.

PERFORM f003_exclude_tb_functions CHANGING lt_exclude.


CALL METHOD qm_grid->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check = 'X'
* i_structure_name =
is_variant = l_layout
i_save = 'A'
* i_default = 'X'
is_layout = qm_layout
* is_print =
* it_special_groups =
it_toolbar_excluding = lt_exclude
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = t_final
it_fieldcatalog = it_fieldcat
* it_sort =
* it_filter =
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD qm_grid->set_toolbar_interactive.
* CALL METHOD cl_gui_control=>set_focus
* EXPORTING
* control = qm_grid.
CALL METHOD qm_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.

qm_grid->check_changed_data( ).

CLEAR lt_f4.
lt_f4-fieldname = 'CODE'.
lt_f4-register = 'X'.
APPEND lt_f4.

* Dinesh Kumar(HMSI)16.12.2013 17:02:12


CLEAR lt_f4.
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZFAULT'.
* INSERT TABLE lt_f4.
APPEND lt_f4.

CLEAR lt_f4.
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZLOT'.
* INSERT TABLE lt_f4.
APPEND lt_f4.

CLEAR lt_f4.
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZOK_NG'.
* INSERT TABLE lt_f4.
APPEND lt_f4.
*

CLEAR lt_f4.
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZRECIEVED'.
* INSERT TABLE lt_f4.
APPEND lt_f4.

CLEAR lt_f4.
*
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZSECTION2'.
* INSERT TABLE lt_f4.
APPEND lt_f4.

CLEAR lt_f4.
*
lt_f4-register = 'X'.
lt_f4-fieldname = 'ZUPDATE'.
* INSERT TABLE lt_f4.
APPEND lt_f4.

DATA : lo_handler TYPE REF TO lcl_event_handler.


CREATE OBJECT lo_handler.
" Register F4 for BWTAR
CALL METHOD qm_grid->register_f4_for_fields
EXPORTING
it_f4 = lt_f4[].

" Set Handler


SET HANDLER lo_handler->handle_on_f4 FOR qm_grid.

* DATA go_handler TYPE REF TO lcl_event_receiver.


* CREATE OBJECT go_handler.
* SET HANDLER go_handler->delayed_change_select FOR qm_grid.
* CALL METHOD qm_grid->register_delayed_event
* EXPORTING
* i_event_id = cl_gui_alv_grid=>mc_evt_delayed_change_select.
CALL SCREEN 100."screen call
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT

*----------------------------------------------------------------------*
* MODULE USER_COMMAND_0100 INPUT
MODULE user_command_0100 INPUT.
* break cab01.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCLE' .
LEAVE TO SCREEN 0.

WHEN 'SAVE'.

qm_grid->check_changed_data( ).

READ TABLE t_final INTO wa_final WITH KEY chk = 'X'.


IF sy-subrc NE 0.
MESSAGE 'Select Atleast One Row' TYPE 'I'. "#EC NOTEXT
EXIT.
ENDIF.

LOOP AT t_final INTO wa_final WHERE chk = 'X'." and creadat = wa_pnwty-
creadat and clmno = wa_pnwty-clmno and zzposnr = wa_pv-posnr. .
wa_zmq-parnr = wa_final-parnr.
wa_zmq-creadat = wa_final-creadat.
wa_zmq-clmno = wa_final-clmno.
wa_zmq-relob_ext = wa_final-relob_ext.
wa_zmq-werks = wa_final-werks.
wa_zmq-name1 = wa_final-name1.
wa_zmq-zzmodel = wa_final-zzmodel.
wa_zmq-zzdesc = wa_final-zzdesc.
wa_zmq-quant = wa_final-quant.
wa_zmq-sernr = wa_final-sernr.
wa_zmq-matnr = wa_final-matnr.
* wa_zmq-stprs = wa_final-stprs.
wa_zmq-datlwb = wa_final-cr_dt. " Creation date of Frame no.
wa_zmq-zsection = wa_final-code.
wa_zmq-zsection2 = wa_final-zsection2.
wa_zmq-zlot = wa_final-zlot.
wa_zmq-zrecieved = wa_final-zrecieved.
wa_zmq-zok_ng = wa_final-zok_ng.
wa_zmq-zfault = wa_final-zfault.
wa_zmq-zcause = wa_final-zcause.
wa_zmq-zcause2 = wa_final-zcause2.
wa_zmq-zmis = wa_final-zmis.
wa_zmq-zbreakup = wa_final-zbreakup.
wa_zmq-zfr1 = wa_final-zfr1.
wa_zmq-zpart2 = wa_final-zpart2.
wa_zmq-zpart3 = wa_final-zpart3.
* wa_zmq-chk = wa_final-chk.
wa_zmq-refno = wa_final-refno.
wa_zmq-reldt = wa_final-refdt.
* wa_zmq-reldt = wa_final-reldt.
wa_zmq-gwldt = wa_final-gwldt.
wa_zmq-per_days = wa_final-gv_per."gv_days. 7 dEC
wa_zmq-ndp = wa_final-ndp.
wa_zmq-plc = wa_final-plc.
wa_zmq-plc_amt = wa_final-plc_amt .
wa_zmq-frt = wa_final-frt.
wa_zmq-lbr = wa_final-lbr.
wa_zmq-lbr_amt = wa_final-lbr_amt.
wa_zmq-total_prts = wa_final-total_prts.
wa_zmq-total_prts_lab = wa_final-total_prts_lab.
wa_zmq-claim_type = wa_final-claim_type.
wa_zmq-claim_type1 = wa_final-claim_type1.
wa_zmq-claim_type2 = wa_final-claim_type2.
wa_zmq-zupdate = wa_final-zupdate.
wa_zmq-zztreat_cd = wa_final-zztreat_cd."""""""""""29.06.2013
wa_zmq-zzhtr = wa_final-zzhtr.
wa_zmq-zzdate_mf = wa_final-zzdate_mf.
wa_zmq-zzdes_mf = wa_final-zzdes_mf.
wa_zmq-zzfill_dt = wa_final-zzfill_dt.
wa_zmq-zzremark = wa_final-zzremark.
wa_zmq-zzstatus = wa_final-zzstatus.
wa_zmq-zzven_name = wa_final-ven_name.
wa_zmq-zzven_price = wa_final-zzven_price.
wa_zmq-zzexport = wa_final-zzexport.
wa_zmq-zzpart_send = wa_final-zzpart_send .
wa_zmq-zzpart_rec = wa_final-zzpart_rec.
wa_zmq-zzresubmit = wa_final-zzresubmit.
wa_zmq-zzsend_days = wa_final-gv_senddate.
wa_zmq-zzrec_days = wa_final-gv_recdate.
wa_zmq-zzsr_days = wa_final-gv_srdate.
wa_zmq-zzsymtom = wa_final-symtom.
wa_zmq-zzcode = wa_final-code1.
wa_zmq-zzven_code = wa_final-herst.
wa_zmq-zzcurrency = wa_final-currency.
wa_zmq-zzmaktx = wa_final-maktx.
wa_zmq-zzposnr = wa_final-item_no.
* wa_zmq-zzsymtom_other = wa_final-symtom_other.
* wa_zmq-zzpart_other = wa_final-part_other.
* wa_zmq-codegruppe = wa_final-codegruppe.
wa_zmq-milage = wa_final-milage.
wa_zmq-mrngu = wa_final-mrngu.
wa_zmq-zzmodel2 = wa_final-zzmodel2.
wa_zmq-zzvehicle = wa_final-zzvehicle.
wa_zmq-zzveh = wa_final-veh.
wa_zmq-total_k = wa_final-total_k.
wa_zmq-ndp_input = wa_final-ndp_input.
wa_zmq-sbl = wa_final-sbl.
wa_zmq-efcd = wa_final-efcd.
wa_zmq-dist = wa_final-dist.
wa_zmq-tdline = wa_final-tdline.
wa_zmq-year_month = wa_final-gv_mb1.
APPEND wa_zmq TO it_zmq.
CLEAR:wa_zmq , wa_final.
ENDLOOP.
MODIFY zmqanalysis FROM TABLE it_zmq.

* *A pop up is called to confirm the saving of changed data

CALL FUNCTION 'POPUP_TO_CONFIRM'


EXPORTING
titlebar = 'SAVING DATA' "#EC NOTEXT
text_question = 'Do You Want to Continue..?' "#EC NOTEXT
icon_button_1 = 'icon_booking_ok'
IMPORTING
answer = gstring
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF ( gstring = '1' ).
MESSAGE 'Data has been successfully saved' TYPE 'S'. "#EC NOTEXT
*Now the changed data is stored in the it_pbo internal table
it_pbo = t_final.
*Subroutine to display the ALV with changed data.
PERFORM redisplay.
ELSE.
*When user clicks NO or Cancel
MESSAGE 'Data not Saved' TYPE 'S'. "#EC NOTEXT
ENDIF.

WHEN 'SELECT'.
* wa_final-chk = 'X'.
PERFORM checkboxx.
WHEN 'DESELECT'.
PERFORM checkboxd.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

MODULE status_0100 OUTPUT.


SET PF-STATUS 'QM_STATUS'.
* SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0100 OUTPUT

*&---------------------------------------------------------------------*
*& Form set_drdn_table
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
"set_drdn_table

*&---------------------------------------------------------------------*
*& Form redisplay
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM redisplay .
CALL METHOD qm_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 0.
stable-col = 'X'.
qm_grid->check_changed_data( ).
**REfreshed ALV display with the changed values
*This ALV is non editable and contains new values
CALL METHOD qm_grid->refresh_table_display
EXPORTING
is_stable = stable
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "redisplay
*&---------------------------------------------------------------------*
*& Form CHECKBOXX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM checkboxx .
* qm_grid->check_changed_data( ).
LOOP AT t_final INTO wa_final.
wa_final-chk = 'X'.
MODIFY t_final FROM wa_final TRANSPORTING chk.
ENDLOOP.
CALL METHOD qm_grid->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " CHECKBOXX
*&---------------------------------------------------------------------*
*& Form CHECKBOXD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM checkboxd .
* qm_grid->check_changed_data( ).
LOOP AT t_final INTO wa_final.
wa_final-chk = ' '.
MODIFY t_final FROM wa_final TRANSPORTING chk.
ENDLOOP.
CALL METHOD qm_grid->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. "CHECKBOXD

*&---------------------------------------------------------------------*
*& Form f003_exclude_tb_functions
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_LT_EXCLUDE text
*----------------------------------------------------------------------*
FORM f003_exclude_tb_functions CHANGING p_lt_exclude TYPE ui_functions.
*To exclude tool bar fucctions which are not Required.
DATA ls_exclude TYPE ui_func.
REFRESH p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut.
APPEND ls_exclude TO p_lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste.
APPEND ls_exclude TO p_lt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_select_all.
APPEND ls_exclude TO p_lt_exclude.
ENDFORM. "f003_exclude_tb_functions

*&---------------------------------------------------------------------*
*& Form handle_on_f4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->E_FIELDNAME text
* -->ES_ROW_NO text
* -->ER_EVENT_DATA text
*----------------------------------------------------------------------*
FORM handle_on_f4
USING e_fieldname TYPE lvc_fname
es_row_no TYPE lvc_s_roid
er_event_data TYPE REF TO cl_alv_event_data.
*
* " Types
*
* " Check which field raise f4 event
*
* break cab01.
* qm_grid->check_changed_data( ).
* qm_grid->get_changed_data( ).

CASE e_fieldname.
* * ***************************
* WHEN 'CODEGRUPPE'.
* " Read current line
* READ TABLE t_final ASSIGNING <l_out>
* INDEX es_row_no-row_id.
* " Load F4 Data
*
* SELECT codegruppe code "katalogart
* FROM qpcd
* INTO TABLE it_grp
* WHERE codegruppe = 'ZSEC-1F' OR codegruppe = 'ZSEC-2F' OR codegruppe =
'ZSEC-3F' ."katalogart = '9'.AND
* " Set return field
* CLEAR ls_map.
* ls_map-fldname = 'F0001'."CODEGRUPPE'."F0001'.
* ls_map-dyfldname = 'CODEGRUPPE'.
* APPEND ls_map TO lt_map.
*
* " Call Search Help Popup Function
*
* CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
* EXPORTING
* retfield = 'CODEGRUPPE'
* value_org = 'S'
* TABLES
* value_tab = it_grp
* dynpfld_mapping = lt_map
* return_tab = lt_return
* EXCEPTIONS
* parameter_error = 1
* no_values_found = 2
* OTHERS = 3.
* " Read selected f4 value
* READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
* IF ls_return IS NOT INITIAL.
* " Update ALV table
* <l_out>-codegruppe = ls_return-fieldval.
* ENDIF.

WHEN 'CODE'.
" Read current line
READ TABLE t_final ASSIGNING <l_out> INDEX es_row_no-row_id.

REFRESH:lt_map, lt_bwtar, lt_return.


" Load F4 Data
SELECT code
FROM qpcd INTO TABLE lt_bwtar
WHERE codegruppe EQ 'ZSEC-1F'." <l_out>-codegruppe." FOR ALL ENTRIES IN
it_grp WHERE codegruppe = it_grp-codegruppe ."#EC CI_GENBUFF.

" Set return field


CLEAR ls_map.
ls_map-fldname = 'F0001'.
ls_map-dyfldname = 'CODE'.
APPEND ls_map TO lt_map.

" Call Search Help Popup Function


CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CODE'
value_org = 'S'
TABLES
value_tab = lt_bwtar
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-code = ls_return-fieldval.
ENDIF.
************************************************************* Dinesh
Kumar(HMSI)16.12.2013 16:56:05
WHEN 'ZSECTION2'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f4, lt_return.

wa_f4-zsection2 = 'IN HOUSE'.


APPEND wa_f4 TO it_f4.
wa_f4-zsection2 = 'BOP'.
APPEND wa_f4 TO it_f4.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZSECTION2'
value_org = 'S'
TABLES
value_tab = it_f4
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zsection2 = ls_return-fieldval.
ENDIF.

WHEN 'ZRECIEVED'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f5, lt_return.

wa_f5-zrecieved = 'YES'.
APPEND wa_f5 TO it_f5.
wa_f5-zrecieved = 'NO'.
APPEND wa_f5 TO it_f5.
wa_f5-zrecieved = 'NO CHECK'.
APPEND wa_f5 TO it_f5.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZRECIEVED'
value_org = 'S'
TABLES
value_tab = it_f5
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zrecieved = ls_return-fieldval.
ENDIF.

WHEN 'ZOK_NG'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f5, lt_return.

wa_f5-zrecieved = 'OK'.
APPEND wa_f5 TO it_f5.
wa_f5-zrecieved = 'NG'.
APPEND wa_f5 TO it_f5.
wa_f5-zrecieved = '---'.
APPEND wa_f5 TO it_f5.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZOK_NG'
value_org = 'S'
TABLES
value_tab = it_f5
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zok_ng = ls_return-fieldval.
ENDIF.

WHEN 'ZFAULT'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f7, lt_return.

wa_f7-zfault = 'HMSI'.
APPEND wa_f7 TO it_f7.
wa_f7-zfault = 'VENDOR'.
APPEND wa_f7 TO it_f7.
wa_f7-zfault = 'SERVICE'.
APPEND wa_f7 TO it_f7.
wa_f7-zfault = 'OTHERS'.
APPEND wa_f7 TO it_f7.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZFAULT'
value_org = 'S'
TABLES
value_tab = it_f7
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zfault = ls_return-fieldval.
ENDIF.

WHEN 'ZLOT'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f8, lt_return.

wa_f8-zlot = '1'.
APPEND wa_f8 TO it_f8.
wa_f8-zlot = '2'.
APPEND wa_f8 TO it_f8.
wa_f8-zlot = '3'.
APPEND wa_f8 TO it_f8.
wa_f8-zlot = '4'.
APPEND wa_f8 TO it_f8.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZLOT'
value_org = 'S'
TABLES
value_tab = it_f8
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zlot = ls_return-fieldval.
ENDIF.
WHEN 'ZUPDATE'.
" Read current line
READ TABLE t_final ASSIGNING <l_out>
INDEX es_row_no-row_id.
" Load F4 Data

REFRESH:lt_map, it_f9, lt_return.

wa_f9-zupdate = 'YES'.
APPEND wa_f9 TO it_f9.
wa_f9-zupdate = 'NO'.
APPEND wa_f9 TO it_f9.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'


EXPORTING
retfield = 'ZUPDATE'
value_org = 'S'
TABLES
value_tab = it_f9
dynpfld_mapping = lt_map
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
" Read selected f4 value
READ TABLE lt_return INTO ls_return WITH KEY fieldname = 'F0001'.
IF ls_return IS NOT INITIAL.
" Update ALV table
<l_out>-zupdate = ls_return-fieldval.
ENDIF.
***********************************************************************************
****************

ENDCASE.
ls_stable = 'XX'. " Set stable refresh for row and column

* qm_grid->check_changed_data( ).
" ALV Refresh
CALL METHOD qm_grid->refresh_table_display
EXPORTING
is_stable = ls_stable
i_soft_refresh = 'X'
EXCEPTIONS
finished = 1
OTHERS = 2.
" Avoid possible standard Search Help
er_event_data->m_event_handled = 'X'.

ENDFORM. "handle_on_f4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy