用chatGPT增强SAP FICO功能 【现金流量预测】

如开发基于SAP银行的回单进行企业现金流量表的预测功能

promot :查询SAP中基于银行回单的现金流量预测 ABAP代码

REPORT z_cash_flow_forecast.* 获取当前日期
DATA: date TYPE dats.
date = sy-datum.* 获取最近6个月的银行回单
SELECT febep~belnr, febep~budat, febep~xblnr, febep~lifnr, febep~werks,febep~bukrs, febep~kostl, febep~prctr, febep~hkont, febep~shkzg,febep~dmbtr, bseg~sgtxtINTO TABLE @DATA(receipts)FROM febepINNER JOIN bseg ON febep~belnr = bseg~belnr AND febep~ebeln = bseg~ebelnWHERE febep~budat >= date - 180AND febep~shkzg = 'H'AND febep~dmbtr <> 0.* 按月份和公司代码分组,并计算每个月的现金流量
SELECT RIGHT(febep~budat, 6) AS month,febep~bukrs,SUM(febep~dmbtr) AS amountINTO TABLE @DATA(cash_flows)FROM febepWHERE febep~budat >= date - 180AND febep~shkzg = 'H'AND febep~dmbtr <> 0GROUP BY month, febep~bukrs.* 获取公司代码描述
SELECT bukrs, butxtINTO TABLE @DATA(company_codes)FROM t001.* 计算现金流量预测
TYPES: BEGIN OF cash_flow_forecast,month TYPE char6,bukrs TYPE bukrs,days TYPE i,amount TYPE dmbtr,END OF cash_flow_forecast.DATA: cash_flow_forecasts TYPE TABLE OF cash_flow_forecast WITH HEADER LINE.LOOP AT company_codes INTO DATA(company_code).DO 3 TIMES.DATA: days TYPE i,forecast_date TYPE dats,forecast_month TYPE char6,forecast_amount TYPE dmbtr.CASE sy-index.WHEN 1.days = 60.WHEN 2.days = 120.WHEN 3.days = 240.ENDCASE.forecast_date = date + days.forecast_month = RIGHT( sy-datum + days, 6 ).SELECT SUM(febep~dmbtr)INTO @forecast_amountFROM febepWHERE febep~bukrs = company_code-bukrsAND febep~budat BETWEEN date AND forecast_dateAND febep~shkzg = 'H'AND febep~dmbtr <> 0.cash_flow_forecasts-month = forecast_month.cash_flow_forecasts-bukrs = company_code-bukrs.cash_flow_forecasts-days = days.cash_flow_forecasts-amount = forecast_amount.APPEND cash_flow_forecasts.ENDDO.
ENDLOOP.* 输出结果
WRITE: / '月份', 20 '公司代码', 30 '预测天数', 40 '现金流量'.

假设此业务所有的现金都基于银行回单设计,

此代码将基于SAP FEBEP银行回单表进行拆解,现金部分 批量上传导入银行回单表;

将ABAP代码转为 java类( 如netweaver代码实现方式)

import java.sql.*;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;public class CashFlowForecast {private static final String URL = "jdbc:sap://host:port/?autocommit=false&reconnect=true";private static final String USERNAME = "username";private static final String PASSWORD = "password";public static void main(String[] args) {Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);stmt = conn.createStatement();// 获取当前日期LocalDate date = LocalDate.now();// 获取最近6个月的银行回单List<Receipt> receipts = new ArrayList<>();String receiptSql = "SELECT febep.belnr, febep.budat, febep.xblnr, febep.lifnr, febep.werks, " +"febep.bukrs, febep.kostl, febep.prctr, febep.hkont, febep.shkzg, febep.dmbtr, bseg.sgtxt " +"FROM febep INNER JOIN bseg ON febep.belnr = bseg.belnr AND febep.ebeln = bseg.ebeln " +"WHERE febep.budat >= '" + date.minusMonths(6) + "' " +"AND febep.shkzg = 'H' " +"AND febep.dmbtr <> 0";rs = stmt.executeQuery(receiptSql);while (rs.next()) {String belnr = rs.getString("belnr");LocalDate budat = rs.getDate("budat").toLocalDate();String xblnr = rs.getString("xblnr");String lifnr = rs.getString("lifnr");String werks = rs.getString("werks");String bukrs = rs.getString("bukrs");String kostl = rs.getString("kostl");String prctr = rs.getString("prctr");String hkont = rs.getString("hkont");String shkzg = rs.getString("shkzg");double dmbtr = rs.getDouble("dmbtr");String sgtxt = rs.getString("sgtxt");receipts.add(new Receipt(belnr, budat, xblnr, lifnr, werks, bukrs, kostl, prctr, hkont, shkzg, dmbtr, sgtxt));}// 按月份和公司代码分组,并计算每个月的现金流量List<CashFlow> cashFlows = new ArrayList<>();String cashFlowSql = "SELECT RIGHT(febep.budat, 6) AS month, febep.bukrs, SUM(febep.dmbtr) AS amount " +"FROM febep " +"WHERE febep.budat >= '" + date.minusMonths(6) + "' " +"AND febep.shkzg = 'H' " +"AND febep.dmbtr <> 0 " +"GROUP BY month, febep.bukrs";rs = stmt.executeQuery(cashFlowSql);while (rs.next()) {String month = rs.getString("month");String bukrs = rs.getString

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

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

相关文章

走近人工智能|NLP的语言革命

前言&#xff1a; 自然语言处理&#xff08;NLP&#xff09;是指使用计算机处理和理解人类语言的技术。 文章目录 自然语言序言背景适用领域技术支持应用领域程序员如何学总结 自然语言 序言 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09…

MinGW与Cygwin的学习和理解

笔者来聊聊MinGW的学习和理解 1、MinGW认识 MinGW&#xff1a;Minimalist GNU for Windows&#xff0c;GNU项目的for windows的迷你版。 MinGW是针对windows&#xff0c;对GNU 编译器进行的原生的移植&#xff0c;为了构建windows可移植程序&#xff0c;导入了相关的库和头文…

写作社区平台汇总(自媒体运营的素材来源和推文发送地)

文章目录 引言I 技术社区II 其他写作社区see also引言 所谓平台,不是只有大众知道的大平台,还有行业中热门的网站或APP。 必须具备的平台有知乎、百家号 、今日头条、抖音、快手、 大鱼号、 网易号、 搜狐号、 新浪号、 企鹅媒体、 东方号、 趣头条、 搜狗媒体、 360自媒体平…

微头条自媒体常见领域,好创作,快速实现自媒体变现

有些人认为&#xff0c;不写狗血不吐槽就没有流量。事实上&#xff0c;这是偏见。头条用户基数很大&#xff0c;任何形式的创作&#xff0c;都有大量有兴趣的读者。所以我们应该创作自己擅长的内容&#xff0c;并坚守自己的立场&#xff0c;接下来我们一起了解一下比较常见的微…

自媒体一键多平台分发工具,自媒体人必备

在谈到怎么运营自己的自媒体账号时&#xff0c;很多自媒体人觉得比较困难&#xff0c;因为他们要花费大量的时间与精力去经营&#xff0c;在不止一家自媒体平台拥有自己的账号是一件麻烦的事情&#xff0c;光是每个平台发布就需要很长的时间。于是我像他们推荐了我正在使用的融…

自媒体适合多平台发布,30+自媒体平台都可以一键发布!

现在越来越多的自媒体人员&#xff0c;为了获得全网曝光&#xff0c;都会注册开通10多个新媒体平台&#xff0c;如果你只分发图文&#xff0c;10个平台发完怎么的也得30分钟。如果你只分发视频&#xff0c;20个平台保底3小时&#xff0c;同时还得是都群发成功了&#xff0c;在达…

最靠谱的6个自媒体平台,也可以快速上手

现在自媒体发展已是相对成熟的阶段&#xff0c;很多朋友还想做自媒体&#xff0c;很明确地告诉你还不晚&#xff0c;只要你有创意&#xff0c;有出色的审美&#xff0c;什么时候都还不算晚&#xff0c;那么要选什么平台比较好了&#xff0c;小编给大家介绍比较好上手的自媒体平…

如何快速有效地运营自己的社交媒体账号?

在众多的社交媒体平台中&#xff0c;您可以先选择一个平台开始运营&#xff0c;如Facebook、Twitter、领英、 Instagram等。不同的平台有不同的特点&#xff0c;所以最好在选择之前了解好不同社交媒体的特点&#xff0c;以便 更好地展示自己的特点。 例如&#xff0c;领英在商…

怎么注册自媒体账号?技巧分享

自媒体行业的快速发展&#xff0c;相信大家都有耳闻&#xff0c;至于自媒体应该如何有效地运营&#xff0c;相信大家就纷纷摸不着头脑了那么新手如何做自媒体呢&#xff1f;我归纳分为这几个步骤&#xff1a; 一、自媒体账号定位 在做自媒体之前&#xff0c;一定需要做好定位&…

自媒体账号如何注册申请

如何利用自媒体挣取到人生第一桶金&#xff0c;建议大家可以从以下几个方面入手。 一、申请自媒体账号 申请自媒体账号需要的材料&#xff1a;身份证&#xff0c;手机号&#xff0c;辅助材料&#xff1a;微信公众号或者博客写过文章的都可以。如果实在不会弄就去买一个账号先练…

【云原生】基本概念梳理:容器、镜像、仓库和集群

有条件的同学尽可能都开始使用 ChatGPT、new bing 和 GPT-4&#xff0c;这些是新的生产力工具。 它们或许不能替代某个岗位&#xff0c;但做个不恰当的比方&#xff0c;没有它们时的学习效率是坐马车&#xff0c;使用这些工具的学习效率是开汽车。 一、引言 1.1 先问问 ChatGP…

vsCode编辑器 快速国际化-以及一些国际化细节

i18n.code-snippets 配置 {"vue-i18n-mall": {"scope": "vue-html","prefix": "vt","body": "\\$t(passenger.$1)", //passenger-国际化文档名"description": "vue i18n mall"}…

消息队列之 RabbitMQ基本流程

介绍 关于消息队列&#xff0c;从前年开始断断续续看了些资料&#xff0c;想写很久了&#xff0c;但一直没腾出空&#xff0c;近来分别碰到几个朋友聊这块的技术选型&#xff0c;是时候把这块的知识整理记录一下了。 市面上的消息队列产品有很多&#xff0c;比如老牌的 Activ…

出现IllegalArgumentException:Could not resolve placeholder ‘xxx‘ in value “${xxxx}“ 的问题

在写一个SSM框架的整合项目时,出现了 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder data.username in value "${data.username}"错误. 在查阅了很多资料,结果是自己的一个配置xml文件导致的: 引入了一个外部文件db.properties,需要…

后台返回数据中有换行符,但是在文本中不显示换行效果

之前在标签里面是这样写的 &#xff08;vue项目&#xff09; <div class"text">{{trainDetail.trainingContent}}</div>返回的后台数据是这样的 是含有换行符的 后面发现用v-htm就可以解决 <div class"text" v-html"trainDetail.trai…

Notepad++支持显示回车符,换行符,TAB键,行首,行尾等特殊字符

Notepad默认&#xff0c;也和其他编辑器一样&#xff0c;是不显示空格和TAB键的 &#xff0c;不过我最近在用Notepad写Python脚本过程中&#xff0c;常需要显示空格键和TAB键 以避免两者混合缩进&#xff0c;所以去设置了&#xff0c;将空格键和TAB键也显示出来。 下面以某H…

chatgpt赋能python:如何在Python中让print不换行

如何在Python中让print不换行 在Python编程中&#xff0c;print语句是一个非常常见和有用的功能。然而&#xff0c;有时候我们需要在一行中连续打印多个输出&#xff0c;但是默认情况下&#xff0c;print语句会自动换行&#xff0c;这就会导致输出不太理想。在这篇文章中&…

chatgpt赋能python:怎么一行输入不换行Python

怎么一行输入不换行Python Python是一种易学易用的编程语言&#xff0c;它广泛应用于Web开发、数据分析、机器学习等领域。在Python编程中&#xff0c;经常需要将多个语句写在一行&#xff0c;但是默认情况下&#xff0c;每写完一条语句&#xff0c;Python都会自动换行。这时候…

chatgpt赋能python:如何让Python输出内容不自动换行

如何让Python输出内容不自动换行 Python作为一种高级编程语言&#xff0c;使得许多开发人员乐于使用它来编写代码。然而&#xff0c;有时Python的自动换行功能会对开发人员造成困扰。在编写Python脚本时&#xff0c;输出的内容可能会被换行符分割成多个行&#xff0c;并最终导…

chatgpt赋能python:如何让Python输出结果不换行?

如何让Python输出结果不换行&#xff1f; Python是一门高级编程语言&#xff0c;它是开发应用程序的首选语言之一。当使用Python编写应用程序时&#xff0c;我们经常需要输出一些内容到控制台。但是&#xff0c;Python默认情况下&#xff0c;每输出一行内容都会自动换行&#…