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.

*&---------------------------------------------------------------------*
*&  Include           ZSD_SALES_ORDER_TRACKING_TOP
*&---------------------------------------------------------------------*

TABLESvbak,vbpa,mara,kna1,vbap.

TYPESBEGIN 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.
DATAgt_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
DATAgt_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_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 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 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 .
  
CLEARgs_vbak_vbap,gs_konv,gs_knvvgs_mvkegs_tvm3tgs_vbkd,gs_afko,gs_afpo,gs_vbep,gs_mara,gs_vbpa,gs_kna1,gs_vbfags_likp.
  
REFRESH:gt_konv,gt_knvv,gt_mvke,gt_tvm3t,gt_vbkd,gt_afko,gt_afpogt_vbep,gt_mara,gt_vbpagt_kna1,gt_vbfagt_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.
    
CLEARgs_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.
    
CLEARgs_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

Popular posts from this blog

all user exit mv45afzz (implicit user exit )

Long Text in input and output field in module pool

MB_MIGO_BADI THIS BADI USED TO POSTING DATA IN MIGO