您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > SCREEN PAINTER I - 仿发票制作
T-Code:Se51一般程式建立好只會有畫面1000,所以100~300皆為另外建立首先先建立一個自己的畫面100,左邊是參考的發票【流程邏輯】,右邊則是我們自己建立的裡面的每個物件都可以doubleclick,都有一些程式碼1.2基本的2個模組:PBO和PAI當我們在MODULESTATUS_0100和MODULEUSER_COMMAND_0100.雙擊時,分別出現以下提示訊息網路上的資料中也有特別提及PBO及PAI模組另外在發票套印的程式碼中也可看見以下程式碼所以這2個模組是必要且基本的,如果我們試著照他的提示建立則會是以下的ProgramNamePBO:ZRDANI504_STATUS_0100O01PAI:ZRDANI504_USER_COMMAND_0100I01複製成和發票一樣的名稱方便比對PBO:ZRDANI504PBOPAI:ZRDANI504PAI這時我們原本的程式ZRDANI504則會多出以下2個INCLUDE的程式碼一樣修改一下INCLUDEZRDAN504PBO.(ZRDANI504_STATUS_0100O01.)INCLUDEZRDANI504PAI.(ZRDANI504_USER_COMMAND_0100I01.)接下來的在發票的【流程邏輯】中PBO有段迴圈LOOPATIT_LISTWITHCONTROLCONTROL_100CURSORCONTROL_100-CURRENT_LINE....ENDLOOP.這個IT_LIST就是我們GRID的欄位資料,所以我們一樣建一個TABLE加入要顯示的欄位,並在程式碼中將符合條件的資料APPEND到IT_LIST中(以下為測試簡易程式碼):LOOPATt_likpINTOw_likp.MOVE-CORRESPONDINGw_likpTOIT_LIST.APPENDIT_LIST.ENDLOOP.再來可以看到發票套印在依畫面條件處理完後程式碼IFIT_LIST[]ISNOTINITIAL.CALLSCREEN100.就會進入Screenpainter的【流程邏輯】頁籤,我們也在程式中加入此段程式碼接著就針對SCREENPAINTER中畫面及程式的做修改1、在【流程邏輯】PBOMODULESTATUS_0100.*MODULECHANGE_ATTR.尚未得知影響點LOOPATIT_LISTWITHCONTROLCONTROL_100CURSORCONTROL_100-CURRENT_LINE.*MODULEMODIFY_SCREEN_0100.發票處理,暫不加入*MODULECONTROL_100_GET_LINES.尚未得知影響點MODULECONTROL_100_MOVE.將IT_LIST的資料搬到ZSDM01,資料才會顯示,且影響全選、全不選*MODULESET_CURSOR.尚未得知影響點ENDLOOP.---------------------------------------------------------------------------------------------MODULESTATUS_0100OUTPUT.SETPF-STATUS'STANDARD'.SETTITLEBAR'100'.ENDMODULE.Doubleclick'STANDARD'.設定顯示的圖示與按鈕。MODULECONTROL_100_MOVEOUTPUT.MOVE-CORRESPONDINGIT_LISTTOZFIT004.IFIT_LIST-MARK='X'.MARK='X'.ENDIF.ENDMODULE.CONTROL_100_MOVEOUTPUT畫面製作一開始什麼都沒有,先建立一個表格GRID再拉入一個INPUT/OUTPUTField到GRID上,並設定其參數如下圖接著再將TextField拉到欄位顯示表頭,並設定欄位及顯示的說明格式重覆以上步驟完成第2、3個欄位2、在【流程邏輯】PAI*MODULEEXIT_0100ATEXIT-COMMAND.清除另1個ITTABLE,測試程式目前不需要LOOPATIT_LIST.FIELDMARKMODULECHECK_MARK.判斷使用者是否選取ENDLOOP.MODULEUSER_COMMAND_0100.
本文标题:SCREEN PAINTER I - 仿发票制作
链接地址:https://www.777doc.com/doc-1086145 .html