*&---------------------------------------------------------------------*
*& Report  ZBAPI_REQUISITION_CREATE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
"场景  公司需求采购某物料,需求部门或者物资部门通过创建采购申请来提出自己的需求。
"因测试系统配置有限,采购申请的其他功能暂时不能实现,待后续
REPORT  zbapi_requisition_create.

DATA:gt_item TYPE TABLE OF bapiebanc,"采购申请项目内表
     gw_item LIKE LINE OF gt_item,
     gt_text TYPE TABLE OF bapiebantx,"采购申请项目文本内表
     gw_text LIKE LINE OF gt_text,
     gt_retu TYPE TABLE OF bapireturn,"返回消息内表
     gw_retu LIKE LINE OF gt_retu,
     gv_rdno TYPE banfn.

"行项目数据添加
gw_item-preq_item = 10."行项目号
gw_item-doc_type = 'ZB'."采购申请类型
gw_item-pur_group = 'D01'."采购组
*gw_item-pur_group = '137'."采购组
gw_item-created_by = 'LIYUAN'."创建人
gw_item-preq_name = 'ANDYLEE'."需求人
gw_item-preq_date = '20210603'."采购组
gw_item-short_text = 'short text'."项目短文本
gw_item-material = 'K300000'."采购申请行物料号
*gw_item-material = 'T60602475'."采购申请行物料号
*gw_item-batch = 'HS'."采购申请行物料号
gw_item-plant = '6375'."采购申请工厂
*gw_item-plant = '8380'."采购申请工厂
gw_item-quantity = '2'."采购申请数量
gw_item-deliv_date = '20210715'."采购申请发运日期
APPEND gw_item TO gt_item.

"行文本
gw_text-preq_item = 10."项目号
gw_text-text_id = 'Z001'."文本号
gw_text-text_form = '*'."文本号
gw_text-text_line = 'test for purchase requisition'."文本号
APPEND gw_text TO gt_text.

CALL FUNCTION 'BAPI_REQUISITION_CREATE'
  IMPORTING
    number                = gv_rdno
  TABLES
    requisition_items     = gt_item
    requisition_item_text = gt_text
    return                = gt_retu.

READ TABLE gt_retu INTO gw_retu WITH KEY type = 'E'.
IF sy-subrc <> 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
  WRITE gv_rdno.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

函数使用十三:BAPI_REQUISITION_CREATE的更多相关文章

  1. VBA日期时间函数(十三)

    VBScript日期和时间函数帮助开发人员将日期和时间从一种格式转换为另一种格式,或以适合特定条件的格式表示日期或时间值. 日期函数 编号 函数 描述 1 Date 一个函数,它返回当前的系统日期. ...

  2. MYSQL数据库45道练习题

    --第一题查询Student表中的所有记录的Sname.Ssex和Class列.select Sname,Ssex,Class from Student;--第二题查询教师所有的单位即不重复的Depa ...

  3. Golang语言的入门开始

    一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...

  4. php面试中的经典问题

    原文:https://blog.csdn.net/ghostlv/article/details/51284745 问题一问题描述考虑下面代码: $str1 = 'yabadabadoo';$str2 ...

  5. 2018VUE面试题总结

      Vue面试题 一:什么是MVVM MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操作的业务逻辑,View代表视图层,负责将数据模型渲染到页面上,Vie ...

  6. PHP进阶之路 -- 01 PHP基础语法

    PHP进阶之路 --  PHP基础语法 windows环境下php环境 php定界符  php变量  php数据类型 数据类型转换 检测数据类型 php中三种输出方式 php字符集设置 php常量 p ...

  7. 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)

    一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...

  8. ApacheCN C/C++ 译文集 20211201 更新

    笨办法学C 中文版 前言 导言:C的笛卡尔之梦 练习0:准备 练习1:启用编译器 练习2:用Make来代替Python 练习3:格式化输出 练习4:Valgrind 介绍 练习5:一个C程序的结构 练 ...

  9. ApacheCN JavaScript 译文集 20211122 更新

    JavaScript 编程精解 中文第三版 零.前言 一.值,类型和运算符 二.程序结构 三.函数 四.数据结构:对象和数组 五.高阶函数 六.对象的秘密 七.项目:机器人 八.Bug 和错误 九.正 ...

  10. C++职工管理系统

    目录 职工管理系统 一. 需求 二. 创建管理类 1.创建文件 2. 头文件实现 3. 源文件实现 三. 菜单功能 1. 添加成员函数 2. 功能实现 3. 测试菜单功能 四. 退出功能 1. 提供功 ...

随机推荐

  1. 认识webRTC

    什么是 WebRTC 2010 年 5 月,谷歌收购了 Global IP Solutions(简称 GIPS),这是一家专注于 VoIP 和视频会议软件的公司,已开发出 RTC 所需的多项关键组件, ...

  2. selenium爬虫学习1

    简介 Selenium是广泛使用的模拟浏览器运行的库,它是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,并且支持大多数现代 Web 浏览器. 函 ...

  3. APEX实战第2篇:构建自己第一个APEX程序

    为了尽快实现从0到1的突破,第一个程序就选择一个最简单易懂的生活场景. 后续随着APEX学习过程不断迭代增强这个程序. 现在就开始吧,我给孩子看一些公开网络课时,习惯把课程资源做分片,然后有计划的让孩 ...

  4. 一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量

    一文速通 Python 并行计算:03 Python 多线程编程-多线程同步(上)-基于互斥锁.递归锁和信号量 摘要: 在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术 ...

  5. GPT-SoVITS Windows 配置与推理笔记(自用)

    GPT-SoVITS Windows 配置与推理笔记(自用) 这是给自己留的备份,方便下次查.Windows 端配置和推理为主,代码为核心,直接干货. 环境准备 系统:Windows 10/11 Py ...

  6. 🎀chrome扩展程序本地打包

    简介 本文为Chrome浏览器已安装的扩展程序打包为离线.crx文件,便于在无法访问Chrome商店场景下使用 扩展管理页面 chrome://extensions/ 确定自己需要打包的扩展程序ID ...

  7. Web前端入门第 35 问:CSS 细说 flex 弹性盒子布局(多图)

    flex 作为现代布局方案中最常用的手段,有必要拉出来细说. flex 相关的 CSS 属性 容器(父元素)相关的 CSS 属性 以下的 CSS 属性,在 flex 布局中需喂给父元素,设置 flex ...

  8. 什么是 Java 中的 JIT(Just-In-Time)?

    Java 中的 JIT(Just-In-Time)编译器 1. JIT 的定义 JIT(Just-In-Time)编译器是一种用于 Java 虚拟机(JVM)的动态编译技术.它在 Java 程序运行时 ...

  9. kettle介绍-Step之If field value is null

    If field value is null介绍 替换NULL值步骤可以将输入流中所有字段的空值进行替换,也可以指定一种类型下的空值进行替换,还可以指定一个字段下的空值进行替换 三种替换NULL模式 ...

  10. cesium裁切面实践

    cesium裁切面实践:沙盒地址 (打不开的自行科学访问) 裁切面法线方向指向保留的部分,本案例通过法线配合unionClippingRegions参数实现相比官方案例没有的:多裁切面互裁,裁两边留中 ...