关于ABAP批次或生产订单特性值的随记

2023-10-30

特性值

特性值是为了控制一些特定属性,特性字段可以在SAP里配置,以方便管控物料或者订单。

后台表

特性值涉及到的SAP后台表有:
CABN,CABNT,CAWN,CAWNT,KSML,KLAH,AUSP

  1. CABN,CABNT,CAWN,CAWNT
    包含内部特性号及其描述字段
  2. KSML
    包含内部等级号字段,与CABN表连接可获取内部特性值(atinn)
  3. KLAH
    包含内部等级号,类,类别等字段
  4. AUSP
    包含对象,内部特性号,计数器,类等字段

批次特性值

1.可根据函数来读取或者更改特性值
VB_BATCH_2_CLASS_OBJECT
BAPI_OBJCL_GETDETAIL

DATA: lv_objek TYPE OBJNUM,
      lv_obtab TYPE TABELLE,
      lv_klart TYPE KLASSENART,
      lv_class TYPE KLASSE_D.

DATA: lt_num TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
      lt_char TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
      lt_curr TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR,
      lt_return TYPE TABLE OF BAPIRET2.

DATA: lt_numnew TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
      lt_charnew TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
      lt_currnew TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR,
      lt_returnnew TYPE TABLE OF BAPIRET2.

DATA: ls_char TYPE BAPI1003_ALLOC_VALUES_CHAR,
      ls_return TYPE BAPIRET2.

CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'      "获取对象,类等
  EXPORTING
    i_matnr       = '000000001200005491'
    i_charg       = '0001356318'
    I_WERKS       = '2050'
  IMPORTING
    E_OBJEK       = lv_objek
    E_OBTAB       = lv_obtab
    E_KLART       = lv_klart
    E_CLASS       = lv_class.

CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'         "获取已维护特性值
  EXPORTING
    objectkey              = lv_objek
    objecttable            = lv_obtab
    classnum               = lv_class
    classtype              = lv_klart
  tables
    allocvaluesnum         = lt_num
    allocvalueschar        = lt_char
    allocvaluescurr        = lt_curr
    return                 = lt_return.

lt_numnew[] = lt_num[].
lt_charnew[] = lt_char[].
lt_currnew[] = lt_curr[].
lt_returnnew[] = lt_return[].

IF lt_charnew[] IS NOT INITIAL.             "新特性值赋值
  LOOP AT lt_charnew INTO ls_char.
    ls_char-value_char    = '1233333333'.
    ls_char-value_neutral = '1233333333'.
    MODIFY lt_charnew FROM ls_char.
  ENDLOOP.
ELSE.
  ls_char-CHARACT       = 'Z_MO'.
  ls_char-value_char    = '1233333333'.
  ls_char-value_neutral = '1233333333'.
  APPEND ls_char TO lt_charnew[].
ENDIF.

CALL FUNCTION 'BAPI_OBJCL_CHANGE'          "新特性值更新
  EXPORTING
    objectkey                = lv_objek
    objecttable              = lv_obtab
    classnum                 = lv_class
    classtype                = lv_klart
  tables
    allocvaluesnumnew        = lt_numnew
    allocvaluescharnew       = lt_charnew
    allocvaluescurrnew       = lt_currnew
    return                   = lt_returnnew
          .

LOOP AT lt_return INTO ls_return WHERE type = 'E' OR type = 'A'.
  WRITE: ls_return-MESSAGE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  EXIT.
ENDLOOP.

IF sy-subrc <> 0.
  call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.
ENDIF.

2.可根据后台表来读取特性值

DATA: lv_zmuju TYPE ausp-atwrt,
      lt_ausp TYPE TABLE OF ausp.

DATA: BEGIN OF lt_cabn OCCURS 0,
        atinn TYPE cabn-atinn,
        ATNAM TYPE cabn-ATNAM,
        atbez TYPE CABNT-atbez,
      END OF lt_cabn.

*SELECT SINGLE atwrt INTO lv_zmuju FROM ausp        "得到对象
*      WHERE OBJEK = '000000000001525818'.
**      AND   ATINN = 'Z_REMARKS'
**      AND   atwrt = '7777777777'.
  SELECT
      CABN~ATINN  "内部特性号
      ATNAM
      ATBEZ   "特性描述
      INTO CORRESPONDING FIELDS OF TABLE lt_cabn
      FROM CABN
      INNER JOIN CABNT ON CABN~ATINN = CABNT~ATINN AND CABNT~SPRAS = SY-LANGU
      INNER JOIN KSML ON KSML~IMERK = CABN~ATINN
      WHERE KLART = '023'.

  LOOP AT lt_cabn.

  ENDLOOP.
  
*  read table lt_cabn with key atnam = 'Z_REMARKS'.
*  lv_atinn = lt_cabn-atinn.
* 
  SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_ausp FROM ausp        "得到对象
      WHERE OBJEK = '000000000001525818'
      AND   ATINN = '0000000991'.   "备注Z_REMARKS
*      AND   atwrt = '7777777777'.
WRITE lv_zmuju.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_ausp FROM ausp        "得到对象
      WHERE OBJEK = 'OR003000006229'
      AND   ATINN = '0000000953'.   "返工原因
*      AND   atwrt = '7777777777'.

    WRITE lv_zmuju.
	
	"2022.3.18新增
	SELECT SINGLE atinn
          FROM cabn
          INTO lv_atinn
         WHERE atnam = 'Z_PP_REWORK3'.
         
    IF sy-subrc = 0.
       
    ENDIF.

3.前台查看批次特性值,事务码MSC3N,里面会有类别,类=类别种类指示
在这里插入图片描述

生产订单特性值

1.生产订单特性值前台在订单抬头分类控制里
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于ABAP批次或生产订单特性值的随记 的相关文章

  • ABAP OPEN SQL详解

    本章目录 概要 OPEN SQL 读取数据 1 概要 1 1 R 3体系结构 学习SQL之前先了解一下R 3体系结构 如 图1 所示 SAP R 3一共分为三层结构 其中应用层和数据库层由单独的系统构成 1 表示层 表示层 Presenta
  • OOALV data_changed 與data_changed_finished事件

    data changed在可編輯字段的數據發生變化時才會觸發 可用來檢查輸入數據的正確性 data changed finished在回車時和可編輯字段數據發生變化后 光標移動時觸發 如果可編輯字段數據檢查失敗 則不會觸發此事件 這兩個事件
  • 创建计划行确认数量为0的销售订单

    需求 通过BAPI函数创建销售订单 并且计划行里的确认的数量为0 解决方法 使用BAPI BAPI SALESORDER CREATEFROMDAT2创建SO后 再使用函数 SD BACKORDER UPDATE 对确认的数量进行修改 ti
  • SAP 在制品明细

    Report ZCO019 REPORT zco019 TABLES matdoc SELECT OPTIONS s bukrs FOR matdoc bukrs OBLIGATORY s bu
  • SAP PO上传异步接口(PO发布Webservice)

    导语 接口是SAP与其他系统进行数据交互的一种方式 在这篇文章中主要讲述通过PO实现的上传接口 即SAP被动接收其他系统发送的数据 注意 对于配置中涉及的基本组件的介绍和创建在前面的博客有说明和介绍 再次不做过多赘述了 一 ESB Ente
  • 全屏时 ALV 网格工具栏丢失

    我创建了一个简单的 ALV 网格并用数据填充了网格 现在网格显示在选择屏幕之后 我没有使用自定义容器并全屏显示网格 ALV网格对象是否有一个属性可以启用带有按钮的工具栏filter sort等 通常位于网格顶部 到目前为止 这就是我所拥有的
  • 使用 ABAP 7.40+ 语法进行最有效的 itab 过滤

    在 7 40 版本中 我们有很多方法来过滤内部表数据 例如 可以使用这样的 ABAP 结构 FILTER操作员 DATA lt extract FILTER lt bseg USING KEY matnr bwtar WHERE matnr
  • 如何让程序在单击按钮时返回表中的多个表字段?

    我正在尝试创建一个程序 允许用户输入foodCode为了收到Item and Description按下按钮后 有没有办法可以将结果放在同一屏幕上的表格中 如何 report demo tables food SELECTION SCREE
  • 选择多个字段不在子查询中的位置(不包括连接)

    我需要提取存档表中没有历史记录的记录 需要在存档中检查 1 条记录的 2 个字段 从技术意义上讲 我的要求是左连接 其中右侧为 空 又名排除连接 在abap openSQL中通常是这样实现的 无论如何对于我的场景 Select from x
  • sap abap 中系统忽略条件的循环

    我尝试应用带有条件的循环来总结相应的行 字段 其中条件应该是正确的 但在系统运行期间 程序忽略了条件并总结了所有行 有什么建议来解决这个问题吗 SELECT FROM LIPS INTO CORRESPONDING FIELDS OF TA
  • 并行模式下的 BAPI_GOODSMVT_CREATE 导致“物料 XXX 的工厂数据已锁定”错误

    目前 我们正在开发并行性的大规模 GI 发布 以显着减少工作时间 因为我们一天必须发布大约 300k 的 GI 项目 Problem 我知道 BAPI GOODSMVT CREATE 有一个限制 由于表锁 您不能同时发布相同的材料 所以我将
  • ABAP中的求值顺序

    ABAP 是否有明确的评估顺序 例如 在表达式中foo bar 是否可以保证哪种方法foo and bar 首先评估 执行 在 ABAP 关键字文档中找不到此类信息 ABAP 文档 arith exp 算术运算符 https help sa
  • 如何将大量代码复制到不同的公司

    我在一家公司的服务器上有一组 ZBAPI 结构 我们在该公司开发并安装了自定义应用程序 我必须在不同公司的同一应用程序中使用许多相同的 BAPI 是否有任何快速方法可以将结构 功能模块 业务对象和 BAPI 代码本身从一个 SAP 系统移动
  • SELECT 在 ON 子句中包含子字符串?

    我在ABAP中有以下选择语句 SELECT munic mandt VREFER BIS AB ZZELECDATE ZZCERTDATE CONSYEAR ZDIMO ZZONE M ZZONE T USAGE M USAGE T M2M
  • 如何找到调用该方法的ABAP程序/FM?

    我是SAP SD模块专家 经常需要调试代码 有时我需要知道哪些程序 FM 地址特定的表 我用使用地点在 SE11 中的表中 它会找到寻址该表的类方法 但是当我使用使用地点对于类方法 系统找不到任何内容 你知道如何找到调用此方法的程序或FM吗
  • 将 JSON 反序列化为表

    我需要根据通过 API 接收的数据填充 ABAP 中的表 我正在使用以下 ABAP 函数从 json 填充现有的 ABAP 表 JSON 是正确的 表中包含相应的表 ui2 cl json gt deserialize EXPORTING
  • 找出所有程序 dynpro 屏幕?

    我是ABAP新手 我想制作一个具有多个屏幕和一个初始主屏幕的程序 可以在其中看到所有程序屏幕的列表 我知道我可以对它们进行硬编码 但应该有更好的方法 如果有任何类型的字段 区域 我需要使该列表可点击 以转到屏幕 到目前为止 我已经制作了一个
  • ABAP中的字段符号和数据引用概念

    如果我们将 ABAP 字段符号和数据引用与 C 中的指针进行比较 我们会观察到 在 C 中 假设我们声明一个变量 var 类型为 integer 默认值为 5 变量 var 将存储在内存中的某个位置 并假设保存该变量的内存地址是 1000
  • ABAP 将值硬编码到 SELECT 中并将字段硬编码到另一个字段中

    在 ABAP 中可以进行选择并包含硬代码值并将值放入任何字段中 在我的示例中 我必须根据 VKORG 用公司代码 BUKRS 填充一个范围 因此我必须在 TVKO 上进行这样的选择 DATA lt rtvko TYPE RANGE OF b
  • 当前CLASS POOL中PUBLIC类的名称必须是“...”而不是“...”

    我正在尝试创建一个本地类 Z MY LOCAL CLASS 在全局类 Z MY GLOBAL CLASS 通过点击事务中的 本地定义 实现 se24 之后 我将另一个类的源代码从基于源代码的视图复制到单击 本地定义 按钮后显示的文本区域中

随机推荐

  • 【python 6】Numpy

    文章目录 一 创建ndarry 1 使用 np array 由 python list 创建 2 使用np的常规函数创建 二 ndarry 的属性 三 ndarry 的基本操作 四 ndarry 的矩阵操作 Numpy 是python的数值
  • 问题1:VS2017:找不到 Windows SDK 版本10.0.17134.0

    我电脑的VS版本 1 问题1 找不到 Windows SDK 版本10 0 17134 0 请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择 重定解决方案目标 来更改 SDK 版本 2 出现问题的过
  • 数据结构之---C语言实现拓扑排序AOV图

    有向图的拓扑排序 杨鑫 include
  • React TypeScript

    1 安装 就像安装其他插件库一样 在项目文件夹下执行 npm install antd save 如果你安装了 yarn 也可以执行 yarn add antd 2 引用 import Button Tooltip from antd im
  • window下C语言中strtok函数的使用

    基础知识 原型 char strtok char str const char delim 功能 分解字符串为一组字符串 参数说明 str为要分解的字符串 delim为分隔符字符串 其中 str 不能用指针来存储 因为这个方法的本质是 找到
  • IOS 使用自定义View实现圆形布局(Swift)

    前面写过用安卓实现 还是同个需求 只不过现在需要做苹果版本 网上搜到了类似的案列点击打开链接只不过他的是用UICollectionView 跟我的需求有点不符合 没有搜到完全符合的案例 没办法自己写个 记录一下 也给有同种需求的童鞋填个坑
  • C#泛型List删除多个元素的方法

    泛型List如果删除一个 很简单 直接 RemoveAt index 即可 但如果有多个元素 那么删除起来并不是特别简单 需要使用 for 循环的倒叙删除 例子如下 class Program public class Students p
  • windows10安装linux环境

    Windows里玩转Linux 目标 一般的做法 神仙般的做法 可能会遇到的问题 目标 想要在windows里玩转linux 一般的做法 在windows里安装vmware或virtual box 新建一个虚拟机 在虚拟机里通过iso安装l
  • Python ttkbootstrap 制作账户注册信息界面

    前言 ttkbootstrap 是一个基于 tkinter 的界面美化库 使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序 ttkbootstrap 不仅有丰富的案例 同时还有完善的官方文档 可惜是英文的
  • 宽高都200px的div在浏览器窗口居中(水平垂直都居中)

    1 fixed 从中间移动定位 position fixed width 200px height 200px left 50 top 50 margin left 100px margin top 100px 第一行设置完 盒子的左上角的
  • 国茂股份全面迁移到亚马逊云科技,降本增效,驱动业务增长

    亚马逊云科技宣布 中国通用机械工业减速机行业的标杆企业江苏国茂股份有限公司 简称 国茂股份 正在全面迁移到亚马逊云科技 在中国大陆 西云数据运营宁夏区域 光环新网运营北京区域 将ERP 企业资源计划系统 APS 高级计划与排程系统 MES
  • Docker安装使用阿里云镜像

    registry mirrors https kfwkfulq mirror aliyuncs com https 2lqq34jg mirror aliyuncs com https pee6w651 mirror aliyuncs co
  • 【满分】【华为OD机试真题2023 JS】最小的调整次数

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 最小的调整次数 知识点队列栈 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 有一个特异性的双端队列 该队列可以从头部或尾部添加数据 但是只能从头部移出数据 小A
  • dns服务器响应 异常,DNS云学堂|快速定位DNS解析异常问题,牢记这四种DNS状态码...

    DNS的状态码在进行故障排查的时候起着至关重要的作用 在DNS的维护中会经常遇到DNS解析异常问题 通过DNS的状态码可以初步判断DNS解析的异常问题 本期云学堂通过详解DNS状态码的定义 给出常见状态码的场景举例 enjoy 写在前面 本
  • (一)Matlab三日基础入门——矩阵和数组

    目录 创建数组 方式一 直接创建 方式二 调函数创建 zeros 功能 创建由0组成的数组 ones 功能 创建由1组成的数组 rand 功能 创建 0 1 之间均匀分布的随机数生成的数组 矩阵和数组运算 单一运算符 转置 行列互换 计算矩
  • [leetcode]刷题--关于位运算的几道题

    1 位运算的本质 其实是对二进制补码储存形式的修改 位运算常见的运算符为 lt lt 左移n个位置 算数移位 符号位不变 gt gt 右移动n个位置 采用直接丢弃末尾数字的方法 符号位不变 移位都是算数移位 按位取反 对于包括符号位在内全部
  • 两种公钥加密算法——Merkle-Hellman背包、RSA

    今天看了一些加密体制 很厉害 佩服之余顺便总结下公钥 对称密钥很多啊 历史比较有名的有DES AES RC系列 水平不够说不清楚 所以不写了 自己以后也要看 所以尽量通俗易懂 其实是不怎么会很官方很学术 顺道说 明天就七夕了 我还在搞些啥跟
  • ubuntu 20.04.4编译 继续尝试编译Android 12,13

    之前使用虚拟机编译过Android10 现在开始记录编译12 上次忘记给镜像了这次补上镜像ubuntu 20 04 4 desktop amd64 链接 https pan baidu com s 1REJ2cIJyqupLRQjN9SW0
  • 深搜Dfs遍历节点以及寻路

    深搜遍历从起点出发能走的所有节点 对于一个节点 只要发现了没走过的点就走到它 如果有多个点可走就任选一个 递归调用 由于是从起点开始遍历 因此遍历过程也是产生路径的过程 因此深搜遍历是有路径信息的 单纯的根据数据结构遍历所有点是没有路径信息
  • 关于ABAP批次或生产订单特性值的随记

    阅读目录 特性值 后台表 批次特性值 生产订单特性值 特性值 特性值是为了控制一些特定属性 特性字段可以在SAP里配置 以方便管控物料或者订单 后台表 特性值涉及到的SAP后台表有 CABN CABNT CAWN CAWNT KSML KL