关于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批次或生产订单特性值的随记 的相关文章

  • SAP MM ME2M ME2L ME28 增强自定义字段

    本人诚心接ABAP远程开发任务 价格公道 有需要的联系我 欢迎个人 甲方爸爸 乙方私信联系 目前项目需要增强ME2L 去增加客制化的字段 一开始顾问要求是copy标准程序 然后增加字段 查阅资料之后发现 SAP 预留了标准的增强出口去做增强
  • SAP ABAP 中的异步调用

    举例场景 创建采购申请的接口中 在执行完BAPI之后返回了一个PR 接着就会执行到commit提交的接口 然如果还需要在创建的时候直接审批 那么就需要再调用PR审批的BAPI 但是你会发现有的PR 在ME23N查看的时候是审批状态 而有的并
  • ALV 中颜色、强调、下划线的样式

    我们正在尝试操作 alv 网格类来获得像 Sap Agenda SSC1 tcode 中那样的结果 即合并列和行 我们发现该类cl calendar control schedule用方法display处理这个问题 我们正在努力理解这个方法
  • RFC_READ_TABLE 传递“选项”和“字段”参数 (c#)

    需要帮助 我正在尝试使用 RFC READ TABLE 从 SAP 获取销售数据 但不知道如何将 OPTIONS 和 FIELDS 参数传递给 SAP 这是我的应用程序的示例代码 连接正常 执行后出现异常 DATA BUFFER EXCEE
  • 删除 ALV 中选定的行

    我有 ALV 表 并在表工具栏中创建了一个自定义按钮 每当按下按钮时 我想删除选定的行 现在只显示一条消息 以便我可以查看自定义按钮是否正常工作 METHOD on user command CASE e salv function WHE
  • SAP ERP系统怎么样?适合中小企业吗?

    SAP是什么 它跟ERP什么关系 对于工业4 0 能起到什么作用 哪里有SAP最新的资讯 我们先来对这两个名词做一个简单的解释 SAP 思爱普 是全球领先的业务流程管理软件供应商之一 致力于开发先进的解决方案 帮助企业高效处理整个企业范围内
  • SAP ERP系统怎么样?适合中小企业吗?

    SAP是什么 它跟ERP什么关系 对于工业4 0 能起到什么作用 哪里有SAP最新的资讯 我们先来对这两个名词做一个简单的解释 SAP 思爱普 是全球领先的业务流程管理软件供应商之一 致力于开发先进的解决方案 帮助企业高效处理整个企业范围内
  • 并行模式下的 BAPI_GOODSMVT_CREATE 导致“物料 XXX 的工厂数据已锁定”错误

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

    在 Eclipse 中建立与本地数据库的连接以开始在 ABAP 中进行开发需要什么 我已经安装了 ABAP 插件 但无法连接到数据库 有什么建议么 ABAP 开发工具 ADT https tools hana ondemand com ab
  • ALV 报告填补了文档之间的空白

    我试图挑战自己制作一份按公司代码显示所有数据的 ALV 报告 但有些文件编号有差距 我想填补缺失号码之间的空白 例如 最后索引值 20012 那么下一个值是 20014 如果报表使用内表中存在的所有数据 如何在网格中插入 20013 Tha
  • 如何以编程方式判断系统是 R/3 还是 S/4

    是否可以通过代码判断当前系统是R 3还是S 4 我需要它 因为我有一个返回人力资源相关数据的软件组件的方法 但这个组件应该与R 3和S 4系统不同 DATA lv software component mo configuration gt
  • ABAP 对象中的“ADD-CORRESPONDING”相当于什么?

    对于以下可执行程序 存在以下语法错误 OO 上下文中不支持 ADD CORRESPONDING 相当于什么ADD CORRESPONDING在ABAP对象中 REPORT CLASS lcl app DEFINITION FOR TESTI
  • 如何跳过选择屏幕上的必填字段?

    我希望当我单击 Iptal 按钮时它跳过必填字段 但我不想在没有 强制 的情况下控制强制字段 我想在文本框中看到复选标记 例如屏幕截图 通常 当没有必填字段时 Iptal 按钮会调用不同的屏幕 注意 屏幕是标准选择屏幕 我解决这个问题的方法
  • 对分组表进行数学运算

    我的问题不在于真正的编程语言 我有一个 ABAP 语言练习 但该语言不是很重要 无论如何 我有一张桌子 我需要计算该职位的总成本 显然是在选择之后 然后 该表将按两个字段 MATNR 和 BUKRS 进行分组 因此我需要知道每个组的头寸总成
  • 如何将大量代码复制到不同的公司

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

    下面的 SELECT 与内部表一起运行GIT KUNNR TAB包含 2 291 000 条具有唯一客户 kunnr 的行 需要 16 分钟才能完成 select kunnr umsks umskz gjahr belnr buzei bs
  • 如何找到调用该方法的ABAP程序/FM?

    我是SAP SD模块专家 经常需要调试代码 有时我需要知道哪些程序 FM 地址特定的表 我用使用地点在 SE11 中的表中 它会找到寻址该表的类方法 但是当我使用使用地点对于类方法 系统找不到任何内容 你知道如何找到调用此方法的程序或FM吗
  • 我可以使用 line_exists 检查初始值或不相等的值吗?

    ABAP 7 40 添加了line exists 谓词函数来分析内表 但我有什么办法可以检查是否存在特定列为初始值或与目标值不同的行 例如 如何检查具有初始材料列的行 例如此表中的第三行 Document Country Material
  • 7.02之前的ABAP中如何编码JSON

    正如霍斯特 凯勒在他的著作中提到的ABAP 和 JSON http scn sap com people horst keller blog 2013 01 07 abap and json帖子 ABAP 原生支持 7 02 和 7 03
  • 如何使用 WHERE 条件中的关联值从 ABAP SQL 消费 CDS?

    我有一个通知标头的 CDS 视图及其状态关联 define view ZNOTIF as select from qmel as notif association 0 to ZNOTIF STATUS as status on statu

随机推荐

  • 【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