0% found this document useful (0 votes)
95 views17 pages

BR 9000

This document contains the code for a FORM called GET_DATA in ABAP. The FORM declares a number of data types and internal tables to store different types of business data. It then retrieves and stores data from various business tables into the internal tables to populate them with live data for subsequent processing or display.

Uploaded by

Rohan Chaudhari
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)
95 views17 pages

BR 9000

This document contains the code for a FORM called GET_DATA in ABAP. The FORM declares a number of data types and internal tables to store different types of business data. It then retrieves and stores data from various business tables into the internal tables to populate them with live data for subsequent processing or display.

Uploaded by

Rohan Chaudhari
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/ 17

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

*& Include ZSDAPI0007_FF


*&-----------------------------------------------------------------------------*
*& Description:
*& Subroutine Processing
*&
*& Developer-ID Developer Name Ticket Number Transport# Date-of-creation
*& CCHAUDHARYR Rohan Chaudhary HD-51930 DWTK942895 28-02-2018
*& DWTK943104
*&-----------------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form GET_FCAT
*&---------------------------------------------------------------------*
* Preparing Field Catalogue
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_fcat .
TYPE-POOLS : abap.
*********************************************************************************
* DECLARATION FOR WORK AREA And LOCAL VARIABLE
*********************************************************************************

DATA: lw_fieldcat TYPE slis_fieldcat_alv,


lw_component TYPE abap_compdescr,
lw_textpool TYPE textpool,
lv_pos TYPE i,
lv_repid LIKE sy-repid,
lv_tabix LIKE sy-tabix,
lv_desc_tab TYPE REF TO cl_abap_tabledescr,
lv_desc_str TYPE REF TO cl_abap_structdescr.
**********************************************************************************
* LOCAL INTERNAL TABLE (LT_)
**********************************************************************************

DATA : lt_textpool TYPE STANDARD TABLE OF textpool,


lt_comp TYPE STANDARD TABLE OF abap_compdescr.

********************************************************************************
* LOCAL CONSTANT (LC_)
********************************************************************************

DATA : lc_just TYPE lvc_just VALUE 'C',


lc_15 TYPE outputlen VALUE '15',
lc_x TYPE c VALUE 'X',
lc_50 TYPE outputlen VALUE '50',
lc_txt4(5) TYPE c VALUE 'TXT04',
lc_txt41(6) TYPE c VALUE 'TXT041',
lc_pltxt(5) TYPE c VALUE 'PLTXT',
lc_aufnr(5) TYPE c VALUE 'AUFNR'.

READ TEXTPOOL 'ZSDAPRE0007' INTO lt_textpool LANGUAGE 'EN'.


IF NOT lt_textpool IS INITIAL.
lv_desc_tab ?= cl_abap_tabledescr=>describe_by_data( it_final ).
lv_desc_str ?= lv_desc_tab->get_table_line_type( ).
LOOP AT lv_desc_str->components INTO lw_component.
lv_tabix = sy-tabix.
IF NOT lw_component IS INITIAL.
READ TABLE lt_textpool INTO lw_textpool INDEX lv_tabix.
IF sy-subrc = 0.
lv_pos = lv_pos + 1.
lw_fieldcat-col_pos = lv_pos.
lw_fieldcat-fieldname = lw_component-name.
lw_fieldcat-seltext_l = lw_textpool-entry.
lw_fieldcat-just = lc_just.
IF lw_component-name = lc_txt4 OR lw_component-name = lc_txt41 OR
lw_component-name = lc_pltxt.
lw_fieldcat-outputlen = lc_50 .
ELSE.
lw_fieldcat-outputlen = lc_15.
ENDIF.
IF lw_component-name = lc_aufnr.
lw_fieldcat-no_zero = 'X'.
ENDIF.
APPEND lw_fieldcat TO it_fieldcatelog.
CLEAR : lw_fieldcat, lv_tabix .
CLEAR : lw_component,lw_textpool.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " GET_FCAT
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* Fetching Data
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
TYPES:
BEGIN OF ty_aufk,
aufnr TYPE aufnr,
autyp TYPE auftyp,
auart TYPE aufart,
ernam TYPE auferfnam,
erdat TYPE auferfdat,
aenam TYPE aufaenam,
aedat TYPE aufaedat,
werks TYPE werks_d,
phas0 TYPE aufphas0 ,
phas1 TYPE aufphas0 ,
phas2 TYPE aufphas0 ,
phas3 TYPE aufphas0 ,
objnr TYPE j_objnr,
kdauf TYPE kdauf,
z_busin_segm TYPE kvgr1,
yybstnk TYPE yybstnk,
gksti TYPE dgeskosist,
END OF ty_aufk,

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,

flag TYPE c VALUE '0',


flag1 TYPE c VALUE '0',
lv_subrc LIKE sy-subrc.

************************************************************************
* Data Fteching
************************************************************************

SELECT * FROM zsdapv0001 INTO TABLE lt_zsdapv0001


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_zsdapv0001 by aufnr objnr kdauf z_busin_segm
aufpl priok iloan.
ENDIF.

* 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.

* IF NOT lt_jest1 IS INITIAL.


* SELECT stsma
* estat
* spras
* txt04
* FROM tj30t INTO TABLE lt_tj30t
* FOR ALL ENTRIES IN lt_jest1
* WHERE estat = lt_jest1-stat
* AND spras = 'EN'.
* IF sy-subrc = 0.
* SORT lt_tj30t BY stsma estat.
* ENDIF.
* SELECT objnr
* stsma
* FROM jsto INTO TABLE lt_jsto
* FOR ALL ENTRIES IN lt_jest1
* WHERE objnr = lt_jest1-objnr.
* IF sy-subrc = 0.
* SORT lt_jsto BY objnr stsma.
* ENDIF.
* SELECT istat
* spras
* txt04
* FROM tj02t INTO TABLE lt_tj02t
* FOR ALL ENTRIES IN lt_jest1
* WHERE istat = lt_jest1-stat
* AND spras = 'EN'.
* IF sy-subrc = 0.
* SORT lt_tj02t BY istat.
* ENDIF.
* ENDIF.
* ENDIF.

IF NOT lt_pmco IS INITIAL.


DESCRIBE TABLE lt_pmco LINES lv_lines.
lt_pmco1 = lt_pmco.
DELETE ADJACENT DUPLICATES FROM lt_pmco COMPARING objnr.

LOOP AT lt_pmco INTO lw_pmco.


READ TABLE lt_pmco1 INTO lw_pmco1 WITH KEY objnr = lw_pmco-objnr BINARY
SEARCH.
IF sy-subrc = 0.
lv_tabix = sy-tabix.
LOOP AT lt_pmco1 INTO lw_pmco1 FROM lv_tabix.
lv_index = sy-tabix.
IF lw_pmco-objnr NE lw_pmco1-objnr.
lv_sum = lv_wrt00 + lv_wrt01 + lv_wrt02 + lv_wrt03 +
lv_wrt04 + lv_wrt05 + lv_wrt06 + lv_wrt07 +
lv_wrt08 + lv_wrt09 + lv_wrt10 + lv_wrt11 +
lv_wrt12 + lv_wrt13 + lv_wrt14 + lv_wrt15 + lv_wrt16.
lw_pmco-wrtsm = lv_sum.
MODIFY lt_pmco FROM lw_pmco TRANSPORTING wrtsm.
CLEAR : lv_sum,lv_wrt01, lv_wrt02, lv_wrt03,
lv_wrt02, lv_wrt03, lv_wrt04,
lv_wrt05, lv_wrt06, lv_wrt07,
lv_wrt08, lv_wrt09, lv_wrt10,
lv_wrt11, lv_wrt12, lv_wrt13,
lv_wrt14, lv_wrt15, lv_wrt16,lv_wrt00,
lw_pmco.
EXIT.
ENDIF.
lv_wrt00 = lv_wrt00 + lw_pmco1-wrt00.
lv_wrt01 = lv_wrt01 + lw_pmco1-wrt01.
lv_wrt02 = lv_wrt02 + lw_pmco1-wrt02.
lv_wrt03 = lv_wrt03 + lw_pmco1-wrt03.
lv_wrt04 = lv_wrt04 + lw_pmco1-wrt04.
lv_wrt05 = lv_wrt05 + lw_pmco1-wrt05.
lv_wrt06 = lv_wrt06 + lw_pmco1-wrt06.
lv_wrt07 = lv_wrt07 + lw_pmco1-wrt07.
lv_wrt08 = lv_wrt08 + lw_pmco1-wrt08.
lv_wrt09 = lv_wrt09 + lw_pmco1-wrt09.
lv_wrt10 = lv_wrt10 + lw_pmco1-wrt10.
lv_wrt11 = lv_wrt11 + lw_pmco1-wrt11.
lv_wrt12 = lv_wrt12 + lw_pmco1-wrt12.
lv_wrt13 = lv_wrt13 + lw_pmco1-wrt13.
lv_wrt14 = lv_wrt14 + lw_pmco1-wrt14.
lv_wrt15 = lv_wrt15 + lw_pmco1-wrt15.
lv_wrt16 = lv_wrt16 + lw_pmco1-wrt16.
ENDLOOP.
IF lv_lines = lv_index.
lv_sum = lv_wrt00 + lv_wrt01 + lv_wrt02 + lv_wrt03 +
lv_wrt04 + lv_wrt05 + lv_wrt06 + lv_wrt07 +
lv_wrt08 + lv_wrt09 + lv_wrt10 + lv_wrt11 +
lv_wrt12 + lv_wrt13 + lv_wrt14 + lv_wrt15 + lv_wrt16.
lw_pmco-wrtsm = lv_sum.
MODIFY lt_pmco FROM lw_pmco TRANSPORTING wrtsm.
CLEAR : lv_sum,lv_wrt01, lv_wrt02, lv_wrt03,
lv_wrt02, lv_wrt03, lv_wrt04,
lv_wrt05, lv_wrt06, lv_wrt07,
lv_wrt08, lv_wrt09, lv_wrt10,
lv_wrt11, lv_wrt12, lv_wrt13,
lv_wrt14, lv_wrt15, lv_wrt16,
lw_pmco.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.

CLEAR : lv_tabix , lv_index, lv_lines.

* IF NOT lt_jest IS INITIAL.


* DESCRIBE TABLE lt_jest LINES lv_lines.
* LOOP AT lt_jest INTO lw_jest.
* READ TABLE lt_jest1 INTO lw_jest1 WITH KEY objnr = lw_jest BINARY SEARCH.
* IF sy-subrc = 0.
* lv_tabix = sy-tabix.
* LOOP AT lt_jest1 INTO lw_jest1 FROM lv_tabix.
* lv_index = sy-tabix.
* IF lw_jest-objnr NE lw_jest1-objnr.
* CONCATENATE LINES OF lt_text INTO lv_syst SEPARATED BY space.
* CONCATENATE LINES OF lt_text1 INTO lv_usrst SEPARATED BY space.
* lw_jeststat-objnr = lw_jest-objnr.
* lw_jeststat-stats = lv_syst.
* lw_jeststat-ustat = lv_usrst.
* APPEND lw_jeststat TO lt_jeststat.
* CLEAR :lw_jeststat, lt_text, lt_text1.
* EXIT.
* ENDIF.
* READ TABLE lt_tj02t INTO lw_tj02t WITH KEY istat = lw_jest1-stat BINARY
SEARCH.
* IF sy-subrc = 0.
* lw_text-value = lw_tj02t-txt04.
* APPEND lw_text TO lt_text.
* CLEAR lw_text.
* ENDIF.
* READ TABLE lt_jsto INTO lw_jsto WITH KEY objnr = lw_jest1-objnr BINARY
SEARCH.
* IF sy-subrc = 0.
* READ TABLE lt_tj30t INTO lw_tj30t WITH KEY stsma = lw_jsto-stsma
* estat = lw_jest1-stat
BINARY SEARCH.
* IF sy-subrc = 0.
* lw_text1-value = lw_tj30t-txt04.
* APPEND lw_text1 TO lt_text1.
* CLEAR lw_text1.
* ENDIF.
* ENDIF.
* CLEAR : lw_jsto,lw_tj30t,lw_tj02t.
* ENDLOOP.
* IF lv_index = lv_lines.
* CONCATENATE LINES OF lt_text INTO lv_syst SEPARATED BY space.
* CONCATENATE LINES OF lt_text1 INTO lv_usrst SEPARATED BY space.
* lw_jeststat-objnr = lw_jest-objnr.
* lw_jeststat-stats = lv_syst.
* lw_jeststat-ustat = lv_usrst.
* APPEND lw_jeststat TO lt_jeststat.
* CLEAR : lw_text , lw_jeststat, lt_text, lt_text1.
* ENDIF.
* ENDIF.
* CLEAR : lw_jest1,lw_jest.
* ENDLOOP.
* ENDIF.
* IF NOT lt_jeststat IS INITIAL.
* SORT lt_jeststat BY objnr.
* ENDIF.

* IF ( NOT s_arbpl IS INITIAL ) OR ( NOT s_larnt IS INITIAL ) OR


* ( NOT s_vkbur IS INITIAL ) OR ( NOT s_kvgr1 IS INITIAL ).
* LOOP AT lt_aufk INTO lw_aufk.
* IF NOT s_arbpl IS INITIAL.
* READ TABLE lt_afih INTO lw_afih WITH KEY aufnr = lw_aufk-aufnr BINARY
SEARCH.
* IF sy-subrc = 0.
* READ TABLE lt_crhd INTO lw_crhd WITH KEY objid = lw_afih-gewrk BINARY
SEARCH .
* IF sy-subrc NE 0.
* DELETE lt_aufk WHERE aufnr = lw_afih-aufnr.
* ENDIF.
* ENDIF.
* ENDIF.
* IF NOT s_larnt IS INITIAL.
* READ TABLE lt_afko INTO lw_afko WITH KEY aufnr = lw_aufk-aufnr BINARY
SEARCH.
* IF sy-subrc = 0.
* READ TABLE lt_afvc INTO lw_afvc WITH KEY aufpl = lw_afko-aufpl BINARY
SEARCH.
* IF sy-subrc NE 0.
* DELETE lt_aufk WHERE aufnr = lw_afko-aufnr.
* ENDIF.
* ENDIF.
* ENDIF.
* IF NOT s_vkbur IS INITIAL.
* READ TABLE lt_qmel INTO lw_qmel WITH KEY aufnr = lw_aufk-aufnr BINARY
SEARCH .
* IF sy-subrc NE 0.
* DELETE lt_aufk WHERE aufnr = lw_aufk-aufnr.
* ENDIF.
* ENDIF.
* IF NOT s_kvgr1 IS INITIAL.
* READ TABLE lt_vbak INTO lw_vbak WITH KEY vbeln = lw_aufk-kdauf BINARY
SEARCH.
* IF sy-subrc NE 0.
* DELETE lt_aufk WHERE aufnr = lw_aufk-kdauf.
* ENDIF.
* ENDIF.
* CLEAR : lw_aufk,lw_afih,lw_crhd,lw_afko,lw_afvc,lw_qmel,lw_vbak.
* ENDLOOP.
* ENDIF.

LOOP AT lt_zsdapv0001 INTO lw_zsdapv0001.

CALL FUNCTION 'STATUS_TEXT_EDIT'


EXPORTING
client = sy-mandt
flg_user_stat = 'X'
objnr = lw_zsdapv0001-objnr
only_active = 'X'
spras = sy-langu
IMPORTING
line = lw_final-txt04
user_line = lw_final-txt041
EXCEPTIONS
object_not_found = 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.

* 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.

IF lw_zsdapv0001-auart = 'ZCRR' OR lw_zsdapv0001-auart = 'ZCSC'


OR lw_zsdapv0001-auart = 'ZCSD'.
READ TABLE lt_vbak INTO lw_vbak WITH KEY vbeln = lw_zsdapv0001-kdauf BINARY
SEARCH.
IF sy-subrc = 0.
lw_final-kvgr1 = lw_vbak-kvgr1.
READ TABLE lt_tvv1t INTO lw_tvv1t WITH KEY kvgr1 = lw_vbak-kvgr1 BINARY
SEARCH.
IF sy-subrc = 0.
lw_final-bezei = lw_tvv1t-bezei.
ENDIF.
ENDIF.
ELSE.
lw_final-kvgr1 = lw_aufk-z_busin_segm.
READ TABLE lt_tvv1t INTO lw_tvv1t WITH KEY kvgr1 = lw_zsdapv0001-z_busin_segm
BINARY SEARCH.
IF sy-subrc = 0.
lw_final-bezei = lw_tvv1t-bezei.
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.

CLEAR : lw_final ,lw_zsdapv0001,lw_qmel ,lw_crhd,lw_afih,


lw_t356_t,lw_iloa,lw_iflotx,lw_veda,lw_jest,
lw_vbak,lw_tvv1t ,lw_afko,lw_afvc,lw_afvv,
lw_pmco,lw_crtx,lw_jeststat.
ENDLOOP.
IF NOT it_final IS INITIAL.
DELETE it_final WHERE txt04 = ' '
AND txt041 = ' '.
ENDIF.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* Displaying ALV List.
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_data .
**********************************************************************************
* LOCAL INTERNAL TABLE (LT_)
**********************************************************************************

DATA : lt_layout TYPE slis_layout_alv,


lt_variant TYPE disvariant.

********************************************************************************
* LOCAL CONSTANT (LC_) AND VARIABLES
********************************************************************************

DATA : lc_just TYPE lvc_just VALUE 'C',


lc_x TYPE c VALUE 'X',
lv_repid LIKE sy-repid.

* Build Layout.
lt_layout-zebra = lc_x.

* Passing report name


lv_repid = sy-repid.

* 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

You might also like