SAP 获取物料/批次/订单的特性值(学习一)

1、事务码

MSC1N、MSC2N、MSC3N

2、常用表

MCH1、MCHA、AUSP、MCH*开头的几个

3、批次

1、创建批次

BAPI:BAPI_BATCH_CREATE

2、修改批次

BAPI:BAPI_BATCH_CHANGE

3、删除批次

BAPI:BAPI_BATCH_DELETE

4、获取批次明细

BAPI:BAPI_BATCH_GET_DETAIL

5、查询物料的分类视图是否扩充

BAPI: BAPI_OBJCL_GETCLASSES

OBJECTKEY_IMP:物料号 带前导0

OBJECTTABLE_IMP  MARA

CLASSTYPE_IMP  022

4、特性值

1、获取类别

CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'

     EXPORTING

        I_MATNR = LS_DATA-MATNR

        I_CHARG = LS_DATA-CHARG

        I_WERKS = LS_DATA-WERKS

     IMPORTING

        E_OBJEK = LV_OBJEK

        E_OBTAB = LV_OBTAB

        E_KLART = LV_KLART

        E_CLASS = LV_CLASS.

DATA:LV_OBJEK             TYPE  CUOBN,

     LV_OBTAB             TYPE  TABELLE,

     LV_KLART             TYPE  KLASSENART,

     LV_CLASS             TYPE  KLASSE_D.

2、通过物料+批次获取表和类别

SELECT SINGLE CUOBJ_BM FROM MCH1 INTO @DATA(LV_BM)

         WHERE MATNR EQ XXX

           AND CHARG EQ XXX.

DATA:LV_OBJECTNAME        LIKE BAPI1003_KEY-OBJECT,

     LV_OBJECTTABLE       LIKE BAPI1003_KEY-OBJECTTABLE,

     LV_CLASSTYPE         LIKE BAPI1003_KEY-CLASSTYPE,

     RETURN               LIKE TABLE OF BAPIRET2      WITH HEADER LINE.

CALL FUNCTION 'BAPI_OBJCL_GET_OBJECT_OF_KEY'

     EXPORTING

        CLOBJECTKEYIN = LV_BM

     IMPORTING

        OBJECTNAME    = LV_OBJECTNAME

        OBJECTTABLE   = LV_OBJECTTABLE

        CLASSTYPE     = LV_CLASSTYPE

     TABLES

        RETURN        = RETURN.

3、获取特性值明细

DATA:I_OBJEK              TYPE  BAPI1003_KEY-OBJECT,

     I_OBTAB              TYPE  BAPI1003_KEY-OBJECTTABLE,

     I_KLART              TYPE  BAPI1003_KEY-CLASSTYPE,

     I_CLASS              TYPE  BAPI1003_KEY-CLASSNUM.

CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'

     EXPORTING

       OBJECTKEY        = I_OBJEK

       OBJECTTABLE      = I_OBTAB

       CLASSNUM         = I_CLASS

       CLASSTYPE        = I_KLART

       UNVALUATED_CHARS = 'X'

     TABLES

       ALLOCVALUESNUM   = CLASSVALUATIONSNUM

       ALLOCVALUESCHAR  = CLASSVALUATIONSCHAR

       ALLOCVALUESCURR  = CLASSVALUATIONSCURR

       RETURN           = RETURN.

4、特性值修改

BAPI:BAPI_OBJCL_CHANGE

5、批量修改批次特性值

BAPI:BAPI_BATCH_SAVE_REPLICA

5、分类、特性值关系

根据分类别查KLAH表,KLAH-CLASS = 'XXX',获取内部等级号 CLINT

根据KLAH-CLINT = KSML-CLINT取得分类下所有的内部特性号 IMERK

根据KSML-IMERK = CABN-ATINN取得特性详细信息,CABNT是特性描述

6、批次对应物料特性值读取

VC_I_GET_CONFIGURATION

批次分类特性值读取函数

BAPI_OBJCL_GETDETAIL

物料特性 /

 200 特性通过数据库取值

  SELECTobjek "将分类的对象的键值atinn "内部特性atwrt "特性值atflv "内部浮点自klart "类别种类INTO TABLE gt_auspFROM auspINNER JOIN cabnON cabn~atinn = ausp~atinnWHERE objek = '000000000101004001'AND klart = '200'AND atnam = 'WG0078'. " 内部特性SORT gt_ausp BY objek atinn.READ TABLE gt_ausp INTO gs_auspWITH KEY objek = '000000000101004001'atinn = 'WG0078'BINARY SEARCH.IF sy-subrc = 0.CALL FUNCTION 'MC_FLTP_CHAR'EXPORTINGfc_a_fld = gs_ausp-atflvIMPORTINGfc_r_fld = gs_alv-wg0078.ENDIF.

通过 BAPI 取值

DATA: lv_matnr           TYPE matnr,lv_object          TYPE objnum,ls_alloclist       TYPE bapi1003_alloc_list,lt_alloclist       TYPE TABLE OF bapi1003_alloc_list,ls_return          TYPE bapiret2,lt_return          TYPE TABLE OF bapiret2,ls_allocvaluesnum  TYPE bapi1003_alloc_values_num,lt_allocvaluesnum  TYPE TABLE OF bapi1003_alloc_values_num,ls_allocvalueschar TYPE bapi1003_alloc_values_char,lt_allocvalueschar TYPE TABLE OF bapi1003_alloc_values_char,ls_allocvaluescurr TYPE bapi1003_alloc_values_curr,lt_allocvaluescurr TYPE TABLE OF bapi1003_alloc_values_curr,ls_retur2          TYPE bapiret2,lt_retur2          TYPE TABLE OF bapiret2.lv_object = lv_matnr.  " 物料号带前置零CALL FUNCTION 'BAPI_OBJCL_GETCLASSES' " 可以通过 cl03 查看EXPORTINGobjectkey_imp   = lv_object " 物料号objecttable_imp = 'MARA'classtype_imp   = '200'TABLESalloclist       = lt_alloclistreturn          = lt_return.READ TABLE lt_alloclist INTO ls_alloclist INDEX 1.CALL FUNCTION 'BAPI_OBJCL_GETDETAIL' " 也可以用 claf_classification_of_objects 取值EXPORTINGobjectkey       = lv_objectobjecttable     = 'MARA'classnum        = ls_alloclist-classnumclasstype       = '200'TABLESallocvaluesnum  = lt_allocvaluesnumallocvalueschar = lt_allocvaluescharallocvaluescurr = lt_allocvaluescurrreturn          = lt_retur2.

通过 BAPI 创建特性

l_objectkeynew = l_matnr.l_objecttablenew = 'MARA'.l_classnumnew = ls_tmp-class.l_classtypenew = ls_tmp-klart.CLEAR: lt_numout,lt_charout,lt_returnout.CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'EXPORTINGobjectkey       = l_objectkeynewobjecttable     = l_objecttablenewclassnum        = l_classnumnewclasstype       = l_classtypenewTABLESallocvaluesnum  = lt_numoutallocvalueschar = lt_charoutallocvaluescurr = lt_curroutreturn          = lt_returnout.CLEAR ls_return.READ TABLE lt_returnout INTO ls_return WITH KEY type = 'E'.IF sy-subrc <> 0.CLEAR lt_returnout.CALL FUNCTION 'BAPI_OBJCL_DELETE' "删除已有分类EXPORTINGobjectkey   = l_objectkeynewobjecttable = l_objecttablenewclassnum    = l_classnumnewclasstype   = l_classtypenew*     CHANGENUMBER =*     KEYDATE     = SY-DATUMTABLESreturn      = lt_returnout.CLEAR ls_return.READ TABLE lt_returnout INTO ls_return WITH KEY type = 'E'.IF sy-subrc = 0.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.MESSAGE e000 WITH '删除物料' l_objectkeynew '已有分类失败'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'.ENDIF.ENDIF.LOOP AT gt_upload INTO gs_upload WHERE matnr = ls_tmp-matnr AND klart =ls_tmp-klart AND class = ls_tmp-class.CLEAR: ls_num, ls_char,l_atinn,l_atfor.CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'EXPORTINGinput  = gs_upload-atnamIMPORTINGoutput = l_atinn.* SELECT SINGLE atfor FROM cabn INTO l_atfor WHERE atinn = l_atinn.READ TABLE lt_cabn INTO ls_cabn WITH KEY atinn = l_atinn.IF sy-subrc <> 0.MESSAGE e000 WITH '特性没有维护,请先维护特性!'.ENDIF.l_atfor = ls_cabn-atfor.IF gs_upload-atwrt IS NOT INITIAL.IF l_atfor = 'CHAR'.ls_char-charact = gs_upload-atnam.ls_char-charact_descr = gs_upload-atbez.ls_char-value_char = gs_upload-atwrt.APPEND ls_char TO lt_char.ELSEIF l_atfor = 'NUM'.ls_num-charact = gs_upload-atnam.ls_num-charact_descr = gs_upload-atbez.ls_num-value_from = gs_upload-atwrt.APPEND ls_num TO lt_num.ENDIF.ENDIF.ENDLOOP.CALL FUNCTION 'BAPI_OBJCL_CREATE'EXPORTINGobjectkeynew    = l_objectkeynewobjecttablenew  = l_objecttablenewclassnumnew     = l_classnumnewclasstypenew    = l_classtypenewstatus          = '1'*    standardclass   =*    changenumber    =*   KEYDATE         = SY-DATUM*   NO_DEFAULT_VALUES = ' '* IMPORTING*   CLASSIF_STATUS  =tablesallocvaluesnum  = lt_numallocvalueschar = lt_char*   ALLOCVALUESCURR =return          = lt_return.CLEAR: l_type,l_info, ls_return.READ TABLE lt_return INTO ls_return WITH KEY type = 'E'.IF sy-subrc = 0.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.CLEAR l_info.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGmsgid               = ls_return-idmsgnr               = ls_return-numbermsgv1               = ls_return-message_v1msgv2               = ls_return-message_v2msgv3               = ls_return-message_v3msgv4               = ls_return-message_v4IMPORTINGmessage_text_output = l_info.l_type = 'E'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'.l_type = 'S'.l_info = '物料主数据分类视图创建特性成功'.ENDIF.

物料批次特性 / 023 特性

通过数据库取值

  

SELECTmch1~matnr,mch1~charg,cabn~atnam,ausp~atwrt,ausp~atflvFROM mch1INNER JOIN auspON ausp~objek = mch1~cuobj_bmINNER JOIN cabnON cabn~atinn = ausp~atinnWHERE mch1~matnr = '000000000101004001'AND mch1~charg = '152200110'.

销售订单特性 / VC 特性 / 可配置物料特性 / 300 特性

通过数据库取值

  

SELECTvbap~vbeln,vbap~posnr,cabn~atinn,"内部特性cabn~atnam,"特性名称ibsymbol~atwrt,"特性值ibsymbol~atflv,ibsymbol~atflbINTO TABLE @DATA(gt_data)FROM vbapINNER JOIN ibinON ibin~instance = vbap~cuobjAND ibin~valto = '99991231235959'INNER JOIN ibinvaluesON ibinvalues~in_recno = ibin~in_recnoINNER JOIN ibsymbolON ibsymbol~symbol_id = ibinvalues~symbol_idINNER JOIN cabnON cabn~atinn = ibsymbol~atinnWHERE vbap~vbeln = '2000046612'AND vbap~posnr = '000010'.

通过 BAPI 取值

  

SELECT SINGLEcuobjmatnrINTO (l_cuobj,l_matnr)FROM vbapWHERE vbeln = w_mseg-kdaufAND posnr = w_mseg-kdpos.DATA: t_configuration LIKE STANDARD TABLE OF conf_out WITH HEADER LINE.IF l_cuobj IS NOT INITIAL.CALL FUNCTION 'VC_I_GET_CONFIGURATION'EXPORTINGinstance              = l_cuobjlanguage              = '1'iv_max_massprocessing = 10TABLESconfiguration         = t_configuration.ENDIF.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23种设计模式精讲,配套23道编程题目 ,支持 C++、Java、Python、Go

关于设计模式的学习&#xff0c;大家应该还是看书或者看博客&#xff0c;但却没有一个边学边练的学习环境。 学完了一种设计模式 是不是应该去练一练&#xff1f; 所以卡码网 针对 23种设计&#xff0c;推出了 23道编程题目&#xff0c;来帮助大家练习设计模式&#xff0c;地…

零代码实现接口自动化测试-RF框架实践

robotframework是一款关键字自动化测试框架&#xff0c;可能做各种类型的自动化测试。本文介绍通过 robotframework 来实现接口测试。 安装接口请求的第三方库 pip install robotframework-requests 在python安装目录的Lib\site-packages可以看到 接口关键字基础 robotfram…

CHS_03.1.3.3+系统调用

CHS_03.1.3.3系统调用 系统调用什么是系统调用&#xff0c;有何作用&#xff1f;系统调用又和普通的库函数的调用又有一定的区别为什么系统调用是必须的系统调用 按功能分类 可以分为这样的一些系统调用系统调用过程 这个小节的全部内容 系统调用 相关的知识 我们会为大家介绍什…

在visual studio中调试时无法查看std::wstring

1.问题 在调试的时候发现std::wstring类型的变量查看不了&#xff0c;会显示(error)|0&#xff0c;百思不得其解。 2.解决方法 参考的&#xff1a;vs2015调试时无法显示QString变量的值&#xff0c;只显示地址_vs调试qstring的时候如何查看字符串-CSDN博客 在工具/选项/调试…

Q-BENCH: A BENCHMARK FOR GENERAL-PURPOSEFOUNDATION MODELS ON LOW-LEVEL VISION

继续分享Q系列文章&#xff0c;今天分享Q-BENCH。 简单来说&#xff0c;作者对MLLMs在lowlevel领域中的评价提出了一个测试基准&#xff0c;主要分三点进行讲述。 有点类似于综述&#xff0c;显然作者团队在MLLM的lowlevel领域属于开山之作了。 第一个基准叫感知Perception 简…

Python从入门到网络爬虫(OS模块详解)

前言 本章介绍python自带模块os&#xff0c;os为操作系统 operating system 的简写&#xff0c;意为python与电脑的交互。os 模块提供了非常丰富的方法用来处理文件和目录。通过使用 os 模块&#xff0c;一方面可以方便地与操作系统进行交互&#xff0c;另一方面页可以极大增强…

论文阅读《Generalizing Face Forgery Detection with High-frequency Features》

高频噪声分析会过滤掉图像的颜色内容信息。 本文设计了三个模块来充分利用高频特征&#xff0c; 1.多尺度高频特征提取模块 2.双跨模态注意模块 3.残差引导空间注意模块&#xff08;也在一定程度上体现了两个模态的交互&#xff09; SRM是用于过滤图像的高频噪声 输入的图…

【C++期末】酒店住宿信息管理系统(含easyX)

诚接计算机专业编程作业(C语言、C、Python、Java、HTML、JavaScript、Vue等)&#xff0c;如有需要请私信我&#xff0c;或者加我的企鹅号&#xff1a;1404293476 本文资源&#xff1a;https://download.csdn.net/download/weixin_47040861/88725363 目录 1.题目要求 2.实现效…

Vue3:Axios配置及使用

Axios官方 一、安装&#xff1a; //使用 npm: $ npm install axios//使用 bower: $ bower install axios//使用 yarn: $ yarn add axios 在package-lock.json文件可以查看axios版本 二、配置&#xff1a; milliaAxios.js 配置axios import axios from axios // 创建一个 ax…

element的Table表格组件树形数据与懒加载简单使用

目录 1. 代码实现2. 效果图3. 解决新增、删除、修改之后树节点不刷新问题。&#xff08;[参考文章](https://blog.csdn.net/weixin_41549971/article/details/135504471)&#xff09; 1. 代码实现 <template><div><!-- lazy 是否懒加载子节点数据 --><!-…

美信科技盘古信息智能车间项目成功验收,打造电子元器件数字化工厂标杆

作为一家深耕于磁性元器件领域近二十年的制造企业&#xff0c;广东美信科技股份有限公司&#xff08;以下简称“美信科技”&#xff09;始终秉承着“为电磁赋能&#xff0c;创工业至美”的企业使命&#xff0c;为中国制造卓越发展贡献力量。在当今数字化时代&#xff0c;制造企…

【C++】深入了解构造函数之初始化列表

目录 一、再谈构造函数 1、引入 1&#xff09;构造函数体赋值 2&#xff09;不同成员变量赋值 2、初始化列表 一、再谈构造函数 1、引入 1&#xff09;构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值…

世邦spon IP网络对讲广播系统任意文件上传漏洞

产品介绍 世邦通信IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。 漏洞描述 spon IP网络对讲广播系统存在任意文件上传漏洞&#xff0c;攻击者可以通过构造特殊请求包上传恶意后门文件&#xff0c;从…

深入理解 Flink(一)Flink 架构设计原理

大数据分布式计算引擎设计实现剖析 MapReduce MapReduce 执行引擎解析 MapReduce 的组件设计实现图 Spark 执行引擎解析 Spark 相比于 RM 的真正优势的地方在哪里&#xff1a;&#xff08;Simple、Fast、Scalable、Unified&#xff09; DAG 引擎中间计算结果可以进行内存持…

掌握设计模式:深入了解命令模式的优雅调度与行为解耦

命令模式是一种行为设计模式&#xff0c;其目的是将请求发送者和接收者解耦&#xff0c;从而允许发送者发送请求&#xff0c;而无需知道请求的具体处理方式。在命令模式中&#xff0c;请求被封装为一个对象&#xff0c;这个对象包含了执行请求所需的所有信息&#xff0c;包括调…

解析器:request.body、request.POST、request.data

request.POST与request.body&#xff1a; django中的request.POST只能取到Content-Type(请求头)为application/x-www-form-urlencoded(form表单默认格式)的数据&#xff0c;如果请求头为application/json(json格式)&#xff0c;multipart/form-data(文件)等格式无法取到&#x…

世邦通信SPON IP网络对讲广播系统未授权访问

产品介绍 世邦通信SPON IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。 漏洞描述 spon IP网络对讲广播系统getuserdata.php存在未授权访问漏洞&#xff0c;攻击者可通过该漏洞在服务器端读取账户密码…

软件工程各种图

参考视频&#xff1a; 6 分钟学会 UML 类图_哔哩哔哩_bilibili 5 分钟学会 UML 时序图&#xff08;顺序图、序列图&#xff09;_哔哩哔哩_bilibili 3 分钟学会 UML 活动图_哔哩哔哩_bilibili 6 分钟学会 UML 用例图_哔哩哔哩_bilibili 是真的讲的非常好&#xff01;&#…

Aloha 机械臂的学习记录3——AWE:Pycharm运行代码记录

之前的博客创作了三偏关于Aloha_AWE的liunx终端指令运行代码的示例: Aloha 机械臂的学习记录——AWE&#xff1a;Bimanual Simulation Suite: https://blog.csdn.net/qq_54900679/article/details/134889183?spm1001.2014.3001.5502 Aloha 机械臂的学习记录1——AWE&#x…

Python 与 PySpark数据分析实战指南:解锁数据洞见

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 数据分析是当今信息时代中至关重要的技能之一。…