使用Report輸入一個圖標代碼
INCLUDE <list>. “必須要添加此引用WRITE icon_green_light AS ICON. “顯示一個綠燈圖標黃燈:icon_yellow_light 紅燈:icon_red_light[@more@]
ABAP算朮表達式匯總
數學表達式語句關鍵字語句加法n = x + y.ADD y TO X.減法n = x – y.SUBTRACT y FROM x.乘法n = x * y.MULTIPLY x BY y.除法n = x / y.DIVIDE x BY y.整除n = x DIV y.無取余n = x MOD y.無冪(乘方)n = x ** y無[@more@]
ABAP數學函數匯總
ABS返回輸入參數的絕對值SIGN返回輸入參數符號:正數返回1、0返回0、負數返回-1TRUNC返回輸入參數的整數部分FRAC返回輸入參數的小數部分CEIL返回不小於輸入參數的最小整數值FLOOR返回不大於輸入參數的最大整數值COS、SIN、TAN三角函數ACOS、ASIN、ATAN返三角函數COSH、SINH、TANH雙曲函數EXP底數為eLOG底數為e的自然對數LOG10底數為10的對數SQRT平方根[@more@]
幾個常用函數的使用
1. 在字符串前補0. (如果p_input的位數未滿,則會於前面補0,直至位數爲自定的長度. call function 'CONVERSION_EXIT_ALPHA_INPUT' exporting input = p_input IMPORTING OUTPUT = p_input . 2.去掉字符串前的0call function 'CONVERSION_EXIT_ALPHA_OUTPUT' exporting input = p_input IMPORTING OUTPUT = p_input .3.用戶確認對話框[@more@] call function 'POPUP_TO_CONFIRM' exporting* TITLEBAR = ' '* DIAGNOSE_OBJECT = ' ' text_quest
SAP逐行寫出Excel文件
report ztest_export_excel. include ole2incl. data: application type ole2_object, workbook type ole2_object, sheet type ole2_object, cells type ole2_object.constants: row_max type i value 256.data index type i.data: begin of itab occurs 0, first_name(10), last_name(10), address(100), end of itab.start-of-selection. ...[@more@]"Add data to itab itab-first_name = '123445'. itab-last_name = 'tesst'. itab-address = '中國'. append itab. clear itab. itab-first_name = 'AB
根据TCODE找用户出口的代码
EPORT z_find_userexit NO STANDARD PAGE HEADING.TABLES : tstc, "SAP Transaction Codes tadir, "Directory of Repository Objects modsapt, "SAP Enhancements - Short Texts modact, "Modifications trdir, "System table TRDIR tfdir, "Function Module enlfdir, "Additional Attributes for Function Modules tstct. "Transaction Code Texts*&-------------------------------------------------------
匯入物料主檔基本資料的BDC程式
Report zbdc_mm_w_test no standard page heading line-size 255.include .tables:mara,makt.data : bdcdata_itab like bdcdata occurs 0 with header line.data : messtab like bdcmsgcoll occurs 0 with header line.data: s_mode(1) type c.data : size type i.data: begin of wa_tab,matnr like mara-matnr, "物料碼mtart like mara-mtart, "物料類型maktx like makt-maktx, "物料描述maktxen like makt-maktx, "物料英文名meins like mara-meins, " 物料單位bismt like mara-bismt, "舊物產碼matkl li
列印SAP報表時顯示日期及用戶名
1.使用SAP標準Menu: 設定(S)->配置(A)->更改(C)... 2. 在配置設定中選擇"顯示"Tab 3.選擇最後一個選項"含日期,標題及頁數的印出"4.保存退出即可.[@more@]
建立背景作業
在SAP中建立背景作業很簡單, 3個步驟即可完成, 代碼如下:data: g_jobname TYPE tbtcjob-jobname VALUE 'JOB_TEST', g_jobcount TYPE tbtcjob-jobcount, g_jobdate TYPE BTCSDATE value '20070801', g_jobtime TYPE BTCSTIME value '123000'. 1.使用FM:JOB_OPEN建立作業 CALL FUNCTION 'JOB_OPEN' EXPORTING jobname = p_jobname IMPORTING jobcount = p_jobcount EXCEPTIONS cant_create_job = 1 invalid_job_data = 2 jobname_missing = 3 OTHERS
根據frame的大小自動調整頁面高度
將以下代碼置於要顯示於frame的頁面中即可,有一點需要注意的就是定義的frame必須要有name屬性, 否則無效.<script>function f_frameStyleResize(frameObj){var targWin = frameObj.parent.document.all[frameObj.name];if(targWin != null) {var HeightValue = frameObj.document.body.scrollHeight// if(HeightValue < 500){HeightValue = 500} //限制最小高度targWin.style.pixelHeight = HeightValue;}}function f_iframeResize(){f_frameStyleResize(self);}window.onload = f_iframeResize;</script>[@more@]
at new <field>的使用例子
report demo_use_at.data: begin of wa, field1(1) type c, field2(2) type c, field3(6) type c, end of wa.data itab like wa occurs 0 .wa-field1 = 'A'.do 2 times. wa-field2 = sy-index. CONDENSE wa-field2. concatenate wa-field1 wa-field2 into wa-field2. do 3 times. wa-field3 = sy-index. CONDENSE wa-field3. concatenate 'Line' wa-field3 into wa-field3. insert wa into table itab. enddo.enddo.wa-field1 = 'B'.do 3 times. wa-field2 = sy-index. CONDENSE wa-fiel
ABAP FM: REUSE_ALV_GRID_LAYOUT_INFO_GET
函數REUSE_ALV_GRID_LAYOUT_INFO_GET是取得ALV GRID中的訊息, 如在使用ALV 標準工具過濾, 排序等功能時, 可使用該FM取得各種操作訊息. 例: data: itfilter type slis_t_filtered_entries. call function 'REUSE_ALV_GRID_LAYOUT_INFO_GET' importing et_filtered_entries = itfilter. itfilter表中會取得當前ALV過濾條件外的記錄資料.函數格式具體如下: call function 'REUSE_ALV_GRID_LAYOUT_INFO_GET'* IMPORTING* ES_LAYOUT =* ET_FIELDCAT =* ET_SORT =*
ABAP中Char類型數據轉換成Decimal類型
在ABAP中CHAR轉到Decimal的功能, 到目前爲止我在ABAP的FM中找不到相關轉函數, 所以衹有自己寫了, 代碼如下:data: varChar(40) type c.data: varDec type p decimal 3.varChar = '1,500'."這時如果使用varDec = varChar.會提示出錯(因爲有',')replace all occurrences of ',' in varChar with space.condense varChar no-gaps. varDec = varChar.[@more@]
ABAP計算自動義公式
原理是動態建立一個ABAP程式處理 以下代碼是根據自動的字符串公式自動計算出結果,如輸入公式字串:12 + 5 * ( 5 -2 ), 計算出的結果爲27, 這樣就不用用固定代碼了, 可以根據公式動態計算結果......不錯吧不過需注意的有, 字串公式中不能出現小數點, 如3.5 *2 等, 要改爲35 / 10 * 2, 還有一點就是各參數及操作符之單要有一個空格, 要懂得ABAP語法哦...... report ZABAP_Test_01.parameters: p_code1(100) type c.data t_source_tab(72) occurs 0 with header line.data g_program_name like sy-repid.data g_message(128).data g_line_
根據用戶不同的選擇動態改變程式的標題
根據用戶不同的選擇動太改變程式的標題(SY-TITLE)。原代碼:REPORT ZRP_CHANGE_TITLE NO STANDARD PAGE HEADING.SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T1.PARAMETER: OPT_1 RADIOBUTTON GROUP OPT1 TYPE C,OPT_2 RADIOBUTTON GROUP OPT1 TYPE C.SELECTION-SCREEN END OF BLOCK B1.INITIALIZATION.T1 = 'Select Option:'.SY-TITLE = 'Testing SY-TITLE.'.START-OF-SELECTION.IF OPT_1 = 'X'.SY-TITLE = 'You Select The First Option.'.ELSEIF OPT_2 = 'X'.SY-TITLE = 'You Select The Second Option.'.ENDIF. [@more@]
用代碼動太加入F4選擇列表(Function:F4IF_INT_TABLE_VALUE_REQUEST)
SAP可以新增Search Help文件幫助用戶選擇資料,但有時對用戶的選擇要加入一些控制條件等,就需用代碼來動太控制了,具體代碼如下:在ON VALUE-REQUEST事件中加入要選擇資料的欄位並編寫相應的處理模組:PROCESS ON VALUE-REQUEST.FIELD Field_Name MODULE HLP_FieldName. 模組HLP_FieldName的代碼:MODULE HLP_FieldName INPUT. "定義要顯示供選擇表的欄位DATA: BEGIN OF IT_MARA OCCURS 0. DATA: MATNR LIKE MARA-MATNR.DATA: MAKTX LIKE MAKT-MAKTX.DATA: END OF IT_MARA."取得供用戶選擇的資料(所有原材料)SELECT * INTO
設置/獲得光標位置
要設置光標位置一般在PBO,獲取光標當前的位置在PBI:*&---------------------------------------------------------------------**& Module set_Cursor OUTPUT*&---------------------------------------------------------------------** 設置光標的位置*-----------------------------------------------------------------------*MODULE SET_CURSOR OUTPUT. " CUR_FIELDNAME為要定位的欄位名稱 SET CURSOR FIELD CUR_FIELDNAME OFFSET 0.ENDMODULE. " set_Cursor OUTPUT *&----------------------
初始化ListBox選擇清單
向ListBox控件加入選擇清單,原代碼: DATA: IT_VAL TYPE VRM_VALUES, WA_LINE LIKE LINE OF IT_VAL. CLEAR: IT_VAL[], IT_VAL. "加入要顯示的清單至內表 DO 10 TIMES. WA_LINE-KEY = SY-INDEX. WA_LINE-TEXT = '說明文本'. INSERT WA_LINE INTO TABLE IT_VAL. ENDDO. CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = 'Screen filed name'. "ID:屏幕中的欄位名稱(ListBox的名稱) VALUES = IT_VAL.[@more@]
常用的BDC OkCode
以下是寫BDC時常用到的OKCODE:/nn : Function Key nn/00 : Enter=ENTE : Enter/8: F8,Continue or Execute/11: F11,Post%EX: Exit=BACK: F3,Back Previous Screen=DLT: Delete=PICK: Double Click=SAVE: F11,Save ......[@more@]
SAP系統常用變量
系统内部有一個专门存放系统变量的結構SYST,其中最常用的系统变量有:SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX : 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的第几笔SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: 當前系統編號(CLIENT NUMBER)SY-VLINE: 画竖线SY-ULINE: 画横线[@more@]