Professional Documents
Culture Documents
likp-vbeln,
lips-posnr,
likp-lfdat,
likp-vstel,
likp-kunnr,
likp-wadat_ist,
lips-lfimg,
lips-meins,
lips-vgbel,
lips-vgpos,
TYPE tty_delivery,
TYPE tty_del,
TYPE sy-repid,
TYPE lips-lfimg,
TYPE slis_t_fieldcat_alv,
TYPE disvariant,
TYPE disvariant,
TYPE c VALUE 'X',
TYPE c.
*&---------------------------------------------------------------------*
*&
Form catalog
*&---------------------------------------------------------------------*
FORM catalog.
DATA: ls_fieldcat
TYPE slis_fieldcat_alv.
ls_fieldcat-fieldname = 'VBELN_D'.
ls_fieldcat-tabname = 'GT_DELIVERY'.
ls_fieldcat-seltext_m = 'DELIVERY '.
ls_fieldcat-emphasize = 'C111'.
ls_fieldcat-fix_column = 'X'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'POSNR_D'.
'GT_DELIVERY'.
= 'DELIVERY ITEM'.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'LFDAT'.
'GT_DELIVERY'.
= 'DELIVERY DATE '.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'VSTEL'.
'GT_DELIVERY'.
= 'SHIPPING POINT'.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'KUNNR'.
'GT_DELIVERY'.
= ' SHIP-TO PARTY '.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'WADAT_IST'.
'GT_DELIVERY'.
= 'ACTUAL GOODS MOVEMENT DATE '.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'WBSTK'.
'GT_DELIVERY'.
= '
TOTAL GOODS MOVEMENT STATUS '.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
ls_fieldcat-do_sum
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'LFIMG'.
'GT_DELIVERY'.
= 'QUANTITY'.
= 'X'.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'MEINS'.
'GT_DELIVERY'.
= 'UoM'.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'VBELN'.
'GT_DELIVERY'.
= 'SALES ORDER'.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'POSNR'.
'GT_DELIVERY'.
= '
SALES ORDER ITEM '.
gt_fieldcat.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
= 'AUART'.
'GT_DELIVERY'.
= '
SALES ORDER TYPE
gt_fieldcat.
'.
ls_fieldcat-fieldname
ls_fieldcat-tabname =
ls_fieldcat-seltext_m
APPEND ls_fieldcat TO
CLEAR ls_fieldcat.
ENDFORM.
= 'KWMENG'.
'GT_DELIVERY'.
= ' SALES ORDER QUANTITY
gt_fieldcat.
'.
"catalog
*&---------------------------------------------------------------------*
*&
Form handle_user_command
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
* LOOP AT gt_fieldcat INTO gs_fieldcat .
*
IF ls_fieldcat-fieldname = 'VBELN'.
*
ls_fieldcat-hotspot = 'X'.
*
MODIFY gt_fieldcat FROM ls_fieldcat.
*
ENDIF.
* ENDLOOP.
FORM usercommand USING r_ucomm
TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
CASE rs_selfield-fieldname.
WHEN 'VBELN'.
SET PARAMETER ID 'VBE' FIELD rs_selfield-value.
SET parameter id 'WRK' field '0001'.
CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDCASE.
ENDFORM.
"handle_user_command
*&---------------------------------------------------------------------*
*&
Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM top_of_page.
DATA: lt_header TYPE slis_t_listheader,
wa_header
TYPE slis_listheader,
lt_line
TYPE slis_entry,
ld_lines
TYPE i,
ld_linesc(10) TYPE c,
lv_sum_c
TYPE char17.
wa_header-typ = 'H'.
wa_header-info = 'DELIVERY Table Report'.
APPEND wa_header TO lt_header.
CLEAR wa_header.
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info.
APPEND wa_header TO lt_header.
CLEAR: wa_header.
* Total No. of Records Selected
DESCRIBE TABLE gt_delivery LINES ld_lines.
ld_linesc = ld_lines.
CONCATENATE 'Total No. of Records Selected: ' ld_linesc
INTO lt_line SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = lt_line.
APPEND wa_header TO lt_header.
CLEAR: wa_header, lt_line.
WRITE gv_sum TO lv_sum_c.
CONCATENATE 'Total Quantity ' lv_sum_c
INTO lt_line SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = lt_line.
APPEND wa_header TO lt_header.
CLEAR: wa_header, lt_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lt_header.
ENDFORM.
"TOP_OF_PAGE
*&---------------------------------------------------------------------*
*&
Form display
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM display .
DATA:
ls_sort
TYPE slis_sortinfo_alv,
lt_sort
TYPE slis_t_sortinfo_alv,
ls_layout TYPE slis_layout_alv.
gv_repid = sy-repid.
g_variant-variant = p_var.
ls_layout-colwidth_optimize = 'X'.
ls_layout-zebra = 'X'.
PERFORM catalog.
REFRESH lt_sort.
IF p_lfdat = 'X'.
CLEAR ls_sort.
ls_sort-fieldname = 'VSTEL'.
ls_sort-spos = '1'.
ls_sort-up = 'X'.
APPEND ls_sort TO lt_sort.
ENDIF.
IF p_lfdat = 'X'.
CLEAR ls_sort.
ls_sort-fieldname = 'LFDAT'.
ls_sort-spos = '2'.
ls_sort-up = 'X'.
APPEND ls_sort TO lt_sort.
ENDIF.
"display
"DISPLAY_ALV
*&---------------------------------------------------------------------*
*&
Form SELECT_DELIVERY
*&---------------------------------------------------------------------*
FORM select_delivery CHANGING ct_del TYPE tty_del.
likp-vbeln,
likp-lfdat,
likp-vstel,
likp-kunnr,
likp-wadat_ist,
DATA: lt_likp
ls_likp
lt_lips
ls_lips
ls_del
TYPE
TYPE
TYPE
TYPE
TYPE
lips-vbeln,
lips-posnr,
lips-lfimg,
lips-meins,
lips-vgbel,
lips-vgpos,
INTO ls_likp
ls_lips-vbeln
=
=
=
=
=
ls_likp-vbeln.
ls_likp-lfdat.
ls_likp-vstel.
ls_likp-kunnr.
ls_likp-wadat_ist.
ENDIF.
ls_del-posnr = ls_lips-posnr.
ls_del-lfimg = ls_lips-lfimg.
ls_del-meins = ls_lips-meins.
ls_del-vgbel = ls_lips-vgbel.
ls_del-vgpos = ls_lips-vgpos.
APPEND ls_del TO ct_del.
ENDLOOP.
SORT ct_del BY vbeln posnr.
ENDFORM.
" SELECT_DELIVERY
*&---------------------------------------------------------------------*
*&
Form SELECT_SALESORDER
*&---------------------------------------------------------------------*
FORM select_salesorder USING
ut_del
TYPE tty_del
CHANGING ct_salesorder TYPE tty_salesorder.
TYPES: BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
auart TYPE vbak-auart,
END OF ty_vbak,
BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
kwmeng TYPE vbap-kwmeng,
vgbel TYPE vbap-vgbel,
vgpos TYPE vbap-vgpos,
END OF ty_vbap.
DATA:
REFRESH ct_salesorder.
LOOP AT lt_vbap INTO ls_vbap.
CLEAR ls_salesorder. "structura cu informatii de order
CLEAR ls_vbak.
READ TABLE lt_vbak INTO ls_vbak
WITH KEY vbeln = ls_vbap-vbeln
BINARY SEARCH.
IF sy-subrc = 0.
ls_salesorder-auart = ls_vbak-auart.
ENDIF.
ls_salesorder-vbeln = ls_vbap-vbeln.
ls_salesorder-posnr = ls_vbap-posnr.
ls_salesorder-kwmeng = ls_vbap-kwmeng.
APPEND ls_salesorder TO ct_salesorder.
ENDLOOP.
ENDFORM.
" SELECT_SALESORDAR
*&---------------------------------------------------------------------*
*&
Form PRELUCRARE_DATE
*&---------------------------------------------------------------------*
FORM prelucrare_date USING
ut_del
TYPE tty_del "delivery
ut_salesorder TYPE tty_salesorder "sales order
CHANGING ct_delivery
TYPE tty_delivery. "output
DATA: ls_delivery TYPE ty_delivery,
ls_del
TYPE ty_del,
ls_salesorder TYPE ty_salesorder.
REFRESH ct_delivery.
CLEAR gv_sum.
LOOP AT ut_del INTO ls_del.
CLEAR ls_delivery.
ls_delivery-vbeln_d = ls_del-vbeln.
ls_delivery-posnr_d = ls_del-posnr.
ls_delivery-lfdat = ls_del-lfdat.
ls_delivery-vstel = ls_del-vstel.
ls_delivery-kunnr = ls_del-kunnr.
ls_delivery-wadat_ist = ls_del-wadat_ist.
ls_delivery-lfimg = ls_del-lfimg.
gv_sum = gv_sum + ls_delivery-lfimg.
ls_delivery-meins = ls_del-meins.
CLEAR ls_salesorder.
READ TABLE ut_salesorder INTO ls_salesorder
WITH KEY vbeln = ls_del-vgbel
posnr = ls_del-vgpos
BINARY SEARCH.
IF sy-subrc = 0.
ls_delivery-vbeln = ls_salesorder-vbeln.
ls_delivery-posnr = ls_salesorder-posnr.
ls_delivery-auart = ls_salesorder-auart.
ls_delivery-kwmeng = ls_salesorder-kwmeng.
ls_delivery-wbstk = ls_salesorder-wbstk.
ENDIF.
APPEND ls_delivery TO ct_delivery.
ENDLOOP.
ENDFORM.
" PRELUCRARE_DATE