• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SAP軟件中的程序?qū)ο蠊芾?/h1>
      2017-03-01 09:34:40李林王春波
      中國新通信 2016年23期

      李林+王春波

      【摘要】 SAP系統(tǒng)是一種企業(yè)資源管理軟件,其由德國SAP公司開發(fā),并成功應(yīng)用于80%的世界500強(qiáng)企業(yè),而在SAP軟件的使用過程中,大部分公司都會(huì)使用SAP公司提供的ABAP高級(jí)開發(fā)語言進(jìn)行了本地化系統(tǒng)改造, ABAP語言編寫的SAP程序一般由多種類型的程序?qū)ο蠼M成,這些程序?qū)ο箢愋椭gABAP語言定義了之間的關(guān)聯(lián)關(guān)系,但是SAP公司卻沒有明確說明,本文通過對(duì)程序?qū)ο箢愋偷姆治觯玫匠S玫某绦驅(qū)ο箢愋椭g的父子關(guān)系。這一點(diǎn)可以幫助我們理解ABAP語言的整體架構(gòu),有助于我們進(jìn)行程序開發(fā)及企業(yè)對(duì)自己定制化開發(fā)的程序?qū)ο筮M(jìn)行有效管理。

      【關(guān)鍵詞】 SAP ABAP程序 程序?qū)ο?/p>

      在SAP系統(tǒng)中,進(jìn)行本地化開發(fā)與配置時(shí),會(huì)生成不同類型的開發(fā)對(duì)象,這些開發(fā)對(duì)象以數(shù)據(jù)的形式,存儲(chǔ)在系統(tǒng)的數(shù)據(jù)庫表中,其通過PGMID、OBJECT、OBJ_NAME三個(gè)字段來唯一標(biāo)識(shí)一個(gè)開發(fā)對(duì)象。

      第一個(gè)字段PGMID是指程序標(biāo)識(shí)的一組編碼,一般包括: R3TR、LIMU、CORR幾個(gè)值,其各自的具體含義如下:

      R3TR是表示其內(nèi)容是程序?qū)ο螅窼AP中各種類型的開發(fā)內(nèi)容的一種抽象叫法,是程序開發(fā)內(nèi)容的一種載體,如類、可執(zhí)行程序、接口等。

      LIMU也是指其包含的內(nèi)容是程序?qū)ο?,但其與R3TR的區(qū)別在于,其標(biāo)識(shí)的是R3TR類型的對(duì)象的子對(duì)象,舉例以“可執(zhí)行程序”這種程序?qū)ο髞碚f,一個(gè)“可執(zhí)行程序”類型的對(duì)象,包括多個(gè)子類型的對(duì)象,如“程序屏幕”,指可給用戶看到的主屏幕、子屏幕、選擇屏幕等;再如“源代碼”對(duì)象,指程序中執(zhí)行的主體ABAP代碼語句;可執(zhí)行程序還可以包括“文本元素”對(duì)象,用于在選擇屏幕上展示字段的標(biāo)簽,或在程序源代碼中作為文本常量進(jìn)行使用。

      CORR是指?jìng)渥?、注釋之類的信息,其不包含具體的程序?qū)ο蠛烷_發(fā)內(nèi)容。如一批對(duì)象所在的傳輸請(qǐng)求號(hào),對(duì)象釋放的具體日期、時(shí)間,以及開發(fā)者信息。

      第二個(gè)字段OBJECT是用來表明對(duì)象的類型具體是什么的一組編碼,如為主程序(PROG)類型、源代碼(REPT)類型、文本元素(REPS)類型、程序屏幕(DYNP)等。OBJECT所包含的類型,涵蓋了ABAP程序語言所有已定義的程序?qū)ο箢愋?,從而將所有的程序?qū)ο?,進(jìn)行了明確的分類,用以管理程序?qū)ο笤谲浖脚_(tái)中的存儲(chǔ)、分析、以及組織整個(gè)系統(tǒng)有效地運(yùn)行。

      第三個(gè)字段OBJ_NAME就是指具體的程序?qū)ο竺Q了,如程序的名稱,數(shù)據(jù)庫表的名稱,接口的名稱等等。

      當(dāng)一個(gè)程序?qū)ο蠹せ顣r(shí),SAP系統(tǒng)會(huì)從數(shù)據(jù)庫中讀取需要的對(duì)象內(nèi)容,然后根據(jù)其類型不同,執(zhí)行不同的處理機(jī)制,形成不同的實(shí)際物理對(duì)象,如數(shù)據(jù)庫表、編譯后的程序文件等。

      SAP中所有基于ABAP開發(fā)的程序?qū)ο蠖加幸粋€(gè)對(duì)象類型,不同的對(duì)象類型與對(duì)象類型之間,存在著特定架構(gòu)關(guān)系。如某個(gè)報(bào)表,其對(duì)象類型可以是主程序(PROG)類型,其可能包含源代碼(REPT)類型、文本元素(REPS)類型、程序屏幕(DYNP)類型,這說明他們之間是父子關(guān)系,而文本元素(REPS)類型和程序屏幕(DYNP)類型是相互獨(dú)立的關(guān)系,不存在關(guān)聯(lián)關(guān)系。因此可以理解為一個(gè)“主程序類型”的父開發(fā)對(duì)象,包含“源代碼類型”、“文本元素類型”、“程序屏幕類型”幾個(gè)子類型的開發(fā)對(duì)象,也可以說成“主程序”開發(fā)對(duì)象由“源代碼”、“文本元素”、“程序屏幕”幾個(gè)子開發(fā)對(duì)象組成。

      以上只是列舉了其中的一個(gè)例子,來說明對(duì)象類型之間的關(guān)系,那么SAP系統(tǒng)中存在很多的開發(fā)對(duì)象類型,問題來了,如此多的對(duì)象類型,SAP是如何進(jìn)行有組織的管理呢?作為開發(fā)者,該如何找到這些關(guān)系模型呢?

      實(shí)際上SAP在開發(fā)ABAP開發(fā)平臺(tái)時(shí)已經(jīng)考慮到這一點(diǎn),其在ABAP平臺(tái)中設(shè)立了管理這些程序?qū)ο箢愋偷姆椒?。這里將SAP開發(fā)對(duì)象類型定義成兩種大的類型集合,用以組織對(duì)象類型之間的關(guān)系。一種以PGMID為R3TR 的父類型集合,一種是以PGMID為LIMU 的子類型集合,根據(jù)這種定義方式,一個(gè)父類型可以包含一個(gè)或者多個(gè)子類型,一個(gè)子類型只屬于一個(gè)父類型。另外根據(jù)SAP數(shù)據(jù)視圖EUOBJV,可以查詢某個(gè)父類型包含哪些子類型,以及一個(gè)子類型屬于哪個(gè)父類型。

      上圖1描述了實(shí)現(xiàn)流程,從ABAP的代碼角度具體的實(shí)現(xiàn)方法如下:

      1.設(shè)計(jì)ABAP程序函數(shù),實(shí)現(xiàn)子類型尋找父類型的功能函數(shù)。函數(shù)輸入為子類型OBJECT編碼,定義類型為CHAR4,輸出為父類型OBJECT編碼,定義類型為CHAR4。

      2.函數(shù)邏輯參考邏輯流程圖“子類型尋找父類型”,首先判斷輸入的類型是否存在,再使用下列實(shí)例SQL語句取出父類型

      SELECT SINGLE tadir INTO ex_object

      FROM euobjv WHERE id = in_object.

      3.上述SQL語句輸出的ex_object變量作為返回參數(shù),即為父類型OBJECT編碼。

      4.設(shè)計(jì)ABAP程序函數(shù),實(shí)現(xiàn)父類型尋找子類型的功能函數(shù)。函數(shù)輸入為父類型OBJECT編碼,定義類型為CHAR4,輸出為子類型OBJECT編碼列表,定義為內(nèi)表格式。

      5.函數(shù)邏輯參考邏輯流程圖“父類型尋找子類型”,首先判斷輸入的類型是否存在,再使用下列實(shí)例SQL語句取出子類型內(nèi)表

      SELECT e071 INTO CORRESPONDING FIELDS OF TABL E e071_object FROM euobjv WHERE tadir = object.

      6.上述SQL語句輸出的e071_object即為子類型內(nèi)表,但其中包含重復(fù)項(xiàng),使用下面的ABAP語句可以去除重復(fù)項(xiàng),得到父類型的所有子類型內(nèi)表。

      DELETE ADJACENT DUPLICATES FROM e071_object

      7.返回e071_object內(nèi)表,作為父類型所有的子類型集合。

      通過這種方式,我們可以方便地得到程序?qū)ο箢愋团c程序?qū)ο箢愋椭g的關(guān)系,從而可以幫助使用SAP軟件的企業(yè),或從事SAP軟件開發(fā)咨詢的軟件公司,了解SAP源程序的關(guān)系,理解系統(tǒng)將各種類型的程序?qū)ο蠼M織運(yùn)行的機(jī)制。在國內(nèi)的企業(yè)中,尤其是在中國大型國有企業(yè),如中國石化、國家電網(wǎng)等,這些企業(yè)對(duì)SAP系統(tǒng)進(jìn)行大批量本地化開發(fā),本文所闡述的對(duì)象與對(duì)象之間關(guān)系的分析方法,可以幫助企業(yè)更加有效地組織自己開發(fā)代碼,管理自己的開發(fā)對(duì)象,加強(qiáng)自開發(fā)程序?qū)ο蟮陌姹竟芾恚瑥亩鴰椭髽I(yè)在系統(tǒng)分析、系統(tǒng)安全方面取得進(jìn)一步的提升。

      普定县| 云安县| 廉江市| 从江县| 开化县| 虹口区| 云霄县| 岱山县| 乌海市| 鄂伦春自治旗| 婺源县| 沙洋县| 玛纳斯县| 西安市| 错那县| 隆尧县| 博客| 丰都县| 科技| 平罗县| 华宁县| 汉寿县| 贺州市| 剑阁县| 宣恩县| 陈巴尔虎旗| 抚宁县| 柞水县| 安化县| 泽库县| 怀集县| 息烽县| 敖汉旗| 伊吾县| 谷城县| 乐安县| 乌拉特前旗| 博白县| 无锡市| 宁国市| 道孚县|