Sales Order tracking reports in alv
Sales order tracking reports:
below reports sales order tracking reports on behalf of condition you can fetch the sales order
and extracted the sales order status reports here we can declared around ten table
************************************************************************
* Program Name : zsd_sales_order_tracking Object ID: ZGSD01 *
* Description : ZSD_SALES_ORDER_TRACKING *
* Create Date : 24.10.2018 *
* FO Owner : Rohini kumar *
* Tech Owner : Rohini Kumar *
* Project Module : SD *
************************************************************************
* Change Log *
************************************************************************
* REQ# DATE WHO CHANGE_ID DESCR *
*-----------------------------------------------------------------------
* 001 Initial *
************************************************************************
REPORT zsd_sales_order_tracking.
INCLUDE zsd_sales_order_tracking_top.
INCLUDE zsd_sales_order_tracking_sel.
INCLUDE zsd_sales_order_tracking_sub.
INITIALIZATION.
PERFORM f_clear.
START-OF-SELECTION.
PERFORM f_get_data.
PERFORM f_process.
PERFORM f_catalog.
END-OF-SELECTION.
PERFORM display_alv.
* Program Name : zsd_sales_order_tracking Object ID: ZGSD01 *
* Description : ZSD_SALES_ORDER_TRACKING *
* Create Date : 24.10.2018 *
* FO Owner : Rohini kumar *
* Tech Owner : Rohini Kumar *
* Project Module : SD *
************************************************************************
* Change Log *
************************************************************************
* REQ# DATE WHO CHANGE_ID DESCR *
*-----------------------------------------------------------------------
* 001 Initial *
************************************************************************
REPORT zsd_sales_order_tracking.
INCLUDE zsd_sales_order_tracking_top.
INCLUDE zsd_sales_order_tracking_sel.
INCLUDE zsd_sales_order_tracking_sub.
INITIALIZATION.
PERFORM f_clear.
START-OF-SELECTION.
PERFORM f_get_data.
PERFORM f_process.
PERFORM f_catalog.
END-OF-SELECTION.
PERFORM display_alv.
*&---------------------------------------------------------------------*
*& Include ZSD_SALES_ORDER_TRACKING_TOP
*&---------------------------------------------------------------------*
TABLES: vbak,vbpa,mara,kna1,vbap.
TYPES: BEGIN OF ty_vbak_vbap,
vbeln TYPE vbeln_va,
erdat TYPE erdat,
waerk TYPE waerk,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
kunnr TYPE kunag,
vkgrp TYPE vkgrp,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
arktx TYPE arktx,
abgru TYPE abgru_va,
werks TYPE werks_ext,
kwmeng TYPE kwmeng,
kzwi1 TYPE kzwi1,
kzwi2 TYPE kzwi2,
kzwi3 TYPE kzwi3,
kzwi4 TYPE kzwi4,
END OF ty_vbak_vbap,
BEGIN OF ty_konv,
knumv TYPE knumv,
kposn TYPE kposn,
stunr TYPE stunr,
zaehk TYPE dzaehk,
kwert TYPE kwert,
END OF ty_konv,
BEGIN OF ty_knvv,
kunnr TYPE kunnr,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
spart TYPE spart,
END OF ty_knvv,
BEGIN OF ty_mvke,
matnr TYPE matnr,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
mvgr3 TYPE mvgr3,
END OF ty_mvke,
BEGIN OF ty_tvm3t,
spras TYPE spras,
mvgr3 TYPE mvgr3,
bezei TYPE bezei40,
END OF ty_tvm3t,
BEGIN OF ty_vbkd,
vbeln TYPE vbeln,
posnr TYPE posnr,
kursk TYPE kursk,
bstkd TYPE bstkd,
bstdk TYPE bstdk,
END OF ty_vbkd,
BEGIN OF ty_afko,
aufnr TYPE aufnr,
gltrs TYPE co_gltrs,
gstrs TYPE co_gstrs,
sichz TYPE sichz,
END OF ty_afko,
BEGIN OF ty_afpo,
aufnr TYPE aufnr,
posnr TYPE co_posnr,
webaz TYPE plwez,
END OF ty_afpo,
BEGIN OF ty_vbep,
vbeln TYPE vbeln_va,
posnr TYPE posnr_va,
etenr TYPE etenr,
ettyp TYPE ettyp,
edatu TYPE edatu,
bmeng TYPE bmeng,
vrkme TYPE vrkme,
END OF ty_vbep,
BEGIN OF ty_mara,
matnr TYPE matnr,
mtart TYPE mtart,
mbrsh TYPE mbrsh,
matkl TYPE matkl,
spart TYPE spart,
END OF ty_mara,
BEGIN OF ty_vbpa,
vbeln TYPE vbeln,
posnr TYPE posnr,
parvw TYPE parvw,
kunnr TYPE kunnr,
lifnr TYPE lifnr,
END OF ty_vbpa,
BEGIN OF ty_kna1,
kunnr TYPE kunnr,
land1 TYPE land1_gp,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
ort01 TYPE ort01_gp,
pstlz TYPE pstlz,
regio TYPE regio,
END OF ty_kna1,
BEGIN OF ty_vbfa,
vbelv TYPE vbeln_von,
posnv TYPE posnr_von,
vbeln TYPE vbeln_nach,
posnn TYPE posnr_nach,
vbtyp_n TYPE vbtyp_n,
vbtyp_v TYPE vbtyp_v,
erdat TYPE erdat,
END OF ty_vbfa,
BEGIN OF ty_likp,
vbeln TYPE vbeln_vl,
ernam TYPE ernam,
erzet TYPE erzet,
erdat TYPE erdat,
END OF ty_likp,
BEGIN OF ty_vbrk_vbrp,
vbeln TYPE vbeln_vf,
fkdat TYPE fkdat,
posnr TYPE posnr_vf,
fkimg TYPE fkimg,
netwr TYPE netwr_fp,
mwsbp TYPE mwsbp,
END OF ty_vbrk_vbrp,
BEGIN OF ty_final,
vbeln TYPE vbeln_va,
erdat TYPE erdat,
waerk TYPE waerk,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
kunnr TYPE kunag,
vkgrp TYPE vkgrp,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
arktx TYPE arktx,
abgru TYPE abgru_va,
werks TYPE werks_ext,
kwmeng TYPE kwmeng,
kzwi1 TYPE kzwi1,
kzwi2 TYPE kzwi2,
kzwi3 TYPE kzwi3,
kzwi4 TYPE kzwi4,
knumv TYPE knumv,
kposn TYPE kposn,
stunr TYPE stunr,
zaehk TYPE dzaehk,
kwert TYPE kwert,
spart TYPE spart,
mvgr3 TYPE mvgr3,
bezei TYPE bezei40,
kursk TYPE kursk,
bstkd TYPE bstkd,
bstdk TYPE bstdk,
aufnr TYPE aufnr,
gltrs TYPE co_gltrs,
gstrs TYPE co_gstrs,
sichz TYPE sichz,
webaz TYPE plwez,
etenr TYPE etenr,
ettyp TYPE ettyp,
edatu TYPE edatu,
bmeng TYPE bmeng,
vrkme TYPE vrkme,
mtart TYPE mtart,
mbrsh TYPE mbrsh,
parvw TYPE parvw,
lifnr TYPE lifnr,
land1 TYPE land1_gp,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
ort01 TYPE ort01_gp,
pstlz TYPE pstlz,
regio TYPE regio,
vbelv TYPE vbeln_von,
posnv TYPE posnr_von,
posnn TYPE posnr_nach,
vbtyp_n TYPE vbtyp_n,
vbtyp_v TYPE vbtyp_v,
ernam TYPE ernam,
erzet TYPE erzet,
fkdat TYPE fkdat,
fkimg TYPE fkimg,
netwr TYPE netwr_fp,
mwsbp TYPE mwsbp,
END OF ty_final.
DATA: gt_vbak_vbap TYPE STANDARD TABLE OF ty_vbak_vbap,
gs_vbak_vbap TYPE ty_vbak_vbap,
gt_konv TYPE STANDARD TABLE OF ty_konv,
gs_konv TYPE ty_konv,
gt_knvv TYPE STANDARD TABLE OF ty_knvv,
gs_knvv TYPE ty_knvv,
gt_mvke TYPE STANDARD TABLE OF ty_mvke,
gs_mvke TYPE ty_mvke,
gt_tvm3t TYPE STANDARD TABLE OF ty_tvm3t,
gs_tvm3t TYPE ty_tvm3t,
gt_vbkd TYPE STANDARD TABLE OF ty_vbkd,
gs_vbkd TYPE ty_vbkd,
gt_afko TYPE STANDARD TABLE OF ty_afko,
gs_afko TYPE ty_afko,
gt_afpo TYPE STANDARD TABLE OF ty_afpo,
gs_afpo TYPE ty_afpo,
gt_vbep TYPE STANDARD TABLE OF ty_vbep,
gs_vbep TYPE ty_vbep,
gt_mara TYPE STANDARD TABLE OF ty_mara,
gs_mara TYPE ty_mara,
gt_vbpa TYPE STANDARD TABLE OF ty_vbpa,
gs_vbpa TYPE ty_vbpa,
gt_kna1 TYPE STANDARD TABLE OF ty_kna1,
gs_kna1 TYPE ty_kna1,
gt_vbfa TYPE STANDARD TABLE OF ty_vbfa,
gs_vbfa TYPE ty_vbfa,
gt_likp TYPE STANDARD TABLE OF ty_likp,
gs_likp TYPE ty_likp,
gt_vbrk_vbrp type STANDARD TABLE OF ty_vbrk_vbrp,
gs_vbrk_vbrp type ty_vbrk_vbrp,
gt_final TYPE STANDARD TABLE OF ty_final,
gs_final TYPE ty_final.
* alv fieldcatalog declratoin
DATA: gt_fcat TYPE slis_t_fieldcat_alv,
gs_fcat LIKE LINE OF gt_fcat, "slis_fieldcat_alv,
gs_layout TYPE slis_layout_alv,
gt_header TYPE slis_t_listheader,
gs_header TYPE slis_listheader.
*& Include ZSD_SALES_ORDER_TRACKING_TOP
*&---------------------------------------------------------------------*
TABLES: vbak,vbpa,mara,kna1,vbap.
TYPES: BEGIN OF ty_vbak_vbap,
vbeln TYPE vbeln_va,
erdat TYPE erdat,
waerk TYPE waerk,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
kunnr TYPE kunag,
vkgrp TYPE vkgrp,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
arktx TYPE arktx,
abgru TYPE abgru_va,
werks TYPE werks_ext,
kwmeng TYPE kwmeng,
kzwi1 TYPE kzwi1,
kzwi2 TYPE kzwi2,
kzwi3 TYPE kzwi3,
kzwi4 TYPE kzwi4,
END OF ty_vbak_vbap,
BEGIN OF ty_konv,
knumv TYPE knumv,
kposn TYPE kposn,
stunr TYPE stunr,
zaehk TYPE dzaehk,
kwert TYPE kwert,
END OF ty_konv,
BEGIN OF ty_knvv,
kunnr TYPE kunnr,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
spart TYPE spart,
END OF ty_knvv,
BEGIN OF ty_mvke,
matnr TYPE matnr,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
mvgr3 TYPE mvgr3,
END OF ty_mvke,
BEGIN OF ty_tvm3t,
spras TYPE spras,
mvgr3 TYPE mvgr3,
bezei TYPE bezei40,
END OF ty_tvm3t,
BEGIN OF ty_vbkd,
vbeln TYPE vbeln,
posnr TYPE posnr,
kursk TYPE kursk,
bstkd TYPE bstkd,
bstdk TYPE bstdk,
END OF ty_vbkd,
BEGIN OF ty_afko,
aufnr TYPE aufnr,
gltrs TYPE co_gltrs,
gstrs TYPE co_gstrs,
sichz TYPE sichz,
END OF ty_afko,
BEGIN OF ty_afpo,
aufnr TYPE aufnr,
posnr TYPE co_posnr,
webaz TYPE plwez,
END OF ty_afpo,
BEGIN OF ty_vbep,
vbeln TYPE vbeln_va,
posnr TYPE posnr_va,
etenr TYPE etenr,
ettyp TYPE ettyp,
edatu TYPE edatu,
bmeng TYPE bmeng,
vrkme TYPE vrkme,
END OF ty_vbep,
BEGIN OF ty_mara,
matnr TYPE matnr,
mtart TYPE mtart,
mbrsh TYPE mbrsh,
matkl TYPE matkl,
spart TYPE spart,
END OF ty_mara,
BEGIN OF ty_vbpa,
vbeln TYPE vbeln,
posnr TYPE posnr,
parvw TYPE parvw,
kunnr TYPE kunnr,
lifnr TYPE lifnr,
END OF ty_vbpa,
BEGIN OF ty_kna1,
kunnr TYPE kunnr,
land1 TYPE land1_gp,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
ort01 TYPE ort01_gp,
pstlz TYPE pstlz,
regio TYPE regio,
END OF ty_kna1,
BEGIN OF ty_vbfa,
vbelv TYPE vbeln_von,
posnv TYPE posnr_von,
vbeln TYPE vbeln_nach,
posnn TYPE posnr_nach,
vbtyp_n TYPE vbtyp_n,
vbtyp_v TYPE vbtyp_v,
erdat TYPE erdat,
END OF ty_vbfa,
BEGIN OF ty_likp,
vbeln TYPE vbeln_vl,
ernam TYPE ernam,
erzet TYPE erzet,
erdat TYPE erdat,
END OF ty_likp,
BEGIN OF ty_vbrk_vbrp,
vbeln TYPE vbeln_vf,
fkdat TYPE fkdat,
posnr TYPE posnr_vf,
fkimg TYPE fkimg,
netwr TYPE netwr_fp,
mwsbp TYPE mwsbp,
END OF ty_vbrk_vbrp,
BEGIN OF ty_final,
vbeln TYPE vbeln_va,
erdat TYPE erdat,
waerk TYPE waerk,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
kunnr TYPE kunag,
vkgrp TYPE vkgrp,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
arktx TYPE arktx,
abgru TYPE abgru_va,
werks TYPE werks_ext,
kwmeng TYPE kwmeng,
kzwi1 TYPE kzwi1,
kzwi2 TYPE kzwi2,
kzwi3 TYPE kzwi3,
kzwi4 TYPE kzwi4,
knumv TYPE knumv,
kposn TYPE kposn,
stunr TYPE stunr,
zaehk TYPE dzaehk,
kwert TYPE kwert,
spart TYPE spart,
mvgr3 TYPE mvgr3,
bezei TYPE bezei40,
kursk TYPE kursk,
bstkd TYPE bstkd,
bstdk TYPE bstdk,
aufnr TYPE aufnr,
gltrs TYPE co_gltrs,
gstrs TYPE co_gstrs,
sichz TYPE sichz,
webaz TYPE plwez,
etenr TYPE etenr,
ettyp TYPE ettyp,
edatu TYPE edatu,
bmeng TYPE bmeng,
vrkme TYPE vrkme,
mtart TYPE mtart,
mbrsh TYPE mbrsh,
parvw TYPE parvw,
lifnr TYPE lifnr,
land1 TYPE land1_gp,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
ort01 TYPE ort01_gp,
pstlz TYPE pstlz,
regio TYPE regio,
vbelv TYPE vbeln_von,
posnv TYPE posnr_von,
posnn TYPE posnr_nach,
vbtyp_n TYPE vbtyp_n,
vbtyp_v TYPE vbtyp_v,
ernam TYPE ernam,
erzet TYPE erzet,
fkdat TYPE fkdat,
fkimg TYPE fkimg,
netwr TYPE netwr_fp,
mwsbp TYPE mwsbp,
END OF ty_final.
DATA: gt_vbak_vbap TYPE STANDARD TABLE OF ty_vbak_vbap,
gs_vbak_vbap TYPE ty_vbak_vbap,
gt_konv TYPE STANDARD TABLE OF ty_konv,
gs_konv TYPE ty_konv,
gt_knvv TYPE STANDARD TABLE OF ty_knvv,
gs_knvv TYPE ty_knvv,
gt_mvke TYPE STANDARD TABLE OF ty_mvke,
gs_mvke TYPE ty_mvke,
gt_tvm3t TYPE STANDARD TABLE OF ty_tvm3t,
gs_tvm3t TYPE ty_tvm3t,
gt_vbkd TYPE STANDARD TABLE OF ty_vbkd,
gs_vbkd TYPE ty_vbkd,
gt_afko TYPE STANDARD TABLE OF ty_afko,
gs_afko TYPE ty_afko,
gt_afpo TYPE STANDARD TABLE OF ty_afpo,
gs_afpo TYPE ty_afpo,
gt_vbep TYPE STANDARD TABLE OF ty_vbep,
gs_vbep TYPE ty_vbep,
gt_mara TYPE STANDARD TABLE OF ty_mara,
gs_mara TYPE ty_mara,
gt_vbpa TYPE STANDARD TABLE OF ty_vbpa,
gs_vbpa TYPE ty_vbpa,
gt_kna1 TYPE STANDARD TABLE OF ty_kna1,
gs_kna1 TYPE ty_kna1,
gt_vbfa TYPE STANDARD TABLE OF ty_vbfa,
gs_vbfa TYPE ty_vbfa,
gt_likp TYPE STANDARD TABLE OF ty_likp,
gs_likp TYPE ty_likp,
gt_vbrk_vbrp type STANDARD TABLE OF ty_vbrk_vbrp,
gs_vbrk_vbrp type ty_vbrk_vbrp,
gt_final TYPE STANDARD TABLE OF ty_final,
gs_final TYPE ty_final.
* alv fieldcatalog declratoin
DATA: gt_fcat TYPE slis_t_fieldcat_alv,
gs_fcat LIKE LINE OF gt_fcat, "slis_fieldcat_alv,
gs_layout TYPE slis_layout_alv,
gt_header TYPE slis_t_listheader,
gs_header TYPE slis_listheader.
*&---------------------------------------------------------------------*
*& Include ZSD_SALES_ORDER_TRACKING_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_werks FOR vbap-werks,
s_me FOR vbpa-kunnr,
s_matkl FOR mara-matkl,
s_gc FOR vbap-werks,
s_ag FOR vbpa-kunnr,
s_con FOR kna1-land1,
s_vkgrp FOR vbak-vkgrp,
s_regio FOR kna1-regio,
s_erdat FOR vbak-erdat.
SELECTION-SCREEN END OF BLOCK b1.
*& Include ZSD_SALES_ORDER_TRACKING_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_werks FOR vbap-werks,
s_me FOR vbpa-kunnr,
s_matkl FOR mara-matkl,
s_gc FOR vbap-werks,
s_ag FOR vbpa-kunnr,
s_con FOR kna1-land1,
s_vkgrp FOR vbak-vkgrp,
s_regio FOR kna1-regio,
s_erdat FOR vbak-erdat.
SELECTION-SCREEN END OF BLOCK b1.
*&---------------------------------------------------------------------*
*& Include ZSD_SALES_ORDER_TRACKING_SUB
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form F_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_data .
SELECT a~vbeln a~erdat a~waerk a~vkorg a~vtweg a~kunnr a~vkgrp b~posnr
b~matnr b~matkl b~arktx b~abgru b~werks b~kwmeng b~kzwi1
b~kzwi2 b~kzwi3 b~kzwi4
FROM ( ( vbak AS a
INNER JOIN vbap AS b ON a~vbeln = b~vbeln ) )
INTO TABLE gt_vbak_vbap
WHERE a~erdat IN s_erdat
AND b~werks IN s_werks
AND a~vkgrp IN s_vkgrp.
IF gt_vbak_vbap IS NOT INITIAL.
SELECT kunnr vkorg vtweg spart FROM knvv
INTO TABLE gt_knvv
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE kunnr = gt_vbak_vbap-kunnr.
SELECT matnr vkorg vtweg mvgr3 FROM mvke
INTO TABLE gt_mvke
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE matnr = gt_vbak_vbap-matnr.
SELECT vbeln posnr kursk bstkd bstdk FROM vbkd
INTO TABLE gt_vbkd
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
SELECT vbeln posnr etenr ettyp edatu bmeng vrkme
FROM vbep INTO TABLE gt_vbep
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
SELECT matnr mtart mbrsh matkl spart
FROM mara INTO TABLE gt_mara
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE matnr = gt_vbak_vbap-matnr
AND matkl IN s_matkl.
SELECT vbeln posnr parvw kunnr lifnr
FROM vbpa INTO TABLE gt_vbpa
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
IF gt_vbpa IS NOT INITIAL.
SELECT kunnr land1 name1 name2 ort01 pstlz regio
FROM kna1 INTO TABLE gt_kna1
FOR ALL ENTRIES IN gt_vbpa
WHERE kunnr = gt_vbpa-kunnr
AND land1 IN s_con
AND regio IN s_regio.
ENDIF.
SELECT vbelv posnv vbeln posnn vbtyp_n vbtyp_v erdat
FROM vbfa INTO TABLE gt_vbfa
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
IF gt_vbfa IS NOT INITIAL.
SELECT vbeln ernam erzet erdat
FROM likp INTO TABLE gt_likp
FOR ALL ENTRIES IN gt_vbfa
WHERE vbeln = gt_vbfa-vbeln.
SELECT a~vbeln
a~fkdat
b~posnr
b~fkimg
b~netwr
b~mwsbp
FROM ( ( vbrk AS a
INNER JOIN vbrp AS b ON a~vbeln = b~vbeln ) )
INTO TABLE gt_vbrk_vbrp
FOR ALL ENTRIES IN gt_vbfa
WHERE a~vbeln = gt_vbfa-vbeln.
ENDIF.
ENDIF.
ENDFORM. " F_GET_DATA
*&---------------------------------------------------------------------*
*& Form F_CLEAR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_clear .
CLEAR: gs_vbak_vbap,gs_konv,gs_knvv, gs_mvke, gs_tvm3t, gs_vbkd,gs_afko,gs_afpo,gs_vbep,gs_mara,gs_vbpa,gs_kna1,gs_vbfa, gs_likp.
REFRESH:gt_konv,gt_knvv,gt_mvke,gt_tvm3t,gt_vbkd,gt_afko,gt_afpo, gt_vbep,gt_mara,gt_vbpa, gt_kna1,gt_vbfa, gt_likp,gt_vbak_vbap.
ENDFORM. " F_CLEAR
*&---------------------------------------------------------------------*
*& Form F_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_catalog .
gs_fcat-col_pos = '1'.
gs_fcat-fieldname = 'VBELN'.
gs_fcat-tabname = 'GT_FINAL'.
* gs_fcat-checkbox = 'X'.
* gs_fcat-edit = 'X'.
gs_fcat-seltext_m = 'Sales Order No.'.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
gs_fcat-col_pos = '2'.
gs_fcat-fieldname = 'ERDAT'.
gs_fcat-tabname = 'GT_FINAL'.
* gs_fcat-checkbox = 'X'.
* gs_fcat-edit = 'X'.
gs_fcat-seltext_m = 'Creation Date'.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
PERFORM field_catalog1 USING text-c03 text-f04 text-t01 text-h04.
PERFORM field_catalog1 USING text-c04 text-f05 text-t01 text-h05.
PERFORM field_catalog1 USING text-c05 text-f06 text-t01 text-h06.
PERFORM field_catalog1 USING text-c06 text-f07 text-t01 text-h07.
ENDFORM. " F_CATALOG
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = gt_fcat
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_final.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " DISPLAY_ALV
*&---------------------------------------------------------------------*
*& Form F_PROCESS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_process .
LOOP AT gt_vbak_vbap INTO gs_vbak_vbap.
gs_final-vbeln = gs_vbak_vbap-vbeln.
gs_final-erdat = gs_vbak_vbap-erdat.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_vbak_vbap-vbeln
parvw = 'AG'.
IF sy-subrc EQ 0.
READ TABLE gt_kna1 INTO gs_kna1 WITH KEY kunnr = gs_vbpa-kunnr.
IF sy-subrc EQ 0.
gs_final-sotop = gs_kna1-name1.
gs_final-sotopc = gs_kna1-ort01.
ENDIF.
ENDIF.
CLEAR: gs_kna1,gs_vbpa.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_vbak_vbap-vbeln
parvw = 'WE'.
IF sy-subrc EQ 0.
READ TABLE gt_kna1 INTO gs_kna1 WITH KEY kunnr = gs_vbpa-kunnr.
IF sy-subrc EQ 0.
gs_final-shtop = gs_kna1-name1.
gs_final-shtopc = gs_kna1-ort01.
ENDIF.
ENDIF.
" 'WE' SHIP TO PARTY
APPEND gs_final TO gt_final.
CLEAR: gs_final,gs_vbak_vbap.
ENDLOOP.
ENDFORM. " F_PROCESS
*&---------------------------------------------------------------------*
*& Form FIELD_CATALOG1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_TEXT_C03 text
* -->P_TEXT_F03 text
* -->P_TEXT_T01 text
* -->P_TEXT_H03 text
*----------------------------------------------------------------------*
FORM field_catalog1 USING fieldpos
fieldname
tabname
seltextname.
gs_fcat-col_pos = fieldpos.
gs_fcat-fieldname = fieldname.
gs_fcat-tabname = tabname.
* gs_fcat-edit = 'X'.
gs_fcat-outputlen = '15'.
gs_fcat-seltext_m = seltextname.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
ENDFORM. " FIELD_CATALOG1 " F_PROCESS
*& Include ZSD_SALES_ORDER_TRACKING_SUB
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form F_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_data .
SELECT a~vbeln a~erdat a~waerk a~vkorg a~vtweg a~kunnr a~vkgrp b~posnr
b~matnr b~matkl b~arktx b~abgru b~werks b~kwmeng b~kzwi1
b~kzwi2 b~kzwi3 b~kzwi4
FROM ( ( vbak AS a
INNER JOIN vbap AS b ON a~vbeln = b~vbeln ) )
INTO TABLE gt_vbak_vbap
WHERE a~erdat IN s_erdat
AND b~werks IN s_werks
AND a~vkgrp IN s_vkgrp.
IF gt_vbak_vbap IS NOT INITIAL.
SELECT kunnr vkorg vtweg spart FROM knvv
INTO TABLE gt_knvv
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE kunnr = gt_vbak_vbap-kunnr.
SELECT matnr vkorg vtweg mvgr3 FROM mvke
INTO TABLE gt_mvke
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE matnr = gt_vbak_vbap-matnr.
SELECT vbeln posnr kursk bstkd bstdk FROM vbkd
INTO TABLE gt_vbkd
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
SELECT vbeln posnr etenr ettyp edatu bmeng vrkme
FROM vbep INTO TABLE gt_vbep
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
SELECT matnr mtart mbrsh matkl spart
FROM mara INTO TABLE gt_mara
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE matnr = gt_vbak_vbap-matnr
AND matkl IN s_matkl.
SELECT vbeln posnr parvw kunnr lifnr
FROM vbpa INTO TABLE gt_vbpa
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
IF gt_vbpa IS NOT INITIAL.
SELECT kunnr land1 name1 name2 ort01 pstlz regio
FROM kna1 INTO TABLE gt_kna1
FOR ALL ENTRIES IN gt_vbpa
WHERE kunnr = gt_vbpa-kunnr
AND land1 IN s_con
AND regio IN s_regio.
ENDIF.
SELECT vbelv posnv vbeln posnn vbtyp_n vbtyp_v erdat
FROM vbfa INTO TABLE gt_vbfa
FOR ALL ENTRIES IN gt_vbak_vbap
WHERE vbeln = gt_vbak_vbap-vbeln.
IF gt_vbfa IS NOT INITIAL.
SELECT vbeln ernam erzet erdat
FROM likp INTO TABLE gt_likp
FOR ALL ENTRIES IN gt_vbfa
WHERE vbeln = gt_vbfa-vbeln.
SELECT a~vbeln
a~fkdat
b~posnr
b~fkimg
b~netwr
b~mwsbp
FROM ( ( vbrk AS a
INNER JOIN vbrp AS b ON a~vbeln = b~vbeln ) )
INTO TABLE gt_vbrk_vbrp
FOR ALL ENTRIES IN gt_vbfa
WHERE a~vbeln = gt_vbfa-vbeln.
ENDIF.
ENDIF.
ENDFORM. " F_GET_DATA
*&---------------------------------------------------------------------*
*& Form F_CLEAR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_clear .
CLEAR: gs_vbak_vbap,gs_konv,gs_knvv, gs_mvke, gs_tvm3t, gs_vbkd,gs_afko,gs_afpo,gs_vbep,gs_mara,gs_vbpa,gs_kna1,gs_vbfa, gs_likp.
REFRESH:gt_konv,gt_knvv,gt_mvke,gt_tvm3t,gt_vbkd,gt_afko,gt_afpo, gt_vbep,gt_mara,gt_vbpa, gt_kna1,gt_vbfa, gt_likp,gt_vbak_vbap.
ENDFORM. " F_CLEAR
*&---------------------------------------------------------------------*
*& Form F_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_catalog .
gs_fcat-col_pos = '1'.
gs_fcat-fieldname = 'VBELN'.
gs_fcat-tabname = 'GT_FINAL'.
* gs_fcat-checkbox = 'X'.
* gs_fcat-edit = 'X'.
gs_fcat-seltext_m = 'Sales Order No.'.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
gs_fcat-col_pos = '2'.
gs_fcat-fieldname = 'ERDAT'.
gs_fcat-tabname = 'GT_FINAL'.
* gs_fcat-checkbox = 'X'.
* gs_fcat-edit = 'X'.
gs_fcat-seltext_m = 'Creation Date'.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
PERFORM field_catalog1 USING text-c03 text-f04 text-t01 text-h04.
PERFORM field_catalog1 USING text-c04 text-f05 text-t01 text-h05.
PERFORM field_catalog1 USING text-c05 text-f06 text-t01 text-h06.
PERFORM field_catalog1 USING text-c06 text-f07 text-t01 text-h07.
ENDFORM. " F_CATALOG
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = gt_fcat
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_final.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " DISPLAY_ALV
*&---------------------------------------------------------------------*
*& Form F_PROCESS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_process .
LOOP AT gt_vbak_vbap INTO gs_vbak_vbap.
gs_final-vbeln = gs_vbak_vbap-vbeln.
gs_final-erdat = gs_vbak_vbap-erdat.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_vbak_vbap-vbeln
parvw = 'AG'.
IF sy-subrc EQ 0.
READ TABLE gt_kna1 INTO gs_kna1 WITH KEY kunnr = gs_vbpa-kunnr.
IF sy-subrc EQ 0.
gs_final-sotop = gs_kna1-name1.
gs_final-sotopc = gs_kna1-ort01.
ENDIF.
ENDIF.
CLEAR: gs_kna1,gs_vbpa.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_vbak_vbap-vbeln
parvw = 'WE'.
IF sy-subrc EQ 0.
READ TABLE gt_kna1 INTO gs_kna1 WITH KEY kunnr = gs_vbpa-kunnr.
IF sy-subrc EQ 0.
gs_final-shtop = gs_kna1-name1.
gs_final-shtopc = gs_kna1-ort01.
ENDIF.
ENDIF.
" 'WE' SHIP TO PARTY
APPEND gs_final TO gt_final.
CLEAR: gs_final,gs_vbak_vbap.
ENDLOOP.
ENDFORM. " F_PROCESS
*&---------------------------------------------------------------------*
*& Form FIELD_CATALOG1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_TEXT_C03 text
* -->P_TEXT_F03 text
* -->P_TEXT_T01 text
* -->P_TEXT_H03 text
*----------------------------------------------------------------------*
FORM field_catalog1 USING fieldpos
fieldname
tabname
seltextname.
gs_fcat-col_pos = fieldpos.
gs_fcat-fieldname = fieldname.
gs_fcat-tabname = tabname.
* gs_fcat-edit = 'X'.
gs_fcat-outputlen = '15'.
gs_fcat-seltext_m = seltextname.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
ENDFORM. " FIELD_CATALOG1 " F_PROCESS
Comments
Post a Comment