SAP常用工具程序

  1. RS_ABAP_SOURCE_SCAN - ABAP源码扫描程序,可扫描所有源码寻找一个指定字符串
  2. CRM_PML_MAIL_FORM_TRANSPORT - CRM Mail 表单推送工具,可将CRM email模板从一个系统推送到另一个系统。
  3. ARCHIVFILE_CLIENT_TO_SERVER – 上载本地文件到服务器上。注意要选上Uppercase/Lowercase的复选框,否则有可能找不到文件路径

ABAP 程序中的退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM…)

以前都是写C++或者Java 程序,刚开始学ABAP,对退出操作还不太习惯,很容易混淆。这里总结一下几个常用的退出操作:

CHECK.
1)CHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LOOP)或处理程序(Processing Block)。
2)如果CHECK出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执行下一次循环操作,其作用类似于Continue (Java 或C++中continue也是如此).
3)如果CHECK出现在循环以外,则发生作用时,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT。

EXIT.
1) EXIT如果出现在循环中,退出的是整个循环操作,.程序会从循环结束处开始继续执行,其作用相当于Java与C++中的break。
2)EXIT如果出现在循环之外,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,其作用与RETURN类似。

RETURN.
RETURN用来退出当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不仅仅是退出循环。

虽然ABAP中EXIT 和RETURN都可以用来实现退出当前执行的语句块(processing block),但SAP的帮助文件建议只在循环中使用EXIT ,其他情况下要退出当前执行进程,使用RETURN 。

LEAVE PROGRAM.
LEAVE PROGRAM会直接退出主程序,类似C++中的exit。

SAP 常用信息文本长度

有几种方案存放信息文本内容: 
- 用Message,Transaction SE91,信息文本存在表T100中,长度限制73
- 用程序的Text Element,长度限制132
- 用OTR, Transaction SOTR_EDIT,文本存在表SOTR_TEXT中,长度限制255

Web Dynpro 如何生成弹窗

1. 弹出窗口为Webdynpro窗口
在Webdynpro Component里建好一个窗口,取名 W_POPUP
在要生成弹窗的事件中写以下代码:

DATA lo_nd_error_message TYPE REF TO if_wd_context_node.
DATA lo_el_error_message TYPE REF TO if_wd_context_element.
DATA lo_window_manager TYPE REF TO if_wd_window_manager.
DATA lo_api_component TYPE REF TO if_wd_component.
DATA lo_window TYPE REF TO if_wd_window.

lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
lo_window = lo_window_manager->create_window(
window_name = 'W_POPUP'
title = 'POPUP WINDOW'
message_display_mode = if_wd_window=>co_msg_display_mode_selected
close_button = abap_true
button_kind = if_wd_window=>co_buttons_close
message_type = if_wd_window=>co_msg_type_none
default_button = if_wd_window=>co_button_close
).
lo_window->open( ).

2. 弹出窗口为外部窗口,即链接到外部URL
在要生成弹窗的事件中写以下代码:

data: window_manager type ref to if_wd_window_manager,
api_component type ref to if_wd_component,
lo_window type ref to if_wd_window.

api_component = wd_comp_controller->wd_get_api( ).
window_manager = api_component->get_window_manager( ).

CALL METHOD window_manager->create_external_window
EXPORTING
url = lv_ext_url "要链接到的URL地址
title = 'POP WINDOW'
modal = abap_true
has_menubar = abap_false
is_resizable = abap_true
has_scrollbars = abap_false
has_statusbar = abap_false
has_toolbar = abap_false
has_location = abap_false
RECEIVING
window = lo_window.

lo_window->open( ).

SAP Webdynpro Enhancement的限制

要Enhance一个Webdynpro Component,发现虽然可以Create window as enhancement,但是建立的窗口默认不能作为interface view,这样就不能被用作UIBB配置到Floor Plan Manager的Component Configuration里面。
而已经SAP已经建立的Window中原有嵌入的View是不能删除的。。。虽然有强大的Enhancement平台,要改SAP的view还是没有想象中容易。

bump module – 但不仅仅是bump

时间: Feb 28, 2013 ~ Mar 1, 2013
地点: MT
instructor: Simon Chapleau
skipro@hotmail.ca, 819.808.1525

收获
1. 确认了bump, short radius, intermediate turn, or dynamic parallel, corridor turn 的技术要点是一致的, that is:
a. early edging, top of the turn(high C in term of PMTS)
b. balance on outside
c. mobile
注意, 这三点应该同时进行, edge 的同时不断(mobile)寻找balance on outside ski. 如果balance之后才edge就太晚了(如Bo 2010 评语, p3 only, no p1 nor p2)

2. CSIA 在 bump 的速度控制是靠round turn, 上包之前速度靠turn得到控制, resist+上包吸收=速度控制, 包上反而加速(所谓轻的感觉), 加速+轻 = easy turning effort and early edge for next turn

3. turning + early edge 可以在空中完成(P1 ), 好的P1奠定edge+round turn, therefore, p2, p3 speed control, 下个包的速度得到控制。

drills:
1. short radius edge to edge
2. use snow banks
3. use ridge

个人feedback:

1. pole planting, 特别是左手, 需要real, firm pole plant action, 帮助左转
2. 要注意outside leg不要落后(很少, 但是要时刻注意), 外脚落后在bump上的结果是后座。
3. balance on edge 做的很好, 但是包上速度太慢, 导致左转不灵光。 solution, let it go, jump, and land on new edge
节奏是-慢慢快

SAP 程序性能优化会用到的Transaction code

SAP seminar上的笔记,记的太草了,自己都看不懂了,还是存下来,以后用到时参考吧。

SM37 – 后台任务查看
STAD – for db vs process time
Top tables – note 1323405

ST04 – Links table and program

检查当前系统状态(当前运行的程序,进程,被访问的数据库表等)
SM66
ST04 – db table
ST12 – time not in table (in ABAP)
ST06 – CPU
ST02, SM50 – Memory

验证用户信息的ABAP函数

可以用SAP标准函数BAPI_USER_GET_DETAIL返回用户信息,在GROUPS参数表中有用户分组信息。

Windows无法安装卸载软件时怎么办?

想重新装ITunes,结果怎么也装不了,原因是旧的AppleSoftwareUpdate无法卸载,说是缺什么软件。

在网上搜了下,原来微软居然有这个小工具,专门对付不能安装或卸载的问题,我觉得对付卸载应该用的更多,这世道霸王软件大多,动不动就不让你卸,试了一下还蛮管用的。记下来备用。

http://support.microsoft.com/mats/Program_Install_and_Uninstall

进去点 Run Now 就可以了。

2010~2011 Season

Ice skiing

1. practiced ice with RC at CF

– body can’t fall behind(center stands), avoid survivor mode on ice

– sharp edge

–  engage edge early to avoid skidding, why? don’t know(Roy also mentioned this)

2. ultimate skiing book

– understood platform angle and edge angle. big edge angle doesn’t always mean good edge hold

leg force and platform angle has to be less than 90, however, bigger edge angle will decrease platform angle(personal conclusion)

basically this also confirms personal experience why sometimes it is easier to get get hold on steep

– talked to a race coach, she mentioned if one can carve on snow, he/she should also  be able to do it on ice, make sense after understanding

platform angle

–  Took video on steep, analysis below

vic & roy: backseat, weight on inside ski, arm too much apart

bo: upper body turns, no phase 1 or 2.

rc: backseat, arm too much apart

– practiced on steep and ice at MT, conclusion

1. weight has to be on outside ski

2. body has to follow downhill, otherwise, backseat

next season goal:

1. carve on ice and steep, weight on outside ski, body follow up, think about early edge(platform angle)

Mogul

– not as much improvement as last year

– but able to handle half windigo on a good condition day

problem: left turn as as quick

next season goal: focus on left turn and absorb