知识点2
1.? DUMMY是不是檢查所有的類型的權限呢? ? ? PS:不是,dummy的意思是虛擬的意思,就是說權限檢查的時候有這個權限檢查字段,但是不對該字段做權限檢查。 AUTHORITY-CHECK?OBJECT?'Z_BRAND' ?????????????ID?'ACTVT'?DUMMY
?????????????ID?'BRAND'?FIELD?p_brand.?
????IF?sy-?subrc <>?0.?
??????MESSAGE?e001(00?)?WITH?'無品牌'?p_brand?'的權限'.?
????ENDIF?. ? 2.?BKK_DOMAIN_TEXTS_READ讀取域文本的內容,并存放到內表中, ? ? ???DATA:?lt_text?TYPE?bkkdc_t_domain_text,?"抬頭
??????????? lw_text?TYPE?bkkdc_s_domain_text?."工作區
??????CALL FUNCTION?'BKK_DOMAIN_TEXTS_READ'
????????EXPORTING?
????????? i_langu????????=?sy-langu
????????? i_domname??????=?'ZD_HZDLX'?
????????IMPORTING?
? ? ? ? ? et_domain_text?=?lt_text[]?.? ? ? ? ?方式二: ? ? ?DATA:?lt_domain?TYPE STANDARD TABLE OF?dd07v?WITH HEADER LINE?. ? ???CALL FUNCTION?'DD_DOMVALUES_GET'
??????EXPORTING?
??????? domname???=?'ZD_ZAPPSEX'
????????text??????=?'X'
??????? langu?????=?sy?-langu
??????TABLES?
??????? dd07v_tab?=?lt_domain. ? ?方式三: DATA:?lt_values_tab??TYPE?TABLE?OF?dd07v. CALL?FUNCTION?'GET_DOMAIN_VALUES'
??????????EXPORTING
????????????domname?????????=?'ZE_ZZSTA'
*???????????TEXT????????????=?'X'
*???????????FILL_DD07L_TAB??=?'?'
??????????TABLES
????????????values_tab??????=?lt_values_tab
*???????????VALUES_DD07L????=
??????????EXCEPTIONS
????????????no_values_found?=?1
????????????OTHERS??????????=?2.
????????IF?sy-subrc?<>?0.
??????????REFRESH?lt_values_tab.
????????ENDIF. 3.使用消息,便面DUMP掉。 ??CALL FUNCTION?'REUSE_ALV_GRID_DISPLAY'?
????EXPORTING?
????? i_callback_program???????=?w_repid
????? i_callback_pf_status_set?=?'FRM_SET_PF_STATUS'
????? i_callback_user_command??=?'FRM_USER_COMMAND'
????? is_layout????????????????=?w_layout
????? it_fieldcat??????????????=?it_fieldcat[]
????? i_save???????????????????=?'A'
????TABLES?
????? t_outtab?????????????????=?gt_fhhzd[]
????EXCEPTIONS?
????? program_error????????????=?1?
??????OTHERS???????????????????=?2.?
??IF?sy-?subrc <>?0.?
????MESSAGE?e001(00?)?WITH?'函數REUSE_ALV_GRID_DISPLAY錯誤!'?.
??ENDIF. 4. 調用SUBMIT獲取數據 ??SUBMIT?zhzd_process
??????????WITH?p_hzd?EQ?l_hzd
??????????WITH?p_lx?EQ?'M'?
??????????AND RETURN?.
??IMPORT?msg?=?gt_fhhzd-msg subrc?=?sy-?subrc?FROM MEMORY ID?'ZHZD_PROCESS'. ? REPORT?zhzd_process.?
DATA:?msg?TYPE?char255.?
PARAMETERS?p_hzd?TYPE?ze_hzd.
PARAMETERS?p_lx?TYPE c?.
CASE?p_lx.?
??WHEN?'F'.?
????CALL FUNCTION?'Z_JSLHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
??WHEN?'T'.?
????CALL FUNCTION?'Z_JSLTHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
??WHEN?'M'.?
????CALL FUNCTION?'Z_MDHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
ENDCASE.
EXPORT?msg?=?msg subrc?=?sy?-subrc?TO MEMORY ID?'ZHZD_PROCESS'. ? 5. 默認值,但是不顯示 ? ? ??PARAMETERS:p_jsdlx?LIKE?ztjsd?-jsdlx?DEFAULT?'W'?NO-DISPLAY?. 6. 用來匹配模式與邏輯表達式 "p_num CO '0123456789.' ?p_num NA 'A....'" ? ?1. CO / CN?contains only or not ? ? ?: ?只包含 ?不包含 CA / NA contains any or not any :包含任何一個 ?不包含任何一個 CS / NS contain string or not ? ? ?:包含string ? ? 不包含string CP / NP contains pattern or not ?: 包含模式 ? ? ? 不包含模式 ? ???IF?g_fiuser?=?space.?"非財務用戶?
????? r_werks-?sign?=?'I'?.
????? r_werks-?option?=?'NP'?.
????? r_werks-?low?=?'*'?.?"全部門店
??????APPEND?r_werks.
??????CLEAR?r_werks.
????ELSE?.
????? r_werks-?sign?=?'I'?.
????? r_werks-?option?=?'CP'?.
????? r_werks-?low?=?'*'?.?"全部門店
??????APPEND?r_werks.?
??????CLEAR?r_werks.
????ENDIF?.? 2.邏輯表達式 EQ或=????????? 等于
? ? ?NE或<>或><???? 不等于
? ? ?LT或<????????? 小于
? ? ?LE或<=????????? 小于等于
? ? ?GT或>????????? 大于 GE或>=????????? 大于等于 7. 將特定的值查詢后直接賦值到指定的變量中。 SELECT SINGLE?name1 jyfs mdxz?INTO?(g_name1,?g_jyfs,g_mdxz?)?FROM?t001w?WHERE?werks?=?p_werks. ?
? ? ??ON CHANGE OF?<fs_a>-clas1?.?
? ? ? ??CLEAR?:?l_pm.?
? ? ??ENDON?.?
? ? ? l_pm?=?l_pm +?1.?
? ? ? <fs_a>-?pm?=?l_pm?.?
????ENDLOOP?. 10.*刪除F8按鈕. ??APPEND?'CRET'?TO?gt_exclude.
??CALL FUNCTION?'RS_SET_SELSCREEN_STATUS'
????EXPORTING?
????? p_status??=?sy-pfkey
????TABLES?
????? p_exclude?=?gt_exclude. ? ? ? 11.BCALV_EDIT_04:使用INFORM來展示數據 ??* first check airline and connection ??select single?*?from?spfli?into?gs_spfli?where?carrid?=?g_carrid?and?connid?=?g_connid.
??if?sy-?subrc?ne?0?.
????call function?'POPUP_TO_INFORM'
?????????exporting?
????????????? titel?=?text?-i01
????????????? txt1??=?text?-i02
????????????? txt2??=?text?-i03
????????????? txt3??=?text?-i04
????????????? txt4??=?text?-i05.?
??else.
* §0.Lock your database table according to CARRID and CONNID?
????perform?lock_sflight?changing?g_success?.
????if?g_success?eq?'X'.
??????call screen?100.
????else?.
??????message?i000(0k?)?with text-?i10.
????endif?.
??endif. 12.* 數量四舍五入 ?向上取值與向下取值 1. ????1.CALL FUNCTION?'HR_NZ_ROUNDING_DECIMALS' ??????EXPORTING?
??????? value_in??=?gv_max?" Input field with decimals
??????? conv_dec??=?0???" i??? Number of desired decimals for conversion
??????IMPORTING?
??????? value_out?=?gv_max.??" Output field with rounded decimals ? ? 2.?a = 1.36 ? b = 1.34 ? ? ? ?CEIL( a/b ). ? "2 ? ? ? ?FLOOR( a/b ). ?"1 ABS( dobj ) 返回參數絕對值 SIGN( dobj )返回參數符號:正數返回1,0返回0,負數返回-1. TRUNC( dobj )返回參數的整數部分 FRAC( dobj )返回參數的小數部分 CEIL( dobj )返回不小于輸入參數的最小整數值 FLOOR( dobj )返回不大于輸入參數的最大整數值 SQRT 平方根 注意:函數名與左括號間不能有空格,括號與參數間必須有空格. 13.檢查必須為數字 ? ???"折扣檢查?
??? l_str_len?=?strlen(?gt_tab?-netpr?).?
????CLEAR?l_do_index.
????DO?l_str_len?TIMES?.
??????IF NOT?'0123456789.'?CA?gt_tab-netpr+l_do_index(?1).
????????CONCATENATE?gt_tab-msg??'折扣必須為數字!'?INTO?gt_tab-msg.
??????ENDIF?.
????? l_do_index?=?l_do_index +?1.?
????ENDDO?. "最好的方法定義一個P類型的,用Catch來把字符串(去掉空格后)賦值給這個P類型,如果返回值為0,就說明是數字~ 14.ZFC_RT024:如果BAPI調用出錯,直接跳出本次的調用PERFORM 則使用RETURN。程序塊:FORM,MODULE,EVENT等。 ? 1. CHECK: 后面跟一個表達式,當表達式的值為假(false),CHECK發生作用,退出循環LOOP或者處理程序 Processing Block. ? ? ? ? ? 如果CEHCK在循環中,則退出當前的一次循環,從下一次循環繼續執行,類似于CONTINUE. ? ? ? ? ? 如果CHECK出現在循環外,則發生作用時,退出的是當前執行的程序塊 Processing Block,如:FORM METHOD or EVENT. 2. EXIT: ?EXIT出現在循環中,退出整個循環,程序從循環結束處開始繼續執行。? ? ? ?? ? ?EXIT出現在循環外,退出的是當前的程序塊:processing Block,如:FORM METHOD or EVENT。與RETURN類似。 3. RETURN:使用RETURN來退出當前執行的程序塊,不管是在LOOP中還是在Processing Block中, ? ?PS: ? ?建議只在循環中使用EXIT,而不使用RETURN,在外部退出Processing Block中,使用RETURN。 4. LEAVE PROGRAM: 直接退出當前程序。 5. CONTINUE: 與CHECK類似,CHECK是有條件終止,CONTINUE是無條件終止。在循環中,結束此輪循環,繼續下一輪循環。
15.?初始化field-symbols : ? ??UNASSIGN <fs_gw_eban>?. ? 16. 在界面顯示正在執行的動作. ??if?SY?-BATCH?is initial?.?"SY-BATCH 正在后臺執行程序
????call function?'SAPGUI_PROGRESS_INDICATOR'
??????exporting?
????????TEXT?=?'正在遷移中間數據...'.
??endif. 17. 解決篩選時出現篩選輸入字段沒有實際表中的字段那么長的問題。 定義參照的表和字段,對于自定義的字段使用intlen屬性來設置 ??CLEAR:?ls_fieldcat.
??LOOP AT?gt_fieldcat?INTO?ls_fieldcat.
????CASE?ls_fieldcat-fieldname?.
??????WHEN?'MATNR'.
??????? ls_fieldcat-?ref_table?=?'MARA'?.
??????? ls_fieldcat-?ref_field?=?'MATNR'?.
*??????? ls_fieldcat-intlen??? = 18.?
????ENDCASE?.
????MODIFY?gt_fieldcat?FROM?ls_fieldcat?.
??ENDLOOP. 18.單位轉換函數:? CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'EXPORTINGinput = lv_in"輸入的英文單位IMPORTINGoutput = lv_out."輸出的中文單位 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'EXPORTINGinput = lv_in"輸入的中文單位IMPORTINGoutput = lv_out."輸出的英文單位 19.RENAMING WITH SUFFIX suffix TYPES: BEGIN OF t_day, work TYPE c LENGTH 8, free TYPE c LENGTH 16, END OF t_day. DATA BEGIN OF week. INCLUDE TYPE t_day AS monday????RENAMING WITH SUFFIX _mon. INCLUDE TYPE t_day AS tuesday?? RENAMING WITH SUFFIX _tue. INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed. ... DATA END OF week. 20.ABAP的Parameter ID ,用來get/set值
????????? value_in? = l_p??????????????????? " Input field with decimals
????????? conv_dec? = 0???????????????????????? " i??? Number of desired decimals for conversion
??????? IMPORTING
????????? value_out = l_p??????????????? " Output field with rounded decimals
*?????? EXCEPTIONS
*???????? NO_ROUNDING_REQUIRED???????????? = 1??????? " No rounding required. (CONV_DEC > VALUE_IN dec)
*???????? DECIMALS_GREATER_THAN_10?????? = 2??????? " Conversion only possible with decimals <= 10
*???????? ROUNDING_ERROR????????????????????????? = 3??????? " An error occurred during the decimal conversion
*???????? OTHERS?????????????????????????????????????????? = 4. ? ? ? ?
? ? ? ? ? ?
?????????????ID?'BRAND'?FIELD?p_brand.?
????IF?sy-?subrc <>?0.?
??????MESSAGE?e001(00?)?WITH?'無品牌'?p_brand?'的權限'.?
????ENDIF?. ? 2.?BKK_DOMAIN_TEXTS_READ讀取域文本的內容,并存放到內表中, ? ? ???DATA:?lt_text?TYPE?bkkdc_t_domain_text,?"抬頭
??????????? lw_text?TYPE?bkkdc_s_domain_text?."工作區
??????CALL FUNCTION?'BKK_DOMAIN_TEXTS_READ'
????????EXPORTING?
????????? i_langu????????=?sy-langu
????????? i_domname??????=?'ZD_HZDLX'?
????????IMPORTING?
? ? ? ? ? et_domain_text?=?lt_text[]?.? ? ? ? ?方式二: ? ? ?DATA:?lt_domain?TYPE STANDARD TABLE OF?dd07v?WITH HEADER LINE?. ? ???CALL FUNCTION?'DD_DOMVALUES_GET'
??????EXPORTING?
??????? domname???=?'ZD_ZAPPSEX'
????????text??????=?'X'
??????? langu?????=?sy?-langu
??????TABLES?
??????? dd07v_tab?=?lt_domain. ? ?方式三: DATA:?lt_values_tab??TYPE?TABLE?OF?dd07v. CALL?FUNCTION?'GET_DOMAIN_VALUES'
??????????EXPORTING
????????????domname?????????=?'ZE_ZZSTA'
*???????????TEXT????????????=?'X'
*???????????FILL_DD07L_TAB??=?'?'
??????????TABLES
????????????values_tab??????=?lt_values_tab
*???????????VALUES_DD07L????=
??????????EXCEPTIONS
????????????no_values_found?=?1
????????????OTHERS??????????=?2.
????????IF?sy-subrc?<>?0.
??????????REFRESH?lt_values_tab.
????????ENDIF. 3.使用消息,便面DUMP掉。 ??CALL FUNCTION?'REUSE_ALV_GRID_DISPLAY'?
????EXPORTING?
????? i_callback_program???????=?w_repid
????? i_callback_pf_status_set?=?'FRM_SET_PF_STATUS'
????? i_callback_user_command??=?'FRM_USER_COMMAND'
????? is_layout????????????????=?w_layout
????? it_fieldcat??????????????=?it_fieldcat[]
????? i_save???????????????????=?'A'
????TABLES?
????? t_outtab?????????????????=?gt_fhhzd[]
????EXCEPTIONS?
????? program_error????????????=?1?
??????OTHERS???????????????????=?2.?
??IF?sy-?subrc <>?0.?
????MESSAGE?e001(00?)?WITH?'函數REUSE_ALV_GRID_DISPLAY錯誤!'?.
??ENDIF. 4. 調用SUBMIT獲取數據 ??SUBMIT?zhzd_process
??????????WITH?p_hzd?EQ?l_hzd
??????????WITH?p_lx?EQ?'M'?
??????????AND RETURN?.
??IMPORT?msg?=?gt_fhhzd-msg subrc?=?sy-?subrc?FROM MEMORY ID?'ZHZD_PROCESS'. ? REPORT?zhzd_process.?
DATA:?msg?TYPE?char255.?
PARAMETERS?p_hzd?TYPE?ze_hzd.
PARAMETERS?p_lx?TYPE c?.
CASE?p_lx.?
??WHEN?'F'.?
????CALL FUNCTION?'Z_JSLHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
??WHEN?'T'.?
????CALL FUNCTION?'Z_JSLTHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
??WHEN?'M'.?
????CALL FUNCTION?'Z_MDHZD_PROCESS'
??EXPORTING
??? hzd???????????=?p_hzd
??IMPORTING
??? msg???????????=?msg
??EXCEPTIONS
??? process_error?=?1
????OTHERS????????=?2.?
ENDCASE.
EXPORT?msg?=?msg subrc?=?sy?-subrc?TO MEMORY ID?'ZHZD_PROCESS'. ? 5. 默認值,但是不顯示 ? ? ??PARAMETERS:p_jsdlx?LIKE?ztjsd?-jsdlx?DEFAULT?'W'?NO-DISPLAY?. 6. 用來匹配模式與邏輯表達式 "p_num CO '0123456789.' ?p_num NA 'A....'" ? ?1. CO / CN?contains only or not ? ? ?: ?只包含 ?不包含 CA / NA contains any or not any :包含任何一個 ?不包含任何一個 CS / NS contain string or not ? ? ?:包含string ? ? 不包含string CP / NP contains pattern or not ?: 包含模式 ? ? ? 不包含模式 ? ???IF?g_fiuser?=?space.?"非財務用戶?
????? r_werks-?sign?=?'I'?.
????? r_werks-?option?=?'NP'?.
????? r_werks-?low?=?'*'?.?"全部門店
??????APPEND?r_werks.
??????CLEAR?r_werks.
????ELSE?.
????? r_werks-?sign?=?'I'?.
????? r_werks-?option?=?'CP'?.
????? r_werks-?low?=?'*'?.?"全部門店
??????APPEND?r_werks.?
??????CLEAR?r_werks.
????ENDIF?.? 2.邏輯表達式 EQ或=????????? 等于
? ? ?NE或<>或><???? 不等于
? ? ?LT或<????????? 小于
? ? ?LE或<=????????? 小于等于
? ? ?GT或>????????? 大于 GE或>=????????? 大于等于 7. 將特定的值查詢后直接賦值到指定的變量中。 SELECT SINGLE?name1 jyfs mdxz?INTO?(g_name1,?g_jyfs,g_mdxz?)?FROM?t001w?WHERE?werks?=?p_werks. ?
8. DIV除之后,取的是整數部分,舍棄了小數部分的內容。如果想保留小數部分,需要使用‘/’
? 9.?ON_CHANGE_OF 用來分組排序,在不同的組內進行排序。 ? ???LOOP AT?gt_data?ASSIGNING?<fs_a>.? ? ??ON CHANGE OF?<fs_a>-clas1?.?
? ? ? ??CLEAR?:?l_pm.?
? ? ??ENDON?.?
? ? ? l_pm?=?l_pm +?1.?
? ? ? <fs_a>-?pm?=?l_pm?.?
????ENDLOOP?. 10.*刪除F8按鈕. ??APPEND?'CRET'?TO?gt_exclude.
??CALL FUNCTION?'RS_SET_SELSCREEN_STATUS'
????EXPORTING?
????? p_status??=?sy-pfkey
????TABLES?
????? p_exclude?=?gt_exclude. ? ? ? 11.BCALV_EDIT_04:使用INFORM來展示數據 ??* first check airline and connection ??select single?*?from?spfli?into?gs_spfli?where?carrid?=?g_carrid?and?connid?=?g_connid.
??if?sy-?subrc?ne?0?.
????call function?'POPUP_TO_INFORM'
?????????exporting?
????????????? titel?=?text?-i01
????????????? txt1??=?text?-i02
????????????? txt2??=?text?-i03
????????????? txt3??=?text?-i04
????????????? txt4??=?text?-i05.?
??else.
* §0.Lock your database table according to CARRID and CONNID?
????perform?lock_sflight?changing?g_success?.
????if?g_success?eq?'X'.
??????call screen?100.
????else?.
??????message?i000(0k?)?with text-?i10.
????endif?.
??endif. 12.* 數量四舍五入 ?向上取值與向下取值 1. ????1.CALL FUNCTION?'HR_NZ_ROUNDING_DECIMALS' ??????EXPORTING?
??????? value_in??=?gv_max?" Input field with decimals
??????? conv_dec??=?0???" i??? Number of desired decimals for conversion
??????IMPORTING?
??????? value_out?=?gv_max.??" Output field with rounded decimals ? ? 2.?a = 1.36 ? b = 1.34 ? ? ? ?CEIL( a/b ). ? "2 ? ? ? ?FLOOR( a/b ). ?"1 ABS( dobj ) 返回參數絕對值 SIGN( dobj )返回參數符號:正數返回1,0返回0,負數返回-1. TRUNC( dobj )返回參數的整數部分 FRAC( dobj )返回參數的小數部分 CEIL( dobj )返回不小于輸入參數的最小整數值 FLOOR( dobj )返回不大于輸入參數的最大整數值 SQRT 平方根 注意:函數名與左括號間不能有空格,括號與參數間必須有空格. 13.檢查必須為數字 ? ???"折扣檢查?
??? l_str_len?=?strlen(?gt_tab?-netpr?).?
????CLEAR?l_do_index.
????DO?l_str_len?TIMES?.
??????IF NOT?'0123456789.'?CA?gt_tab-netpr+l_do_index(?1).
????????CONCATENATE?gt_tab-msg??'折扣必須為數字!'?INTO?gt_tab-msg.
??????ENDIF?.
????? l_do_index?=?l_do_index +?1.?
????ENDDO?. "最好的方法定義一個P類型的,用Catch來把字符串(去掉空格后)賦值給這個P類型,如果返回值為0,就說明是數字~ 14.ZFC_RT024:如果BAPI調用出錯,直接跳出本次的調用PERFORM 則使用RETURN。程序塊:FORM,MODULE,EVENT等。 ? 1. CHECK: 后面跟一個表達式,當表達式的值為假(false),CHECK發生作用,退出循環LOOP或者處理程序 Processing Block. ? ? ? ? ? 如果CEHCK在循環中,則退出當前的一次循環,從下一次循環繼續執行,類似于CONTINUE. ? ? ? ? ? 如果CHECK出現在循環外,則發生作用時,退出的是當前執行的程序塊 Processing Block,如:FORM METHOD or EVENT. 2. EXIT: ?EXIT出現在循環中,退出整個循環,程序從循環結束處開始繼續執行。? ? ? ?? ? ?EXIT出現在循環外,退出的是當前的程序塊:processing Block,如:FORM METHOD or EVENT。與RETURN類似。 3. RETURN:使用RETURN來退出當前執行的程序塊,不管是在LOOP中還是在Processing Block中, ? ?PS: ? ?建議只在循環中使用EXIT,而不使用RETURN,在外部退出Processing Block中,使用RETURN。 4. LEAVE PROGRAM: 直接退出當前程序。 5. CONTINUE: 與CHECK類似,CHECK是有條件終止,CONTINUE是無條件終止。在循環中,結束此輪循環,繼續下一輪循環。
? ? ?6. STOP:結束當前塊,從下一個塊開始執行。這里的塊指的是語句快。直接到END-OF-SELECTION.
15.?初始化field-symbols : ? ??UNASSIGN <fs_gw_eban>?. ? 16. 在界面顯示正在執行的動作. ??if?SY?-BATCH?is initial?.?"SY-BATCH 正在后臺執行程序
????call function?'SAPGUI_PROGRESS_INDICATOR'
??????exporting?
????????TEXT?=?'正在遷移中間數據...'.
??endif. 17. 解決篩選時出現篩選輸入字段沒有實際表中的字段那么長的問題。 定義參照的表和字段,對于自定義的字段使用intlen屬性來設置 ??CLEAR:?ls_fieldcat.
??LOOP AT?gt_fieldcat?INTO?ls_fieldcat.
????CASE?ls_fieldcat-fieldname?.
??????WHEN?'MATNR'.
??????? ls_fieldcat-?ref_table?=?'MARA'?.
??????? ls_fieldcat-?ref_field?=?'MATNR'?.
*??????? ls_fieldcat-intlen??? = 18.?
????ENDCASE?.
????MODIFY?gt_fieldcat?FROM?ls_fieldcat?.
??ENDLOOP. 18.單位轉換函數:? CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'EXPORTINGinput = lv_in"輸入的英文單位IMPORTINGoutput = lv_out."輸出的中文單位 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'EXPORTINGinput = lv_in"輸入的中文單位IMPORTINGoutput = lv_out."輸出的英文單位 19.RENAMING WITH SUFFIX suffix TYPES: BEGIN OF t_day, work TYPE c LENGTH 8, free TYPE c LENGTH 16, END OF t_day. DATA BEGIN OF week. INCLUDE TYPE t_day AS monday????RENAMING WITH SUFFIX _mon. INCLUDE TYPE t_day AS tuesday?? RENAMING WITH SUFFIX _tue. INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed. ... DATA END OF week. 20.ABAP的Parameter ID ,用來get/set值
Parameter ID 通常用于 Data element中,通過set/get方法存取它的值, 那么到底Parameter ID 在哪兒進行維護的呢? 要注意的是這個Parameter ID 是跨Client的,所以維護的時候要注意。
記住可維護表:TPARA 是有必要的 21.查詢用戶的權限列表: SUIM ?OR S_BCE_68001400 22.? ? ? 四舍五入函數: CALL FUNCTION 'HR_NZ_ROUNDING_DECIMALS' ??????? EXPORTING????????? value_in? = l_p??????????????????? " Input field with decimals
????????? conv_dec? = 0???????????????????????? " i??? Number of desired decimals for conversion
??????? IMPORTING
????????? value_out = l_p??????????????? " Output field with rounded decimals
*?????? EXCEPTIONS
*???????? NO_ROUNDING_REQUIRED???????????? = 1??????? " No rounding required. (CONV_DEC > VALUE_IN dec)
*???????? DECIMALS_GREATER_THAN_10?????? = 2??????? " Conversion only possible with decimals <= 10
*???????? ROUNDING_ERROR????????????????????????? = 3??????? " An error occurred during the decimal conversion
*???????? OTHERS?????????????????????????????????????????? = 4. ? ? ? ?
?
?? ? ? ? ? ?
轉載于:https://www.cnblogs.com/colorstory/p/3802593.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: iOS执行时工具-cycript
- 下一篇: MFC 错误异常,用vs添加资源并为资源