当前位置: 首页 > news >正文

固定资产报废在BPM或OA中审批,再通过接口传到SAP

记录SAP固定资产报废的接口:

1.通过BPM或OA写报废申请单

 

2.审批完成传后,回传SAP,并在BPM记录生成的会计凭证

  

3.BPM回写SAP接口

   

FUNCTION zbpm_rfc030.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(P_SYSTEM) TYPE  CHAR4 DEFAULT 'BPM'
*"     VALUE(P_UNAME) TYPE  UNAME DEFAULT SY-UNAME
*"     VALUE(P_NAME1) TYPE  CHAR12 OPTIONAL
*"  EXPORTING
*"     VALUE(EV_MESSAGE) TYPE  BAPI_MSG
*"  TABLES
*"      ET_INPUT STRUCTURE  ZBPMS030 OPTIONAL
*"----------------------------------------------------------------------DATA: json_ser TYPE REF TO cl_trex_json_serializer,json_des TYPE REF TO cl_trex_json_deserializer.DATA: jsonstr TYPE string.DATA: lt_zrfc_logs TYPE TABLE OF zrfc_logs,ls_zrfc_logs TYPE zrfc_logs.DATA: ls_posting TYPE bapifapo_gen_info,ls_info    TYPE bapifapo_add_info,ls_ret     TYPE bapifapo_ret,ls_return  TYPE bapiret2,lt_return  TYPE TABLE OF bapiret2.DATA: ls_zit0005 TYPE zit0005,lt_zit0005 TYPE TABLE OF zit0005.SELECT COUNT(*)FROM zit0004WHERE zstop EQ 'X'AND name IN ('ALL','ZBPM_RFC030').IF sy-subrc EQ 0.EV_MESSAGE = '该功能已暂停使用,请等IT通知,谢谢!'.EXIT.ENDIF.CREATE OBJECT json_serEXPORTINGdata = et_input[].CALL METHOD json_ser->serialize.CALL METHOD json_ser->get_dataRECEIVINGrval = jsonstr.ls_zrfc_logs-funcname   = 'ZBPM_RFC030'.ls_zrfc_logs-zsystem    = p_system.ls_zrfc_logs-uname      = p_uname.ls_zrfc_logs-zname1     = p_name1.ls_zrfc_logs-erdat      = sy-datum.ls_zrfc_logs-uzeit      = sy-uzeit.
*  ls_zrfc_logs-ep_type    = ep_type.
*  ls_zrfc_logs-ep_message = ep_message.ls_zrfc_logs-jsonstr1   = jsonstr.
*  IF p_system NE 'SAP'.
*  MODIFY zrfc_logs FROM ls_zrfc_logs.
*  IF sy-subrc EQ 0.
*    COMMIT WORK AND WAIT.
*  ELSE.
*    ROLLBACK WORK.
*  ENDIF.
*  ENDIF.*  BREAK-POINT.IF et_input[] IS NOT INITIAL.SELECT *INTO TABLE @DATA(lt_zit0005c)FROM zit0005FOR ALL ENTRIES IN @et_inputWHERE zdh EQ @et_input-zdhAND zxuhao EQ @et_input-zdhidAND zdh NE ''AND ztype EQ 'S'.SORT lt_zit0005c[] BY zdh zxuhao.ENDIF.IF lt_zit0005c[] IS NOT INITIAL.LOOP AT et_input ASSIGNING FIELD-SYMBOL(<fs_tab>).READ TABLE lt_zit0005c INTO DATA(ls_zit0005c) WITH KEY zdh = <fs_tab>-zdhzxuhao = <fs_tab>-zdhid BINARY SEARCH.IF sy-subrc EQ 0.<fs_tab>-ztype = 'S'.<fs_tab>-msg = '该流程单号已提交过,请不要重复提交'.
*        <fs_tab>-belnr = ls_zit0005c-belnr.
*        <fs_tab>-gjahr = ls_zit0005c-gjahr.ELSE.<fs_tab>-ztype = 'E'.<fs_tab>-msg = '存在已提交的流程单号,请不要重复提交'.ENDIF.ENDLOOP.EXIT."结束本次调用ENDIF.LOOP AT et_input INTO DATA(ls_input).CLEAR: ls_posting,ls_info,ls_return,lt_return[].ls_input-anln1 = |{ ls_input-anln1 ALPHA = IN }|.ls_input-anln2 = |{ ls_input-anln2 ALPHA = IN }|.ls_posting-username = p_uname."用户名ls_posting-doc_type = ls_input-blart."凭证类型ls_posting-doc_date = ls_input-bldat."凭证日期ls_posting-pstng_date = ls_input-budat."过账日期ls_posting-fis_period = ls_input-monat."会计期间
*    LS_POSTING-TRANS_DATE = LS_INPUT-BZDAT."换算日期,ls_posting-comp_code = ls_input-bukrs."公司代码ls_posting-assetmaino = ls_input-anln1."主资产号ls_posting-assetsubno = ls_input-anln2."次级资产编号ls_posting-assettrtyp = ls_input-bwasl."事务类型ls_posting-depr_area = ls_input-afabe."过账折旧范围ls_posting-acc_principle = ls_input-accpr."会计准则ls_info-alloc_nmbr = ls_input-zuonr."分配编号ls_info-item_text = ls_input-sgtxt. "项目文本ls_info-ref_doc_no = ls_input-xblnr."参考凭证号ls_ret-valuedate = ls_input-bzdat."ls_ret-compl_ret = ls_input-compl_ret."标志:记账全部报废CALL FUNCTION 'BAPI_ASSET_RETIREMENT_POST'EXPORTING
*       ORIGINDOCREFERENCE =generalpostingdata = ls_postingretirementdata     = ls_ret
*       ACCOUNTASSIGNMENTS =furtherpostingdata = ls_infoIMPORTING
*       DOCUMENTREFERENCE  =return             = ls_returnTABLESreturn_all         = lt_return.ls_input-ztype = ls_return-type.LOOP AT lt_return ASSIGNING FIELD-SYMBOL(<ls_return>).ls_input-msg = |{ ls_input-msg }{ <ls_return>-message }|.*        added by solin 20250904 增加会计编号IF <ls_return>-ID CS 'AA'.ls_input-ZKJBH = <ls_return>-message_v2.ENDIF.ENDLOOP.IF ls_return-type NE 'A' AND ls_return-type NE 'E'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'
*         IMPORTING
*         RETURN        =.WAIT UP TO '0.3' SECONDS.CLEAR ls_return.DATA:ls_allocations  TYPE bapi1022_feglg004,ls_allocationsx TYPE bapi1022_feglg004x.ls_allocations-evalgroup1 = '003'. "资产状态 003 -- 报废ls_allocationsx-evalgroup1 = 'X'.CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'EXPORTINGcompanycode  = ls_input-bukrsasset        = ls_input-anln1subnumber    = ls_input-anln2
*         GROUPASSET   =
*         GENERALDATA  =
*         GENERALDATAX =
*         INVENTORY    =
*         INVENTORYX   =
*         POSTINGINFORMATION         =
*         POSTINGINFORMATIONX        =
*         TIMEDEPENDENTDATA          =
*         TIMEDEPENDENTDATAX         =allocations  = ls_allocationsallocationsx = ls_allocationsx
*         ORIGIN       =
*         ORIGINX      =
*         INVESTACCTASSIGNMNT        =
*         INVESTACCTASSIGNMNTX       =
*         NETWORTHVALUATION          =
*         NETWORTHVALUATIONX         =
*         REALESTATE   =
*         REALESTATEX  =
*         INSURANCE    =
*         INSURANCEX   =
*         LEASING      =
*         LEASINGX     =
*         GLO_RUS_GEN  =
*         GLO_RUS_GENX =
*         GLO_RUS_PTX  =
*         GLO_RUS_PTXX =
*         GLO_RUS_TTX  =
*         GLO_RUS_TTXX =
*         GLO_IN_GEN   =
*         GLO_IN_GENX  =
*         GLO_JP_ANN16 =
*         GLO_JP_ANN16X              =
*         GLO_JP_PTX   =
*         GLO_JP_PTXX  =
*         GLO_TIME_DEP =
*         GLO_RUS_GENTD              =
*         GLO_RUS_GENTDX             =
*         GLO_RUS_PTXTD              =
*         GLO_RUS_PTXTDX             =
*         GLO_RUS_TTXTD              =
*         GLO_RUS_TTXTDX             =
*         GLO_JP_IMPTD =
*         GLO_JP_IMPTDX              =IMPORTINGreturn       = ls_return
*       TABLES
*         DEPRECIATIONAREAS          =
*         DEPRECIATIONAREASX         =
*         INVESTMENT_SUPPORT         =
*         EXTENSIONIN  =.IF ls_return-type = 'S'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'
*         IMPORTING
*           RETURN        =.ls_zit0005-zdh    = ls_input-zdh.ls_zit0005-zxuhao = ls_input-zdhid.ls_zit0005-ztype  = ls_input-ztype.ls_zit0005-zmsg   = ls_input-msg.
*      ls_zit0005-belnr  = ls_input-belnr.
*      ls_zit0005-mjahr  = ls_head-pstng_date+0(4)."goodsmvt_header-doc_date+0(4).ls_zit0005-erdat  = sy-datum.ls_zit0005-uzeit  = sy-uzeit.APPEND ls_zit0005 TO lt_zit0005[]."用于记录成功的流程单号ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
*         IMPORTING
*           RETURN        =.ls_input-ztype = ls_return-type.ls_input-msg = ls_return-message.ENDIF.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
*         IMPORTING
*           RETURN        =.ENDIF.MODIFY et_input FROM ls_input.CLEAR: ls_input.ENDLOOP.DELETE lt_zit0005[] WHERE zdh EQ ''.IF lt_zit0005[] IS NOT INITIAL.MODIFY zit0005 FROM TABLE lt_zit0005.IF sy-subrc EQ 0.COMMIT WORK AND WAIT.ELSE.ROLLBACK WORK.ENDIF.ENDIF.ENDFUNCTION.


文章转载自:

http://MPysiFSd.xmjzn.cn
http://Ca7DtPfN.xmjzn.cn
http://CknOeQo1.xmjzn.cn
http://9gc5yMz2.xmjzn.cn
http://RaOHEH8C.xmjzn.cn
http://AHzFMGaV.xmjzn.cn
http://I8j3UEHa.xmjzn.cn
http://NbK9WcWB.xmjzn.cn
http://p2GumM7O.xmjzn.cn
http://ksXXF3gS.xmjzn.cn
http://76v3BEkx.xmjzn.cn
http://clz61tZt.xmjzn.cn
http://GMXI35zY.xmjzn.cn
http://Q8mCTQgI.xmjzn.cn
http://FQlyOAbw.xmjzn.cn
http://qvPgDga8.xmjzn.cn
http://HHhvmOVO.xmjzn.cn
http://byNVjvXj.xmjzn.cn
http://6zoVgvhc.xmjzn.cn
http://qWMmLf0V.xmjzn.cn
http://6l88kiwq.xmjzn.cn
http://ct78ktNb.xmjzn.cn
http://Iny5fLUI.xmjzn.cn
http://6khzt3cN.xmjzn.cn
http://1MabxGzQ.xmjzn.cn
http://CdkOAD9O.xmjzn.cn
http://qmjX1yTz.xmjzn.cn
http://pSOdolsy.xmjzn.cn
http://oDXuNezO.xmjzn.cn
http://v6T3yrqE.xmjzn.cn
http://www.dtcms.com/a/368283.html

相关文章:

  • Redis-持久化
  • 寻找AI——初识3D建模AI
  • Playwright MCP Server - FAQ
  • Linux系统TCP/IP网络参数优化
  • 多模联邦查询网关:ABP + Trino/Presto 聚合跨源数据
  • 基于单片机智能家居环境检测系统/室内环境检测设计
  • 23种设计模式-模板方法模式
  • 容器学习day05_k8s(二)
  • ES04-批量写入
  • 大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
  • 企业数字安全双保险:终端安全与数据防泄漏如何构筑全方位防护体系
  • 信息系统安全保护措施文件方案
  • 【C++】 list 容器模拟实现解析
  • 鹿客发布旗舰新品AI智能锁V6 Max,打造AI家庭安全领域新标杆
  • 【GEOS-Chem 输入数据】使用 AWS CLI 访问 GEOS-Chem 数据
  • 23种设计模式——原型模式 (Prototype Pattern)详解
  • 《Cocos Creator的2D、3D渲染使用记录》
  • Conda 使用py环境隔离
  • 数据结构:栈和队列力扣算法题
  • 深度学习之第八课迁移学习(残差网络ResNet)
  • 数据一致性、AI样本可追溯性与数据治理
  • 基于MATLAB的CNN大气散射传播率计算与图像去雾实现
  • 【Redis】初识 Redis 与基础数据结构
  • 分布式常见面试题整理
  • “卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
  • 数字时代的 “安全刚需”:为什么销售管理企业都在做手机号码脱敏
  • 乐观并发: TCP 与编程实践
  • 两条平面直线之间通过三次多项式曲线进行过渡的方法介绍
  • if __name__=‘__main__‘的用处
  • MySQL知识回顾总结----数据类型