BAPI_PO_CREATE1创建采购订单BAPI学习

这里是创建采购订单BAPI的学习及研究,没有涉及到增强结构。就是常规的信息

创建测试的函数模块

创建函数模块

在这里插入图片描述

创建函数组

在这里插入图片描述

创建需要的结构

在这里插入图片描述
在这里插入图片描述

设置传入参数

在这里插入图片描述
还有一个导出参数:
在这里插入图片描述

运行结果

在这里插入图片描述

非常注意

在这里插入图片描述

代码解析

定义需要的变量

在这里插入图片描述

抬头赋值

在这里插入图片描述

"-->>采购订单抬头
  LS_POHEADER-COMP_CODE  = I_HEAD-BUKRS. "公司代码
  LS_POHEADER-VENDOR     = I_HEAD-LIFNR. "供应商帐户号
  LS_POHEADER-PURCH_ORG  = I_HEAD-EKORG. "采购组织
  LS_POHEADER-PUR_GROUP  = I_HEAD-EKGRP. "采购组
  LS_POHEADER-DOC_TYPE   = I_HEAD-BSART. "采购凭证类型
  LS_POHEADER-DOC_DATE   = I_HEAD-AEDAT.
  LS_POHEADER-CURRENCY   = I_HEAD-WAERS. "货币码
  LS_POHEADER-CREATED_BY = SY-UNAME.    "创建对象的人员名称
  LS_POHEADER-COLLECT_NO = ''.
  LS_POHEADER-ITEM_INTVL = ''.

  "-->>采购订单抬头数据(更改参数)
  LS_POHEADERX-COMP_CODE  = 'X'.
  LS_POHEADERX-VENDOR     = 'X'.
  LS_POHEADERX-PURCH_ORG  = 'X'.
  LS_POHEADERX-PUR_GROUP  = 'X'.
  LS_POHEADERX-CREATED_BY = 'X'.
  LS_POHEADERX-DOC_DATE   = 'X'.
  LS_POHEADERX-DOC_TYPE   = 'X'.
  LS_POHEADERX-CURRENCY   = 'X'.
  LS_POHEADERX-COLLECT_NO = 'X'.
  LS_POHEADERX-ITEM_INTVL = 'X'.

行项目

在这里插入图片描述

交货计划行

在这里插入图片描述

条件

在这里插入图片描述

账户分配

在这里插入图片描述


    IF LS_ITEM-KNTTP = 'K'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-COSTCENTER = LS_ITEM-KOSTL.
      LS_POACCOUNT-GL_ACCOUNT = LS_ITEM-SAKNR.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-COSTCENTER  = 'X'.
      LS_POACCOUNTX-GL_ACCOUNT  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.

    ELSEIF LS_ITEM-KNTTP = 'F'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-ORDERID    = LS_ITEM-AUFNR.
      LS_POACCOUNT-GL_ACCOUNT = LS_ITEM-SAKNR.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-ORDERID     = 'X'.
      LS_POACCOUNTX-GL_ACCOUNT  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ELSEIF LS_ITEM-KNTTP = 'M'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-SD_DOC     = LS_ITEM-VBELN.
      LS_POACCOUNT-ITM_NUMBER = LS_ITEM-VBELP.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-SD_DOC      = 'X'.
      LS_POACCOUNTX-ITM_NUMBER  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ELSEIF LS_ITEM-KNTTP = 'A'.
      LS_POACCOUNT-PO_ITEM      = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO    = 1.
      LS_POACCOUNT-ORDERID      = LS_ITEM-AUFNR.
      LS_ITEM-ANLN1 = |{ LS_ITEM-ANLN1 ALPHA = IN }|.
      LS_POACCOUNT-ASSET_NO     = LS_ITEM-ANLN1.
      LS_ITEM-ANLN2 = |{ LS_ITEM-ANLN2 ALPHA = IN }|.
      LS_POACCOUNT-SUB_NUMBER   = LS_ITEM-ANLN2.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-ORDERID     = 'X'.
      LS_POACCOUNTX-ASSET_NO    = 'X'.
      LS_POACCOUNTX-SUB_NUMBER  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ENDIF.

调用bapi

在这里插入图片描述

如果根据返回的消息进行回滚或者提交

在这里插入图片描述

完整源代码

FUNCTION ZMM_PO_CREATE1_LHY.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(I_HEAD) TYPE  ZMM_S_PO_CREATE1_HEAD
*"  EXPORTING
*"     REFERENCE(OV_MSG) TYPE  STRING
*"  TABLES
*"      I_ITEM STRUCTURE  ZMM_S_PO_CREATE1_ITEM
*"      OT_MSG STRUCTURE  BAPIRET2
*"----------------------------------------------------------------------

  DATA LS_POHEADER            TYPE BAPIMEPOHEADER.
  DATA LS_POHEADERX           TYPE BAPIMEPOHEADERX.
  DATA LT_RETURN              TYPE STANDARD TABLE OF BAPIRET2.
  DATA LS_POITEM              TYPE BAPIMEPOITEM.
  DATA LT_POITEM              TYPE STANDARD TABLE OF BAPIMEPOITEM.
  DATA LS_POITEMX             TYPE BAPIMEPOITEMX.
  DATA LT_POITEMX             TYPE STANDARD TABLE OF BAPIMEPOITEMX.
  DATA LS_POSCHEDULE          TYPE BAPIMEPOSCHEDULE.
  DATA LT_POSCHEDULE          TYPE STANDARD TABLE OF BAPIMEPOSCHEDULE.
  DATA LS_POSCHEDULEX         TYPE BAPIMEPOSCHEDULX.
  DATA LT_POSCHEDULEX         TYPE STANDARD TABLE OF BAPIMEPOSCHEDULX.
  DATA LS_POACCOUNT           TYPE BAPIMEPOACCOUNT.
  DATA LT_POACCOUNT           TYPE STANDARD TABLE OF BAPIMEPOACCOUNT.
  DATA LS_POACCOUNTX          TYPE BAPIMEPOACCOUNTX.
  DATA LT_POACCOUNTX          TYPE STANDARD TABLE OF BAPIMEPOACCOUNTX.
  DATA LS_POCOND              TYPE BAPIMEPOCOND.
  DATA LT_POCOND              TYPE STANDARD TABLE OF BAPIMEPOCOND.
  DATA LS_POCONDX             TYPE BAPIMEPOCONDX.
  DATA LT_POCONDX             TYPE STANDARD TABLE OF BAPIMEPOCONDX.
*DATA EXTENSIONIN            TYPE STANDARD TABLE OF BAPIPAREX.


*----------------给传入的结构和表赋值 START ------------------*

  "-->>采购订单抬头
  LS_POHEADER-COMP_CODE  = I_HEAD-BUKRS. "公司代码
  LS_POHEADER-VENDOR     = I_HEAD-LIFNR. "供应商帐户号
  LS_POHEADER-PURCH_ORG  = I_HEAD-EKORG. "采购组织
  LS_POHEADER-PUR_GROUP  = I_HEAD-EKGRP. "采购组
  LS_POHEADER-DOC_TYPE   = I_HEAD-BSART. "采购凭证类型
  LS_POHEADER-DOC_DATE   = I_HEAD-AEDAT.
  LS_POHEADER-CURRENCY   = I_HEAD-WAERS. "货币码
  LS_POHEADER-CREATED_BY = SY-UNAME.    "创建对象的人员名称
  LS_POHEADER-COLLECT_NO = ''.
  LS_POHEADER-ITEM_INTVL = ''.

  "-->>采购订单抬头数据(更改参数)
  LS_POHEADERX-COMP_CODE  = 'X'.
  LS_POHEADERX-VENDOR     = 'X'.
  LS_POHEADERX-PURCH_ORG  = 'X'.
  LS_POHEADERX-PUR_GROUP  = 'X'.
  LS_POHEADERX-CREATED_BY = 'X'.
  LS_POHEADERX-DOC_DATE   = 'X'.
  LS_POHEADERX-DOC_TYPE   = 'X'.
  LS_POHEADERX-CURRENCY   = 'X'.
  LS_POHEADERX-COLLECT_NO = 'X'.
  LS_POHEADERX-ITEM_INTVL = 'X'.

*-->>采购订单项目
  LOOP AT I_ITEM INTO DATA(LS_ITEM).

    LS_POITEM-PO_ITEM     = LS_ITEM-EBELP.  "行项目是空会报错
    LS_POITEM-MATERIAL    = LS_ITEM-MATNR. "物料
    LS_POITEM-SHORT_TEXT  = LS_ITEM-TXZ01. "短文本
    LS_POITEM-PLANT       = LS_ITEM-WERKS.  "工厂
    LS_POITEM-STGE_LOC    = LS_ITEM-LGORT.   "库存地点
    LS_POITEM-MATL_GROUP  = LS_ITEM-MATKL. "物料组
    LS_POITEM-ACCTASSCAT  = LS_ITEM-KNTTP. "科目分配类别
    LS_POITEM-QUANTITY    = LS_ITEM-MENGE.  "采购订单数量
    LS_POITEM-PO_UNIT     = LS_ITEM-MEINS.   "采购订单计量单位
    LS_POITEM-ITEM_CAT    = LS_ITEM-PSTYP.  "采购凭证中的项目类别
    LS_POITEM-RET_ITEM    = LS_ITEM-RETPO.  "退货项目
    LS_POITEM-FREE_ITEM   = LS_ITEM-UMSON. "免费项目
    LS_POITEM-TAX_CODE    = LS_ITEM-MWSKZ.  "销售/购买税代码
    LS_POITEM-NET_PRICE   = LS_ITEM-KBETR. "BAPIs 的货币金额
    LS_POITEM-PRICEDATE   = LS_ITEM-MEPRF.
    LS_POITEM-PREQ_NAME   = LS_ITEM-AFNAM. "价格确定(定价)日期控制

    APPEND LS_POITEM TO LT_POITEM.
    CLEAR LS_POITEM.

    "采购订单项目数据(更改参数)
    LS_POITEMX-NET_PRICE  = 'X'.
    LS_POITEMX-TRACKINGNO = 'X'.
    LS_POITEMX-PREQ_NAME  = 'X'.

    LS_POITEMX-PO_ITEM = LS_ITEM-EBELP.  "行项目是空会报错
    LS_POITEMX-PO_ITEMX = 'X'.
    IF LS_ITEM-WERKS IS NOT INITIAL.
      LS_POITEMX-PLANT    = 'X'.
    ENDIF.
    IF LS_ITEM-MATNR IS NOT INITIAL.
      LS_POITEMX-MATERIAL = 'X'.
    ENDIF.
    IF LS_ITEM-TXZ01 IS NOT INITIAL.
      LS_POITEMX-SHORT_TEXT = 'X'.
    ENDIF.
    IF LS_ITEM-LGORT IS NOT INITIAL.
      LS_POITEMX-STGE_LOC   = 'X'.
    ENDIF.
    IF LS_ITEM-MATKL IS NOT INITIAL.
      LS_POITEMX-MATL_GROUP = 'X'.
    ENDIF.
    IF LS_ITEM-KNTTP IS NOT INITIAL.
      LS_POITEMX-ACCTASSCAT = 'X'.
    ENDIF.
    IF LS_ITEM-MENGE IS NOT INITIAL.
      LS_POITEMX-QUANTITY   = 'X'.
    ENDIF.
    IF LS_ITEM-MEINS IS NOT INITIAL.
      LS_POITEMX-PO_UNIT    = 'X'.
    ENDIF.
    IF LS_ITEM-PSTYP IS NOT INITIAL.
      LS_POITEMX-ITEM_CAT   = 'X'.
    ENDIF.
    IF LS_ITEM-EBELP IS NOT INITIAL.
      LS_POITEMX-TRACKINGNO = 'X'.
    ENDIF.
    IF LS_ITEM-RETPO IS NOT INITIAL.
      LS_POITEMX-RET_ITEM   = 'X'.
    ENDIF.
    IF LS_ITEM-UMSON IS NOT INITIAL.
      LS_POITEMX-FREE_ITEM  = 'X'.
    ENDIF.
    IF LS_ITEM-MWSKZ IS NOT INITIAL.
      LS_POITEMX-TAX_CODE   = 'X'.
    ENDIF.
    IF LS_ITEM-MWSKZ IS NOT INITIAL.
      LS_POITEMX-PRICEDATE  = 'X'.
    ENDIF.

    APPEND LS_POITEMX TO LT_POITEMX.
    CLEAR LS_POITEMX.

    " 采购订单交货计划行
    LS_POSCHEDULE-PO_ITEM       = LS_ITEM-EBELP.
    LS_POSCHEDULE-SCHED_LINE    = 1.
    LS_POSCHEDULE-DELIVERY_DATE = LS_ITEM-EINDT.
    LS_POSCHEDULE-QUANTITY      = LS_ITEM-MENGE.
    APPEND LS_POSCHEDULE TO LT_POSCHEDULE.
    CLEAR LS_POSCHEDULE.

    "采购订单交货计划行(更改参数)
    LS_POSCHEDULEX-PO_ITEM = LS_ITEM-EBELP.
    LS_POSCHEDULEX-SCHED_LINE     = 1.
    LS_POSCHEDULEX-PO_ITEMX       = 'X'.
    LS_POSCHEDULEX-SCHED_LINEX    = 'X'.
    LS_POSCHEDULEX-DELIVERY_DATE  = 'X'.
    LS_POSCHEDULEX-QUANTITY       = 'X'.
    APPEND LS_POSCHEDULEX TO LT_POSCHEDULEX.
    CLEAR LS_POSCHEDULEX.

    "采购订单中的条件
    LS_POCOND-ITM_NUMBER  = LS_ITEM-EBELP.
    LS_POCOND-COND_ST_NO  = 1.
    LS_POCOND-COND_TYPE   = LS_ITEM-KSCHL.
    LS_POCOND-COND_VALUE  = LS_ITEM-KBETR.
    LS_POCOND-CURRENCY    = LS_ITEM-WAERS.
    LS_POCOND-COND_P_UNT  = LS_ITEM-KPEIN.
    LS_POCOND-COND_UNIT   = LS_ITEM-KMEIN.
    LS_POCOND-CHANGE_ID   = 'U'.
    APPEND LS_POCOND TO LT_POCOND.
    CLEAR LS_POCOND.

    "采购订单中的条件(更改参数)
    LS_POCONDX-ITM_NUMBER = LS_ITEM-EBELP.
    LS_POCONDX-COND_ST_NO = 1.
    LS_POCONDX-COND_TYPE  = 'X'.
    LS_POCONDX-COND_VALUE = 'X'.
    LS_POCONDX-CURRENCY   = 'X'.
    LS_POCONDX-COND_P_UNT = 'X'.
    LS_POCONDX-COND_UNIT  = 'X'.
    LS_POCONDX-CHANGE_ID  = 'X'.
    APPEND LS_POCONDX TO LT_POCONDX.
    CLEAR LS_POCONDX.

    IF LS_ITEM-KNTTP = 'K'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-COSTCENTER = LS_ITEM-KOSTL.
      LS_POACCOUNT-GL_ACCOUNT = LS_ITEM-SAKNR.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-COSTCENTER  = 'X'.
      LS_POACCOUNTX-GL_ACCOUNT  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.

    ELSEIF LS_ITEM-KNTTP = 'F'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-ORDERID    = LS_ITEM-AUFNR.
      LS_POACCOUNT-GL_ACCOUNT = LS_ITEM-SAKNR.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-ORDERID     = 'X'.
      LS_POACCOUNTX-GL_ACCOUNT  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ELSEIF LS_ITEM-KNTTP = 'M'.
      LS_POACCOUNT-PO_ITEM    = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO  = 1.
      LS_POACCOUNT-SD_DOC     = LS_ITEM-VBELN.
      LS_POACCOUNT-ITM_NUMBER = LS_ITEM-VBELP.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-SD_DOC      = 'X'.
      LS_POACCOUNTX-ITM_NUMBER  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ELSEIF LS_ITEM-KNTTP = 'A'.
      LS_POACCOUNT-PO_ITEM      = LS_ITEM-EBELP.
      LS_POACCOUNT-SERIAL_NO    = 1.
      LS_POACCOUNT-ORDERID      = LS_ITEM-AUFNR.
      LS_ITEM-ANLN1 = |{ LS_ITEM-ANLN1 ALPHA = IN }|.
      LS_POACCOUNT-ASSET_NO     = LS_ITEM-ANLN1.
      LS_ITEM-ANLN2 = |{ LS_ITEM-ANLN2 ALPHA = IN }|.
      LS_POACCOUNT-SUB_NUMBER   = LS_ITEM-ANLN2.
      APPEND LS_POACCOUNT TO LT_POACCOUNT.

      LS_POACCOUNTX-PO_ITEM     = LS_ITEM-EBELP.
      LS_POACCOUNTX-SERIAL_NO   = 1.
      LS_POACCOUNTX-ORDERID     = 'X'.
      LS_POACCOUNTX-ASSET_NO    = 'X'.
      LS_POACCOUNTX-SUB_NUMBER  = 'X'.
      APPEND LS_POACCOUNTX TO LT_POACCOUNTX.
      CLEAR: LS_POACCOUNT,LS_POACCOUNTX.
    ENDIF.

  ENDLOOP.


*----------------给传入的结构和表赋值  END ------------------*

  CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      POHEADER    = LS_POHEADER
      POHEADERX   = LS_POHEADERX
    TABLES
      RETURN      = LT_RETURN
      POITEM      = LT_POITEM
      POITEMX     = LT_POITEMX
      POSCHEDULE  = LT_POSCHEDULE
      POSCHEDULEX = LT_POSCHEDULEX
      POACCOUNT   = LT_POACCOUNT
      POACCOUNTX  = LT_POACCOUNTX
      POCOND      = LT_POCOND
      POCONDX     = LT_POCONDX
*     EXTENSIONIN = EXTENSIONIN
    .

  DATA LS_MSG TYPE BAPIRET2.
  LOOP AT LT_RETURN INTO DATA(LS_RETUEN).
    MOVE-CORRESPONDING LS_RETUEN TO LS_MSG.
    APPEND LS_MSG TO OT_MSG.
    IF LS_RETUEN-TYPE = 'S'.
      OV_MSG = OV_MSG && LS_RETUEN-MESSAGE.
    ENDIF.
  ENDLOOP.
  LOOP AT LT_RETURN INTO LS_RETUEN WHERE TYPE = 'E' OR TYPE = 'A'. "S 成功,E 错误,W 警告,I 信息,A 中断
    CONCATENATE OV_MSG LS_RETUEN-MESSAGE INTO OV_MSG.
  ENDLOOP.

  IF SY-SUBRC = 0.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
  ENDIF.

ENDFUNCTION.

其他

在这里插入图片描述

结构如下:

ZMM_S_PO_CREATE1_HEAD

在这里插入图片描述

组件组件类型描述
BUKRSBUKRS公司代码
LIFNRLIFNR供应商或债权人的帐号
EKORGEKORG采购组织
EKGRPEKGRP采购组
BSARTBSART订单类型(采购)
AEDATAEDAT最后更改的日期
WAERSWAERS货币码

ZMM_S_PO_CREATE1_ITEM

在这里插入图片描述

组件组件类型描述
EBELNEBELN采购凭证编号
BSARTBSART订单类型(采购)
LIFNRLIFNR供应商或债权人的帐号
AEDATAEDAT最后更改的日期
EKORGEKORG采购组织
EKGRPEKGRP采购组
BUKRSBUKRS公司代码
EBELPEBELP采购凭证的项目编号
KNTTPKNTTP科目分配类别
PSTYPPSTYP采购凭证中的项目类别
MATNRMATNR物料编号
TXZ01TXZ01短文本
MENGEMENGE采购订单数量
MEINSMEINS基本计量单位
EINDTEINDT项目交货日期
MATKLMATKL物料组
WERKSWERKS_D工厂
LGORTLGORT_D库存地点
KSCHLKSCHL条件类型
KBETRKBETR条件金额或百分比
WAERSWAERS货币码
KPEINKPEIN条件定价单位
KMEINKMEIN条件单位
KOSTLKOSTL成本中心
AUFNRAUFNR订单号
SAKNRSAKNR总账科目编号
RETPORETPO退货项目
UMSONUMSON免费项目
MWSKZMWSKZ销售/购买税代码
ANLN1ANLN1主资产号
ANLN2ANLN2资产子编号
VBELNVBELN销售和分销凭证号
VBELPVBELP销售凭证项目
AFNAMAFNAM需求者/要求者名称
MEPRFMEPRF价格确定(定价)日期控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值