- 博客(20)
- 资源 (6)
- 收藏
- 关注
原创 SAP ABAP-MIGO 预留过账替换移动类型的解决方案
业务情景: 生产订单或内部订单,在某些情况下,发料时采用不同移动类型记账,记账科目也会发生变化。比如根据订单不同的状态进而确定移动类型。 通常,在生成预留数据时,移动类型也确定了。那么要实现临时改变移动类型,可通过增强来处理。增强代码:SE37->DBMMIMRKPFRESBF01->FORMprefetch.*$*$-Start: (1)--------------------------------------------------------...
2021-09-15 14:03:13
2287
原创 SAP ABAP-一个被用户整蒙了的采购收货问题
通过手持机扫描条码收货的功能,过账时竟然提示,无法创建批次,按照以往经验,采购订单收货时,并不需要事先建立批次,即可完成收货。然后,在我们设计的移动手持机收货功能中确碰到更壳了,搞了两天也没发现啥问题(嘿嘿,其实也只是凭证经验判断),以为是哪里出来问题。1.以为是物料分类没有建立。2.但还是没有解决,使用MIGO,仍然报错,3.找我们的ABAP大神debug一下,大神出码不到一分钟,就得出了结构,简值太神了。原来是退货PO,回顾一下,一直在讨论的采购收货问题,...
2021-08-25 23:16:40
546
原创 spring cloud-Activiti 7-在打印表单中获取审批人信息
通过审批后,如果需要将单据打印出来,需要将审批人信息体现在打印件中。则可通过下面方法读取到相应业务审批人的信息。并最终输出到打印件中。 下图是,通过打印件显示审批信息:以下是从历史任务中读取任务节点信息,同时读取审批结果。//获取历史祥情 List<HistoricTaskInstance> taskList = historyService.createHistoricTaskInstanceQuery() ...
2021-08-25 22:55:54
1137
原创 spring cloud-Activiti 7业务应用与工作流相结合
以工作流来驱动业务应用是本次系统架构的主要实现思路。以往设计的系统观看,过去因没有引入工作流,所有设计的业务应用,都没有线上的审批过程(审批也是线下),只是单纯的状态来记录。比如,采购订单,生产订单,生产备料,生产退料。。。。只是通过系统做了一张单据(表单),然后打印交给相应的人员。 重新设计系统后,引入工作流,以业务流程来驱应用。所有建立的业务应用,均是在工作流的前提下运作。比如:采购订单,采购员在系统中建立采购订单,没有最终提交前,采购订单可随时修改,直到最终确定再提交...
2021-08-25 22:44:13
1270
原创 spring cloud Activiti 7-租户模式下的动态表单实现
在基于SaaS平台多租户模式下,如何实现表单的动态化,并能做到一端开发,多端适配(Web/H5/APP)?这似乎是一个较难解决的难题。在我们的架构模式中,我们采用这样的方式来实现,这或许是当下较为勉强的解决方案:1.在配置租户中,建立一套完整的表单样式(基于实际业务功能),可随时在线调整,不需要在开发平台下即可完成开发。2.建立新租户后,复制一套表单到该租户下。可以随时根据业务需求调整表单布局或样式。3.建立租户后,业务功能配套的部署文件,也将复制到该租户下,因租户与租户之间,其业...
2021-08-24 23:38:04
983
原创 SAP ABAP-K类带物料采购收货不记库存的处理
有一种业务是这样的,生产部门晚上,临时要刀具,然后开一张PR,就直接发给供应商,供应商第二天早就就送来了。然后采用XXX移动类型先收货(此时有了库存),采购部门白天才上班,然后再开PO,101收货,这个时候,K类带物料,收货又产生了库存。这样库存就多了。所以想着K类收货不要再产生库存了。通过增强,改变几个参数即可。FIELD-SYMBOLS <FS> TYPE MSEG. DATA C_FIELD(14) TYPE C VALUE '(SAPMM07M)MSEG'....
2021-08-23 15:10:16
1045
原创 SAP ABAP-通过程序发起调度(背景执行)
有时候,处理某个功能,需要通过异步来执行。相对需要实时,但又不需要很实时,那可以考虑背景执行。以下是曾经某个项目上的真实案例。REPORT ZPP_XXX_01.DATA:C_VARIANT LIKE RALDB-VARIANT VALUE 'ZPP_XXX_TASK', C_REPID LIKE SY-REPID VALUE 'ZPP_XXX', C_UNAME LIKE SY-UNAME VALUE 'igor_admin'.DA
2021-08-22 21:12:10
474
原创 SAP ABAP-TC 动态排序方法
对于交互式多屏幕开发,往往会涉及到较多的TC应用,TC小巧设计又简单,其中排序功能,也会应用,如果针对每个TC来设计排序,那显得复杂。下面是通过动态的方式来设计排序。按选择的列来排序。指定,排序方式(升序或降序),指定TC名称,指定TC装载数据的内表名称。*&---------------------------------------------------------------------**& Form FCODE_TC_SORT*&--...
2021-08-22 20:54:58
581
原创 SAP ABAP-采购申请释放后到更新发布标识
似乎是系统有Bug,或是其他原因,采购申请中的发布标识,在取消审批后,不能复原。以下是通过增强手段,进行处理。SAP ABAP-采购申请释放后到更新发布标识
2021-08-22 16:24:11
518
原创 spring cloud-Activiti 7上传流程
上传流程,如在开发系统设计好模型后,可上传到测试系统,测试通过后,可直接上传到生产系统。上传流程的同时,也将模型建立起来。 其实现思路如下:public ResultData upload(@RequestParam(value = "file", required = true) MultipartFile file, @RequestParam String deploymentName, ...
2021-08-22 07:44:12
387
原创 spring cloud-Activiti 7下载流程
对于已发布的流程,如果需要下载存储到本地,则可以按如下方法下载,在租户系统中,不同的租户,其审批流程会不一样,为了快速初始化模型,可以将流程下载到本地,然后再上传到新租户系统中。以下是下载流程的实现方法:public void download(HttpServletResponse response, @PathVariable String defId) { BufferedOutputStream bos = null; try { ...
2021-08-22 07:35:10
628
原创 spring cloud-Activiti 7删除模型
如果模型作废或不需要了,可将模型删除,模型删除后并不影响已经发布的流程。通常不太建议删除模型,特别是已经发布转为流程的模型,建议长期保留。如果是流程不再使用,可以将流程挂起。 以下是删除模型的核心代码,根据模型ID来删除即可。public ResultData delete(@RequestBody BaseForm<String> param) { Model model = repositoryService.getModel(param.get...
2021-08-22 07:29:06
632
原创 SAP ABAP-如何从JAVA系统上传附件到SAP DMS系统
在实际项目上,通常会通过前端系统上传一些附件,如图片,PDF文件到后端系统存储,有时为了实现文件共用共享,将文件统一存储到一个系统中,特别是使用了SAP系统,将文件存储到DMS,这样在SAP中也方便查阅。第三方系统,如OA系统,MES系统,可直接通过接口读取文件。 曾经在项目上,就使用过如下手应用,通过移动手持设备,现场扫描产品,将有瑕疵的产品上传到DMS系统,其中就是通过扫描上传,发送到JAVA 后端,JAVA再通过调用接口存储到SAP系统。特别是上了SAP QM模块,使用移...
2021-08-22 07:19:13
1133
原创 spring cloud-Activiti 7发布模型(部署流程)
模型设计好后,需要将其转为流程,通常发布模型后即转为可用的流程。发起一个业务流程时将可使用。 我们的应用中,在设计模型时就已经定义好了表单相关的元素,比如表单名称,以及与表单相关的一些必要字段的定义。因此,在发布模型时,会检查表单是否有定义。相关代码设计如下:try { Model model = repositoryService.getModel(param.getData()); /*if(model.getDepl...
2021-08-15 21:00:57
908
原创 spring cloud-Activiti 7增加模型(创建新的模型)
前端使用editor-app项目,用来设计模型,创建一个新的模型时,首先要在spring cloud后端建立一个模型,通过前端设计,再保存该保存。相关代码如下:增加模型,基于saas多租户的实现:param.getData()为前端参数 Model model=repositoryService.newModel(); JSONObject metaInfo = JSONUtil.createObj(); metaInfo.set(Mod.
2021-08-15 20:50:03
2004
原创 spring cloud-Activiti 7搭建微服务应用
引入工作流引擎所需的依赖包如下:<dependencies><!--Activiti 7工作流组件--> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter</artifactId> <version>${activiti.version}</version&
2021-08-15 20:25:40
1544
2
原创 SAP ABAP-TC中滚动条自动触发新行
基本介紹:TC中,或许出于操作麻烦,如果增加一个增加行按钮,也是可以解决的,但比较麻烦,也不方便。如果在拉动上下滚动条或鼠标滑轮的时候,能够自动触发新行,那就太方便了。当往下拉的时候,新增当往上拉的时候,删除处理方案如下: MODULETCSTPO_CHANGE_TC_ATTROUTPUT.DESCRIBETABLEI_STPOLINESTCSTPO-lines. ENDMODULE. MODULETCSTPO_GET_LINESO...
2021-08-15 20:03:27
679
原创 SAP ABAP-有关于两个日期时间之间时间差的改进算法
SAP标准RFC提供了两个日期时间之间的时间差算法,但是它仅精确到分钟,这么一个不足,足以后患无穷,几近崩溃!另外以一个不足,同一天无法算出24小时;这很无语。举个简单的历次,在生产过程中,机器工时的自动计算,从开始与结束都有日期时间,如果机器状态从一个状态转变成另一个状态,这个过程从开始到结束系统都能迅速捕捉到这个时间段即是机器工时,自动上报到ERP系统产生成本。由于这么个差异,每次都将秒忽略了,每个月累计忽略的秒数非常大,那就不得了。假如每次平均有30秒没有统计到位,平均一天发生状态变化100次
2021-01-30 21:20:38
3212
2
原创 SAP-带组件转PO ,不使用BOM中的组件
SAP通过BAPI转L类PR时,如果物料本身带有BOM,因特定业行要求会使用其他的组件带到PR中,但是标准功能会受到BOM的影响,也会带到PR组件,这样在业务上达不到用户所需。可通过下面方法处理:INCLUDE:LCSIOFM1*$*$-Start: (1)---------------------------------------------------------------------------------$*$*ENHANCEMENT 1 ZMM_PURREQ_WF_COMP..
2021-01-30 20:39:54
320
原创 SAP-带组件转PO ,不使用BOM中的组件
SAP通过BAPI转L类PR时,如果物料本身带有BOM,因特定业行要求会使用其他的组件带到PR中,但是标准功能会受到BOM的影响,也会带到PR组件,这样在业务上达不到用户所需。可通过下面方法处理:INCLUDE:LCSIOFM1*$*$-Start: (1)---------------------------------------------------------------------------------$*$*ENHANCEMENT 1 ZMM_PURREQ_WF_COMP. .
2021-01-30 11:54:54
546
sockjs-0.3.min_ext.zip
2020-03-02
Apress.Foundations.of.Java.for.ABAP.Programmers
2008-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人