on 02-07-2008 5:54 AM
pl. send model report for real time project for MM,Fico send it in my mail id rammtec_4u@yahoo.com. it's urgent pl.
Please find the report "To follow-up the ownership of the Advertising Material".
REPORT Y16M_ADVERT_MAT_CHK
LINE-SIZE 300
NO STANDARD PAGE HEADING
MESSAGE-ID 56 .
TABLES : mara, " Material Master
marc, " Plant Data for Material
mard, " Storage Location Data for Material
ekko, " Purchasing Document Header
ekpo, " Purchasing Document Item
likp, " SD Document: Delivery Header Data
mkpf, " Header: Material Document
mseg, " Document Segment: Material
t001w, " Plants/Branches
t179, " Materials: Product Hierarchies
tspa, " Organizational Unit: Sales Divisions
tvms, " Materials: Status in Sales and Distribution
t024d, " MRP controllers
t001l, " Storage Locations
t024, " Purchasing Groups
tvko, " Organizational Unit: Sales Organizations
y16m_smm_launch." Launch Numbers and Description
For ALV
TYPE-POOLS : slis. " Global types for generic craft modules
*/ Data Declaration
Internal table for output
DATA : BEGIN OF g_t_oadv OCCURS 0,
box TYPE c,
t_matnr LIKE mara-matnr,
t_ekgrp LIKE ekko-ekgrp,
t_q_rec LIKE mseg-erfmg,
t_q_gi LIKE mseg-erfmg,
t_q_gi_kit LIKE mseg-erfmg,
remin LIKE mseg-erfmg,
tot_remain LIKE mseg-erfmg,
END OF g_t_oadv.
DATA : g_t_oadv1 LIKE g_t_oadv OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF g_t_oadv2 OCCURS 0 ,
box TYPE c,
t_matnr LIKE mara-matnr,
t_ekgrp LIKE ekko-ekgrp,
t_q_rec LIKE mseg-erfmg,
t_q_gi LIKE mseg-erfmg,
t_q_gi_kit LIKE mseg-erfmg,
remin LIKE mseg-erfmg,
tot_remain LIKE mseg-erfmg,
mat2 LIKE mara-matnr,
END OF g_t_oadv2.
DATA : g_t_oadv3 LIKE g_t_oadv2 OCCURS 0 WITH HEADER LINE.
Internal table for selection criteria
DATA : BEGIN OF g_t_inp OCCURS 0,
matnr LIKE mara-matnr,
spart LIKE mara-spart,
prdha LIKE mara-prdha,
mstav LIKE mara-mstav,
zzlaunr LIKE mara-zzlaunr,
dispo LIKE marc-dispo,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
ekgrp LIKE ekko-ekgrp,
vkorg LIKE likp-vkorg,
bldat LIKE mkpf-bldat,
END OF g_t_inp.
Internal table for table mseg and mkpf
DATA : BEGIN OF g_t_inp1 OCCURS 0,
mblnr LIKE mseg-mblnr,
mjahr LIKE mseg-mjahr,
zeile LIKE mseg-zeile,
matnr LIKE mseg-matnr,
werks LIKE mseg-werks,
lgort LIKE mseg-lgort,
lifnr LIKE mseg-lifnr,
kunnr LIKE mseg-kunnr,
shkzg LIKE mseg-shkzg,
erfmg LIKE mseg-erfmg,
ebeln LIKE mseg-ebeln,
kzbew LIKE mseg-kzbew,
budat LIKE mkpf-budat,
xblnr LIKE mkpf-xblnr,
END OF g_t_inp1.
DATA : g_t_kit_inp1 LIKE g_t_inp1 OCCURS 0 WITH HEADER LINE.
DATA : g_t_kit_inp2 LIKE g_t_inp1 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF g_t_ekgrp OCCURS 0,
ekgrp LIKE ekko-ekgrp,
END OF g_t_ekgrp.
Itab for MRP
DATA : BEGIN OF g_t_mrp OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
dispo LIKE marc-dispo,
END OF g_t_mrp.
for delivery
DATA : BEGIN OF g_t_xblnr OCCURS 0,
xblnr LIKE mkpf-xblnr,
END OF g_t_xblnr.
DATA : BEGIN OF g_t_group OCCURS 0,
matnr LIKE mara-matnr,
ekgrp LIKE ekko-ekgrp,
END OF g_t_group.
DATA : g_t_kit_xblnr LIKE g_t_xblnr OCCURS 0 WITH HEADER LINE.
Quantity
DATA g_f_menge LIKE stpo-menge.
DATA g_f_menge_1 LIKE stpo-menge.
Counter
DATA : g_t_index TYPE sy-index.
for ALV
DATA : g_t_catalog TYPE slis_t_fieldcat_alv , " Field catalog
g_wa_sort TYPE slis_sortinfo_alv ,
g_t_sort TYPE TABLE OF slis_sortinfo_alv, " To sort the records
g_is_layout TYPE slis_layout_alv, " Layout Display
g_t_colo TYPE slis_specialcol_alv, " color settings
g_wa_colo TYPE slis_specialcol_alv. " color settings
*/
-
*/
*/ Initialisation */
*/
-
*/
INITIALIZATION.
*/
-
Input Fields
-
*/
Selection-Screens
SELECTION-SCREEN BEGIN OF BLOCK g1 WITH FRAME TITLE text-001.
SELECT-OPTIONS s_mat FOR mara-matnr. " Material No
SELECT-OPTIONS s_pdh FOR mara-prdha. " Product Hierarchy
SELECT-OPTIONS s_div FOR mara-spart. " Division
SELECT-OPTIONS s_xdc FOR mara-mstav. " X-distr.chain status
SELECT-OPTIONS s_lnr FOR mara-zzlaunr. " Launch material
SELECT-OPTIONS s_mrp FOR marc-dispo. " MRP Controller
SELECT-OPTIONS s_pla FOR marc-werks OBLIGATORY. " Plant
SELECT-OPTIONS s_stl FOR mard-lgort OBLIGATORY. " Storage Location
SELECT-OPTIONS s_pgr FOR ekko-ekgrp. " Purchasing Group
SELECT-OPTIONS s_sor FOR likp-vkorg. " Sales Organisation
SELECT-OPTIONS s_dat FOR mkpf-budat. " Date
SELECTION-SCREEN END OF BLOCK g1.
*/
-
At Selection Screen
-
*/
*/ --- Input Validations
*/ Check either one of the 1 - 4 fields ha to be filled.
AT SELECTION-SCREEN.
IF s_mat IS INITIAL AND
s_pdh IS INITIAL AND
s_div IS INITIAL AND
s_xdc IS INITIAL AND
s_lnr IS INITIAL.
MESSAGE ID '56' TYPE 'E' NUMBER '004' WITH text-012.
ENDIF.
*/ Input validation for Material
AT SELECTION-SCREEN ON s_mat.
SELECT SINGLE * FROM mara WHERE matnr IN s_mat.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_mat.
ENDIF.
*/ Input validation for Product Hierarchy
AT SELECTION-SCREEN ON s_pdh.
SELECT SINGLE * FROM t179 WHERE prodh IN s_pdh.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_pdh.
ENDIF.
*/ Input validation for Division
AT SELECTION-SCREEN ON s_div.
SELECT SINGLE * FROM tspa WHERE spart IN s_div.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_div.
ENDIF.
*/ Input validation for X-distr.chain status
AT SELECTION-SCREEN ON s_xdc.
SELECT SINGLE * FROM tvms WHERE vmsta IN s_xdc.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_xdc.
ENDIF.
*/ Input validation for Launch number
AT SELECTION-SCREEN ON s_lnr.
SELECT SINGLE * FROM y16m_smm_launch WHERE launr IN s_lnr.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_lnr.
ENDIF.
*/ Input validation for MRP Controller
AT SELECTION-SCREEN ON s_mrp.
SELECT SINGLE * FROM t024d WHERE dispo IN s_mrp.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_mrp.
ENDIF.
*/ Input validation for plant
AT SELECTION-SCREEN ON s_pla.
SELECT SINGLE * FROM t001w WHERE werks IN s_pla.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_pla.
ENDIF.
*/ Input validation for Storage Location
AT SELECTION-SCREEN ON s_stl.
SELECT SINGLE * FROM t001l WHERE lgort IN s_stl.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_stl.
ENDIF.
*/ Input validation for Purchasing Group
AT SELECTION-SCREEN ON s_pgr.
SELECT SINGLE * FROM t024 WHERE ekgrp IN s_pgr.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_pgr.
ENDIF.
*/ Input validation for Sales Organisation
AT SELECTION-SCREEN ON s_sor.
SELECT SINGLE * FROM tvko WHERE vkorg IN s_sor.
IF sy-subrc 0.
MESSAGE ID '56' TYPE 'E' NUMBER '011' WITH s_sor.
ENDIF.
*/
-
S T A R T O F S E L E C T I O N
-
*/
START-OF-SELECTION.
Getting data from table MARA,MARD
perform read_data1. " With itab g_t_inp
If input parameter of MRP controller is not initial fetch the data
from table MARC
if not s_mrp is initial.
perform read_data2. " With itab g_t_inp
endif.
Data from MSEG and MKPF using join as Number of material document
as Key element.
perform read_data3. " With itab g_t_inp1
*/ Process for Calculating the quantities
if not g_t_inp1[] is initial.
loop at g_t_inp1.
clear : g_t_oadv-t_q_rec, g_t_oadv-t_q_gi.
clear : g_t_oadv-t_ekgrp, g_t_oadv-t_q_gi_kit.
g_t_oadv-t_matnr = g_t_inp1-matnr.
**/-- Check MSEG-KZBEV.
Case g_t_inp1-kzbew.
when space. " --> IF SPACE
Movement is a transfer movement between different plants/storage
locations/ stock types
perform value_KZBEV_space.
when 'B'. " --> IF B
Movement is Goods movement for purchase order.
perform value_KZBEV_B.
when 'L'. " " --> IF B
Movement is Goods issue for delivery.
if not g_t_inp1-lifnr is initial.
perform value_KZBEV_L1. " this is a delivery for a kit
else.
perform value_KZBEV_L2.
endif.
endcase.
append g_t_oadv.
g_t_index = g_t_index + 1.
endloop.
endif.
Move the KIT Material details to o/p table.
PERFORM MOVE_KIT1_TO_MAIN.
Move KIT_KIT Material details to o/p table.
PERFORM MOVE_KIT2_TO_MAIN.
Move all Material and PR.Grp in to otab and delete duplicates
loop at g_t_oadv.
g_t_group-matnr = g_t_oadv-t_matnr.
g_t_group-ekgrp = g_t_oadv-t_ekgrp.
append g_t_group.
endloop.
sort g_t_group by matnr ekgrp.
delete ADJACENT DUPLICATES FROM g_t_group.
Add the Received,Issued material,Sales via KIT for PR.grp
perform output_table.
Calculate the Remaining and Total remaining material for output.
loop at g_t_oadv1.
if g_t_oadv1-t_q_gi < 0.
g_t_oadv1-remin = g_t_oadv1-t_q_rec + g_t_oadv1-t_q_gi .
else.
g_t_oadv1-remin = g_t_oadv1-t_q_rec - g_t_oadv1-t_q_gi .
endif.
if g_t_oadv1-t_q_gi_kit < 0.
g_t_oadv1-tot_remain = g_t_oadv1-remin + g_t_oadv1-t_q_gi_kit.
else.
g_t_oadv1-tot_remain = g_t_oadv1-remin - g_t_oadv1-t_q_gi_kit.
endif.
Update the calculated total in otab.
modify g_t_oadv1 transporting remin tot_remain
where t_matnr = g_t_oadv1-t_matnr
and t_ekgrp = g_t_oadv1-t_ekgrp.
endloop.
Sort the O/P in ascending order
sort g_t_oadv1 ascending by t_matnr.
*/
-
E N D O F S E L E C T I O N
-
*/
END-OF-SELECTION.
*/-- Display Output.
*/
-
A L V - G R I D
-
*/
Output field catalog
PERFORM build_field_catalog.
ALV form
perform ALV_output.
&----
*& Form READ_DATA1
&----
>> Get main material from MARA
-
MARA
MAKT
-
FORM READ_DATA1.
Get main material from MARA
Select gmatnr gspart gprdha gmstav g~zzlaunr
owerks olgort
into corresponding fields of table G_T_INP
from
( mara as g inner join mard as o on omatnr = gmatnr )
where g~matnr in s_mat and
g~prdha in s_pdh and
g~spart in s_div and
g~mstav in s_xdc and
g~zzlaunr in s_lnr and
o~werks in s_pla and
o~lgort in s_stl.
ENDFORM. " READ_DATA1
&----
*& Form READ_DATA2
&----
>> Get plant details for main material
-
MARC
*
-
FORM READ_DATA2.
data : l_f_matnr like marc-matnr.
Get plant details for main material
if not s_mrp is initial.
if not G_T_INP[] is initial.
select matnr dispo into (l_f_matnr,g_t_inp-dispo)
from marc for all entries
in g_t_inp
where matnr = g_t_inp-matnr and
dispo in s_mrp.
modify g_t_inp transporting dispo
where matnr = l_f_matnr.
endselect.
endif.
endif.
ENDFORM. " READ_DATA2
&----
*& Form READ_DATA3
&----
>> Get Stock details
-
MSEG
MKPF
-
FORM READ_DATA3.
Get Stock details
if not g_t_inp[] is initial.
if s_dat is initial.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abudat axblnr
into corresponding fields of table G_T_INP1
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
for all entries in g_t_inp
where p~matnr = G_T_INP-matnr
and p~werks in s_pla
and p~lgort in s_stl.
else.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abudat axblnr
into corresponding fields of table G_T_INP1
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
for all entries in g_t_inp
where p~matnr = G_T_INP-matnr
and p~werks in s_pla
and p~lgort in s_stl
and a~bldat in s_dat.
endif.
endif.
ENDFORM. " READ_DATA3
&----
*& Form VALUE_KZBEV_SPACE
&----
>> When Movement indicator is initial " Main MAT
-
Goods Entry
*
-
FORM VALUE_KZBEV_SPACE.
Assign pur.grp
g_t_oadv-t_ekgrp = ' '.
if g_t_inp1-shkzg = 'H'.
on H, Subract the quantity from g_t_oadv-t_q_rec
g_t_oadv-t_q_rec = g_t_oadv-t_q_rec - g_t_inp1-erfmg.
elseif g_t_inp1-shkzg = 'S'.
on S, Add the quantity with g_t_oadv-t_q_rec
g_t_oadv-t_q_rec = g_t_inp1-erfmg + g_t_oadv-t_q_rec.
endif.
ENDFORM. " VALUE_KZBEV_SPACE
&----
*& Form VALUE_KZBEV_B
&----
>> When Movement indicator is B " Main MAT
-
Goods Entry
*
-
FORM VALUE_KZBEV_B.
data :l_f_ebeln like ekko-ebeln,
l_f_ekgrp like ekko-ekgrp.
s_pgr(selection parameter) is filled continue
if s_pgr is initial.
select single ebeln ekgrp into (l_f_ebeln,l_f_ekgrp)
from ekko
where ebeln = g_t_inp1-ebeln.
else.
select single ebeln ekgrp into (l_f_ebeln,l_f_ekgrp)
from ekko
where ebeln = g_t_inp1-ebeln
and ekgrp in s_pgr.
endif.
Checking T_EKGRP is specified in selection parameters
Assign pur.grp
g_t_oadv-t_ekgrp = l_f_ekgrp.
if g_t_inp1-shkzg = 'H'.
on H, Subract the quantity from g_t_oadv-t_q_rec
g_t_oadv-t_q_rec = g_t_oadv-t_q_rec - g_t_inp1-erfmg .
elseif g_t_inp1-shkzg = 'S'.
on S, Add the quantity with g_t_oadv-t_q_rec
g_t_oadv-t_q_rec = g_t_inp1-erfmg + g_t_oadv-t_q_rec.
endif.
ENDFORM. " VALUE_KZBEV_B
&----
*& Form VALUE_KZBEV_L1
&----
>> When Movement indicator is L. " KIT delivery
-
XBLNR
*
-
FORM VALUE_KZBEV_L1.
clear g_t_xblnr.refresh g_t_xblnr .
g_t_xblnr-xblnr = g_t_inp1-xblnr.
append g_t_xblnr.
-
>> removed <<
-
if g_t_inp1-shkzg = 'H'.
on H, Subract the quantity (t_q_gi_kit)
g_t_oadv-t_q_gi_kit = g_t_inp1-erfmg - g_t_oadv-t_q_gi_kit.
elseif g_t_inp1-shkzg = 'S'.
on S, Add the quantity (t_q_gi_kit)
g_t_oadv-t_q_gi_kit = g_t_inp1-erfmg ." + g_t_oadv-t_q_gi_kit.
endif.
-
>> removed <<
-
KIT delivery
perform kit_delivery. " For delivery kit only.
ENDFORM. " VALUE_KZBEV_L1
&----
*& Form VALUE_KZBEV_L2
&----
When Movement indicator is L "Main MAT
-
Goods Issued
*
-
FORM VALUE_KZBEV_L2.
data : l_f_vbeln like likp-vbeln,
l_f_vkorg like likp-vkorg,
l_f_xblnr like likp-xblnr,
l_f_werks like mseg-werks,
l_f_ekgrp like ekko-ekgrp,
l_f_vkorg1 like likp-vkorg,
l_f_cust_grp(3),
l_f_cust_grp1(3).
if s_sor is initial.
Read likp to get sales organisation
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_inp1-xblnr.
else.
Check likp-vkorg with input selection parameter
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_inp1-xblnr and
vkorg in s_sor.
endif.
Check likp-vkorg with input selection parameter
Take first 3 char of kunnr after leading zeros
SHIFT g_t_inp1-kunnr LEFT DELETING LEADING '0'.
l_f_cust_grp = g_t_inp1-kunnr+0(3).
Read the Y16M_ADVERT_MAT to get purchasing group
SELECT werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_inp1-werks and
vkorg = l_f_vkorg and
cust_grp = l_f_cust_grp.
endselect.
if sy-subrc = 0.
g_t_oadv-t_ekgrp = l_f_ekgrp.
else.
SELECT werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_inp1-werks and
vkorg = l_f_vkorg and
cust_grp = ' '.
endselect.
Assign pur.grp
if sy-subrc = 0.
g_t_oadv-t_ekgrp = l_f_ekgrp.
else.
g_t_oadv-t_ekgrp = ' '.
endif.
endif.
if g_t_inp1-shkzg = 'H'.
on H, Subract the quantity from (t_q_gi)
g_t_oadv-t_q_gi = g_t_oadv-t_q_gi - g_t_inp1-erfmg .
elseif g_t_inp1-shkzg = 'S'.
on S, Add the quantity with (t_q_gi)
g_t_oadv-t_q_gi = g_t_inp1-erfmg + g_t_oadv-t_q_gi.
endif.
ENDFORM. " VALUE_KZBEV_L2
&----
*& Form KIT_DELIVERY
&----
KIT delivery.
-
Get KIT deliveries for main material
*
-
FORM KIT_DELIVERY.
data : l_f_lifex like likp-lifex,
l_f_ebeln like ekpo-ebeln,
l_f_matnr like ekpo-matnr,
l_f_werks like ekpo-werks,
l_f_stlnr like mast-stlnr,
l_g_lgort like ekpo-lgort,
l_f_ebelp like ekpo-ebelp.
data : lt_ekpo like ekpo occurs 0 with header line.
data : lf_ebeln like ekko-ebeln.
clear : l_f_lifex,l_f_ebeln,
l_f_matnr,l_f_werks,
l_f_stlnr,g_f_menge .
if not g_t_inp1-xblnr is initial.
Get LIFEX from likp using XBLNR
if s_sor is initial.
select single * from likp where vbeln = g_t_inp1-xblnr.
else.
select single * from likp where vbeln = g_t_inp1-xblnr
and vkorg in s_sor.
endif.
if sy-subrc = 0.
l_f_lifex = likp-lifex+1(10).
get PO number material and plant using LIFEX
select single ebeln ebelp matnr werks into
(l_f_ebeln,l_f_ebelp,l_f_matnr,l_f_werks)
from ekpo
where ebeln = l_f_lifex.
*--
{ begin of Insertion " GOK2KOR 2007-Aug-30
if EKPO have no records, Check the Archieved Orders
if sy-subrc 0.
lf_ebeln = l_f_lifex.
CALL FUNCTION 'MMPUR_PO_READ_FROM_ARCHIVE'
EXPORTING
IM_EBELN = lf_ebeln
IMPORTING
EX_EKKO =
EX_ARCHIVE_HANDLE =
TABLES
CHT_EKPO = lt_ekpo
CHT_EKET =
CHT_EKKN =
CHT_KONV =
CHT_EKBE =
CHT_EKBZ =
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
.
read table lt_ekpo with key ebeln = l_f_lifex.
if sy-subrc = 0.
l_f_matnr = lt_ekpo-matnr.
l_f_werks = lt_ekpo-werks.
endif.
endif.
End of Insertion " GOK2KOR 2007-Aug-30 }
*--
if sy-subrc = 0.
For BOM number for the KIT material
select single stlnr into (l_f_stlnr) from mast
where matnr = l_f_matnr and
werks = l_f_werks and
stlan = 'K' and
stlal = '01'.
endif.
get quantity from stpo for further calculation
select single menge into (g_f_menge) from stpo
where IDNRK = g_t_oadv-t_matnr
and stlty = 'M'
and stlnr = l_f_stlnr.
g_t_oadv-t_q_gi_kit = g_f_menge .
endif.
clear G_T_kit_INP1.
refresh G_T_kit_INP1.
Read table MKPF, MSEG with selection parameters
if s_dat is initial.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abudat axblnr
into corresponding fields of table G_T_kit_INP1
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
where p~matnr = l_f_matnr
and p~werks in s_pla
and p~lgort in s_stl.
else.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abudat axblnr
into corresponding fields of table G_T_kit_INP1
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
where p~matnr = l_f_matnr
and p~werks in s_pla
and p~lgort in s_stl
and a~bldat in s_dat.
endif.
Read the table g_t_oadv2 to avoid appending the repeated KIT's
read table g_t_oadv2 with key t_matnr = l_f_matnr
mat2 = g_t_oadv-t_matnr.
if sy-subrc 0.
if not g_t_kit_inp1[] is initial.
loop at g_t_kit_inp1.
g_t_oadv2-t_matnr = g_t_kit_inp1-matnr.
g_t_oadv2-mat2 = g_t_oadv-t_matnr.
case g_t_kit_inp1-kzbew.
kzbew = ' '
when space. " ---> Space
perform kit_kzbew_space.
kzbew = L
when 'L'. " -
> 'L'
if not g_t_kit_inp1-lifnr is initial.
perform kit_kzbew_l.
else.
perform kit_kzbew_else_l.
endif.
endcase.
store the kit deliveries in itab
append g_t_oadv2. " otab for KIT1
clear g_t_oadv2.
endloop.
endif.
else.
clear g_t_oadv2.
endif.
endif.
ENDFORM. " KIT_DELIVERY
&----
*& Form KIT_KZBEW_SPACE
&----
When Movement indicator is initial " KIT material
-
Goods Entry
*
-
FORM KIT_KZBEW_SPACE.
g_t_oadv2-t_ekgrp = ' '.
if g_t_kit_inp1-shkzg = 'H'.
on H, Subract the quantity from g_t_oadv2-t_q_rec --> Kit material
g_t_oadv2-t_q_rec = g_t_oadv2-t_q_rec -
( g_t_kit_inp1-erfmg * g_f_menge ).
elseif g_t_kit_inp1-shkzg = 'S'.
on S, Add the quantity with g_t_oadv2-t_q_rec --> Kit material
g_t_oadv2-t_q_rec = ( g_t_kit_inp1-erfmg * g_f_menge )
+ g_t_oadv2-t_q_rec.
endif.
ENDFORM. " KIT_KZBEW_SPACE
&----
*& Form KIT_KZBEW_L
&----
When Movement indicator is L " Kit material
-
XBLNR
*
-
FORM KIT_KZBEW_L.
clear g_t_kit_xblnr.
g_t_kit_xblnr-xblnr = g_t_kit_inp1-xblnr.
append g_t_kit_xblnr.
<< Removed >>
-
if g_t_kit_inp1-shkzg = 'H'.
on H, Subract the quantity (t_q_gi_kit) --> Kit material
g_t_oadv2-t_q_gi_kit = ( g_t_kit_inp1-erfmg * g_f_menge )
- g_t_oadv-t_q_gi_kit.
*
elseif g_t_kit_inp1-shkzg = 'S'.
on S, Add the quantity (t_q_gi_kit) --> Kit material
g_t_oadv2-t_q_gi_kit = ( g_t_kit_inp1-erfmg * g_f_menge )
+ g_t_oadv-t_q_gi_kit.
endif.
<< Removed >>
-
KIT delivery containing KIT
perform kit_2_delivery. " For kit delivery containing kit only.
ENDFORM. " KIT_KZBEW_L
&----
*& Form KIT_KZBEW_ELSE_L
&----
When Movement indicator is L. " Kit material
-
Sales Via Kit
*
-
FORM KIT_KZBEW_ELSE_L.
data : l_f_vbeln like likp-vbeln,
l_f_vkorg like likp-vkorg,
l_f_xblnr like likp-xblnr,
l_f_werks like mseg-werks,
l_f_ekgrp like ekko-ekgrp,
l_f_vkorg1 like likp-vkorg,
l_f_cust_grp(3),
l_f_cust_grp1(3).
if s_sor is initial.
Read likp to get sales organisation
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_kit_inp1-xblnr.
else.
Check likp-vkorg with input selection parameter
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_kit_inp1-xblnr and
vkorg in s_sor.
endif.
Take first 3 char of kunnr after leading zeros
SHIFT g_t_kit_inp1-kunnr LEFT DELETING LEADING '0'.
l_f_cust_grp = g_t_kit_inp1-kunnr+0(3).
Read the Y16M_ADVERT_MAT to get purchasing group
SELECT single werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_kit_inp1-werks and
vkorg = l_f_vkorg and
cust_grp = l_f_cust_grp.
if sy-subrc = 0.
EKGRP for --> Kit material
g_t_oadv2-t_ekgrp = l_f_ekgrp.
else.
SELECT single werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_kit_inp1-werks and
vkorg = l_f_vkorg and
cust_grp = ' '.
if sy-subrc = 0.
EKGRP for --> Kit material
g_t_oadv2-t_ekgrp = l_f_ekgrp.
else.
EKGRP for --> Kit material
g_t_oadv2-t_ekgrp = ' '.
endif.
endif.
if g_t_kit_inp1-shkzg = 'H'.
on H, Subract the quantity from (t_q_gi) --> Kit material
g_t_oadv2-t_q_gi_kit = g_t_oadv2-t_q_gi_kit -
( g_t_kit_inp1-erfmg * g_f_menge ) .
elseif g_t_kit_inp1-shkzg = 'S'.
on S, Add the quantity with (t_q_gi) --> Kit material
g_t_oadv2-t_q_gi_kit = ( g_t_kit_inp1-erfmg * g_f_menge ) +
g_t_oadv2-t_q_gi_kit.
endif.
ENDFORM. " KIT_KZBEW_ELSE_L
&----
*& Form KIT_2_DELIVERY
&----
KIT^KIT Material
-
Get the KIT material for KIT material
*
-
FORM KIT_2_DELIVERY.
data : l_f_lifex like likp-lifex,
l_f_ebeln like ekpo-ebeln,
l_f_matnr_1 like ekpo-matnr,
l_f_werks like ekpo-werks,
l_f_stlnr like mast-stlnr,
l_g_lgort like ekpo-lgort,
l_f_ebelp like ekpo-ebelp.
clear : l_f_lifex,l_f_ebeln,
l_f_matnr_1,l_f_werks,
l_f_stlnr,g_f_menge_1.
if not g_t_kit_inp1-xblnr is initial.
Get LIFEX from likp using XBLNR
if s_sor is initial.
select single * from likp where vbeln = g_t_kit_inp1-xblnr.
else.
select single * from likp where vbeln = g_t_inp1-xblnr
and vkorg in s_sor.
endif.
if sy-subrc = 0.
l_f_lifex = likp-lifex+1(10).
get PO number material and plant for LIFEX
select single ebeln ebelp matnr werks into
(l_f_ebeln,l_f_ebelp,l_f_matnr_1,l_f_werks)
from ekpo
where ebeln = l_f_lifex.
if sy-subrc = 0.
For BOM number for the KIT material
select single stlnr into (l_f_stlnr) from mast
where matnr = l_f_matnr_1 and
werks = l_f_werks and
stlan = 'K' and
stlal = '01'.
endif.
get quantity from stpo for further calucaltion
select single menge into (g_f_menge_1) from stpo
where IDNRK = g_t_oadv2-t_matnr
and stlty = 'M'
and stlnr = l_f_stlnr.
endif.
clear G_T_kit_INP2.
refresh G_T_kit_INP2.
Read table MKPF, MSEG with selection parameters
if s_dat is initial.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abldat axblnr
into corresponding fields of table G_T_kit_INP2
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
where p~matnr = l_f_matnr_1
and p~werks in s_pla
and p~lgort in s_stl.
else.
select pmblnr pmjahr pzeile pmatnr pwerks plgort p~lifnr
pkunnr pshkzg perfmg pebeln p~kzbew
abldat axblnr
into corresponding fields of table G_T_kit_INP2
from
( mseg as p inner join mkpf as a on amblnr = pmblnr
and amjahr = pmjahr )
where p~matnr = l_f_matnr_1
and p~werks in s_pla
and p~lgort in s_stl
and a~bldat in s_dat.
endif.
>> KIT2
if not g_t_kit_inp2[] is initial.
loop at g_t_kit_inp2.
g_t_oadv3-t_matnr = g_t_kit_inp2-matnr.
g_t_oadv3-mat2 = g_t_oadv-t_matnr.
case g_t_kit_inp2-kzbew.
kzbew = space
when space.
perform kit2_kzbew_space.
kzbew = L
when 'L'.
perform kit2_kzbew_l.
endcase.
Store KIT2 deliveries in otab
append g_t_oadv3.
clear g_t_oadv3.
endloop.
endif.
endif.
ENDFORM. " KIT_2_DELIVERY
&----
*& Form KIT2_KZBEW_SPACE
&----
When Movement indicator is initial "KIT^KIT material
-
Goods Entry
*
-
FORM KIT2_KZBEW_SPACE.
Assign pur.grp
g_t_oadv3-t_ekgrp = ' '.
if g_t_kit_inp2-shkzg = 'H'.
on H, Subract the quantity --> Kit material
g_t_oadv3-t_q_rec = g_t_oadv3-t_q_rec -
( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 ) .
elseif g_t_kit_inp2-shkzg = 'S'.
on S, Add the quantity --> Kit material
g_t_oadv3-t_q_rec = ( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 )
+ g_t_oadv3-t_q_rec.
endif.
ENDFORM. " KIT2_KZBEW_SPACE
&----
*& Form KIT2_KZBEW_L
&----
*>> When Movement indicator is L
-
Goods issued by KIT^KIT material
*
-
FORM KIT2_KZBEW_L.
data : l_f_vbeln like likp-vbeln,
l_f_vkorg like likp-vkorg,
l_f_xblnr like likp-xblnr,
l_f_werks like mseg-werks,
l_f_ekgrp like ekko-ekgrp,
l_f_vkorg1 like likp-vkorg,
l_f_cust_grp(3),
l_f_cust_grp1(3).
if s_sor is initial.
Read likp to get sales organisation
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_kit_inp2-xblnr.
else.
select single vbeln vkorg xblnr into (l_f_vbeln,l_f_vkorg,l_f_xblnr)
from likp
where vbeln = g_t_kit_inp2-xblnr and
vkorg in s_sor.
endif.
Check likp-vkorg with input selection parameter
Take first 3 char of kunnr after leading zeros
SHIFT g_t_kit_inp2-kunnr LEFT DELETING LEADING '0'.
l_f_cust_grp = g_t_kit_inp2-kunnr+0(3).
Read the Y16M_ADVERT_MAT to get purchasing group
SELECT single werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_kit_inp2-werks and
vkorg = l_f_vkorg and
cust_grp = l_f_cust_grp.
if sy-subrc = 0.
EKGRP for --> Kit2 material
g_t_oadv3-t_ekgrp = l_f_ekgrp.
else.
SELECT single werks ekgrp vkorg cust_grp into
(l_f_werks,l_f_ekgrp,
l_f_vkorg1,l_f_cust_grp1)
from Y16M_ADVERT_MAT
where werks = g_t_kit_inp2-werks and
vkorg = l_f_vkorg and
cust_grp = ' '.
if sy-subrc = 0.
EKGRP for --> Kit2 material
g_t_oadv3-t_ekgrp = l_f_ekgrp.
else.
EKGRP for --> Kit2 material
g_t_oadv3-t_ekgrp = ' '.
endif.
endif.
if g_t_kit_inp2-shkzg = 'H'.
on H, Subract the quantity (t_q_gi) --> Kit material
g_t_oadv3-t_q_gi_kit = g_t_oadv3-t_q_gi_kit -
( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 ).
elseif g_t_kit_inp2-shkzg = 'S'.
on S, Add the quantity (t_q_gi) --> Kit material
g_t_oadv3-t_q_gi_kit =
( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 ) +
g_t_oadv3-t_q_gi_kit.
endif.
ENDFORM. " KIT2_KZBEW_L
&----
*& Form MOVE_KIT1_TO_MAIN
&----
Move KIT to output
-
MATNR, EKGRP,
Goods recieved, Issued
-
FORM MOVE_KIT1_TO_MAIN.
data : l_t_ekgrp like g_t_ekgrp occurs 0 with header line.
data : l_t_grp like g_t_group occurs 0 with header line.
data : l_t_oadv2_temp like g_t_oadv occurs 0 with header line.
to get all material and pur.grp.
loop at g_t_oadv2.
l_t_grp-matnr = g_t_oadv2-mat2.
l_t_grp-ekgrp = g_t_oadv2-t_ekgrp.
append l_t_grp.
endloop.
sort l_t_grp by matnr ekgrp.
delete ADJACENT DUPLICATES FROM l_t_grp.
add all related records of material and pur.grp
loop at l_t_grp.
clear : l_t_oadv2_temp-t_q_rec,l_t_oadv2_temp-t_q_gi,
l_t_oadv2_temp-t_q_gi_kit.
loop at g_t_oadv2 where mat2 = l_t_grp-matnr and
t_ekgrp = l_t_grp-ekgrp.
l_t_oadv2_temp-t_q_rec = l_t_oadv2_temp-t_q_rec +
g_t_oadv2-t_q_rec.
l_t_oadv2_temp-t_q_gi_kit = l_t_oadv2_temp-t_q_gi_kit +
g_t_oadv2-t_q_gi_kit.
endloop.
l_t_oadv2_temp-t_matnr = g_t_oadv2-mat2.
l_t_oadv2_temp-t_ekgrp = l_t_grp-ekgrp.
append l_t_oadv2_temp.
g_t_index = g_t_index + 1.
endloop.
clear : g_t_oadv2,g_t_oadv2[].
g_t_oadv2] = l_t_oadv2_temp[.
if not g_t_oadv2[] is initial.
loop at g_t_oadv2.
g_t_oadv-t_matnr = g_t_oadv2-t_matnr.
g_t_oadv-t_ekgrp = g_t_oadv2-t_ekgrp.
g_t_oadv-t_q_rec = g_t_oadv2-t_q_rec.
g_t_oadv-t_q_gi = g_t_oadv2-t_q_gi.
g_t_oadv-t_q_gi_kit = g_t_oadv2-t_q_gi_kit.
append g_t_oadv.
endloop.
endif.
refresh : g_t_oadv2,g_t_oadv2[].
ENDFORM. " MOVE_KIT1_TO_MAIN
&----
*& Form MOVE_KIT2_TO_MAIN
&----
Move KIT^KIT to OTAB
-
MATNR, EKGRP,
Goods recieved, Issued
-
FORM MOVE_KIT2_TO_MAIN.
data : l_t_ekgrp like g_t_ekgrp occurs 0 with header line.
data : l_t_grp like g_t_group occurs 0 with header line.
data : l_t_oadv3_temp like g_t_oadv occurs 0 with header line.
to get all pur.grp for output
loop at g_t_oadv3.
l_t_grp-matnr = g_t_oadv3-mat2.
l_t_grp-ekgrp = g_t_oadv3-t_ekgrp.
append l_t_grp.
endloop.
sort l_t_grp by matnr ekgrp.
delete ADJACENT DUPLICATES FROM l_t_grp.
add all related records of material and pur.grp
loop at l_t_grp.
clear : l_t_oadv3_temp-t_q_rec,l_t_oadv3_temp-t_q_gi,
l_t_oadv3_temp-t_q_gi_kit.
loop at g_t_oadv3 where mat2 = l_t_grp-matnr and
t_ekgrp = l_t_grp-ekgrp.
l_t_oadv3_temp-t_q_rec = l_t_oadv3_temp-t_q_rec +
g_t_oadv3-t_q_rec.
l_t_oadv3_temp-t_q_gi_kit = l_t_oadv3_temp-t_q_gi_kit +
g_t_oadv3-t_q_gi_kit.
endloop.
l_t_oadv3_temp-t_matnr = g_t_oadv3-mat2.
l_t_oadv3_temp-t_ekgrp = l_t_grp-ekgrp.
append l_t_oadv3_temp.
g_t_index = g_t_index + 1.
endloop.
clear : g_t_oadv3,g_t_oadv3[].
g_t_oadv3] = l_t_oadv3_temp[.
if not g_t_oadv3[] is initial.
loop at g_t_oadv3.
g_t_oadv-t_matnr = g_t_oadv3-t_matnr.
g_t_oadv-t_ekgrp = g_t_oadv3-t_ekgrp.
g_t_oadv-t_q_rec = g_t_oadv3-t_q_rec.
g_t_oadv-t_q_gi = g_t_oadv3-t_q_gi.
g_t_oadv-t_q_gi_kit = g_t_oadv3-t_q_gi_kit.
append g_t_oadv.
endloop.
endif.
refresh : g_t_oadv3,g_t_oadv3[].
ENDFORM. " MOVE_KIT2_TO_MAIN
&----
*& Form OUTPUT_TABLE
&----
Output table with MAIN,KIT,KIT^KIT material
-
EKGRP
*
-
FORM OUTPUT_TABLE.
sort g_t_oadv ascending by t_matnr t_ekgrp.
Add the received and issued material for PR.grp
if not s_pgr[] is initial.
loop at g_t_group where ekgrp in s_pgr..
clear : g_t_oadv1-t_q_rec,g_t_oadv1-t_q_gi,g_t_oadv1-t_q_gi_kit.
loop at g_t_oadv where t_matnr = g_t_group-matnr and
t_ekgrp = g_t_group-ekgrp. .
g_t_oadv1-t_q_rec = g_t_oadv1-t_q_rec + g_t_oadv-t_q_rec.
g_t_oadv1-t_q_gi = g_t_oadv1-t_q_gi + g_t_oadv-t_q_gi.
g_t_oadv1-t_q_gi_kit = g_t_oadv1-t_q_gi_kit + g_t_oadv-t_q_gi_kit.
endloop.
g_t_oadv1-t_matnr = g_t_oadv-t_matnr.
g_t_oadv1-t_ekgrp = g_t_group-ekgrp.
append g_t_oadv1.
g_t_index = g_t_index + 1.
endloop.
else.
loop at g_t_group.
clear : g_t_oadv1-t_q_rec,g_t_oadv1-t_q_gi,g_t_oadv1-t_q_gi_kit.
loop at g_t_oadv where t_matnr = g_t_group-matnr and
t_ekgrp = g_t_group-ekgrp. .
g_t_oadv1-t_q_rec = g_t_oadv1-t_q_rec + g_t_oadv-t_q_rec.
g_t_oadv1-t_q_gi = g_t_oadv1-t_q_gi + g_t_oadv-t_q_gi.
g_t_oadv1-t_q_gi_kit = g_t_oadv1-t_q_gi_kit + g_t_oadv-t_q_gi_kit.
endloop.
g_t_oadv1-t_matnr = g_t_oadv-t_matnr.
g_t_oadv1-t_ekgrp = g_t_group-ekgrp.
append g_t_oadv1.
g_t_index = g_t_index + 1.
endloop.
endif.
ENDFORM. " OUTPUT_TABLE
&----
*& Form KIT2_OTHERS
&----
*
-
*
*
-
FORM KIT2_OTHERS.
if g_t_kit_inp2-shkzg = 'H'.
on H, Subract the quantity (t_q_gi) --> Kit material
g_t_oadv3-t_q_gi_kit = g_t_oadv3-t_q_gi_kit -
( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 ).
elseif g_t_kit_inp2-shkzg = 'S'.
on S, Add the quantity (t_q_gi) --> Kit material
g_t_oadv3-t_q_gi_kit =
( g_t_kit_inp2-erfmg * g_f_menge * g_f_menge_1 ) +
g_t_oadv3-t_q_gi_kit.
endif.
ENDFORM. " KIT2_OTHERS
&----
*& Form KIT_OTHERS
&----
*
-
*
*
-
FORM KIT_OTHERS.
if g_t_kit_inp1-shkzg = 'H'.
on H, Subract the quantity (t_q_gi) --> Kit material
g_t_oadv2-t_q_gi_kit = g_t_oadv2-t_q_gi_kit -
( g_t_kit_inp1-erfmg * g_f_menge ).
elseif g_t_kit_inp1-shkzg = 'S'.
on S, Add the quantity (t_q_gi) --> Kit material
g_t_oadv2-t_q_gi_kit = ( g_t_kit_inp1-erfmg * g_f_menge ) +
g_t_oadv2-t_q_gi_kit.
endif.
ENDFORM. " KIT_OTHERS
&----
*& Form ALV_output
&----
DISPLAY O/P
-
FORM ALV_output .
DATA : V_PNAME TYPE SY-REPID.
V_PNAME = SY-REPID.
move 'COLOR_LINE' to g_is_layout-info_fieldname.
move 'BOX' to g_is_layout-box_fieldname.
Move 'X' to g_is_layout-zebra.
MOVE 'T_MATNR' to g_wa_sort-fieldname.
MOVE 'G_T_OADV1' to g_wa_sort-tabname.
MOVE 'X' to g_wa_sort-subtot.
MOVE 'X' to g_wa_sort-up.
append g_wa_sort to g_t_sort.
*/ ALV List - output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_PNAME
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
IS_LAYOUT = g_is_layout
it_sort = g_t_sort
it_fieldcat = g_t_catalog
i_save = 'A'
TABLES
t_outtab = g_t_oadv1
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. " ALV_output
&----
*& Form BUILD_FIELD_CATALOG
&----
FIELD CATALOG
-
*
*
-
FORM BUILD_FIELD_CATALOG.
REFRESH : g_t_catalog.
DATA : g_wa_catalog LIKE LINE OF g_t_catalog.
*/ Add Material Number
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'T_MATNR'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '16'.
g_wa_catalog-seltext_m = 'Material'.
g_wa_catalog-key = 'X'.
g_wa_catalog-just = 'L'.
g_wa_catalog-emphasize = 'C610'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add Pur Orgz
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'T_EKGRP'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '10'.
g_wa_catalog-seltext_L = text-011.
g_wa_catalog-key = 'X'.
g_wa_catalog-just = 'L'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add Recieved
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'T_Q_REC'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '15'.
g_wa_catalog-seltext_m = text-013.
g_wa_catalog-just = 'L'.
g_wa_catalog-do_sum = 'X'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add Goods Issued
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'T_Q_GI'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '15'.
g_wa_catalog-seltext_m = text-014.
g_wa_catalog-just = 'L'.
g_wa_catalog-do_sum = 'X'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add remaining stock
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'REMIN'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '15'.
g_wa_catalog-seltext_m = text-015.
g_wa_catalog-just = 'L'.
g_wa_catalog-do_sum = 'X'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add Sales via KIT
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'T_Q_GI_KIT'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '15'.
g_wa_catalog-seltext_m = text-016.
g_wa_catalog-just = 'L'.
g_wa_catalog-do_sum = 'X'.
APPEND g_wa_catalog TO g_t_catalog.
*/ Add Sales via KIT
CLEAR g_wa_catalog.
g_wa_catalog-fieldname = 'TOT_REMAIN'.
g_wa_catalog-tabname = 'G_T_OADV1'.
g_wa_catalog-outputlen = '15'.
g_wa_catalog-seltext_m = text-017.
g_wa_catalog-just = 'L'.
g_wa_catalog-do_sum = 'X'.
APPEND g_wa_catalog TO g_t_catalog.
ENDFORM. " BUILD_FIELD_CATALOG
Reward Points if helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.