Professional Documents
Culture Documents
MESSAGE-ID z1
NO STANDARD PAGE HEADING
LINE-SIZE 170.
************************************************************************
* Program Name : ZMISSING_INVOICE
* Creation Date : 11/25/04
* Author
: H Bauer
* Description : ID Missing Invoices
***********************************************************************
* Modification Log :
* SAP-ID
Date
Req#
Description
* BAUERH
************************************************************************
************************************************************************
*
Includes
*
************************************************************************
TYPE-POOLS: slis.
************************************************************************
*
Tables
*
************************************************************************
TABLES: nast, vbrk, tvfkt, kna1.
DATA: BEGIN OF t_doc OCCURS 0,
vbeln LIKE vbrk-vbeln,
netwr LIKE vbrk-netwr,
ekdat LIKE vbrk-erdat,
"MONTH
"MONTH
"DATE
"period
"FIRST DAY SELECTION
w_last
LIKE sy-datum.
************************************************************************
*
Parameters & Select Option
*
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-005.
PARAMETERS:
pv_kappl LIKE nast-kappl DEFAULT 'V3' NO-DISPLAY,
pv_date LIKE nast-erdat DEFAULT sy-datum.
SELECT-OPTIONS : sv_vbeln FOR vbrk-vbeln,
sv_kunnr FOR kna1-kunnr.
PARAMETERS:
SELECTION-SCREEN: ULINE.
PARAMETERS:
pv_zero AS CHECKBOX.
SELECTION-SCREEN: ULINE.
PARAMETERS:
pv_miss RADIOBUTTON GROUP r1,
pv_match RADIOBUTTON GROUP r1.
SELECTION-SCREEN: ULINE.
SELECTION-SCREEN: END OF BLOCK block1.
SELECTION-SCREEN: BEGIN OF BLOCK block3 WITH FRAME TITLE text-010.
SELECTION-SCREEN COMMENT /1(79) text-201.
SELECTION-SCREEN COMMENT /1(79) text-202.
SELECTION-SCREEN COMMENT /1(79) text-203.
SELECTION-SCREEN: END OF BLOCK block3.
************************************************************************
*
Field Symbols
*
************************************************************************
************************************************************************
*
Constants
*
************************************************************************
*----------------------------------------------------------------------*
*CONSTANTS:
************************************************************************
*
Initialization
************************************************************************
INITIALIZATION.
PERFORM s900_initialize.
************************************************************************
*
At Selection Screen
*
************************************************************************
AT SELECTION-SCREEN.
************************************************************************
*
At Selection Screen Output
*
************************************************************************
AT SELECTION-SCREEN OUTPUT.
************************************************************************
*
Start of Selection
*
************************************************************************
START-OF-SELECTION.
g_repid = sy-repid.
PERFORM
PERFORM
PERFORM
PERFORM
gs_variant-report = g_repid.
g_save
= 'A'.
PERFORM s200_get_header_data.
************************************************************************
*
End of Selection
*
************************************************************************
END-OF-SELECTION.
PERFORM s150_comment_build USING gt_list_top_of_page[].
w_callback_ucomm = 'CALLBACK_UCOMM'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program
= g_repid
i_callback_user_command = w_callback_ucomm
is_layout
= gs_layout
it_fieldcat
= fld_catalog
it_sort
= gt_sort
i_save
= g_save
is_variant
= gs_variant
it_events
= gt_events[]
is_print
= gs_print
IMPORTING
e_exit_caused_by_caller = g_exit_caused_by_caller
es_exit_caused_by_user = gs_exit_caused_by_user
TABLES
t_outtab
= gt_outtab
EXCEPTIONS
program_error
=1
OTHERS
= 2.
IF sy-subrc = 0.
IF g_exit_caused_by_caller = 'X'.
ELSE.
IF gs_exit_caused_by_user-back = 'X'.
"F3
ELSE.
IF gs_exit_caused_by_user-exit = 'X'.
"F15
ELSE.
IF gs_exit_caused_by_user-cancel = 'X'. "F12
ELSE.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
ENDIF.
************************************************************************
*
Forms
*
***********************************************************************
*&---------------------------------------------------------------------*
*&
Form LAYOUT_INIT
*&---------------------------------------------------------------------*
FORM s100_layout_init USING rs_layout TYPE slis_layout_alv.
wa_fld_catalog-fieldname = 'NAME1'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Name '.
wa_fld_catalog-outputlen = 30.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 40.
wa_fld_catalog-fieldname = 'KUNRG'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Payer'.
wa_fld_catalog-outputlen = 13.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 50.
wa_fld_catalog-fieldname = 'VTEXT'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Documet Type'.
wa_fld_catalog-outputlen = 20.
APPEND wa_fld_catalog TO fld_catalog.
IF pv_match = 'X'.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 100.
wa_fld_catalog-fieldname = 'ERDAT'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Sent Date'.
wa_fld_catalog-outputlen = 10.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 110.
wa_fld_catalog-fieldname = 'ERUHR'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Sent Time'.
wa_fld_catalog-outputlen = 10.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 120.
wa_fld_catalog-fieldname = 'NACHA_TXT'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Trans Type'.
wa_fld_catalog-outputlen = 10.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 130.
wa_fld_catalog-fieldname = 'VSZTP_TXT'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Trans Time'.
wa_fld_catalog-outputlen = 17.
APPEND wa_fld_catalog TO fld_catalog.
CLEAR wa_fld_catalog.
wa_fld_catalog-col_pos = 140.
wa_fld_catalog-fieldname = 'MANUE'.
wa_fld_catalog-tabname = 'GT_OUTTAB'.
wa_fld_catalog-seltext_l = 'Manual Send'.
wa_fld_catalog-outputlen = 10.
" UPDATE_FIELD_CATALOG
*&---------------------------------------------------------------------*
*&
Form UPDATE_LAYOUT_SUB_TOTALS
*&---------------------------------------------------------------------*
FORM s130_update_layout_sub_totals.
ENDFORM.
" UPDATE_LAYOUT_SUB_TOTALS
*&---------------------------------------------------------------------*
*&
Form EVENTTAB_BUILD
*&---------------------------------------------------------------------*
FORM s140_eventtab_build USING rt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = rt_events.
READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE g_top_of_page TO ls_event-form.
APPEND ls_event TO rt_events.
ENDIF.
ENDFORM.
" EVENTTAB_BUILD
*&---------------------------------------------------------------------*
*&
Form COMMENT_BUILD
*&---------------------------------------------------------------------*
FORM s150_comment_build USING lt_top_of_page TYPE
slis_t_listheader.
DATA: ls_line TYPE slis_listheader,
ls_info TYPE slis_entry,
com1(4),
com2(4),
lv_jobd(20),
date1(10),
lv_date1(10),
lv_date2(10).
WRITE sy-datum TO date1.
CLEAR ls_line.
ls_line-typ = 'H'.
CONCATENATE 'ZS915' text-100 date1 INTO ls_line-info
SEPARATED BY ' - '.
APPEND ls_line TO lt_top_of_page.
IF pv_miss = 'X'.
ls_line-info = 'Billing documents with no output'.
ELSE.
ls_line-info = 'Billing documents with output'.
ENDIF.
APPEND ls_line TO lt_top_of_page.
ls_line-typ = 'S'.
CONCATENATE 'System:' sy-sysid '-' sy-mandt
INTO ls_line-info.
APPEND ls_line TO lt_top_of_page.
ENDFORM.
" COMMENT_BUILD
*---------------------------------------------------------------------*
*
FORM select_gr_data
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM s200_get_header_data.
DATA:lv_lines(7) TYPE p.
DATA:save-tabix LIKE sy-tabix.
REFRESH t_doc.
SELECT vbeln netwr erdat kunag kunrg fkart
FROM vbrk
APPENDING TABLE t_doc
WHERE vbeln IN sv_vbeln
AND kunag IN sv_kunnr
AND erdat EQ pv_date.
IF pv_zero = 'X'.
DELETE t_doc WHERE netwr = 0.
ENDIF.
SORT t_doc BY vbeln.
LOOP AT t_doc.
CLEAR gv_vtext.
SELECT SINGLE vtext
INTO gv_vtext
FROM tvfkt
WHERE fkart = t_doc-fkart
AND spras = 'E'.
CLEAR kna1-name1.
SELECT SINGLE name1
FROM kna1
INTO t_doc-name1
WHERE kunnr = t_doc-kunag.
SELECT SINGLE *
FROM nast
WHERE kappl = pv_kappl
AND objky = t_doc-vbeln.
IF pv_miss = 'X'.
IF sy-subrc NE 0.
PERFORM s500_load_grid.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
IF pv_match = 'X'.
IF sy-subrc = 0.
PERFORM s202_format_nast.
PERFORM s500_load_grid.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
ENDLOOP.
SORT gt_outtab BY vbeln.
ENDFORM.
*---------------------------------------------------------------------*
*
FORM s202_format_nast
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM s202_format_nast.
t_doc-erdat = nast-erdat.
t_doc-eruhr = nast-eruhr.
t_doc-nacha = nast-nacha.
t_doc-vsztp = nast-vsztp.
t_doc-manue = nast-manue.
ENDFORM.
*---------------------------------------------------------------------*
*
FORM s205_get_data
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM s205_get_data.
ENDFORM.
*---------------------------------------------------------------------*
*
FORM s210_get_text
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form PROCESS_DATA
*&---------------------------------------------------------------------*
FORM s500_load_grid.
gt_outtab-vbeln = t_doc-vbeln.
gt_outtab-netwr = t_doc-netwr.
gt_outtab-ekdat = t_doc-ekdat.
gt_outtab-kunag = t_doc-kunag.
gt_outtab-kunrg = t_doc-kunrg.
gt_outtab-name1 = t_doc-name1.
gt_outtab-vtext = gv_vtext.
gt_outtab-erdat = t_doc-erdat.
gt_outtab-eruhr = t_doc-eruhr.
gt_outtab-vsztp = t_doc-vsztp.
CASE gt_outtab-vsztp.
WHEN '1'.
gt_outtab-vsztp_txt
WHEN '2'.
gt_outtab-vsztp_txt
WHEN '3'.
gt_outtab-vsztp_txt
WHEN '4'.
gt_outtab-vsztp_txt
ENDCASE.
= 'Send w/sheduled'.
= 'Send w/Addl time'.
= 'Send w/own tran'.
= 'Send Immediatly'.
gt_outtab-manue = t_doc-manue.
gt_outtab-nacha = t_doc-nacha.
CASE gt_outtab-nacha.
WHEN '1'.
gt_outtab-nacha_txt =
WHEN '2'.
gt_outtab-nacha_txt =
WHEN '4'.
gt_outtab-nacha_txt =
WHEN '5'.
gt_outtab-nacha_txt =
WHEN '6'.
gt_outtab-nacha_txt =
WHEN OTHERS.
gt_outtab-nacha_txt =
ENDCASE.
'Print'.
'Fax '.
'Telex'.
'External'.
'EDI '.
'Other'.
" PROCESS_DATA
*---------------------------------------------------------------------*
*
FORM callback_ucomm
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
* --> R_UCOMM
*
* --> RS_SELFIELD
*
*---------------------------------------------------------------------*
FORM callback_ucomm USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: lv_jobd(20).
CASE rs_selfield-fieldname.
WHEN 'VBELN'.
SET PARAMETER ID 'VF' FIELD rs_selfield-value.
CALL TRANSACTION 'VF02' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM.
*---------------------------------------------------------------------*
*
FORM s900_initialize
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM s900_initialize.
ENDFORM.
*---------------------------------------------------------------------*
*
FORM top_of_page
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
i_logo
= 'ENJOYSAP_LOGO'
it_list_commentary = gt_list_top_of_page.
WRITE: AT 88 'Page:', sy-pagno.
ENDFORM.
*INCLUDE zprogress_bar.