FUNCTION zmm_jsd_post. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" VALUE(EBELN) TYPE EKPO-EBELN *" VALUE(EBELP) TYPE EKPO-EBELP *" VALUE(PODATE) TYPE SY-DATUM *" EXPORTING *" VALUE(E_FLAG) TYPE CHAR1 *" VALUE(E_INFO) TYPE TEXT60 *" VALUE(F_LBLNI) TYPE CHAR10 *"---------------------------------------------------------------------- * 采购订单 过账接口 *"---------------------------------------------------------------------- ***数据定义 DATA: g_jsd TYPE zmm_ys_jsd_item-jsd. " 结算单号 DATA: nownum TYPE n LENGTH 10. "流水号 DATA: maxnum TYPE n LENGTH 10. "流水号 DATA: lw_jspost TYPE zmm_jspost_info .
***采购订单行项目 DATA: gw_ekpo TYPE ekpo. DATA: gt_ekpo TYPE TABLE OF ekpo.
***采购订单行项目服务明细 DATA: gw_esll_item TYPE esll,
gt_esll_item TYPE TABLE OF esll.
** Bapi Create Post DATA: lw_esllc TYPE bapiesllc. DATA: lt_esllc TYPE TABLE OF bapiesllc. "通讯结构:创建服务行 DATA: lw_essrc TYPE bapiessrc. "通讯结构: 创建输入单 DATA: po_item TYPE TABLE OF bapiekpo WITH HEADER LINE. "传输结构:显示/清单PO条目 DATA: po_serv TYPE TABLE OF bapiesll WITH HEADER LINE. "通讯结构: 服务行 DATA: lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE. "返回参数 DATA: l_string TYPE string. DATA: l_line TYPE i VALUE 0.
e_flag = ‘0‘.
e_info = ‘过账成功!‘.
"取得采购订单行项目 SELECT SINGLE * FROM ekpo INTO gw_ekpo WHERE ebeln EQ ebeln AND ebelp EQ ebelp.
"取得行项目服务包的明细 SELECT SINGLE * FROM esll INTO gw_esll_item WHERE packno EQ gw_ekpo-packno.
gw_esll_item-packno = gw_esll_item-packno + 1. SELECT * FROM esll INTO TABLE gt_esll_item WHERE packno EQ gw_esll_item-packno.
CLEAR f_lblni. CALL FUNCTION ‘BAPI_ENTRYSHEET_CREATE‘ EXPORTING
entrysheetheader = lw_essrc IMPORTING
entrysheet = f_lblni TABLES
entrysheetservices = lt_esllc return = lt_return[]. READ TABLE lt_return WITH KEY type = ‘E‘. IF sy-subrc NE 0 AND f_lblni IS NOT INITIAL.