Professional Documents
Culture Documents
BR 9000
BR 9000
********************************************************************************
* LOCAL CONSTANT (LC_)
********************************************************************************
BEGIN OF ty_qmel,
qmtxt TYPE qmtxt,
aufnr TYPE aufnr,
vkbur TYPE vkbur,
END OF ty_qmel,
BEGIN OF ty_crhd,
objid TYPE cr_objid,
arbpl TYPE arbpl,
END OF ty_crhd,
BEGIN OF ty_afih,
aufnr TYPE aufnr,
priok TYPE priok,
iloan TYPE iloan,
ilart TYPE ila,
gewrk TYPE lgwid,
END OF ty_afih,
BEGIN OF ty_t356_t,
spras TYPE spras,
priok TYPE priok,
priokx TYPE priokx,
END OF ty_t356_t,
BEGIN OF ty_iloa,
iloan TYPE iloan,
tplnr TYPE tplnr,
END OF ty_iloa,
BEGIN OF ty_iflotx,
tplnr TYPE tplnr,
spras TYPE spras,
pltxt TYPE pltxt,
END OF ty_iflotx,
BEGIN OF ty_veda,
vbeln TYPE vbeln_va,
vbegdat TYPE vbdat_veda,
venddat TYPE vndat_veda,
END OF ty_veda,
BEGIN OF ty_jest,
objnr TYPE j_objnr,
stat TYPE j_status,
inact TYPE j_inact,
END OF ty_jest,
BEGIN OF ty_tj02t,
istat TYPE j_istat,
spras TYPE spras,
txt04 TYPE j_txt04,
END OF ty_tj02t,
BEGIN OF ty_jsto,
objnr TYPE j_objnr,
stsma TYPE j_stsma,
stat TYPE j_txt04,
END OF ty_jsto,
BEGIN OF ty_tj30t,
stsma TYPE j_stsma,
estat TYPE j_estat,
spras TYPE spras,
txt04 TYPE j_txt04,
END OF ty_tj30t,
BEGIN OF ty_vbak,
vbeln TYPE vbeln_va,
kvgr1 TYPE kvgr1,
END OF ty_vbak,
BEGIN OF ty_tvv1t,
kvgr1 TYPE kvgr1,
bezei TYPE bezei20,
END OF ty_tvv1t,
BEGIN OF ty_afvc,
aufpl TYPE co_aufpl,
aplzl TYPE co_aplzl,
larnt TYPE lstar,
END OF ty_afvc,
BEGIN OF ty_afvv,
aufpl TYPE co_aufpl,
aplzl TYPE co_aplzl,
arbei TYPE arbeit,
ntend TYPE vorgabeend2,
END OF ty_afvv,
BEGIN OF ty_afko,
aufnr TYPE aufnr,
aufpl TYPE co_aufpl,
gltrp TYPE co_gltrp,
END OF ty_afko,
BEGIN OF ty_pmco,
objnr TYPE bp_objekt,
wrttp TYPE co_wrttp,
wrt00 TYPE bp_wpl,
wrt01 TYPE bp_wpl,
wrt02 TYPE bp_wpl,
wrt03 TYPE bp_wpl,
wrt04 TYPE bp_wpl,
wrt05 TYPE bp_wpl,
wrt06 TYPE bp_wpl,
wrt07 TYPE bp_wpl,
wrt08 TYPE bp_wpl,
wrt09 TYPE bp_wpl,
wrt10 TYPE bp_wpl,
wrt11 TYPE bp_wpl,
wrt12 TYPE bp_wpl,
wrt13 TYPE bp_wpl,
wrt14 TYPE bp_wpl,
wrt15 TYPE bp_wpl,
wrt16 TYPE bp_wpl,
wrtsm TYPE bp_wpl,
END OF ty_pmco,
BEGIN OF ty_crtx,
objid TYPE cr_objid,
ktext_up TYPE cr_ktextup,
END OF ty_crtx,
BEGIN OF ty_text,
value TYPE j_txt04,
END OF ty_text,
BEGIN OF ty_jeststat,
objnr TYPE objnr,
stats TYPE status,
ustat TYPE status,
END OF ty_jeststat.
************************************************************************
* DECLARATION FOR INTERNAL TABLE
************************************************************************
DATA : lt_aufk TYPE STANDARD TABLE OF ty_aufk INITIAL SIZE 0,
lt_qmel TYPE STANDARD TABLE OF ty_qmel INITIAL SIZE 0,
lt_crhd TYPE STANDARD TABLE OF ty_crhd INITIAL SIZE 0,
lt_afih TYPE STANDARD TABLE OF ty_afih INITIAL SIZE 0,
lt_t356_t TYPE STANDARD TABLE OF ty_t356_t INITIAL SIZE 0,
lt_iloa TYPE STANDARD TABLE OF ty_iloa INITIAL SIZE 0,
lt_iflotx TYPE STANDARD TABLE OF ty_iflotx INITIAL SIZE 0,
lt_veda TYPE STANDARD TABLE OF ty_veda INITIAL SIZE 0,
lt_jest TYPE STANDARD TABLE OF ty_jest INITIAL SIZE 0,
lt_jest_tmp TYPE STANDARD TABLE OF ty_jest INITIAL SIZE 0,
lt_jest1 TYPE STANDARD TABLE OF ty_jest INITIAL SIZE 0,
lt_tj02t TYPE STANDARD TABLE OF ty_tj02t INITIAL SIZE 0,
lt_jsto TYPE STANDARD TABLE OF ty_jsto INITIAL SIZE 0,
lt_tj30t TYPE STANDARD TABLE OF ty_tj30t INITIAL SIZE 0,
lt_vbak TYPE STANDARD TABLE OF ty_vbak INITIAL SIZE 0,
lt_tvv1t TYPE STANDARD TABLE OF ty_tvv1t INITIAL SIZE 0,
lt_afko TYPE STANDARD TABLE OF ty_afko INITIAL SIZE 0,
lt_afvc TYPE STANDARD TABLE OF ty_afvc INITIAL SIZE 0,
lt_afvv TYPE STANDARD TABLE OF ty_afvv INITIAL SIZE 0,
lt_pmco TYPE STANDARD TABLE OF ty_pmco INITIAL SIZE 0,
lt_pmco1 TYPE STANDARD TABLE OF ty_pmco INITIAL SIZE 0,
lt_crtx TYPE STANDARD TABLE OF ty_crtx INITIAL SIZE 0,
lt_text TYPE STANDARD TABLE OF ty_text INITIAL SIZE 0,
lt_text1 TYPE STANDARD TABLE OF ty_text INITIAL SIZE 0,
lt_jeststat TYPE STANDARD TABLE OF ty_jeststat INITIAL SIZE 0,
lt_zsdapv0001 TYPE STANDARD TABLE OF zsdapv0001 INITIAL SIZE 0.
************************************************************************
* DECLARATION FOR WORK AREA
************************************************************************
DATA : lw_aufk TYPE ty_aufk ,
lw_qmel TYPE ty_qmel ,
lw_crhd TYPE ty_crhd ,
lw_afih TYPE ty_afih ,
lw_t356_t TYPE ty_t356_t ,
lw_iloa TYPE ty_iloa ,
lw_iflotx TYPE ty_iflotx ,
lw_veda TYPE ty_veda ,
lw_jest TYPE ty_jest ,
lw_jest1 TYPE ty_jest ,
lw_jest_tmp TYPE ty_jest ,
lw_tj02t TYPE ty_tj02t ,
lw_jsto TYPE ty_jsto ,
lw_tj30t TYPE ty_tj30t ,
lw_vbak TYPE ty_vbak ,
lw_tvv1t TYPE ty_tvv1t ,
lw_afko TYPE ty_afko ,
lw_afvc TYPE ty_afvc ,
lw_afvv TYPE ty_afvv ,
lw_pmco TYPE ty_pmco ,
lw_pmco1 TYPE ty_pmco ,
lw_crtx TYPE ty_crtx ,
lw_text TYPE ty_text ,
lw_text1 TYPE ty_text ,
lw_jeststat TYPE ty_jeststat,
lw_final TYPE ty_final,
lw_zsdapv0001 TYPE zsdapv0001.
************************************************************************
* DECLARATION FOR LOCAL VARIABLE
************************************************************************
DATA : lv_syst TYPE status,
lv_usrst TYPE status,
lv_index TYPE sy-tabix,
lv_tabix TYPE sy-tabix,
lv_lines TYPE sy-tfill,
lv_sum TYPE bp_wpl,
lv_wrt00 TYPE bp_wpl,
lv_wrt01 TYPE bp_wpl,
lv_wrt02 TYPE bp_wpl,
lv_wrt03 TYPE bp_wpl,
lv_wrt04 TYPE bp_wpl,
lv_wrt05 TYPE bp_wpl,
lv_wrt06 TYPE bp_wpl,
lv_wrt07 TYPE bp_wpl,
lv_wrt08 TYPE bp_wpl,
lv_wrt09 TYPE bp_wpl,
lv_wrt10 TYPE bp_wpl,
lv_wrt11 TYPE bp_wpl,
lv_wrt12 TYPE bp_wpl,
lv_wrt13 TYPE bp_wpl,
lv_wrt14 TYPE bp_wpl,
lv_wrt15 TYPE bp_wpl,
lv_wrt16 TYPE bp_wpl,
************************************************************************
* Data Fteching
************************************************************************
* SELECT aufnr
* autyp
* auart
* ernam
* erdat
* aenam
* aedat
* werks
* phas0
* phas1
* phas2
* phas3
* objnr
* kdauf
* z_busin_segm
* yybstnk
* FROM aufk INTO TABLE lt_aufk
* WHERE autyp = '30'
* AND werks IN s_werks
* AND auart IN s_auart
* AND erdat IN s_erdat
* AND phas2 = space
* AND phas3 = space
* AND z_busin_segm IN s_kvgr1.
* IF sy-subrc = 0.
* SORT lt_aufk BY aufnr objnr kdauf z_busin_segm.
* ENDIF.
IF NOT lt_zsdapv0001 IS INITIAL.
* SELECT aufnr
* aufpl
* gltrp
* FROM afko INTO TABLE lt_afko
* FOR ALL ENTRIES IN lt_aufk
* WHERE aufnr = lt_aufk-aufnr.
* IF sy-subrc = 0.
* SORT lt_afko BY aufpl.
* ENDIF.
* IF NOT lt_afko IS INITIAL.
SELECT aufpl
aplzl
larnt
FROM afvc INTO TABLE lt_afvc
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE aufpl = lt_zsdapv0001-aufpl
AND larnt IN s_larnt.
IF sy-subrc = 0 .
SORT lt_afvc BY aufpl aplzl.
ENDIF.
IF NOT lt_afvc IS INITIAL.
SELECT aufpl
aplzl
arbei
ntend
FROM afvv INTO TABLE lt_afvv
FOR ALL ENTRIES IN lt_afvc
WHERE aufpl = lt_afvc-aufpl
AND aplzl = lt_afvc-aplzl.
IF sy-subrc = 0.
SORT lt_afvv BY aufpl aplzl.
ENDIF.
ENDIF.
ENDIF.
SELECT vbeln
kvgr1
FROM vbak INTO TABLE lt_vbak
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE vbeln = lt_zsdapv0001-kdauf
AND kvgr1 IN s_kvgr1.
IF sy-subrc = 0.
SORT lt_vbak BY vbeln kvgr1.
ENDIF.
IF NOT lt_vbak IS INITIAL .
SELECT kvgr1
bezei
FROM tvv1t INTO TABLE lt_tvv1t
ORDER BY kvgr1 bezei ASCENDING.
ENDIF.
SELECT qmtxt
aufnr
vkbur
FROM qmel INTO TABLE lt_qmel
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE aufnr = lt_zsdapv0001-aufnr
AND vkbur IN s_vkbur.
IF sy-subrc = 0.
SORT lt_qmel BY aufnr.
ENDIF.
* SELECT aufnr
* priok
* iloan
* ilart
* gewrk
* FROM afih INTO TABLE lt_afih
* FOR ALL ENTRIES IN lt_aufk
* WHERE aufnr = lt_aufk-aufnr.
* IF sy-subrc = 0 .
* SORT lt_afih BY aufnr priok iloan.
* ENDIF.
* IF NOT lt_afih IS INITIAL.
* SELECT iloan
* tplnr
* FROM iloa INTO TABLE lt_iloa
* FOR ALL ENTRIES IN lt_afih
* WHERE iloan = lt_afih-iloan.
* IF sy-subrc = 0.
* SORT lt_iloa BY iloan tplnr.
* ENDIF.
* IF NOT lt_iloa IS INITIAL .
SELECT tplnr
spras
pltxt
FROM iflotx INTO TABLE lt_iflotx
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE tplnr = lt_zsdapv0001-tplnr
AND spras = 'EN'.
IF sy-subrc = 0.
SORT lt_iflotx BY tplnr.
ENDIF.
* ENDIF.
SELECT spras
priok
priokx
FROM t356_t INTO TABLE lt_t356_t
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE spras = 'EN'
AND priok = lt_zsdapv0001-priok.
IF sy-subrc = 0.
SORT lt_t356_t BY priok.
ENDIF.
SELECT objid
arbpl
FROM crhd INTO TABLE lt_crhd
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE objid = lt_zsdapv0001-gewrk
AND arbpl IN s_arbpl.
IF sy-subrc = 0.
SORT lt_crhd BY objid.
ENDIF.
IF NOT lt_crhd IS INITIAL.
SELECT objid
ktext_up
FROM crtx INTO TABLE lt_crtx
FOR ALL ENTRIES IN lt_crhd
WHERE objid = lt_crhd-objid.
IF sy-subrc = 0.
SORT lt_crtx BY objid.
ENDIF.
ENDIF.
* ENDIF.
SELECT vbeln
vbegdat
venddat
FROM veda INTO TABLE lt_veda
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE vbeln = lt_zsdapv0001-kdauf.
IF sy-subrc = 0 .
SORT lt_veda BY vbeln.
ENDIF.
* SORT lt_aufk BY objnr.
* CALL FUNCTION 'PM_WORKORDER_COSTS_LIST'
* EXPORTING
* list_currency = ' '
** PMCO_DETAIL = ' '
** ALL_CURRENCIES = ' '
** EXTERNAL_CALL = ' '
* TABLES
* list_aufk = lt_aufk
** LIST_PMCO =
** COMP_PMCO =
* EXCEPTIONS
* no_orders = 1
* no_currency = 2
* no_costs_found = 3
* OTHERS = 4
* .
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
*
SELECT objnr
wrttp
wrt00
wrt01
wrt02
wrt03
wrt04
wrt05
wrt06
wrt07
wrt08
wrt09
wrt10
wrt11
wrt12
wrt13
wrt14
wrt15
wrt16
FROM pmco INTO TABLE lt_pmco
FOR ALL ENTRIES IN lt_zsdapv0001
WHERE objnr = lt_zsdapv0001-objnr
AND wrttp = '04'.
IF sy-subrc = 0.
SORT lt_pmco BY objnr.
ENDIF.
* SELECT objnr
* stat
* inact
* FROM jest INTO TABLE lt_jest
* FOR ALL ENTRIES IN lt_aufk
* WHERE objnr = lt_aufk-objnr
* AND stat IN ('I0001','I0002')
* AND inact = ' '
* %_HINTS ORACLE 'INDEX("JEST","JEST~Z01")'.
* IF sy-subrc = 0.
* SORT lt_jest BY objnr stat.
* ENDIF.
* SELECT objnr
* stat
* inact
* FROM jest INTO TABLE lt_jest1
* FOR ALL ENTRIES IN lt_jest
* WHERE objnr = lt_jest-objnr
* AND inact = ' '
* %_HINTS ORACLE 'INDEX("JEST","JEST~Z01")'.
* IF sy-subrc = 0.
* SORT lt_jest1 BY objnr stat.
* ENDIF.
* READ TABLE lt_afko INTO lw_afko WITH KEY aufnr = lw_aufk-aufnr BINARY SEARCH.
* IF sy-subrc = 0.
lw_final-gltrp = lw_zsdapv0001-gltrp.
READ TABLE lt_afvc INTO lw_afvc WITH KEY aufpl = lw_zsdapv0001-aufpl BINARY
SEARCH.
IF sy-subrc = 0.
READ TABLE lt_afvv INTO lw_afvv WITH KEY aufpl = lw_afvc-aufpl
aplzl = lw_afvc-aplzl BINARY
SEARCH .
IF sy-subrc = 0 .
lw_final-ntend = lw_afvv-ntend.
IF lw_afvc-larnt = 'BR9000'.
lw_final-arbei = lw_afvv-arbei.
ELSE.
lw_final-arbei = ' '.
ENDIF.
IF lw_afko-gltrp > lw_afvv-ntend.
lw_final-ntend1 = lw_afko-gltrp.
ELSEIF lw_afvv-ntend > lw_afko-gltrp.
lw_final-ntend1 = lw_afvv-ntend.
ELSE.
lw_final-ntend1 = lw_afvv-ntend.
ENDIF.
ENDIF.
ENDIF.
* ENDIF.
* READ TABLE lt_afih INTO lw_afih WITH KEY aufnr = lw_aufk-aufnr BINARY SEARCH.
* IF sy-subrc = 0.
lw_final-ilart = lw_zsdapv0001-ilart.
* READ TABLE lt_iloa INTO lw_iloa WITH KEY iloan = lw_afih-iloan BINARY
SEARCH.
* IF sy-subrc = 0.
READ TABLE lt_iflotx INTO lw_iflotx WITH KEY tplnr = lw_zsdapv0001-tplnr
BINARY SEARCH.
IF sy-subrc = 0.
lw_final-tplnr = lw_zsdapv0001-tplnr.
lw_final-pltxt = lw_iflotx-pltxt.
ENDIF.
* ENDIF.
READ TABLE lt_t356_t INTO lw_t356_t WITH KEY priok = lw_zsdapv0001-priok
BINARY SEARCH.
IF sy-subrc = 0.
lw_final-priokx = lw_t356_t-priokx.
ENDIF.
READ TABLE lt_crhd INTO lw_crhd WITH KEY objid = lw_zsdapv0001-gewrk BINARY
SEARCH .
IF sy-subrc = 0.
lw_final-arbpl = lw_crhd-arbpl.
READ TABLE lt_crtx INTO lw_crtx WITH KEY objid = lw_crhd-objid BINARY
SEARCH .
IF sy-subrc = 0.
lw_final-gewrk = lw_crtx-ktext_up.
ENDIF.
ENDIF.
* ENDIF.
READ TABLE lt_veda INTO lw_veda WITH KEY vbeln = lw_zsdapv0001-kdauf BINARY
SEARCH .
IF sy-subrc = 0.
lw_final-vbeln = lw_veda-vbeln.
lw_final-vbegdat = lw_veda-vbegdat.
lw_final-venddat = lw_veda-venddat.
ELSE.
lw_final-vbeln = ' '.
ENDIF.
READ TABLE lt_pmco INTO lw_pmco WITH KEY objnr = lw_zsdapv0001-objnr BINARY
SEARCH.
IF sy-subrc = 0.
lw_final-wrt00 = lw_pmco-wrtsm.
ENDIF.
* READ TABLE lt_jest INTO lw_jest WITH KEY objnr = lw_aufk-objnr BINARY SEARCH.
* IF sy-subrc = 0.
* READ TABLE lt_jeststat INTO lw_jeststat WITH KEY objnr = lw_jest-objnr
BINARY SEARCH.
* IF sy-subrc = 0.
* lw_final-txt04 = lw_jeststat-stats.
* lw_final-txt041 = lw_jeststat-ustat.
* ENDIF.
* ENDIF.
READ TABLE lt_qmel INTO lw_qmel WITH KEY aufnr = lw_zsdapv0001-aufnr BINARY
SEARCH.
IF sy-subrc = 0.
lw_final-vkbur = lw_qmel-vkbur.
lw_final-qmtxt = lw_qmel-qmtxt.
ENDIF.
lw_final-aufnr = lw_zsdapv0001-aufnr.
lw_final-werks = lw_zsdapv0001-werks.
lw_final-erdat = lw_zsdapv0001-erdat.
lw_final-auart = lw_zsdapv0001-auart.
lw_final-ernam = lw_zsdapv0001-ernam.
lw_final-aenam = lw_zsdapv0001-aenam.
lw_final-aedat = lw_zsdapv0001-aedat.
lw_final-yybstnk = lw_zsdapv0001-yybstnk.
APPEND lw_final TO it_final.
********************************************************************************
* LOCAL CONSTANT (LC_) AND VARIABLES
********************************************************************************
* Build Layout.
lt_layout-zebra = lc_x.
* Displaying ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lv_repid
is_layout = lt_layout
it_fieldcat = it_fieldcatelog
i_default = lc_x
i_save = lc_x
is_variant = lt_variant
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 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. " DISPLAY_DATA
1001438356 00000009