You are on page 1of 5

*&---------------------------------------------------------------------*

*& Include
ZB33_PP_SCRIPT_FORM_FORMS
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form f_clear_refresh
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_clear_refresh .
CLEAR:gs_likp,
gs_lips,
gs_kna1,
gv_netwr,
gv_ntgew.
REFRESH:gt_lips,
gt_summ.
ENDFORM.
" f_clear_refresh
*&---------------------------------------------------------------------*
*&
Form f_get_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_get_data .
* Get Del.Header data
SELECT SINGLE vbeln
erdat
vkorg
kunnr
ntgew
gewei
netwr
FROM likp
INTO gs_likp
WHERE vbeln IN s_vbeln.
IF gs_likp NE space.
* Get Del.item data
SELECT vbeln
posnr
matnr
werks
ntgew
gewei
netwr
FROM lips
INTO TABLE gt_lips
WHERE vbeln EQ gs_likp-vbeln.
* Get Customer data
SELECT SINGLE kunnr
land1
name1
ort01
pstlz
adrnr

FROM kna1
INTO gs_kna1
WHERE kunnr EQ gs_likp-kunnr.
ENDIF.
ENDFORM.
"f_get_data
*&---------------------------------------------------------------------*
*&
Form f_pop_final_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_pop_final_data .
* Local data declarations
DATA:lv_ltx TYPE t247-ltx.
* Clear Local data varaibles
CLEAR:lv_ltx.

*
*
*
*

LOOP AT gt_lips INTO gs_lips.


MOVE:gs_lips-vbeln TO gs_summ-vbeln,
gs_lips-ntgew TO gs_summ-ntgew,
gs_lips-netwr TO gs_summ-netwr.
COLLECT gs_summ INTO gt_summ.
Totals
gv_ntgew = gv_ntgew + gs_lips-ntgew.
gv_netwr = gv_netwr + gs_lips-netwr.
ENDLOOP.
read summerized data
READ TABLE gt_summ INTO gs_summ INDEX 1.

* Date
CASE sy-datum+6(2).
WHEN '01'OR '21'.
gv_scrpt = 'st'.
WHEN '02' OR '22'.
gv_scrpt = 'nd'.
WHEN '03' OR '23'.
gv_scrpt = 'rd'.
WHEN OTHERS.
gv_scrpt = 'th'.
ENDCASE.
* Get Moth Name
CALL FUNCTION 'ISP_GET_MONTH_NAME'
EXPORTING
*
date
= sy-datum
language
= sy-langu
month_number
= sy-datum+4(2)
IMPORTING
*
LANGU_BACK
=
longtext
= lv_ltx
*
SHORTTEXT
=
EXCEPTIONS
calendar_id
= 1
date_error
= 2
not_found
= 3
wrong_input
= 4
OTHERS
= 5.
IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno


WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Populate Date, Moth and year
gv_date = sy-datum+6(2).
gv_mn_name = lv_ltx.
gv_year = sy-datum+0(4).
ENDFORM.
" f_pop_final_data
*&---------------------------------------------------------------------*
*&
Form f_display_data_form
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_display_data_form .
* OIpen Form
CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION
= 'TX'
* ARCHIVE_INDEX
=
* ARCHIVE_PARAMS
=
device
= 'PRINTER' " Default Device
dialog
= 'X'
" Screen to choose device name
form
= 'ZB33_SCRIPT_FORM' " Form name
language
= sy-langu
* OPTIONS
=
* MAIL_SENDER
=
* MAIL_RECIPIENT
=
* MAIL_APPL_OBJECT
=
* RAW_DATA_INTERFACE
= '*'
* SPONUMIV
=
* IMPORTING
* LANGUAGE
=
* NEW_ARCHIVE_PARAMS
=
* RESULT
=
EXCEPTIONS
canceled
= 1
device
= 2
form
= 3
OPTIONS
= 4
unclosed
= 5
mail_options
= 6
archive_error
= 7
invalid_fax_number
= 8
more_params_needed_in_batch
= 9
spool_error
= 10
codepage
= 11
OTHERS
= 12
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Start Form
CALL FUNCTION 'START_FORM'
EXPORTING

ARCHIVE_INDEX
=
form
= 'ZB33_SCRIPT_FORM'
language
= sy-langu
startpage
= 'FIRST'
* PROGRAM
= ' '
* MAIL_APPL_OBJECT
=
* IMPORTING
* LANGUAGE
=
EXCEPTIONS
form
= 1
format
= 2
unended
= 3
unopened
= 4
unused
= 5
spool_error
= 6
codepage
= 7
OTHERS
= 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Process Line items
LOOP AT gt_lips INTO gs_lips.
* Communicates with page window through text element
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element
= 'ELE'
function
= 'SET'
type
= 'BODY'
window
= 'MAIN'
* IMPORTING
*
PENDING_LINES
=
EXCEPTIONS
element
= 1
function
= 2
type
= 3
unopened
= 4
unstarted
= 5
window
= 6
bad_pageformat_for_print
= 7
spool_error
= 8
codepage
= 9
OTHERS
= 10.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP.
* Close form
CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
* RESULT
=
* RDI_RESULT
=
* TABLES
* OTFDATA
= gt_otfdata " Get form data in OTF format
* EXCEPTIONS
* UNOPENED
= 1
* BAD_PAGEFORMAT_FOR_PRINT
= 2
* SEND_ERROR
= 3

*
*
*

SPOOL_ERROR
= 4
CODEPAGE
= 5
OTHERS
= 6
.
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.
" f_display_data_form
*&---------------------------------------------------------------------*
*&
Form f_validate_vbeln
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_validate_vbeln .
* Check Delivery Doc no
SELECT SINGLE vbeln
FROM likp
INTO gs_likp-vbeln
WHERE vbeln IN s_vbeln.
IF sy-subrc NE 0.
MESSAGE e001 WITH text-e01.
ENDIF.
ENDFORM.

" f_validate_vbeln

You might also like