SAP SD系统发票明细同步到航信金税分享
一、同步逻辑
1)航信金税提供接口,输入和输出参数如下:

2)业务逻辑
















二、推送界面


三、推送代码
*&---------------------------------------------------------------------*
*& 程序名: ZRPSD049
*&
*&---------------------------------------------------------------------*
*& 创建者(公司)/日期:
*& 程序描述:
*& 1.系统开票明细同步
*& 2.
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*& 1.0.0
*&
*&---------------------------------------------------------------------*
REPORT zrpsd049.
INCLUDE zrpsd049_top.
INCLUDE zrpsd049_lcl.
INCLUDE zrpsd049_scr.
INCLUDE zrpsd049_f01.
*>>>-------------------------------------ADD BY JOE 12.10.2022 11:18:12
INITIALIZATION.
t01 = '二期新增逻辑:关务文本增强处理逻辑等。'.
t02 = '三期新增逻辑:电子发票处理;公司间采购金税开票相关的商品名称、规格型号、单位、'.
t03 = '税收编码取值逻辑等。'.
*<<<-------------------------------------END OF ADD 12.10.2022 11:18:12
AT SELECTION-SCREEN OUTPUT.
PERFORM frm_scr_modify.
START-OF-SELECTION.
PERFORM frm_inti.
"出口-报关单
IF pa_01 IS NOT INITIAL.
PERFORM frm_get_data_01.
ENDIF.
"内销-系统发票
IF pa_02 IS NOT INITIAL.
PERFORM frm_get_data_02.
ENDIF.
IF sy-batch IS NOT INITIAL
AND gt_out[] IS NOT INITIAL.
PERFORM frm_send_szhtxx.
ENDIF.
PERFORM frm_show_alv.
*&---------------------------------------------------------------------*
*& 包含 ZRPSD049_TOP
*&---------------------------------------------------------------------*
TABLES:ztsd031,ztsd032,vbrk.
DATA:BEGIN OF gs_out,
bukrs TYPE tvko-bukrs,
erpunino(50) TYPE c,
item_index TYPE vbrp-posnr,
billdate(20) TYPE c,
kind(4) TYPE c,
buyername(100) TYPE c,
buyeraddr(99) TYPE c,
buyertel(99) TYPE c,
buyertaxno(20) TYPE c,
buyerbankaccnum(99) TYPE c,
negativesign(2) TYPE c,
remark(230) TYPE c,
define1(255) TYPE c,
define2(255) TYPE c,
define3(255) TYPE c,
itemname(92) TYPE c,
specmode(40) TYPE c,
itemunit(22) TYPE c,
itemnum(20) TYPE c,
zprice_type TYPE zde_price_type,
itemprice(20) TYPE c,
zdiscount_total(15) TYPE p DECIMALS 2,
zdiscount_diff(15) TYPE p DECIMALS 2,
zdoscount_price(15) TYPE p DECIMALS 2,
amount(16) TYPE p DECIMALS 2,
amount_tax(16) TYPE p DECIMALS 2, "含税金额
amount_net(16) TYPE p DECIMALS 2, "不含税金额
tax(16) TYPE p DECIMALS 2,
istaxincluded(5) TYPE c,
taxrate(7) TYPE p DECIMALS 3,
invoicenature(4) TYPE c,
itemtaxcode(19) TYPE c,
zprice_error TYPE c,
zstatus(2) TYPE c,
type(1) TYPE c,
message(255) TYPE c,
* ITEM_INDEX TYPE VBRP-POSNR,
no_send_flg TYPE c,
flg_sort TYPE c,
*>>>-------------------------------------ADD BY JOE 08.09.2022 11:36:46
waers TYPE vbrk-waerk,
kunag TYPE vbrk-kunag,
matkl TYPE vbrp-matkl,
matnr TYPE vbrp-matnr,
*<<<-------------------------------------END OF ADD 08.09.2022 11:36:46
*----------->>ADDED BY HELQ 05.07.2023 13:50:18
buyertype(2) TYPE c,
buyerbankname(100) TYPE c,
buyerbanknum(30) TYPE c,
vkorg TYPE vbrk-vkorg,
*END OF THIS SECTION BY HELQ 05.07.2023 13:50:18-----------<<
END OF gs_out.
DATA :gt_out LIKE TABLE OF gs_out.
DATA:BEGIN OF gs_rate,
waers TYPE vbrk-waerk,
zdate_export TYPE ztsd031-zdate_export,
exch_rate TYPE bapi1093_0-exch_rate,
from_factor TYPE bapi1093_0-from_factor,
to_factor TYPE bapi1093_0-to_factor,
END OF gs_rate,
gt_rate LIKE TABLE OF gs_rate.
DATA:gt_log TYPE TABLE OF ztbc_log_table,
gs_log TYPE ztbc_log_table.
DATA:gt_ztsd073 TYPE STANDARD TABLE OF ztsd073,
r_vkorg TYPE RANGE OF ztsd073-vkorg.
*>>>-------------------------------------ADD BY JOE 08.09.2022 11:50:47
DATA: gt_diff TYPE TABLE OF ztsd_diff.
DATA: grt_vkorg TYPE RANGE OF ztsd_diff-vkorg.
DATA: gt_t023t TYPE TABLE OF t023t.
DATA: gt_tvm3t TYPE TABLE OF tvm3t.
DATA: gt_ztsd035 TYPE TABLE OF ztsd035.
*<<<-------------------------------------END OF ADD 08.09.2022 11:50:47
DATA: gr_table TYPE REF TO cl_salv_table,
gr_columns TYPE REF TO cl_salv_columns_table,
gr_column TYPE REF TO cl_salv_column_table,
gr_display TYPE REF TO cl_salv_display_settings,
gr_layout TYPE REF TO cl_salv_layout.
DATA:lc_http_client TYPE REF TO if_http_cli
