星期二, 十二月 02, 2008

项目中用到的HR的API

Numbering:
RH_GET_PLVAR : get current plan version
RH_GET_NEXT_NUMBER : get next number range

Lock Object:
HR_ENQUEUE_OBJECT : Enqueue one object
RH_DEQUEUE_LIST : Dequeue all in the list

Evaulation Path:
PATH_GET
PATH_BUILD
PATH_DELETE

Read via Evaulation Path:
RH_STRUC_GET

CRUD:
RH_EXIST_OBJECT : Check object existence
RH_READ_INFTY : Read
RH_READ_INFTY_1000 : Read
RH_READ_INFTY_1001 : Read
RH_INSERT_INFTY : Create
RH_INSERT_INFTY_EXP: Create
RH_CUT_OBJECT : Delimit
RH_CUT_INFTY : Delimit
RH_UPDATE_INFTY : Update
RH_UPDATE_INFTY_EXP: Update
RH_DELETE_OBJECT : Delete
RH_DELETE_INFTY : Delete
RH_UPDATE_DATABASE : Update DB

Ungrouped API:
RH_READ_OBJECT

星期二, 八月 26, 2008

SAP command Field

You can execute the following commands in this field with Enter:


To call a transaction
in the same session (window)
Enter: /nxxxx (xxxx = transaction code).
in the same session (window), whereby the initial screen is skipped.
Enter: /*xxxx (xxxx = transaction code).
in an additional session,
Enter: /oxxxx (xxxx = transaction code).

To end the current transaction
Enter: /n.
Caution: Unsaved changes are lost without warning

To delete the current session.
Enter: /i.

To generate a session list
Enter: /o.

To end the current transaction and return to the starting menu
Enter: /ns000.

To log off from the system
Enter: /nend.

To log off from the system without a confirmation prompt
Enter: /nex.
Caution: Changes that were not saved are lost without warning.

星期四, 八月 07, 2008

How to retrieve configuration list for WebDynpro component?

Table : WDY_CONFIG_DATA
cl_wdr_configuration_utils=>get_config_list_4_comp
cl_wdr_configuration_utils=>get_config_list_4_appl

星期一, 五月 26, 2008

Common Method

How to get user?
get single user : BAPI_USER_GET_DETAIL
get user list : BAPI_USER_GETLIST

How to get role?
PRGN_1251_READ_FIELD_VALUES???

Unit convertion
UNIT_CONVERSION_SIMPLE

Currenty Convertion
CONVERT_TO_FOREIGN_CURRENCY

星期一, 五月 19, 2008

设定ABAP程序为only if the writer of the code run it

data: xtrdir type trdir.

SELECT SINGLE * INTO xtrdir
FROM trdir
WHERE name = sy-repid
AND cnam = sy-uname.
IF sy-subrc <> 0.
MESSAGE e001(00) WITH 'Silly Rabbit, you cant run this report'.
ENDIF.

星期二, 五月 13, 2008

Tables of domain fixed values

DD07L R/3 DD: values for the domains
DD07T DD: Texts for Domain Fixed Values (Language-Dependent)

or use database view
DD07V View on fixed values and domain texts

Attention, there can be a table of value for a domain
Check at DD01L-ENTITYTAB, if not initial, this is the table of values (which may have a text table)

So better use of function modules :
DD_DOMVALUE_TEXT_GET DD: Read interface for the text of a single domain fixed val
DD_DOMVALUES_GET DD external: External interface for reading the domain fixed
DOMAIN_VALUE_GET

星期五, 三月 21, 2008

Comments in the code

Comments are easier to write poorly than well, and commenting can be more damaging than useful.

Kinds of comments:
Repeat of the code
remove
Explanation of the code
make the code itself clear, and then use summary or intent comments
Maker in the code
standardizing the style
Summary of the code
useful
Description of the code's intent
very useful
Information that cannot possibly be expressed by the code itself
acceptable

星期三, 二月 13, 2008

SAP - WebDynpro - How to Check Mandatory Fields

1. Create Label , InputField , Button Component
2. Refer Label to the InputField
3. InputField selected properties status to required
4. Create Event for the Button , and copy the below code :
DATA l_view_controller TYPE REF TO if_wd_view_controller.
l_view_controller = wd_this->wd_get_api( ). cl_wd_dynamic_tool=>check_mandatory_attr_on_view( view_controller = l_view_controller ).
Reference : Note 948753

星期一, 一月 28, 2008

Code inspecitons

1. Importance of Code Insepctions

2. Roles of Inspection Team
Moderator
Reader
Recorder
Author
Trainee (optional)
Best practics : four person inspection teams are twice as efficient and twice as effective as three personteams.

3. Process
Planning
Overview
Preperation
Inspection Meeting
Rework
Follow-up

Reference :
1. A guide to code inspections

WebDynpro - Dialog Boxes

Generally speaking , there are two different types of dialog boxes: Model and Modeless , WebDynpro support both of them.

Dialog boxes are implemented within a Web Dynpro application via an additional window and are generally called by the event handler of an action. The component controller contains the interface IF_WD_WINDOW_MANAGER, with which a new window for the content of the dialog box can be created and opened.

Three scenarioes:
1. Calling Dialog Boxes of the Same Component
2. Calling Dialog Boxes of a Used Component
3. Calling a Confirmation Dialog Box

Reference :
1. SAP Help