个人见解
我可以看到ABAP月亮升起-第八部分的第二部分
旁白:有两起可怕的犯罪即将发生——今天–2021年11月23日。一个是谋杀最严重,另一个是一本新的ABAP相关书籍和相关音乐剧的发行。很难说哪一个更糟,但这一系列博客将帮助你在唱歌跳舞和破案时做出决定,从而赢得奖品。
蝙蝠侠和弗兰肯斯坦的怪物
本频道前情提要:-
//www.hncdgy.com/2021/11/16/i-can-see-abap-moon-rising-part-one-of-eight/
*———————————————————————————————-*
写书
*———————————————————————————————-*
PDH:
工具Ool Ool黑麦哦!
在开始新版本的书籍之前,我需要确保我的所有“工具”都是最新的。第一步是:
- 安装最新版本的SAP GUI–在本例中为7.70版。然后我将主题切换为“Quartz”“因为这是SAP的建议,在SAP GUI中它应该尽可能看起来像Fiori设计模式。我不知道它是否像,但我知道它看起来很可怕。无论如何,我在所有截图中都使用了这个主题,使它们成为“新鲜的广告现代”“。如果有人不知道“新鲜和现代”是什么意思,那就是一年内将一个图标从正方形改为圆形,使其新鲜和现代,然后第二年又回到正方形,使其新鲜和现代。这就像宽领带、喇叭裤和破洞牛仔裤一样,永远流行和过时。
- 我有一个独立的SAP 7.52系统。在2020年的某个阶段,SCN博客中的一些SAP类型似乎表明,在某个阶段将有一个7.53独立系统可用。我并不真的相信这一点,因为这从来没有发生过。7.52将是有史以来最后一个独立的ABAP版本。因此,我确保我的7.52系统处于后期st支持堆栈,以防产生影响,但事实并非如此。最近的大多数支持堆栈都添加了各种工具,用于远程分析ABAP系统,为迁移到S/4HANA做准备。
- 并不是书中的所有代码都是在那个系统上编写的——例如,所有RAP代码都是在云(BPT)系统中的ABAP上编写的。在这里当然没有跟上时代的问题——事实上,我有相反的问题。当我开始写第8章时,我所有的Z代码都被编译成绿灯。一天之后,系统进行了升级,一些代码开始发出警告。两周后又进行了一次升级,现在我的Z代码出现了严重的语法错误。我要指出的是,这种升级在ABAP语言中引起的变化是合理和合乎逻辑的,每个季度都会在每一组发布说明中收到警告,告诉您不兼容的变化。这让习惯于100%向后兼容的传统abaper感到不安。
- 确保我有最新版本的Eclipse——这当然很容易。我在2021年2月安装了最新版本,并对自己说,在这本书完成之前,我还需要再做两次。当然,有两个新版本——每三个月发布一次——但事实证明我什么都不用做——Eclipse现在将自己升级到最新版本,这非常棒。此外,ADT(Eclipse中的ABAP)始终与新版本配合使用(直到大约一年前才如此),因为现在SAP development有即将发布的Eclipse版本的beta版(每天更新)每天晚上都要运行100亿个自动化单元测试,并在第二天修复任何故障。对于那些认为自动化单元测试完全是浪费时间的人来说,这是我新的“开始”示例。
转身面对这些奇怪的变化
正如我前面提到的,一本书出版的那一刻,我就开始制作一个电子表格,列出ABAP世界中出现的所有新事物,按章节排序。例如,在我写这篇文章的时候,离出版还有一周的时间,自从手稿定稿以来,我已经发现了下一版的五件新东西,这不仅是因为SAP TechEd正在进行中,而且与S/4HANA内部版本相关的新版本ABAP刚刚问世。你可以说时机不对,但时机不对总是这很糟糕,因为总是有那么多新事物出现。无论如何,为了提供一个具体的数字,在第三和第四个版本之间,我在电子表格上做了大约170个更改,从次要的(不变的产品名称更改)到主要的(RAP在那段时间更改了100%)。
*———————————————————————————————-*
代码库
*———————————————————————————————-*
席状风暴
我做了7年的会计,所以直到今天我都在做电子表格。这就是为什么我每次(从20年前开始)看到某个新IT产品的广告都会笑,它将“把你从电子表格的地狱中拯救出来”。很容易说“在我的公司未来将不再有电子表格和SAP GUI!”“但就像许多人发现的那样,要实现这一点有点困难。大学完成后一年(1991年)我的一个伴侣德勤找到了一份工作作为一个审计师同时他注册会计师考试,他自豪地告诉我在酒吧里一个晚上,三个月内不会有一张纸在德勤办公室在世界任何地方了,他们将实现一个真正的“无纸化办公室”。我从来没有跟进过——我想知道它是否真的发生了?
代码基α
无论如何,我有一个用于章节更改的电子表格选项卡,还有一个称为“代码库”的选项卡,其中我试图跟踪我为本书创建的各种ABAP TADIR对象,以及我为什么这样做。
现在,有些人指责我的书的怪物般的焦点有些不切实际,这听起来可能很神奇。我不知道为什么会这样。无论如何,你可能听过这样一句话:“事实比小说更离奇”。事实上,我是从我真正工作中的一个实际的业务流程开始的,把所有的术语都改成了基于怪物的术语,以隐藏任何商业秘密,然后不得不这样做语气下来否则没人会相信我会有这么一个奇怪的过程。
高水平
一个高级计划有时被称为“范德瓦尔克”计划,以发明者的名字命名。在本例中,我从一个六步高水平计划开始。
- 从业务流程开始
- 将其转换为用户故事
- 然后列出最终用户实现这些用户情景所需的抽象应用程序
- 将这些映射到建议的SAP ABAP构造
- 创建包层次结构
- 开始创建ABAP工件
从业务流程开始
弗兰肯斯坦城堡的业务流程如下:
制作怪物是MAKE-TO-ORDER流程的一个变体。怪物就像一个材料,但你只挑选所需的“材料”在交货时间,而不是订购时间
驼背订单接受者位于“灾难性屠宰中心”(CSC),并在怪物订单前端(MOFE)的变体配置风格UI弹出窗口中捕获客户需求
这些需求是订单项中的特征或Z字段——有一个通用材料,以及基于需求的邪恶行为代码,以及一个免费的文本描述
保存时需要进行ATP检查(在订单创建/更改期间),以查看现有怪物是否符合要求
如果找不到现有的怪物(或在计划日没有足够的怪物),订单项目将进入“需要新怪物”状态,ATP检查将推迟交货日期
如果Monster可用,“预订”业务对象将附加到销售订单项。这可以更改到交货点。
一个“失踪的怪物”报告需要让F男爵知道他需要多少新的怪物和时间。
然后F男爵制造了新的怪物。他需要知道新怪物需要什么成分。他还希望能够预测未来的客户需求(客户可能会要求什么,而他们还没有要求什么),因此要积极主动。为此,SAP中需要一个“怪物模拟器”应用程序。
然后可以创建一个新的预订(从缺少的怪物报告)并附加到订单项目。订单项目处于就绪状态
订单行出现在SAP中的Monster暴行Due List应用程序上。当订单到期时,中央分配器就会选择该Monster去做邪恶的事情,要么是保留的那个,要么是从可用的匹配怪兽列表中选择
实验室的钟楼怪人在SAP的怪物暴行监控应用程序上发送实际的交付,这让怪物走出笼子去做邪恶的事情。他不需要下到笼子,应用程序接口到笼子控制器系统并打开笼子。这就是“物联网”的意义所在,“物”就是怪物。
将其转换为用户故事
这是现代开发的一个支柱,甚至正在进入ABAP世界。其思想是,您编写软件并不只是为了填满时间。在《呆伯特》(Dilbert)一书中,软件开发者沃利(Wally)将他的生活目标描述为“将大量咖啡从咖啡机送到便池”,但事实上,通常你所写的东西在某一时刻会被真实的人们使用。因此,我们有用户故事来描述这些人,我们将他们描述为“用户”(就好像我们是毒贩),他们实际上想从软件中得到什么以及为什么。在弗兰肯斯坦案例中,商业模式被转换成以下用户故事:
故事没有/作为一个/我需要/所以我可以
US1 /订单获取驼背/捕获客户需求/记录客户需要什么以及何时需要它
US2 /疯狂的科学家/知道怪物短缺是什么/制造足够的新怪物来满足客户的需求
US3 / Mad Scientist /动态计算Monster的BOM /根据客户的要求,知道最好的成分来构建一个新的Monster
US4 /疯狂的科学家/记录我刚刚创建的新怪物的细节/拥有可用怪物的最新库存
US5 /疯狂的科学家/通知我的员工新的怪物/确保交付将发生
US6/分配器驼背/知道销售订单何时到期/创建附带怪物的交货
US7 /实验室驼背/知道我需要什么行动的交付/让怪物在正确的时间从笼子里出来
然后列出最终用户实现这些用户情景所需的抽象应用程序
我们仍然处于抽象的领域,甚至没有考虑使用什么ERP系统。现在我们列出用户情景需要哪些应用程序。
US1/将客户需求输入销售订单类型对象的应用程序
US2/列出当前没有针对其保留怪物的任何订单的应用程序
US3 /一个基于订单中客户需求计算Monster BOM的应用程序
US4 /在Monster业务对象中捕获新Monster细节的应用程序
US5 /来自US2的应用程序(Mad Scientist使用的)也可以更新未完成的销售订单,并保留新创建的Monster,这样Hunchbacks使用的应用程序将知道新的Monster
US6/列出准备发送的销售订单并从中创建交付的应用程序,如果需要,指定要使用的怪物
US7/处理交付的应用程序,并打开相关怪物的笼子,以便他们可以出去做坏事
下周,我们将转向将这些抽象需求映射到提议的SAP ABAP构造。
旁白毫无疑问,要为SAP出版社出版一本书,所有这些废话都是必要的。然而,正如我们所知,这些书与其说是为了阅读,不如说是为了支撑一张一条腿比另一条腿短的桌子,或者也许是为了在寒冷的夜晚把火扔上去取暖。他们的主要目的是为每本新书的启动晚会提供正当理由,每本晚会的门票都要100万美元。在这种情况下,派对定于1792年11月23日举行,客人们从2021年穿越回来,但在那个致命的夜晚,一些奇怪的不速之客正在他们的路上.....
*———————————————————————————————-*
情节-大致基于“弗兰肯斯坦之家”(1944)-第二部分
*———————————————————————————————-*
旁白:邪恶的犯罪策划者Frank BOPF和他驼背的助手Slin Shady在2156年从监狱逃脱,并穿越BW桥回到1792年。在那里,他们遇到了一群巡回表演家,BAS流浪儿童,接管了他们的恐怖展览。这个恐怖的展品不是别人,正是真正的德古拉伯爵,处于假死状态。作为一个疯狂的科学家,Frank Bopf立即复活了Dracula,因为这显然是一个非常好的主意。
德古拉适当地表示了感激,并问他是否能做些什么作为回报。Frank Bopf仍然对市长McCheese愤恨不已,McCheese是他逃离的监狱的管理者。Bopf建造了一个时间“吸尘器”,并把市长McCheese吸回了1792年,此外,市长的孙女Freda Tier刚好站在他旁边。
BOPF你看到那个“时间吸尘器”了吗?那是我的发明。这是一项伟大的发明,我甚至可以用范式转换!
观众:呜呜呜呜!(墨西哥挥手)(歌唱)香蕉,香蕉,一百万吨香蕉!
旁白无论如何,德古拉立即杀死市长McCheese,但更喜欢与弗雷达Tier,并带她在午夜豪华旅行的各种鬼城堡。但是…只有弗雷达·蒂尔返回....
BOPF当前位置德古拉伯爵在哪里?
弗雷达(用苏格兰口音)他被弄脏了!
BOPF:(苏格兰口音)不是被谋杀的!
弗雷达:是的,莫雷德!
阴凉的:德古拉伯爵怎么了?
弗里达:他被杀了!
斯林:(用苏格兰口音)不是Murrrrred!
弗雷达:是的,穆瑞德!
输入INSPECTOR McMONKFISH
https://www.youtube.com/watch?v=IHdRGAotbHE
蒙克菲什:这是怎么回事?
弗雷达:是德古拉伯爵!他被杀了!
蒙克菲什:(苏格兰口音)不要murrrrrrrrrrred !
弗里达:是的,穆瑞德!
蒙克菲什:哦,不!我最好马上让我最好的调查员——阿皮·麦克·盖弗——去调查这件事!
BOPF弗雷达——我不明白的是,你为什么一开始就想和一个吸血鬼约会!它是因为他是个怪物?
弗雷达字体哦,这并不是说他吸血,变成蝙蝠,在镜子里没有倒影。这甚至不是说关于他的最后一部电视连续剧有今天的最后第三集,这是宇宙历史上任何作家都做过的最糟糕的决定。不,这与这些无关!我觉得德古拉伯爵和其他邪恶的怪物很有吸引力……因为他们是ABAP程序员!
*———————————————————————————————-*
歌曲-所有的ABAP男孩
https://www.youtube.com/watch?v=qFhvFzCRfiw
*———————————————————————————————-*
[Slin Shady]
(怪物:阿巴普男孩,阿巴普男孩)
弗雷达,我知道你喜欢什么
(怪物:阿巴普男孩,阿巴普男孩)
哦,哦(怪物:阿巴普男孩,阿巴普男孩)
嘿耶(怪物:ABAP男孩,ABAP男孩)
(弗雷达)
有些人称他们为开发者
但我一点也不害怕(怪物:哇哦!)
因为我总是被危险所吸引
这就是我的一生
感觉我的心分裂了
prem和cloud之间的一半
我知道我在玩火
所以我大声尖叫!(怪物:啊啊啊啊啊啊啊啊啊啊啊啊啊啊!)
是的,ABAP男孩总是吸引我的目光
(怪物:万岁,哈娜)
我说过ABAP的人总是在玩Qualtrics
(怪物:万岁,哈娜)
尽管我知道他们不能编写OO代码
这是我要冒的风险,为什么我不知道
ABAP男孩总是吸引我的眼球
(怪物:万岁,万岁,哈娜)
哦,坏孩子
有些人认为他们太过时了
但它们对我来说很有趣(怪物:呜呜呜呜!)
我不需要任何JavaScript激情
就像1993年一样写代码
我的心仍然感到分裂
介于GUI和Web之间
我知道我在玩火
我会一直到死(怪物:啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!)
是的,ABAP男孩总是吸引我的目光
(怪物:万岁,哈娜)
我说过ABAP的人总是在玩Qualtrics
(怪物:万岁,哈娜)
尽管我知道他们不能编写OO代码
这是我要冒的风险,为什么我不知道
ABAP男孩总是吸引我的眼球
(怪物:万岁,万岁,哈娜)
[Slin Shady]
我知道你想要我,因为我是一个(ABAP男孩)
嘿,c-citizen开发者无法控制,她如此沉迷于软件工程师
在键盘上,她只打出弯曲的字母
让妈妈承担所有的管理,风险和控制,
因为那种化学反应,她不喜欢苏24的角色,
没有成功因素,没有共识,
当然,没有阿瑞-伯!
不惜一切代价,姑娘
她喜欢它们,那是我的世界
这不是新闻而是我听到的
让他们越快乐越好
这不是什么大惊喜
我知道ABAP男孩吸引了你的眼球
看我开始编程时她走路的样子
你会让他们公民开发程序加载
(弗雷达)
是的,ABAP男孩总是吸引我的目光
(怪物:万岁,哈娜)
我说过ABAP的人总是在玩Qualtrics
(怪物:万岁,哈娜)
尽管我知道他们不能编写OO代码
这是我要冒的风险,为什么我不知道
ABAP男孩总是吸引我的眼球
(怪物:万岁,哈娜)
是的,ABAP的孩子们总是在说些质量标准
(怪物:万岁,哈娜)
我说ABAP男孩总是吸引我的目光
(怪物:万岁,万岁,哈娜)
ABAP男孩,ABAP男孩
*———————————————————————————————-*
线索
*———————————————————————————————-*
输入“APPY”和“MAC”GYVER
AMG:所以我们有一个谋杀案的受害者,也就是德古拉伯爵。死亡时间大约是午夜。我想很明显他是被一只怪物杀死的——但是是哪一只——在哪里?如果你想赢得一个神秘奖,你需要回答这个问题——甚至更多——并提供你的推理。
- 没有人知道尸体蒸发时谋杀发生在哪里。这本身可能就是一条线索。
- 在凶杀案发生的时候,德古拉正带着弗蕾达·蒂尔环游世界各地的鬼屋。他只有5分钟的时间,并且已经在怪物交通管制中心登记了他的路线。因此,只有五座闹鬼的城堡可能发生犯罪。
- 它们从东到西排列在世界各地。没有一个在同一个经度上,所以你有一个最西的,一个最东的,一个在中间的。
- 获胜者必须说出=>受害者被杀的地点(城堡名称)
- 随着时间的推移,将提供每个城堡的身份线索。一旦你确定了一座城堡,你可以查找它的经度,以便知道它在东西列表中的位置,即经度最低的城堡是最西边的城堡。
- 共有五个可疑怪物。在谋杀发生时,每一个都在不同的城堡里。你将获得线索,为你提供各种可疑怪物的详细信息。
- 这是显而易见的,但是–获胜者必须说=>杀死受害者的怪物的名字。
在这一点上,我将给你更多的线索,例如,这是一个开始- 5个可疑的怪物没有一个是橙色的。这一点帮助都没有——但随着博客的发展,这些线索将变得更加有用。
*———————————————————————————————-*
结尾部分
*———————————————————————————————-*
旁白当前位置在本周节目结束时,写书的准备工作和相关的代码库已经基本完成,更重要的是,谋杀案疑案中受害者的身份已经揭晓。这是德古拉伯爵——他被蒙蔽了!你能破案并成为首批获奖的幸运儿之一吗?莫圣母玛利亚将由保罗的妻子手工制作。顺便说一句,她昨晚熬夜制作了一些。所以,请继续收看下周激动人心的“我能看到阿巴普月亮升起”一集