SAP ABAP

SAP ABAP programming language and development skills, supporting custom function development to enhance the flexibility and adaptability of SAP systems. SAP ABAP Tutorial, ABAP Programming Guide, ABAP Performance Optimization SAP各种技术.SAP ABAP编程语言与开发技巧,支持自定义功能开发,提升SAP系统的灵活性和适应性。

SAP ABAP BAPI函数50连载之20-BAPI_REQUIREMENTS_CREATE,MD61

SAP学习没有什么大的难度。现在入门简直是太容易了。成本几百块钱。 看到计算机专业毕业的小朋友到处找什么3000一个月的JAVA前台,后端,或者全栈工作岗位。 却对上学校给他们讲SAP职业道路和SAP开发语言ABAP的顾问老师们嗤之以鼻。很难想象。 在搜索引擎这么发达的2022年4月,搜索一下SAP会有那么难么? 今天我们来学习函数BAPI:BAPI_REQUIREMENTS_CREATE,这个BAPI函数属于PP模块,生产计划独立需求, BAPI函数作用:计划独立需求:创建计划独立需求,对应的前台事务代码TCODE是MD61.   下面进入BAPI的详细内容。希望您能喜欢这个例子哦。 导入参数 参数名称 关联类型 缺省值 可选的 值传递 说明 REQUIREMENTS_ITEM BAPISITEMR   否 是 Item Data BAPISITEMR:通讯字段:独立需求项目数据表(关联表见下文) REQUIREMENT_PARAM CM60R   是 是 Requirements parameters CM60R:计划独立需求功能的通常工作区域(关联表见下文) DO_COMMIT BAPISPARAM-DO_COMMIT ‘X’ 是 是 Control Parameters for Planned Independent Requirements BAPISPARAM:计划独立需求的控制参数(关联表见下文) UPDATE_MODE BAPISPARAM-UPDATE_MODE ‘X’ 是 是 Control Parameters for Planned Independent Requirements BAPISPARAM:计划独立需求的控制参数(关联表见下文)

SAP ABAP BAPI函数50连载之19-BAPI_PO_CREATE1采购订单创建

上次我们讲到了采购申请的创建bapi_pr_create,和采购申请PR创建ME51N差不多。 我们今天学习采购订单创建(PO CREATE)ME21N事务代码的BAPI函数BAPI_PO_CREATE1。 采购订单创建隶属于SAP系统的MM模块。是实施项目中批量创建/接口使用的比较多的BAPI函数之一。 由于ME21N是属于SAP Enjoy Tcode。不能友好的支持BDC技术(Contain的屏幕动态变化,类似OO ALV不支持BDC)。 所以,掌握这个BAPI函数是ABAP顾问必备的技能哦~很多高级一点的JAVA顾问或者.Net顾问,甚至可以直接调用呢。 JCO直连或者NCO直连代码都有的。如果需要,请联系~   导入参数: 参数名称 关联类型 可选的 说明 POHEADER BAPIMEPOHEADER 必选 抬头 POHEADERX BAPIMEPOHEADERX 可选 抬头 POHEADER与POHEADER X常用字段大多数是一一匹配对应的。 字段名 类型 简短描述 DOC_TYPE ESART 采购凭证类型 VENDOR ELIFN 供应商帐户号 PURCH_ORG EKORG 采购组织 PUR_GROUP BKGRP 采购组 COMP_CODE BUKRS 公司代码 DOC_DATE EBDAT 采购凭证日期   导出参数: 参数名称 关联类型 说明 EXPPURCHASEORDER BAPIMEPOHEADER-PO_NUMBER 采购文件编号

SAP ABAP BAPI函数50连载之18-BAPI_PR_CREATE采购申请创建

天地不仁,以万物为刍狗。 人性的善恶真是很难区分。执着于技术,也是一种真诚。 今天我们来回顾一下MM模块采购申请创建的BAPI函数BAPI_PR_CREATE。 前台对应的事务代码TCODE是ME51或者ME51N。   导入参数如下: 参数名称 关联类型 可选的 说明 PRHEADER BAPIMEREQHEADER 可选 抬头 PRHEADERX BAPIMEREQHEADERX 可选 抬头 TESTRUN BAPIFLAG-BAPIFLAG 可选 测试指示器   PRHEADER与PRHEADERX常用字段: 字段名 类型 简短描述 PR_TYPE BSART 订单类型(采购) PREQ_NO BANFN 采购申请编号 到处参数: 参数名称 关联类型 说明 NUMBER BAPIMEREQHEADER-PREQ_NO 采购申请编号 PRHEADEREXP BAPIMEREQHEADER 抬头 表参数如下: 参数名称 关联类型 可选的 说明 RETURN BAPIRET2 可选 返回信息 PRITEM BAPIMEREQITEMIMP 必选

SAP ABAP BAPI函数50连载之17-BAPI_PRODORD_CREATE_FROM_PLORD

在我们的日常SAP开发工作中,经常会遇到由计划订单创建生产订单的需求。 尤其是批量创建的时候,需要用到今天讲到的SAP BAPI 函数BAPI_PRODORD_CREATE_FROM_PLORD。 这个函数大体如下:   导入参数: 参数名称 关联类型 缺省值 可选的 值传递 说明 PLANNED_ORDER BAPI_PLDORD-PLDORD_NUM   否 是 Planned Order Number 计划订单 关联:BAPI_PLDORD(转换结构:BAPI 计划订单号码) 关联说明见下文 ORDER_TYPE BAPI_ORDER_COPY-ORDER_TYPE   是 是 Order Type 订单类型 关联:BAPI_ORDER_COPY(传输结构 PP/PI 订单(用模板创建)) 关联说明见下文 ORDER_NUMBER BAPI_ORDER_COPY-ORDER_NUMBER   是 是 Order Number 订单号 关联:BAPI_ORDER_COPY(传输结构 PP/PI 订单(用模板创建)) 关联说明见下文 BAPI_PLDORD:计划订单号码 字段 主键 数据元素 数据类型 长度

SAP ABAP BAPI函数50之16-BAPI_OBJCL_CREATE创建物料分类视图CL01

如果一个人能一直写代码,并且只是关注于写代码,那么他是幸福的,也是可悲的。 微信群里看到一些惨状和上海东方卫视节目晚会被暂停。深刻体会到时代的尘埃和大山。 那可是魔都上海啊,令人神往的地方,怎么会搞成这个样子? 今天我们来温习一下前台事务代码TCODE:CL01对应的BAPI函数BAPI_OBJCL_CREATE的使用方法, 作用是建立或更改分类视图。 万变不离其宗~   导入参数说明: 参数名称 关联类型 缺省值 可选的 值传递 说明 OBJECTKEYNEW BAPI1003_KEY-OBJECT   可选 是 物料码 OBJECTTABLENEW BAPI1003_KEY-OBJECTTABLE   必选 是 物料主表 CLASSNUMNEW BAPI1003_KEY-CLASSNUM   必选 是 分类号 CLASSTYPENEW BAPI1003_KEY-CLASSTYPE   必选 是 分类类型 KEYDATE BAPI1003_KEY-KEYDATE SY-DATUM 可选 是 日期 STANDARDCLASS BAPI1003_KEY-STDCLASS   可选 是 MM03查看物料可以看到分类视图   注意事项如下: STANDARDCLASS:设值为X,在执行完BAPI之后,MM03可查看分类试图 OBJECTKEYNEW:对应物料码,类型为mara-matnr OBJECTTABLENEW:创建视图的主表

SAP ABAP BAPI函数50之15-BAPI_PLANNEDORDER_CREATE

上一个文章我们讲了如何使用BAPI创建物料主数据, 今天我们来学习一下PP模块的BAPI创建计划订单,BAPI_PLANNEDORDER_CREATE属于生产计划里面的。 对应的前台事务代码TCODE是:MD11 ,Create Planned order 感兴趣的朋友欢迎关注微信公众号hot583第一时间接收消息哦。 专注于SAP升级,运维,实施。苦海无边,回头是岸~   首先我们要知道参数BAPIPLAF_I1的内容: 字段 主键 数据元素 数据类型 长度 小数位 短文本 PLANNEDORDER_NUM   PLNUM CHAR 10 0 计划订单 PLDORD_PROFILE   PASCH CHAR 4 0 计划订单参数文件 PLNG_SCENARIO_LT   PLSCN NUMC 3 0 长期计划中的计划场景 MATERIAL   MATNR18 CHAR 18 0 物料编号(18 个字符) PLAN_PLANT   PLWRK CHAR 4 0 计划工厂 PROD_PLANT  

SAP ABAP BAPI函数50之14-BAPI_MATERIAL_SAVEREPLICA

这两天太忙了,没来得及更新。春天的季节,气候变化比较频繁。 做SAP人真不容易,一不小心带了星星,离开家乡核酸,来到项目地酒店也是核酸。 每个城市都有每个城市不一样的防疫政策。上海,加油奥里给~   今天我们来学习批量创建物料主数据的BAPI, BAPI_MATERIAL_SAVEREPLICA,属于MM模块,对应的事务代码是MM01/MM02,如果是AFS/RETAIL的系统, 则是MM41/MM42,对应的BAPI前面加上/AFS*,赋值逻辑大同小异~   导入: 参数名称 关联类型 可选的 说明 NOAPPLLOG BAPIE1GLOBAL_DATA-NO_APPL_LOG 必选 不写入应用程序日志 NOCHANGEDOC BAPIE1GLOBAL_DATA-NO_CHANGE_DOC 必选 不写入更改凭证 TESTRUN BAPIE1GLOBAL_DATA-TESTRUN 必选 切换到用于写入BAPI的模拟会话 INPFLDCHECK BAPIE1GLOBAL_DATA-INP_FLD_CHECK 必选 字段未激活的响应   表参数: 参数名称 关联类型 可选的 说明 HEADDATA BAPIE1MATHEADER 必选 抬头 CLIENTDATA BAPIE1MARA 可选 客户层面的材料数据 CLIENTDATAX BAPIE1MARAX 必选 客户层面的材料数据 PLANTDATA BAPIE1MARC 可选 更改物料主数据/产品组的文档结构 PLANTDATAX BAPIE1MARCX 可选 更改物料主数据/产品组的文档结构

如何使用PHP调用SAP RFC的WSDL文件做WEB SERVICE接口

这两天,看到上海的情况,心里有些难受。国际化都市的人们,在21世纪20年代,还会饥肠辘辘。 今天我们学习一下PHP如何调用SAP系统发布的WEB SERVICE服务。 SAP作为服务提供者PROVIDER,PHP作为服务消费者CONSUMER。 详细情况为: SAP端设计 输入参数:ZINPUT ,类型STRING 输入参数:ZTYPE ,类型STRING 内表参数:RET_DATA ,参照类型为ZMSG,类型ZMSG的字段为MSG,CHAR,长度255. SAP接口函数代码为: FUNCTION YFM_CHECK. *”———————————————————————- *”*”Local Interface: *”  IMPORTING *”     VALUE(ZINPUT) TYPE  STRING OPTIONAL *”     VALUE(ZTYPE) TYPE  STRING OPTIONAL *”  TABLES *”      RET_DATA STRUCTURE  ZMSG OPTIONAL *”———————————————————————- * MESSAGE x398(00). * & & & & CONCATENATE ‘第1行您输入了:ZINPUT=’ ZINPUT  ‘,ZTYPE=’ ZTYPE INTO RET_DATA RESPECTING BLANKS. APPEND RET_DATA. CONCATENATE ‘第2行today:’ sy–datum  ‘日-Time:’ sy–uzeit  ‘秒’ INTO RET_DATA RESPECTING BLANKS. APPEND RET_DATA. ENDFUNCTION. 将RFC函数YFM_CHECK发布成WEB SERVICE服务后,名字都用YFM_CHECK。在此不做过多概述。生成了WSDL文件。 将<wsp:UsingPolicy wsdl:required=”true“/>修改成<wsp:UsingPolicy wsdl:required=”false“/> PHP端代码 写入PHP代码如下: <?php echo “<pre>”; header(“content-type:text/html;charset=utf-8”); try { $client = new SoapClient(“http://www.destinationcom/PHP2SAP.wsdl“, array( “stream_context” => stream_context_create( array( ‘ssl’ => array( ‘verify_peer’