首页 > 其他分享 >获取采购信息记录函数BAPI_INFORECORD_GETLIST

获取采购信息记录函数BAPI_INFORECORD_GETLIST

时间:2023-05-10 18:13:56浏览次数:44  
标签:BAPI gs INFORECORD price GETLIST upload error msg ENDIF

  DATA:lt_purch TYPE TABLE OF bapieine,
        lt_return TYPE TABLE OF bapireturn.
  FIELD-SYMBOLS:<fs_return> TYPE bapireturn,
                 <fs_purch> TYPE bapieine.



  CALL FUNCTION 'BAPI_INFORECORD_GETLIST'
    EXPORTING
      vendor              = c_upload-lifnr
      material            = c_upload-matnr
*     MAT_GRP             =
*     VEND_MAT            =
*     VEND_PART           =
*     VEND_MATG           =
      purch_org           = c_upload-ekorg
      info_type           = '0'
      plant               = c_upload-werks
      pur_group           = c_upload-ekgrp
*     PURCHASINGINFOREC   =
      deleted_inforecords = ''
      purchorg_data       = 'X'
*     GENERAL_DATA        = 'X'
*     MATERIAL_EVG        =
*     PURCHORG_VEND       = ' '
    TABLES
*     INFORECORD_GENERAL  =
      inforecord_purchorg = lt_purch
      return              = lt_return.
  READ TABLE lt_return ASSIGNING <fs_return> WITH KEY type = 'E'.
  IF sy-subrc NE 0.
    READ TABLE lt_purch ASSIGNING <fs_purch> WITH KEY info_type = '0' plant = c_upload-werks.
    IF sy-subrc = 0.

      IF <fs_purch>-price_unit <> 0.
*ALV价格等于采购信息记录单价 * 数量 /价格单位
*      c_upload-netpr =  <fs_purch>-net_price  * c_upload-menge   / <fs_purch>-price_unit.
        c_upload-netpr =  <fs_purch>-net_price   / <fs_purch>-price_unit.
        c_upload-netpr_n =  <fs_purch>-net_price.
        c_upload-peinh =  <fs_purch>-price_unit.
        c_upload-waers =  <fs_purch>-currency.
      ENDIF.


      IF <fs_purch>-net_price = 0.
        MOVE-CORRESPONDING c_upload TO gs_error.
        gs_error-msg = gs_error-msg && '/' &&   '没有获取到采购信息记录价格'.
      ENDIF.

      IF gs_error-msg IS NOT INITIAL.
        APPEND gs_error TO gt_error.
        CLEAR:gs_error.
        gv_flag = 'X'.
      ENDIF.

    ELSE."取不到采购信息记录价格的也放在报错数据
      MOVE-CORRESPONDING c_upload TO gs_error.
      gs_error-msg = gs_error-msg && '/' &&   '没有获取到采购信息记录价格'.


      IF gs_error-msg IS NOT INITIAL.
        APPEND gs_error TO gt_error.
        CLEAR:gs_error.
        gv_flag = 'X'.
      ENDIF.



    ENDIF.

  ELSE.
    MOVE-CORRESPONDING c_upload TO gs_error.
    gs_error-msg = gs_error-msg && '/' &&   '没有获取到采购信息记录价格'.

    IF gs_error-msg IS NOT INITIAL.
      APPEND gs_error TO gt_error.
      CLEAR:gs_error.
      gv_flag = 'X'.
    ENDIF.



  ENDIF.

 

标签:BAPI,gs,INFORECORD,price,GETLIST,upload,error,msg,ENDIF
From: https://www.cnblogs.com/Anyohh233/p/17388811.html

相关文章

  • BAPI_PR_CREATE-BAPI程序创建采购申请单
    FUNCTIONZPR2.DATAGS_HEADERTYPEBAPIMEREQHEADER."ME51N采购申请凭证抬头DATAGS_HEADERXTYPEBAPIMEREQHEADERX.GS_HEADER-PR_TYPE='NB'.GS_HEADERX-PR_TYPE='X'."采购凭证类型DATAGT_ITEMTYPETABLEOFBAPIMER......
  • 武装你的WEBAPI-OData与DTO
    本文属于OData系列文章Intro前面写了很多有关OData使用的文章,很多读者会有疑问,直接将实体对象暴露给最终用户会不会有风险?$expand在默认配置的情况下,数据会不会有泄露风险?答案是肯定的,由于OData的特性,提供给我们便捷同时也会带来一些风险。很多地方推荐使用DTO模式来隔离实体类......
  • 武装你的WEBAPI-OData Versioning
    本文属于OData系列目录武装你的WEBAPI-OData入门武装你的WEBAPI-OData便捷查询武装你的WEBAPI-OData分页查询武装你的WEBAPI-OData资源更新Delta武装你的WEBAPI-OData之EDM武装你的WEBAPI-OData常见问题武装你的WEBAPI-OData使用Endpoint武装你的WEBAPI-OData聚合查询......
  • WebAPi实现多文件上传,并附带参数
    1、目的及需求需要实现的效果为,通过WebAPI实现多文件上传功能,并且在上传时需要能附带文件说明参数,用于保存文件记录 2、参数说明这里先说明以下需要的文件说明参数类///<summary>///前端文件上传时参数数据///</summary>publicclassDistributionDat......
  • 常见问题——关于.net WebApi使用Swagger报错:HTTP Error 403.14 - Forbidden
    问题:.netWebApi项目使用Swagger报错:HTTPError403.14-Forbidden解放方案:换一个端口即可推荐——删除解决方案下的.vs文件夹,重新生成即可参考:https://stackoverflow.com/questions/34970088/swagger-gives-me-http-error-403-14-forbidden/53863456......
  • BAPI_ACC_DOCUMENT_POST 解决多行一次性供应商凭证导入问题
     POST函数将一次性供应商的信息放在抬头入参上,业务需要多个一次性供应商一起做凭证时,就满足不了。抬头入参会把所有行的一次性给一样的名称。想起之前做的 IF_EX_ACC_DOCUMENT~CHANGE,于是尝试了一下,发现可以解决IF_EX_ACC_DOCUMENT~CHANGE  "add by itl_csw 28.04.......
  • WebAPI中添加参数,并获取数据
    publicstaticstringPostData(DataTabledt,intm){stringstrPostData=ConfigurationManager.AppSettings["APIPost"].ToString();//"http://218.78.103.37:43333/api/pushData";//dt=newArich......
  • 如何在 .NET Core WebApi 中处理 MultipartFormDataContent 中的文件
    在上一篇文章(如何在.NETCoreWebApi中处理MultipartFormDataContent)中,我们有描述过如何以最简单的方式在.NETCoreWebApi中处理MultipartFormDataContent。基于框架层面的封装,我们可以快速的从Request.Form中分别拿到文件内容和文本内容,但是这些默认的解析方式都是建......
  • 如何在 .NET Core WebApi 中处理 MultipartFormDataContent
    最近在对某个后端服务做.NETCore升级时,里面使用了多处处理MultipartFormDataContent相关内容的代码。这些地方从.NETFramework迁移到.NETCore之后的代码改动较大,由于本身没有测试覆盖,导致在部署QA环境后引发了一些问题。这里做一个技术复盘。什么是MultipartForm......
  • 标准的WebApi应该有哪些元素
    提问标准的WebApi应该有哪些元素回答声明完整的响应码200,404,401,400添加Operation添加Tag聚合业务申明请求和响应类型标注参数来源FromHeader使用IActionResult代替ActionResult[Tag("查询类服务")][HttpGet,Route("mytoute",Name=nameof(GetSomething)......