Академический Документы
Профессиональный Документы
Культура Документы
*"--------------------------------------------------------------------
--
*"*"Lokale Schnittstelle:
*" IMPORTING
*" REFERENCE(X_PARAM) TYPE ISU21_INVOICE_PARAM
*" CHANGING
*" REFERENCE(XY_WA_IIU) TYPE ISU21_INVOICE_UNIT
*" EXCEPTIONS
*" IU_ERROR
*" SYSTEM_ERROR
*" NOT_QUALIFIED
*"--------------------------------------------------------------------
--
DATA: it_aggfkkop LIKE fkkop OCCURS 0 WITH HEADER LINE,
it_taxdata TYPE ederegtaxaggbill_tab,
it_taxdata_st TYPE ederegtaxaggbill_tab,
it_taxdata_bb TYPE ederegtaxaggbill_tab,
it_taxdata_op TYPE ederegtaxaggbill_tab,
ls_taxdata TYPE ederegtaxaggbill,
lv_ethim_tax TYPE boole-boole.
wa_fkkcl-xmark = co_true.
MODIFY xy_wa_iiu-t_open_item FROM wa_fkkcl TRANSPORTING xmark.
APPEND wa_fkkcl TO wa_vkk_doc-t_fkkcl.
ENDLOOP.
ENDLOOP.
CHECK sy-subrc EQ 0.
LOOP AT it_aggfkkop.
IF xy_wa_iiu-unit_param-faedn IS INITIAL OR
xy_wa_iiu-unit_param-faedn > it_aggfkkop-faedn.
xy_wa_iiu-unit_param-faedn = it_aggfkkop-faedn.
xy_wa_iiu-unit_param-faeds = it_aggfkkop-faeds.
xy_wa_iiu-unit_param-sktpz = it_aggfkkop-sktpz.
ENDIF.
ENDLOOP.
IF sy-subrc = 1.
mac_msg_repeat co_msg_error iu_error.
ELSEIF sy-subrc = 2.
mac_msg_repeat co_msg_error system_error.
ELSEIF sy-subrc = 3.
mac_msg_repeat co_msg_error not_qualified.
ELSEIF sy-subrc <> 0.
mac_msg_others sy-subrc 'ISU_INV_CREATE_ITEM_FROM_FKKOP'.
ENDIF.
*--- check customizing for posting aggr. bill with tax determination -
-*
CLEAR lv_ethim_tax.
CALL FUNCTION 'ISU_DB_DEREGSWITCHSYST_SELECT'
IMPORTING
e_xtax_on_agg_post = lv_ethim_tax
EXCEPTIONS
customizing_not_defined = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-
msgv4 RAISING iu_error.
ELSE.
IF NOT lv_ethim_tax IS INITIAL.
CLEAR: ls_taxdata, it_taxdata[].
MOVE-CORRESPONDING it_aggfkkop TO ls_taxdata.
APPEND ls_taxdata TO it_taxdata.
ELSE.
mac_prot_log_off.
PERFORM joblog_supress_msg_on_handler.
CALL FUNCTION 'ISU_DEREG_GET_TAX_FOR_AGG_DOC'
EXPORTING
i_opbel = it_aggfkkop-opbel
i_waers = it_aggfkkop-waers
TABLES
t_taxdata = it_taxdata
t_taxdata_st = it_taxdata_st
t_taxdata_bb = it_taxdata_bb
t_taxdata_op = it_taxdata_op
EXCEPTIONS
error = 1
OTHERS = 2.
mac_prot_log_on.
PERFORM joblog_show_msgs_on_handler.
IF sy-subrc = 1.
mac_msg_putx co_msg_error sy-msgno sy-msgid sy-msgv1
sy-msgv2 sy-msgv3 sy-msgv4 iu_error.
ELSEIF sy-subrc <> 0.
mac_msg_others sy-subrc 'ISU_DEREG_GET_TAX_FOR_AGG_DOC'.
ENDIF.
ENDIF.
ENDIF.
PERFORM agg_tax_erdz_create
USING xy_wa_iiu-print_doc it_aggfkkop-opbel
it_aggfkkop-bukrs it_aggfkkop-waers:
it_taxdata co_belzart_aggrtx,
it_taxdata_st co_belzart_agtxst,
it_taxdata_bb co_belzart_agtxbb,
it_taxdata_op co_belzart_agtxop.
ENDLOOP.
ENDFUNCTION.