Académique Documents
Professionnel Documents
Culture Documents
*& Include
ZSD_DO_PENDING_03
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form GET_DATA_LIPS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_LIPS .
*if it_vbuk is not initial.
select
VBELN
POSNR
ERNAM
ERZET
ERDAT
MATNR
MATKL
WERKS
LGORT
CHARG
MEINS
VRKME
BRGEW
GEWEI
VGBEL
VGPOS
GSBER
MTART
LFIMG
umvkz
NTGEW
LGMNG
into table IT_LIPS
from LIPS
*
for all entries in it_vbuk
where VBELN in S_VBELN and
MATKL in S_MATKL and
ERDAT in S_ERDAT and
MATNR in S_MATNR.
sort IT_LIPS by VGBEL.
*endif.
endform.
" GET_DATA_LIPS
*&---------------------------------------------------------------------*
*&
Form GET_DATA_LIKP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_LIKP .
if IT_LIPS is not initial.
select
VBELN
KUNNR
FKDAT
into table IT_LIKP
from LIKP
for all entries in IT_LIPS
where VBELN = IT_LIPS-VBELN and
KUNNR in S_KUNNR.
*
*
perform GET_DATA_VBAP.
PERFORM GET_DATA_T001W.
PERFORM GET_DATA_VBRP.
perform GET_DO_NUMBER.
perform GET_DATA_VBRP.
endif.
endform.
" GET_DATA_LIKP
*&---------------------------------------------------------------------*
*&
Form GET_DATA_VBAP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_VBAP .
*IF IT_LIPS IS NOT INITIAL.
select
VBELN
POSNR
ZIEME
kwmeng
NETWR
kwmeng
KLMENG
NTGEW
PRCTR
ERNAM
ERDAT
ERZET
NETPR
into table IT_VBAP
from VBAP
for all entries in IT_LIPS
where VBELN = IT_LIPS-VGBEL and
VBELN in S_VB_AP and
ERDAT in S_DAT_AP.
sort IT_VBAP by VBELN.
*DELETE ADJACENT DUPLICATES FROM IT_VBAP COMPARING VBELN.
endform.
" GET_DATA_VBAP
*&---------------------------------------------------------------------*
*&
Form GET_DATA_VBUK
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_VBUK .
*
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_VBRP .
*IF IT_LIPS IS NOT INITIAL.
IF IT_VBUK IS NOT INITIAL.
select
VBELN
VGBEL
ERNAM
ERDAT
ERZET
from VBRP
into table IT_VBRP
for all entries in IT_VBUK
where VGBEL = IT_VBUK-VBELN.
ENDIF.
sort IT_VBRP by VBELN.
endform.
" GET_DATA_VBRP
*&---------------------------------------------------------------------*
*&
Form GET_DATA_KNA1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_KNA1 .
if IT_LIKP is not initial.
select
KUNNR
LAND1
NAME1
NAME2
ORT01
PSTLZ
REGIO
STRAS
TELF1
ADRNR
ORT02
into table IT_KNA1
from KNA1
for all entries in IT_LIKP
where KUNNR = IT_LIKP-KUNNR.
endif.
endform.
" GET_DATA_KNA1
*&---------------------------------------------------------------------*
*&
Form GET_DATA_T005U
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_T005U .
perform
perform
perform
perform
endif.
GET_DATA_ADRC.
GET_DATA_KNVV.
GET_DATA_ADRC.
GET_DATA_KNVV.
endform.
" GET_DATA_T005U
*&---------------------------------------------------------------------*
*&
Form GET_DATA_ADRC
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_ADRC .
select
ADDRNUMBER
CITY1
CITY2
STR_SUPPL3
LOCATION
from ADRC
into table IT_ADRC
for all entries in IT_KNA1
where ADDRNUMBER = IT_KNA1-ADRNR.
endform.
" GET_DATA_ADRC
*&---------------------------------------------------------------------*
*&
Form GET_DATA_KNVV
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_KNVV .
select
KUNNR
KDGRP
BZIRK
INCO2
VKGRP
VKBUR
from KNVV
into table IT_KNVV
for all entries in IT_KNA1
where KUNNR = IT_KNA1-KUNNR.
endform.
" GET_DATA_KNVV
*&---------------------------------------------------------------------*
*&
Form GET_DATA_BZIRK
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_BZIRK .
endif.
endform.
" GET_DATA_BZIRK
*&---------------------------------------------------------------------*
*&
Form GET_DATA_VKBUR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_VKBUR .
select
SPRAS
VKBUR
BEZEI
into table IT_VKBUR
from TVKBT
for all entries in IT_KNVV
where SPRAS = 'EN' and
VKBUR = IT_KNVV-VKBUR.
endform.
" GET_DATA_VKBUR
*&---------------------------------------------------------------------*
*&
Form GET_DATA_VKGRP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_VKGRP .
select
SPRAS
VKGRP
BEZEI
into table IT_VKGRP
from TVGRT
for all entries in IT_KNVV
where SPRAS = 'EN' and
VKGRP = IT_KNVV-VKGRP.
endform.
" GET_DATA_VKGRP
*&---------------------------------------------------------------------*
*&
Form GET_DATA_KDGRP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DATA_KDGRP .
select
SPRAS
KDGRP
KTEXT
into table IT_KDGRP
from T151T
for all entries in IT_KNVV
where SPRAS = 'EN' and
KDGRP = IT_KNVV-KDGRP.
endform.
" GET_DATA_KDGRP
*&---------------------------------------------------------------------*
*&
Form GET_MERGE_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_MERGE_DATA .
IF IT_SO IS NOT INITIAL .
LOOP AT IT_SO INTO WA_SO.
*
*
WA_MERGE-VBELN_AP = WA_SO-VBELN_AP.
WA_MERGE-POSNR_AP = WA_SO-POSNR_AP.
*
*
*
*
*
*
*
*
*
*
*
WA_MERGE-ZIEME_AP = WA_SO-ZIEME_AP.
WA_MERGE-kwmeng_AP = WA_SO-kwmeng_AP. " SO_TON
WA_MERGE-NETWR_AP = WA_SO-NETWR_AP.
WA_MERGE-KLMENG_AP = WA_SO-KLMENG_AP. " SO_BAG
WA_MERGE-NTGEW_AP = WA_SO-NTGEW_AP. " SO_KG
WA_MERGE-PRCTR_AP = WA_SO-PRCTR_AP.
WA_MERGE-ERNAM_AP = WA_SO-ERNAM_AP.
WA_MERGE-ERDAT_AP = WA_SO-ERDAT_AP.
WA_MERGE-ERZET_AP = WA_SO-ERZET_AP.
WA_MERGE-NETPR_AP = WA_SO-NETPR_AP.
WA_MERGE-WBSTK = WA_SO-WBSTK.
WA_MERGE-VBELN_RP = WA_SO-VBELN_RP.
WA_MERGE-VGBEL_RP = WA_SO-VGBEL_RP.
WA_MERGE-ERNAM_RP = WA_SO-ERNAM_RP.
WA_MERGE-ERDAT_RP = WA_SO-ERDAT_RP.
WA_MERGE-ERZET_RP = WA_SO-ERZET_RP.
WA_MERGE-DIFF_BAG = WA_SO-DIFF_BAG.
WA_MERGE-DIFF_KG = WA_SO-DIFF_KG.
WA_MERGE-DIFF_TON = WA_SO-DIFF_TON.
READ TABLE IT_DO_NUMBER INTO WA_DO_NUMBER WITH KEY VGBEL = WA_SOVBELN_AP BINARY SEARCH.
IF SY-SUBRC = 0.
V_INDEX = SY-TABIX.
LOOP AT IT_DO_NUMBER INTO WA_DO_NUMBER FROM V_INDEX.
if WA_DO_NUMBER-VGBEL <> WA_SO-VBELN_AP.
exit.
endif.
WA_MERGE-VBELN
WA_MERGE-POSNR
WA_MERGE-ERNAM
WA_MERGE-ERZET
WA_MERGE-ERDAT
WA_MERGE-MATNR
WA_MERGE-MATKL
WA_MERGE-WERKS
WA_MERGE-LGORT
WA_MERGE-CHARG
WA_MERGE-MEINS
WA_MERGE-VRKME
WA_MERGE-NTGEW
WA_MERGE-BRGEW
WA_MERGE-GEWEI
WA_MERGE-VGBEL
WA_MERGE-VGPOS
WA_MERGE-GSBER
WA_MERGE-MTART
WA_MERGE-LFIMG
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
WA_DO_NUMBER-VBELN.
WA_DO_NUMBER-POSNR.
WA_DO_NUMBER-ERNAM.
WA_DO_NUMBER-ERZET.
WA_DO_NUMBER-ERDAT.
WA_DO_NUMBER-MATNR.
WA_DO_NUMBER-MATKL.
WA_DO_NUMBER-WERKS.
WA_DO_NUMBER-LGORT.
WA_DO_NUMBER-CHARG.
WA_DO_NUMBER-MEINS.
WA_DO_NUMBER-VRKME.
WA_DO_NUMBER-NTGEW.
WA_DO_NUMBER-BRGEW.
WA_DO_NUMBER-GEWEI.
WA_DO_NUMBER-VGBEL.
WA_DO_NUMBER-VGPOS.
WA_DO_NUMBER-GSBER.
WA_DO_NUMBER-MTART.
WA_DO_NUMBER-LFIMG.
WA_MERGE-UMVKZ = WA_DO_NUMBER-UMVKZ.
WA_MERGE-WBSTK = WA_DO_NUMBER-WBSTK.
WA_MERGE-VBELN_RP
WA_MERGE-VGBEL_RP
WA_MERGE-ERNAM_RP
WA_MERGE-ERDAT_RP
WA_MERGE-ERZET_RP
=
=
=
=
=
WA_DO_NUMBER-VBELN_RP.
WA_DO_NUMBER-VGBEL_RP.
WA_DO_NUMBER-ERNAM_RP.
WA_DO_NUMBER-ERDAT_RP.
WA_DO_NUMBER-ERZET_RP.
= WA_DO_NUMBER-KUNNR.
if SY-SUBRC = 0.
WA_MERGE-KUNNR = WA_CUST-KUNNR.
WA_MERGE-INCO2 = WA_CUST-INCO2.
WA_MERGE-LAND1 = WA_CUST-LAND1.
WA_MERGE-NAME1 = WA_CUST-NAME1.
WA_MERGE-NAME2 = WA_CUST-NAME2.
WA_MERGE-ORT01 = WA_CUST-ORT01.
WA_MERGE-PSTLZ = WA_CUST-PSTLZ.
WA_MERGE-REGIO = WA_CUST-REGIO.
WA_MERGE-STRAS = WA_CUST-STRAS.
WA_MERGE-TELF1 = WA_CUST-TELF1.
WA_MERGE-ADRNR = WA_CUST-ADRNR.
WA_MERGE-ORT02 = WA_CUST-ORT02.
WA_MERGE-BEZEI = WA_CUST-BEZEI.
WA_MERGE-STR_SUPPL3 = WA_CUST-STR_SUPPL3.
WA_MERGE-LOCATION = WA_CUST-LOCATION.
WA_MERGE-BEZEI_V1 = WA_CUST-BEZEI_V1.
WA_MERGE-BEZEI_V2 = WA_CUST-BEZEI_V2.
WA_MERGE-KTEXT = WA_CUST-KTEXT.
WA_MERGE-BZTXT = WA_CUST-BZTXT.
endif.
DO_NO = WA_DO_NUMBER-VBELN.
*
*
*
*
*
*
*
*.
if LINE is not initial.
loop at LINE into WA_LINE.
DESTINATION = WA_LINE-TDLINE.
endloop.
endif.
WA_MERGE-DEST = DESTINATION.
DO_NO,
V_INDEX,
DESTINATION.
clear: DIFF_BAG,
DIFF_KG,
DIFF_TON,
TOT_SO_KLMENG,
TOT_SO_NTGEW,
TOT_SO_kwmeng,
TOT_DO_NTGEW,
TOT_DO_umvkz,
TOT_DO_LFIMG.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
sort IT_MERGE by VGBEL.
if IT_MERGE is initial.
message I398(00) with 'No Data found'.
leave list-processing.
endif.
endform.
" GET_MERGE_DATA
*&---------------------------------------------------------------------*
*&
Form GET_CUSTOMER
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_CUSTOMER .
if IT_KNA1 is not initial.
loop at IT_KNA1 into WA_KNA1.
WA_CUST-KUNNR
WA_CUST-LAND1
WA_CUST-NAME1
WA_CUST-NAME2
WA_CUST-ORT01
WA_CUST-PSTLZ
WA_CUST-REGIO
WA_CUST-STRAS
WA_CUST-TELF1
WA_CUST-ADRNR
WA_CUST-ORT02
=
=
=
=
=
=
=
=
=
=
=
WA_KNA1-KUNNR.
WA_KNA1-LAND1.
WA_KNA1-NAME1.
WA_KNA1-NAME2.
WA_KNA1-ORT01.
WA_KNA1-PSTLZ.
WA_KNA1-REGIO.
WA_KNA1-STRAS.
WA_KNA1-TELF1.
WA_KNA1-ADRNR.
WA_KNA1-ORT02.
endloop.
endif.
endform.
" GET_CUSTOMER
*&---------------------------------------------------------------------*
*&
Form ALV_DISPLAY
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form ALV_DISPLAY .
if IT_MERGE[] is not initial.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
T_OUTTAB
= IT_MERGE
exceptions
PROGRAM_ERROR
= 1
others
= 2
.
if SY-SUBRC ne 0.
message E398(00) with 'Can not generate ALV LIST'.
endif.
endif.
endform.
" ALV_DISPLAY
*&---------------------------------------------------------------------*
*&
Form TOP-OF-PAGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form TOP-OF-PAGE.
data: T_HEADER type SLIS_T_LISTHEADER,
WA_HEADER type SLIS_LISTHEADER,
T_LINE like WA_HEADER-INFO,
LD_LINES type I,
LD_LINESC(10) type C,
T(2) type C,
T1(3) type C.
data : ZMAT_TEXT(50) type C,
LAY1(50) type C,
LAY2(50) type C,
LAY3(50) type C,
ZMAT_TEXT1(50) type C.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'SO VS DO REPORT'.
append WA_HEADER to T_HEADER.
clear WA_HEADER.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = '============'.
append WA_HEADER to T_HEADER.
clear WA_HEADER.
describe table IT_MERGE lines LD_LINES.
LD_LINESC = LD_LINES.
WA_HEADER-TYP = 'S'.
concatenate 'Total No. of Records Selected: ' LD_LINESC
into T_LINE separated by SPACE.
WA_HEADER-TYP = 'A'.
WA_HEADER-INFO = T_LINE.
append WA_HEADER to T_HEADER.
clear: WA_HEADER, T_LINE.
if P_VAR is not initial.
concatenate 'Layout : ' P_VAR into LAY1 separated by SPACE.
WA_HEADER-TYP = 'A'.
WA_HEADER-INFO = LAY1.
append WA_HEADER to T_HEADER.
clear: WA_HEADER, T_LINE.
select single TEXT from LTDXT into LAY2
where VARIANT eq P_VAR
and REPORT eq SYST-CPROG
and USERNAME eq SYST-UNAME.
if SY-SUBRC ne 0.
select single TEXT from LTDXT into LAY2
where VARIANT eq P_VAR
and REPORT eq SYST-CPROG.
endif.
concatenate 'Layout Description : ' LAY2 into LAY3 separated by SPACE.
WA_HEADER-TYP = 'A'.
WA_HEADER-INFO = LAY3.
append WA_HEADER to T_HEADER.
endif.
clear: WA_HEADER, T_LINE.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
IT_LIST_COMMENTARY = T_HEADER.
*
I_LOGO
= 'AMRIT_LOGO'.
endform.
" TOP-OF-PAGE
*&---------------------------------------------------------------------*
*&
Form POPULATE_LAYOUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form POPULATE_LAYOUT .
perform SUB_BUILD_FIELDCAT using:
*------------------------------------------------------------------------------------------------*
* Col.Pos Fieldnm
TabName
Sel.Text
Nozero
Do Sum
Hotspot
*------------------------------------------------------------------------------------------------*
1
'VBELN'
'IT_MERGE'
'DO Number'
''
'' ,"
'',
2
'POSNR'
'IT_MERGE'
'DO Item'
''
'' ,"
'',
3
'ERNAM'
'IT_MERGE'
'DO Created Name'
''
'' ,"
'',
4
'ERZET'
'IT_MERGE'
'DO Created Time'
''
'' ,"
'',
5
'MATNR'
'IT_MERGE'
'Material Number'
''
'' ,"
'',
6
'MATKL'
'IT_MERGE'
'Material Group'
''
'' ," '',
9
'WERKS'
'IT_MERGE'
'Plant'
''
'' ,"
'',
10
'LGORT'
'IT_MERGE'
'Storage Location'
''
'' ,"
'',
11
'CHARG'
'IT_MERGE'
'Batch'
''
'' ,"
'',
12
'MEINS'
'IT_MERGE'
'Base Unit'
''
'' ,"
'',
13
'VRKME'
'IT_MERGE'
'Sales unit'
''
'' ,"
'',
14
'MTART'
'IT_MERGE'
'Material Type'
''
'' ,"
'',
15
'BRGEW'
'IT_MERGE'
'Gross weight'
''
'X' ,"
'',
16
'GEWEI'
'IT_MERGE'
'Weight Unit'
''
'' ,"
'',
17
'VGBEL'
'IT_MERGE'
'Sales Order'
''
'' ,"
'',
18
'VGPOS'
'IT_MERGE'
'Sales Order Item'
''
'' ,"
'',
19
'GSBER'
'IT_MERGE'
'Business Area'
''
'' ,"
'',
20
'UMVKZ'
'IT_MERGE'
'DO quantity in BAG'
''
'X' ,"
'',
21
'NTGEW'
'IT_MERGE'
'DO quantity in KG'
''
'X' ,"
'',
22
'LFIMG'
'IT_MERGE'
'DO quantity in TON'
''
'X'
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
,"
'',
'ZIEME_AP'
'IT_MERGE'
'' ,"
'',
'PRCTR_AP'
'IT_MERGE'
'' ,"
'',
'VBELN_AP'
'IT_MERGE'
'' ,"
'',
'POSNR_AP'
'IT_MERGE'
'' ,"
'',
'NETWR_AP'
'IT_MERGE'
'X' ,"
'',
'KLMENG_AP' 'IT_MERGE'
'X' ,"
'',
'NTGEW_AP'
'IT_MERGE'
'X' ,"
'',
'KWMENG_AP'
'IT_MERGE'
'X' ,"
'',
'ERNAM_AP'
'IT_MERGE'
'' ,"
'',
'ERDAT_AP'
'IT_MERGE'
'' ,"
'',
'ERZET_AP'
'IT_MERGE'
'' ,"
'',
'NETPR_AP'
'IT_MERGE'
'X' ,"
'',
'WBSTK'
'IT_MERGE'
'' ,"
'',
'VBELN_RP'
'IT_MERGE'
'' ,"
'',
'ERNAM_RP'
'IT_MERGE'
'' ,"
'',
'ERDAT_RP'
'IT_MERGE'
'' ,"
'',
'ERZET_RP'
'IT_MERGE'
'' ,"
'',
'KUNNR'
'IT_MERGE'
'' ,"
'',
'LAND1'
'IT_MERGE'
'' ,"
'',
'NAME1'
'IT_MERGE'
'' ,"
'',
'ORT01'
'IT_MERGE'
'' ,"
'',
'PSTLZ'
'IT_MERGE'
'' ,"
'',
'TELF1'
'IT_MERGE'
'' ,"
'',
'ORT02'
'IT_MERGE'
'' ,"
'',
'Sales Units'
''
'Profit Center'
''
'Sales Document'
''
''
''
''
''
''
''
'SO
Created Date'
''
'SO
Created Time'
''
''
'DO Status'
''
'Invoice Number'
''
'Dispatch By'
''
'Dispatch Date'
''
'Dispatch Time'
''
'Customer Number'
''
'Country Key'
''
'Name'
''
'City'
''
'Postal Code'
''
'Telephone number'
''
'District'
''
47
''
48
''
49
''
50
''
51
''
52
''
53
''
54
''
55
''
56
''
57
''
58
''
59
''
60
'
'BEZEI'
'IT_MERGE'
,"
'',
'STR_SUPPL3' 'IT_MERGE'
,"
'',
'LOCATION'
'IT_MERGE'
,"
'',
'BZTXT'
'IT_MERGE'
,"
'',
'BEZEI_V1'
'IT_MERGE'
,"
'',
'BEZEI_V2'
'IT_MERGE'
,"
'',
'KTEXT'
'IT_MERGE'
,"
'',
'INCO2'
'IT_MERGE'
,"
''.
'ERDAT'
'IT_MERGE'
,"
'',
'DEST'
'IT_MERGE'
,"
'',
'DIFF_BAG'
'IT_MERGE'
'X' ,"
'',
'DIFF_KG'
'IT_MERGE'
'X' ,"
'',
'DIFF_TON'
'IT_MERGE'
'X' ,"
'',
'WERKS_D'
'IT_MERGE'
'X' ."
'',
'Region '
''
'Zone'
''
'Area'
''
'RSM'
''
'ASM'
''
'SO'
''
'SP'
''
'Incoterms'
''
''
''
endform.
" POPULATE_LAYOUT
*&---------------------------------------------------------------------*
*&
Form SUB_BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_1
text
*
-->P_0886
text
*
-->P_0887
text
*
-->P_0888
text
*
-->P_0889
text
*
-->P_0890
text
*
-->P_0891
text
*----------------------------------------------------------------------*
form SUB_BUILD_FIELDCAT using
VALUE(P_COLPOS)
VALUE(P_FIELDNAME)
VALUE(P_TABNAME)
VALUE(P_SELTEXT)
VALUE(P_NOZERO)
'
VALUE(P_DOSUM).
value(p_hotspot).
*
S_FIELDTAB-COL_POS
S_FIELDTAB-FIELDNAME
S_FIELDTAB-TABNAME
S_FIELDTAB-SELTEXT_L
S_FIELDTAB-NO_ZERO
S_FIELDTAB-DO_SUM
* s_fieldtab-hotspot
=
=
=
=
=
=
P_COLPOS.
P_FIELDNAME.
P_TABNAME.
P_SELTEXT.
P_NOZERO.
P_DOSUM.
= p_hotspot.
endform.
" GET_DEFAULT_LAYOUTS
*&---------------------------------------------------------------------*
*&
Form GET_SAVED_LAYOUTS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_SAVED_LAYOUTS .
clear X_LAYOUT.
move G_REPID to X_LAYOUT-REPORT.
*
*
*
*
endform.
" GET_SAVED_LAYOUTS
*&---------------------------------------------------------------------*
*&
Form CHEK_FOR_EXISTANCE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form CHEK_FOR_EXISTANCE .
clear SPEC_LAYOUT.
move P_VAR
to SPEC_LAYOUT-VARIANT.
move G_REPID to SPEC_LAYOUT-REPORT.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
I_SAVE
= X_SAVE
changing
CS_VARIANT
= SPEC_LAYOUT
exceptions
WRONG_INPUT
= 1
NOT_FOUND
= 2
PROGRAM_ERROR = 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.
endform.
" CHEK_FOR_EXISTANCE
*&---------------------------------------------------------------------*
*&
Form GET_DO_NUMBER
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GET_DO_NUMBER .
SORT
SORT
SORT
SORT
IT_LIKP
IT_VBRP
IT_VBUK
IT_LIPS
BY
BY
BY
BY
VBELN.
VGBEL.
VBELN.
VBELN.
*
*
*
*
*
*
*
*
WA_DO_NUMBER-ERZET_RP = WA_VBRP-ERZET.
endif.
read table IT_VBUK into WA_VBUK with key VBELN = WA_LIKP-VBELN.
if SY-SUBRC = 0.
if WA_VBUK-WBSTK = 'A'.
WA_DO_NUMBER-WBSTK = 'Not yet processed'.
elseif WA_VBUK-WBSTK = 'C'.
WA_DO_NUMBER-WBSTK = 'Completely processed'.
else.
WA_DO_NUMBER-WBSTK = ' '.
endif.
endif.
read table IT_VBRP into
if SY-SUBRC = 0.
WA_DO_NUMBER-VBELN_RP =
WA_DO_NUMBER-VGBEL_RP =
WA_DO_NUMBER-ERNAM_RP =
WA_DO_NUMBER-ERDAT_RP =
WA_DO_NUMBER-ERZET_RP =
endif.
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
WA_LIPS-VBELN.
WA_LIPS-POSNR.
WA_LIPS-ERNAM.
WA_LIPS-ERZET.
WA_LIPS-ERDAT.
WA_LIPS-MATNR.
WA_LIPS-MATKL.
WA_LIPS-WERKS.
WA_LIPS-LGORT.
WA_LIPS-CHARG.
WA_LIPS-MEINS.
WA_LIPS-VRKME.
KG_DO.
WA_LIPS-BRGEW.
WA_LIPS-GEWEI.
WA_LIPS-VGBEL.
WA_LIPS-VGPOS.
WA_LIPS-GSBER.
WA_LIPS-MTART.
WA_DO_NUMBER-LFIMG = WA_LIPS-LFIMG.
WA_DO_NUMBER-LGMNG = WA_LIPS-LGMNG.
WA_DO_NUMBER-UMVKZ = BAG_DO.
endif.
append WA_DO_NUMBER to IT_DO_NUMBER.
CLEAR: TON_DO,
BAG_DO,
KG_DO.
endif.
clear: WA_DO_NUMBER,
WA_LIPS.
CLEAR: TON_DO,
BAG_DO,
KG_DO.
endloop.
endform.
" GET_DO_NUMBER
*&---------------------------------------------------------------------*
*&
Form GET_DO_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_DO_DATA .
if IT_DO_NUMBER is not initial.
loop at IT_DO_NUMBER into WA_DO_NUMBER." FROM V_INDEX.
=
=
=
=
WA_DO_NUMBER-NTGEW.
WA_DO_NUMBER-BRGEW.
WA_DO_NUMBER-GEWEI.
WA_DO_NUMBER-VGBEL.
"DO KG
WA_DO-GSBER = WA_DO_NUMBER-GSBER.
WA_DO-LFIMG = WA_DO_NUMBER-LFIMG.
WA_DO-LGMNG = WA_DO_NUMBER-LGMNG.
WA_DO-UMVKZ = WA_DO_NUMBER-UMVKZ.
" DO TON
" DO BAG
at end of VGBEL.
*
if SY-SUBRC = 0.
WA_DO-TOT_DO_umvkz = TOT_DO_umvkz. "DO BAG
WA_DO-TOT_DO_ntgew = TOT_DO_ntgew. "DO KG
WA_DO-TOT_DO_LFIMG = TOT_DO_LFIMG. "DO TON
append WA_DO to IT_DO.
clear: WA_DO,
WA_DO_NUMBER,
WA_LIPS,
WA_LINE,
DO_NO,
V_INDEX,
DESTINATION.
clear: DIFF_BAG,
DIFF_KG,
DIFF_TON,
TOT_SO_KLMENG,
TOT_SO_NTGEW,
TOT_SO_kwmeng,
TOT_DO_NTGEW,
TOT_DO_umvkz,
TOT_DO_LFIMG,
TON_DO,
KG_DO,
BAG_DO.
ENDAT.
endloop.
clear:VBAP_VBELN.
endif.
ENDFORM.
" GET_DO_DATA
*&---------------------------------------------------------------------*
*&
Form GET_SO_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_SO_DATA .
IF IT_VBAP IS NOT INITIAL.
loop at IT_VBAP into WA_VBAP." with
TON = WA_VBAP-kwmeng.
BAG = WA_VBAP-kwmeng * 20.
KG = WA_VBAP-kwmeng * 1000.
*
WA_SO-VBELN_AP = WA_VBAP-VBELN.
WA_SO-POSNR_AP = WA_VBAP-POSNR.
WA_SO-ZIEME_AP = WA_VBAP-ZIEME.
WA_SO-kwmeng_AP = WA_VBAP-kwmeng. "SO_ TON
WA_SO-NETWR_AP = WA_VBAP-NETWR.
WA_SO-KLMENG_AP = BAG. "WA_VBAP-KLMENG. "SO_BAG
WA_SO-NTGEW_AP = KG.
"SO_KG
WA_SO-PRCTR_AP = WA_VBAP-PRCTR.
WA_SO-ERNAM_AP = WA_VBAP-ERNAM.
WA_SO-ERDAT_AP = WA_VBAP-ERDAT.
WA_SO-ERZET_AP = WA_VBAP-ERZET.
WA_SO-NETPR_AP = WA_VBAP-NETPR.
TOT_SO_KLMENG = TOT_SO_KLMENG + BAG. "SO BAG
TOT_SO_NTGEW = TOT_SO_NTGEW + KG. "SO KG
TOT_SO_kwmeng = TOT_SO_kwmeng + WA_VBAP-kwmeng. "SO TON
*
*
**
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
endif.
AT END OF VBELN.
WA_SO-TOT_SO_KLMENG = TOT_SO_KLMENG. "SO BAG
WA_SO-TOT_SO_NTGEW = TOT_SO_NTGEW. "SO KG
WA_SO-TOT_SO_kwmeng = TOT_SO_kwmeng. "SO TON
WA_SO-DIFF_BAG = DIFF_BAG.
WA_SO-DIFF_KG = DIFF_KG.
WA_SO-DIFF_TON = DIFF_TON.
clear: DIFF_BAG,
DIFF_KG,
DIFF_TON,
TOT_SO_KLMENG,
TOT_SO_NTGEW,
TOT_SO_kwmeng,
TOT_DO_NTGEW,
TOT_DO_umvkz,
TOT_DO_LFIMG,
TON,
BAG,
KG.
ENDAT.
endloop.
ENDIF.
ENDFORM.
" GET_SO_DATA
*&---------------------------------------------------------------------*
*&
Form GET_DATA_T001W
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_DATA_T001W .
SELECT
WERKS
NAME1
NAME2
INTO TABLE IT_T001W
FROM T001W
FOR ALL ENTRIES IN IT_LIPS
WHERE WERKS = IT_LIPS-WERKS.
ENDFORM.
" GET_DATA_T001W