1. 程式人生 > >ABAP總結之十,SMARTFORM & SAPScript

ABAP總結之十,SMARTFORM & SAPScript

    SMARTFORM和SAPScript是SAP用於列印單據和報表的工具。SMARTFORM是SAPScript的替代工具,但是由於SAP最初都是用SAPScript,所以很多單據的列印,比如PO,Billing都是用SAPScript,所以為了能減少定製的時間,重用SAPScript也是一種不錯的方法。    之前很幸運,在一個專案中把這兩種列印程式都玩了一把,感受頗深。這種列印程式的難點並不在於業務複雜,邏輯難寫,而是測試起來麻煩,必須身邊放臺印表機,隨時測試,隨時修正,直至客戶滿意。我記得一份PO,大概就測試掉50多頁紙。    使用過SAPScript的知道,改寫標準程式還是挺繁的,那種Layout也要調起來比較麻煩。相比之下,SMARTFORM就簡單很多,基本就是圖形化了,很方便。兩種技術,你只要做得多了,都比較簡單,熟能生巧爾。SAPScript的話,身邊備份手冊,SMARTFORM,沒事的時候,把裡面的幾個控制元件多玩玩。    下面我講一下,它們的DEBUG,這個屬於沒用的時候很沒用,有用的時候很有用的東西。    SAPScript: T-code se71->Utilities->Activate Debugger    這樣就可以Debug Form,如果在出問題的欄位‘WRITE FORM’加上斷點,效率會更高。    SMARTFORM: T-code SMARTFORMS    如果你在SMARTFORM中加了程式碼,編輯器是不會允許你設定斷點的。一種方法就是,你在程式碼中加入斷點語句,缺點是,每想設一個斷點,就需要寫一段程式碼。所以,我要說一下,後一種方法。    你自己加的CODE,都會自帶出一個名字的比如‘%code14’。    Environment -> Function Module Name,    The function that generated for this smartforms is ‘/1BCDWB/SF00000227’(自動生成的SMARTFORM程式名)    T-code se37 -> /1BCDWB/SF00000227 -> Goto -> Main Program    最後一個INCLUDE是對DEBUG最有用的,雙擊進入    用‘FIND’去找你要Debug的程式碼,Find中的關鍵字是‘%code14’

相關推薦

ABAP總結SMARTFORM & SAPScript

    SMARTFORM和SAPScript是SAP用於列印單據和報表的工具。SMARTFORM是SAPScript的替代工具,但是由於SAP最初都是用SAPScript,所以很多單據的列印,比如PO,Billing都是用SAPScript,所以為了能減少定製的時間,重用S

Hibernate總結HelloWorld

config server 主鍵 clas commit generator mysq false odi 1. 引入相關maven依賴:<dependency> <groupId>org.hibernate</groupId> &l

【C++】STL常用容器總結二:string類

13、string類 宣告 string類本不是STL的容器,但是它與STL容器有著很多相似的操作,因此,把string放在這裡一起進行介紹。 之所以拋棄char*的字串而選用C++標準程式庫中的string類,是因為他和前者比較起來,不必擔心記憶體是

Qt總結五:QByteArray詳解

一、QByteArray類 提供一個位元組陣列,QByteArray可用於儲存原始位元組(包括“\ 0” )和傳統的8位 “\ 0” 端接字串 . 使用QByteArray比使用const char *更方便. 除了QByteArray之外,Qt還提供了QString類來儲存字串資料。

Qt總結四:uint8_t / uint16_t / uint32_t /uint64_t資料型別詳解

一、C++基礎資料型別 (一)如下圖 C++的主要資料型別,主要分為三類:布林型,整型(char型從本質上說,也是種整型型別,它是長度為1的整數,通常用來存放字元的ASCII碼),浮點型。 (二)byte(位元組)和bit(位) 普及如下: byte為位元組,bit為位

Qt總結一:記憶體洩漏(彙總)

一、簡介        Qt記憶體管理機制:Qt 在內部能夠維護物件的層次結構。對於可視元素,這種層次結構就是子元件與父元件的關係;對於非可視元素,則是一個物件與另一個物件的從屬關係。在 Qt 中,在 Qt 中,刪除父物

Qt總結二:C/C++記憶體分配方式與儲存區

一、C/C++記憶體分配有三種方式   從靜態儲存區域分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個執行期間都存在。例如全域性變數,static變數。 在棧上建立。在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元

Qt總結:QList、QVector和QMap

一、QList QList<QString> list;建立一個列表物件,儲存一列QString型別的值 list<<str<<str1<<str2通過操作符 "<<" 將字串儲存在該列表中 函式QList::append(cons

【C++】STL常用容器總結一:容器小結

12、容器小結 1、容器的選用 Vector和deque容器提供了對元素的快速訪問,但付出的代價是,在容器的任意位置插入或刪除元素,比在容器尾部插入和刪除的開銷更大,因為要保證其連續儲存,需要移動元素;list型別在任何位置都能快速插入和刪除,因為不需要

與其放在電腦裏占內存還不如拿出來幫助一群小白白html篇

cell pan adding rowspan add 歌曲 作者 ctype lsp <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

與其放在電腦裏占內存還不如拿出來幫助一群小白白html篇

dcl body window let ctype urn doctype 繼續 document <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><

轉: 【Java並發編程】七:深入Java內存模型—內存操作規則總結

tle 沒有 article 類型 javase 感知 執行引擎 要求 lock 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17377197 主內存與工作內存 Java內存模型的主要目標是定義程序中

OneNET麒麟座應用開發:空氣質量數據監測站項目總結

device arr mpp mas 地址 實用 問題 volume 數據監測 大氣質量數據監測站用於測試空氣質量監測及數據采集,實現野外或者室內空氣質量的檢測。 1、項目概述 本項目是一個定制項目,要求采集大氣的壓力、溫度、濕度、PM25、位置等數據並上傳到指定的後臺服務

數據挖掘大算法總結--核心思想算法優缺點應用領域

data- 文本分類 target apr 排名 ans kmean 全部 等等 --------------------------

Linux學習總結)-文件復制及查看 環境變量

自動退出 意思 $path 認識 顯示行號 文件查看 動態 參數 tmp 一 文件復制及移動 1.命令 cp --------copy 的意思格式 cp 選項 源文件 目標文件a: 對於文件我們直接cp 文件 目標文件假定我們在普通用戶家目錄下/home/l

Linux 學習總結九)正則三劍客grep

grepgrep 過濾器,egrep可以理解為grep的升級版1 格式:grep [-cinvABC] ‘word‘ filename-c:統計符合要求的行數例如 : grep -c ‘root‘ /etc/passwdgrep -c ‘‘ /etc/passwd 統計文件總行數-i:忽略大小寫-n:行號輸出

Linux學習總結(二七)任務計劃系統服務管理

crontab chkconfig systemctl unit target 1 任務計劃 說白了就是運行命令或者腳本的一個定時器,他可以讓我們在休息時間自動給我們執行任相關任務。來看下它的配置文件:cat /etc/crontab第一行定義了 shell環境第二行定義 環境變量第三行定

Java學習總結四)——java反射機制利用反射動態創建對象

Java反射 動態創建對象 一.Java反射機制1.什麽是反射:反射就是把Java類中的各種成份影射成一個個的Java對象。例:一個類有:成員變量,方法,構造方法等,包等等信息,利用反射技術可以對一個類進行剖析,把各個組成部分影射成一個個對象。2.Java反射常用類:(1)Class類—可獲取類和類的

Java學習總結五)——MySQL數據庫(上)—增改與部分查詢語句

MySQL數據庫 增 刪 改 查 一.MySQL簡介及在DOS下操作MySQL1.MySQL是一種中型關系型數據庫管理系統(DBMS,Database Management System)。註意:關系型數據庫是按照表的方式存儲數據的2.DOS環境下操作MySQL(1)進入MySQL環境:(

總結提交代碼並部署到服務器上為什麽代碼卻沒有更新?

jenkins gitlab docker harbor 容器 問題描述: 遇到過幾次這種情況:開發將代碼提交之後,通過打包部署,發現部署到服務器上的代碼不是最新的,還是修改之前的老代碼。 打包部署流程背景說明: gitlab——》jenkins服務器打jar包——》將打好的jar包過濾並