ABAP Netweaver和git的快捷方式
Netweaver

git
我笔记本上有很多github仓库,每次切换仓库,我不想敲很长的cd命令。比如现在我需要手敲下面的命令进入一个Java仓库:cd c:\Users\i042416\git\JavaTwoPlusTwoEquals5我想只敲四个字符:java 就达到同样效果。
解决方案
编辑用户目录下的文件.bash_profile:定义一些新的function,将冗长的cd命令加入function的实现。

效果:敲“java”,回车,即自动进入java仓库。

Netweaver
一个会话进程能够在堆上申请的内存大小上限, 在事务码RZ11里查看参数abap/heap_area_dia:


CloudFoundry
每个应用可以在manifest.yml里定义其使用memory的上限,比Netweaver灵活。

应用部署成功后,在SCP上能看到实际消耗的内存大小:

然而yml里定义的单个应用的quota不允许超过整个space的上限:

Netweaver
事务码SU01的参数设置里,有很多关于trace(跟踪)的开关。

FPTRACELEVEL: 设成04后,能将ADS生成PDF的trace信息写入生成的PDF。
详细原理参考我的blogBSPWD_USER_LEVEL:这个参数对CRM的开发顾问来说都不陌生。设为9之后,WebClient UI上显示的错误或者成功信息,鼠标放上去之后就能自动显示技术明细。
User parameter里只要BSPWD_USER_LEVEL 值大于5 即可在webclient UI上显示error message的technical information:




这里决定用什么icon来在UI上显示message:

message level > 5的判断:



Cloud Foundry
环境变量CF_TRACE = true

然后执行任意的cf 命令,能看到这些命令实际上也是post HTTP请求到SCP上。
例子:cf logs connectvity-demo-approuter --recent
然后就能看到为了完成这个命令所发送的HTTP请求和响应。

有的时候这个开关特别有用,例如部署应用时看到这个错误消息,但没有更多关于该错误原因的详细描述。

打开trace后,在日志里能看到详细错误:找不到package.json文件。

Netweaver
更准确的说应该是系统变量:结构体sy

设一个断点,调试器里看这些字段的值就能知道每个字段是用来做什么的。
sy-dbsys
sy-sysid
sy-opsys
sy-saprl
sy-tcode
Cloud Foundry
CF_INSTANCE_ADDR
CF_INSTANCE_GUID
CF_INSTANCE_INDEX
CF_INSTANCE_IP
CF_INSTANCE_INTERNAL_IP
CF_INSTANCE_PORT
CF_INSTANCE_PORTS
DATABASE_URL
HOME
LANG
MEMORY_LIMIT
PORT
PWD
TMPDIR
USER
VCAP_APP_PORT
VCAP_APPLICATION
VCAP_SERVICES当使用cf push往Cloud Foundry上部署应用时,某些环境变量会自动被系统设置,逻辑如同ABAP的sy-sysid自动被设置为当前系统ID一样。比如app router会把用户访问请求重定向到XSUAA实例上。
app router在manifest.yml里定义的XSUAA实例 xsuaa-jerry-demo,
在运行时会被系统自动写入环境变量VCAP_SERVICES里面: