ME31K 创建框架协议
1业务说明
在实际业务需求中,需要和供应商签订协议。
此文档使用BAPI:BAPI_CONTRACT_CREATE创建协议
2前台实现
事务代码:ME31K

输入抬头信息

行项目

行项目详细内容

保存即可
3代码实现
3.1调用BAPI

抬头

行项目

导入BAPI

3.2问题解决
3.2.1 SUBOBJECT_NOT_FOUND
在创建时报错,

错误位置在此处,子对象没找到

GOOGLE到相关解决方案

事务代码:SLG0
新增对象COND,对象文本Condition technique (ERP)

选中对象,双击子对象
子对象名称MAINTENANCE,文本Maintenance of Condition records

再次运行,发现已经不报错了,问题解决
3.2.2 保存增强点BADI_IM_PRF_SAVE_OA

3.2.3 长文本增强

当长文本做修改后,需要传给另外一个程序中使用,找了四代增强点,传输长文本。

3.3源代码
"-----------------------------@斌将军-----------------------------
DATA:GS_HEADER TYPE BAPIMEOUTHEADER,
GS_HEADERX TYPE BAPIMEOUTHEADERX,
GV_NUMBER TYPE BAPIMEOUTHEADER-NUMBER,
GS_EXP_HEADER TYPE BAPIMEOUTHEADER,
GT_ITEM TYPE TABLE OF BAPIMEOUTITEM,
GS_ITEM TYPE BAPIMEOUTITEM,
GT_ITEMX TYPE TABLE OF BAPIMEOUTITEMX,
GS_ITEMX TYPE BAPIMEOUTITEMX,
GT_RETURN TYPE TABLE OF BAPIRET2,
GS_RETURN TYPE BAPIRET2. DATA:LV_MESSAGE TYPE CHAR200,
LV_CHECK TYPE CHAR1. "抬头
CLEAR:GS_HEADER.
*GS_HEADER-NUMBER = GWA_OUT-EBELN. "合同号
GS_HEADER-VENDOR = '0070002292'."供应商
GS_HEADER-DOC_TYPE = 'YZXY'. "协议类型
GS_HEADER-COMP_CODE = '2000'. "公司代码
GS_HEADER-DOC_DATE = '20191129'. "协议日期
GS_HEADER-VPER_START = '20191129'. "协议起始日期
GS_HEADER-VPER_END = '20191229'. "协议截至日期
GS_HEADER-PURCH_ORG = '2000'. "采购组织
GS_HEADER-PUR_GROUP = 'CG9'. "采购组
GS_HEADER-ACUM_VALUE = '1'. "目标值
GS_HEADER-CURRENCY = 'CNY'. "货币
GS_HEADER-COLLECT_NO = 'CT'. "汇总号
GS_HEADER-LANGU = SY-LANGU. CLEAR:GS_HEADERX.
*GS_HEADERX-NUMBER = ABAP_TRUE. "合同号
GS_HEADERX-VENDOR = ABAP_TRUE. "供应商
GS_HEADERX-DOC_TYPE = ABAP_TRUE. "协议类型
GS_HEADERX-COMP_CODE = ABAP_TRUE. "公司代码
GS_HEADERX-DOC_DATE = ABAP_TRUE. "协议日期
GS_HEADERX-VPER_START = ABAP_TRUE. "协议起始日期
GS_HEADERX-VPER_END = ABAP_TRUE. "协议截至日期
GS_HEADERX-PURCH_ORG = ABAP_TRUE. "采购组织
GS_HEADERX-PUR_GROUP = ABAP_TRUE. "采购组
GS_HEADERX-ACUM_VALUE = ABAP_TRUE. "目标值
GS_HEADERX-CURRENCY = ABAP_TRUE. "货币
GS_HEADERX-COLLECT_NO = ABAP_TRUE. "汇总号
GS_HEADERX-LANGU = ABAP_TRUE. "行项目
CLEAR:GS_ITEM.
GS_ITEM-ITEM_NO = '10'. "行号
GS_ITEM-EMATERIAL = '000000000000231829'."物料号
GS_ITEM-SHORT_TEXT = '铝板'. "短文本
GS_ITEM-MATL_GROUP = 'CRC09'. "物料组
GS_ITEM-PLANT = '2000'. "工厂
GS_ITEM-STGE_LOC = '1006'. "库存地点
GS_ITEM-TARGET_QTY = '1'. "目标数量
GS_ITEM-PO_UNIT = 'KG'."订单单位
GS_ITEM-PO_UNIT_ISO = 'KG'."ISO代码中的定单单位
GS_ITEM-NET_PRICE = '1'. "净价
GS_ITEM-PRICE_UNIT = '1'. "价格单位 每
GS_ITEM-ORDERPR_UN = 'KG'. "订单价格单位(采购)
GS_ITEM-ORDERPR_UN_ISO = 'KG'. "订单价格单位(采购)
GS_ITEM-TAX_CODE = 'JF'. "销售/购买税代码
GS_ITEM-VAL_TYPE = 'CR'. "评估类型
*GS_ITEM-ACCTASSCAT = 'U'."科目分配类别
*GS_ITEM-ITEM_CAT = 0."项目类别
APPEND GS_ITEM TO GT_ITEM. CLEAR:GS_ITEMX.
GS_ITEMX-ITEM_NO = '10'. "行号
GS_ITEMX-ITEM_NOX = ABAP_TRUE. "行号
GS_ITEMX-EMATERIAL = ABAP_TRUE. "物料号
*GS_ITEMX-MATERIAL = ABAP_TRUE. "物料号
GS_ITEMX-SHORT_TEXT = ABAP_TRUE. "短文本
GS_ITEMX-MATL_GROUP = ABAP_TRUE. "物料组
GS_ITEMX-PLANT = ABAP_TRUE. "工厂
GS_ITEMX-STGE_LOC = ABAP_TRUE. "库存地点
GS_ITEMX-TARGET_QTY = ABAP_TRUE. "目标数量
GS_ITEMX-PO_UNIT = ABAP_TRUE.
GS_ITEMX-PO_UNIT_ISO = ABAP_TRUE.
GS_ITEMX-NET_PRICE = ABAP_TRUE. "净价
GS_ITEMX-PRICE_UNIT = ABAP_TRUE. "价格单位
GS_ITEMX-ORDERPR_UN = ABAP_TRUE.
GS_ITEMX-ORDERPR_UN_ISO = ABAP_TRUE.
GS_ITEMX-TAX_CODE = ABAP_TRUE.
GS_ITEMX-VAL_TYPE = ABAP_TRUE. "评估类型
*GS_ITEMX-ACCTASSCAT = ABAP_TRUE. "科目分配类别
*GS_ITEMX-ITEM_CAT = ABAP_TRUE. "项目类别
APPEND GS_ITEMX TO GT_ITEMX. CALL FUNCTION 'BAPI_CONTRACT_CREATE'
EXPORTING
HEADER = GS_HEADER
HEADERX = GS_HEADERX
* VENDOR_ADDRESS =
* TESTRUN =
* TECHNICAL_DATA =
IMPORTING
PURCHASINGDOCUMENT = GV_NUMBER
EXP_HEADER = GS_EXP_HEADER
TABLES
RETURN = GT_RETURN
ITEM = GT_ITEM
ITEMX = GT_ITEMX
* ACCOUNT =
* ACCOUNTPROFITSEGMENT =
* ACCOUNTX =
* DELIVERY_ADDRESS =
* ITEM_COND_VALIDITY =
* ITEM_COND_VALIDITYX =
* ITEM_CONDITION =
* ITEM_CONDITIONX =
* ITEM_COND_SCALE_VALUE =
* ITEM_COND_SCALE_QUAN =
* ITEM_TEXT =
* HEADER_TEXT =
* HEAD_COND_VALIDITY =
* HEAD_COND_VALIDITYX =
* HEAD_CONDITION =
* HEAD_CONDITIONX =
* HEAD_COND_SCALE_VAL =
* HEAD_COND_SCALE_QUAN =
* PARTNER =
* PARTNERX =
* EXTENSIONIN =
* EXTENSIONOUT =
. LV_CHECK = 'S'.
LOOP AT GT_RETURN INTO GS_RETURN WHERE TYPE = 'A' OR TYPE = 'E'.
LV_MESSAGE = LV_MESSAGE && GS_RETURN-MESSAGE.
LV_CHECK = 'E'.
ENDLOOP. IF LV_CHECK = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
WRITE:GV_NUMBER.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
"-----------------------------@斌将军-----------------------------
定期更文,欢迎关注

ME31K 创建框架协议的更多相关文章
- SAP MM 采购ERP顾问咨询费限制总金额的框架协议实现方案
SAP MM 采购ERP顾问咨询费限制总金额的框架协议实现方案 [业务场景] 采购部门与ERP咨询公司签订了一个框架协议,只规定不同级别顾问的人天费用,不限定这些不同级别咨询顾问的具体采购的人天数,但 ...
- SD从零开始65 框架协议(Outline Agreement)
SD从零开始65 框架协议(Outline Agreement) 合同-销售凭证类型Contracts-Sales Document Types 框架协议在几乎所有的业务处理中都扮演重要的角色:客户和 ...
- 基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇
基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇 前提 最近对网络编程方面比较有兴趣,在微服务实践上也用到了相对主流的RPC框架如Spring Cloud Gateway底层也切换 ...
- ALSA driver--PCM实例创建框架
在介绍PCM 之前,我们先给出创建PCM实例的框架. #include <sound/pcm.h> .... /* hardware definition */ static struct ...
- 创建框架链接--frameset的连接方法
首先看下小编的目录架构 1.html将作为主页面 2.html将作为目录页面,里面有2个目录,分别是目录一和目录二 3.html为目录一将要链接的页面 4.html为目录二将要链接的页面 然后,看下1 ...
- (转)php自己创建框架
前言 说到写PHP的MVC框架,大家想到的第一个词--“造轮子”,是的,一个还没有深厚功力的程序员,写出的PHP框架肯定不如那些出自大神们之手.经过时间和各种项目考验的框架.但我还是准备并且这么做了, ...
- Dubbo框架协议总结
Dubbo支持的各种协议及相关特性及应用场景,均可在官网文档中找到. 支持的协议有dubbo.rmi.hession.http.webservice.thrift.memcached.redis.re ...
- Java客户端协议处理框架简介
无论FTP客户程序,还是HTTP客户程序,或是其他基于特定应用层协议的客户程序,在与远程服务器通信时,都需要建立与远程服务器的连接,然后发送和接收与协议相符的数据.客户程序还需要对服务器发送的数据进行 ...
- iOS项目开发日常之创建文件(协议、类、分类、扩展)
iOS项目开发过程中,是以不断创建文件的形式进行着的. 创建得比较频繁的文件类型是: 这两个类型中创建的文件有:子类.分类.扩展.协议四种文件,如下: 这四类文件是频繁创建的,我们来看一下各自分 ...
- ios中创建自己的框架
如果你是IOS的新手,并有.net开发的背景(就像我一样),你可能到处去找,哪里有dll呢? 其实,IOS平台是使用框架而不是dll,框架里面包含公共头文件和二进制文件.很不幸,XCode并不支持你自 ...
随机推荐
- L2-034 口罩发放
重点在阅读理解能力 身份证号必须是18位数字,话说平时咱们身份证也可以带个X啥的啊. 合法状态就是只要身份证合格就行,一开始我还想是它犯病,然后申请了口罩才算一个合法记录. 后边输出状态为1的人,一定 ...
- Educational Codeforces Round 104 (Rated for Div. 2) A~E题解
写在前边 链接:Educational Codeforces Round 104 (Rated for Div. 2) A. Arena 链接:A题链接 题目大意: 给定一个长度为\(n\)的数组,表 ...
- python内置模块——logging
内置模块-logging loging模块是python提供的内置模块,用来做日志处理. 日志等级: 等级 释义 级别数值 CRITICAL(fatal) 致命错误,程序根本跑不起来 50 ERROR ...
- 【python】大作业进度一 | 解析题目
1.爬取生成txt文件(整本小说) 2.图形化界面的实现
- STM32外设:最小系统、低功耗模式
最小系统 启动引脚 BOOT0.BOOT1:用于设置系统的启动方式 下载引脚 JTAG的IO:JTMS.JTCK.JTDI.JTDO.NJTRST SW的IO:SWDIO.SWCLK 硬件设计 NUC ...
- linux环境下脚本部署项目出现nohup: redirecting stderr to stdout问题
解决办法: 把后面的 "&" 改成 "2>&1 &" 最终改为: nohup java -jar ${JAR_NAME} --lo ...
- 记录一下工作中SQL Server数据库遇到的问题
解决查询同步人员信息,使用 case when then解决多IF判断问题 select LOCATION, cert_type, WEIXIN, MARRIAGE, RECORD_WAGE, SPE ...
- LeetCode1786:从第一个节点出发到最后一个节点的受限路径数(dijkstra + 记忆化搜索)
解题思路:比赛的是没读懂题意,这题求的是起点1到n路径序列数,但是路径序列上的相邻两个点 i, i+1 之间应该满足 i.i+1 到终点的最短路low[i] > low[i+1]. 因此需要先以 ...
- 从零玩转设计模式之原型模式-yuanxingmoshi
title: 从零玩转设计模式之原型模式 date: 2022-12-11 20:05:35.488 updated: 2022-12-23 15:35:44.159 url: https://www ...
- Python趣味入门12:初遇类与实例
小牛叔用轻松有趣的故事,带你进入Python的编程世界. 1.类 一提到类大神们就经常说封装.说白了,封装即把围绕同一个对象相同的代码.数据整合在一起.比如在某段游戏代码中(比如熊猫厨房),有一个&q ...