ABAP ,SM30里如何输入物料号自动带出物料描述

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP ,SM30里如何输入物料号自动带出物料描述相关的知识,希望对你有一定的参考价值。

维护你输入物料要用到的表

 

在表的维护视图里

修改子程序的代码,例如

    select single maktx from makt into zppt006-maktx
    where matnr = zppt006-matnr
      and spras = sy-langu.

追问

这个子程序代码是怎么进去的呢?你这个图片显示是如何进去的呢,可以说下步骤么

追答

比如我们维护zppt006这个表
(1)se11进入zppt006-显示
(2)在菜单栏的 实用程序-表维护生成器
(3)在菜单栏的 环境-修改-事件
然后就看到上边这个图,form程序右边的 编辑器
你要修改哪个子程序就根据调用的逻辑改

追问

好的,但是我按你的方法看到form下面是空的,什么也没有,是什么原因呢

追答

看来原来就没有,你可以自己建一个

追问

我己经建了二个自定义表了,

参考技术A 维护视图生成以后,在Function group下会生成一堆代码,你找到维护视图对应的屏幕,然后找到逻辑流代码,然后在PAI的LOOP里增强一段代码就可以了:
CHAIN.
FIELD 物料号(屏幕上的物料字段名).
MODULE ZMATNRTXT_GET ON CHAIN-REQUEST.
ENDCHAIN.

然后双击ZMATNRTXT_GET名字,创建这个MODULE,代码如下:
MODULE ZMATNRTXT_GET.
SELECT SINGLE maktx FROM MAKT INTO 物料描述 WHERE matnr = 物料号 and spras = sy-langu.
ENDMODULE.追问

呵呵,这个方法好像管用,你看看

我双击zmatnrtxt_get的时候提示需要我输入访问键值呢,哎

追答

你没有开发Key吗?

追问

嘿嘿,测试 系统。不过这个方法应该可行,谢谢你了。下面那哥们也不回复我,不知道他说的那方法可不可行。对了,如果在ALV report里写程序,输出的时候也想有这种效果,也是这种方法吗?

追答

这个方法肯定可以,我经常这样做。
他说的方法也可以,但是,我觉得直接改维护视图的代码更快。

本回答被提问者采纳

在SAP中如何创建销售订单

  1、自动创建:
  如果只通过单独采购订单来获得物料,那么可以在物料主记录中定义,在销售处理期 间该物料通常被当作单独采购订单对待。然后,系统自动确定合适的项目类别TAB。在物料主记录中将物料鉴定为单独采购订单项目,在销售2 屏幕中的项目类别组字段输入BANC。
  2、手工创建
  如果想使用单独采购订单来采购通常自己生产的物料,如果系统配置允许,可以在销售订单中覆盖该项目类别。尽管,SAP R/3 系统的标准版本不支持该事务。
  对于通常自己生产的物料,在销售2 屏幕的项目类别组字段输入项目类别组 NORM 。
  作为一个例子,如果用单独采购订单采购一种物料,在销售订单处理期间选择总览双行输入 并且在 ItCa 字段将条目 TAN 修改为TAB。则该项目被作为单独采购订单处理。
参考技术A 事务代码:VA01。在初始屏幕上至少要输入订单类型、销售组织、分销渠道、产品组。
在进入到销售订单详细界面,抬头一般要输入售达方、客户的采购订单号,项目至少要输入物料,数量,价格、工厂等也是必须的,不过一般从主数据带出来。

有个简单的办法,每输入一样内容就按回车,有什么必输的,系统会提示,最后保存的时候系统自动会有个完整性检查,你看差什么就补什么吧。
参考技术B VA01命令本回答被提问者采纳

以上是关于ABAP ,SM30里如何输入物料号自动带出物料描述的主要内容,如果未能解决你的问题,请参考以下文章

如何利用ABAP查物料的批次

ABAP物料表

ABAP 一张内表的,相同物料的数量汇总。

ABAP系列SAP ABAP 物料凭证增强

BW里转换简单常用ABAP

abap中数据累加的问题