列印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
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@]
根據欄位名等查找SAP的表或結構(程式代碼)
在SAP中找表對初學者來說是很復雜的事情,所以為自己寫了一個找表的程式,代碼如下:*&---------------------------------------------------------------------**& Report Z_FIND_TABLE*&---------------------------------------------------------------------**&查找表或結構*&*&---------------------------------------------------------------------*REPORT Z_FIND_TABLE.TABLES: TADIR,TRDIRT,TSTC,DD03L,DD02L,DD04L,DD02T,DD03T,DD04T.TYPE-POOLS: SLIS.DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,FIEL
SAP徹底刪除物料主檔操作
操作步骤:1、先将要删除的物料标记删除(MM06)2、运行程式MMREO001选择要删除的物料3、运行程式MREO050 备份物料4、运行程式REO110 删除物料也可以使用TCODE:SARA去删除物料,操作步骤基本同上。[@more@]
SAP交易事務碼(TCODE)
1、常用的特殊TCODE:/n :回到當前窗口的初始狀態/I :退出當前窗口/nex :結束當前登錄,退出所有窗口/o :新建窗口/h :啟動當前窗口業務的單步跟蹤SM12 :解鎖程序SNUM :新建編號對象(CALL FUNCTION ‘NUMBER_GET_NEXT’函數可取得最後編號)SE03 :修改本地對象的開發類SCC1 :同主機不同Client對象拷貝SPAD :配置打印機SQVI :QuickViewer報表設計SM12 :解鎖功能SE10 :上傳請求STMS :接收請求SARA :徹底刪除物料等記錄SM01 :系統訊息SPRO :系統配置OMT0 :物料全局設定OMS9 :設置物料數據屏幕字段選擇OMS2 :設置物料類型選