專(zhuān)利名稱(chēng)::動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種程序設(shè)計(jì)系統(tǒng)及方法,特別是關(guān)于一種動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)及方法
背景技術(shù):
:在SAP系統(tǒng)中,功能模塊數(shù)目龐大、功能強(qiáng)大,所有的系統(tǒng)操作基本上都可以通過(guò)調(diào)用功能模塊來(lái)實(shí)現(xiàn)。一般情況下,調(diào)用功能模塊之前必須知道該功能模塊的參數(shù)的數(shù)量、類(lèi)型和結(jié)構(gòu),調(diào)用時(shí)正確地匹配參數(shù)。然而,在某些特定的系統(tǒng)需求中,在設(shè)計(jì)編程的時(shí)候并不知道所要調(diào)用的功能模塊,只有在運(yùn)行的時(shí)候才能確切知道所要調(diào)用的功能模塊。功能模塊的不確定導(dǎo)致了其參數(shù)數(shù)量、類(lèi)型和結(jié)構(gòu)的不確定,給功能模塊的調(diào)用帶來(lái)了極大的困難。
發(fā)明內(nèi)容鑒于以上內(nèi)容,有必要提供一種動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)。此外,還有必要提供一種動(dòng)態(tài)調(diào)用功能模塊的方法。一種動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng),該系統(tǒng)包括變量定義代碼生成模塊,用于根據(jù)傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼,所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量;輸入賦值代碼生成模塊,用于根據(jù)被調(diào)用功能模塊信息,生成輸入賦值代碼,該輸入賦值代碼用于為輸入變量賦值;調(diào)用代碼生成模塊,用于根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼;輸出賦值代碼生成模塊,用于根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼,該輸出賦值代碼用于傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;及代碼執(zhí)行模塊,用于依次執(zhí)行生成的變量定義代碼、輸入賦值代碼、功能模塊調(diào)用代碼及輸出賦值代碼,以完成功能模塊的調(diào)用。一種動(dòng)態(tài)調(diào)用功能模塊的方法,該方法包括步驟根據(jù)傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼,所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量;根據(jù)被調(diào)用功能模塊信息,生成輸入賦值代碼,該輸入賦值代碼用于為輸入變量賦值;根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼;根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼,該輸出賦值代碼用于傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;4執(zhí)行變量定義代碼,定義被調(diào)用功能模塊相對(duì)應(yīng)的變量,所述變量包括輸入變量及輸出變量;執(zhí)行輸入賦值代碼,為定義的輸入變量賦值;執(zhí)行功能模塊調(diào)用代碼,得到被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;及執(zhí)行輸出賦值代碼,傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值。本發(fā)明實(shí)現(xiàn)了各種功能模塊的動(dòng)態(tài)調(diào)用,有助于系統(tǒng)全局整合架構(gòu)的實(shí)現(xiàn)。圖l為本發(fā)明動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)的功能模塊圖。圖2為FLIST參數(shù)的結(jié)構(gòu)示意圖。圖3為F頂P0RT參數(shù)的結(jié)構(gòu)示意圖。圖4為FTABLES參數(shù)的結(jié)構(gòu)示意圖。圖5為本發(fā)明動(dòng)態(tài)調(diào)用功能模塊的方法流程圖。具體實(shí)施例方式下述實(shí)施例以SAP系統(tǒng)為例進(jìn)行說(shuō)明。為便于理解,對(duì)相關(guān)技術(shù)作如下解釋。功能模塊參數(shù)類(lèi)型功能模塊的參數(shù)有importing、exporting、changing和tables四種類(lèi)型,其中,importing參數(shù)是單純的輸入?yún)?shù),exporting參數(shù)是單純的輸出參數(shù),changing參數(shù)既是輸入又是輸出參數(shù),其值在傳入后能夠被功能模塊所修改,tables參數(shù)既是輸入又是輸出參數(shù),用來(lái)傳遞多行結(jié)構(gòu)相同的數(shù)據(jù)。參閱圖2所示,為一個(gè)名為FLIST的tables參數(shù),該tables參數(shù)有三個(gè)欄位,第一個(gè)欄位名為SEQNO,第二個(gè)欄位名為FNAME,第三個(gè)欄位名為FINDIC。tables參數(shù)的某一位置可以用行和欄位表示,例如,F(xiàn)LIST的第一行SEQNO欄位值為l,第二行FNAME欄位值為Func2,第三行FINDIC欄位值為S。tables參數(shù)的某一位置還可以用行和列表示,例如,F(xiàn)LIST的第一行SEQNO欄位也就是FLIST的第一行第一列。功能模塊有五種被調(diào)用方式同步、異步、事務(wù)、隊(duì)列和平行。包含程序(includeprograms):包含程序能夠?qū)⒋a模塊化,并能夠被其他程式所引用,包含程序中的代碼也就是該其他程序的一部分。參閱圖1所示,是本發(fā)明動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)10的功能模塊圖。該動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)10包括變量定義代碼生成模塊100、輸入賦值代碼生成模塊101、調(diào)用代碼生成模塊102、輸出賦值代碼生成模塊103、代碼執(zhí)行模塊104。所述變量定義代碼生成模塊100用于根據(jù)從統(tǒng)一接口傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼。所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量。在本實(shí)施例中,所述被調(diào)用功能模塊信息包括被調(diào)用功能模塊的名稱(chēng)、被調(diào)用方式及被調(diào)用功能模塊的參數(shù)值。被調(diào)用功能模塊可以是一個(gè),也可以是多個(gè)。例如,被調(diào)用功能模塊為Funcl、Func2和Func3。在本實(shí)施例中,所述統(tǒng)一接口包括三個(gè)tables參數(shù)FLIST、F頂PORT和FTABLES。FLIST用來(lái)傳送被調(diào)用功能模塊的名稱(chēng)及被調(diào)用方式,參閱圖2所示,其中SEQNO表示被調(diào)用功能模塊編號(hào),F(xiàn)NAME表示被調(diào)用功能模塊名稱(chēng),F(xiàn)INDIC表示被調(diào)用方式。F頂PORT用來(lái)傳送被調(diào)用功能模塊的importing參數(shù)、exporting參數(shù)和changing參數(shù),參閱圖3所示,其中PA應(yīng)TYPE表示參數(shù)類(lèi)型,I和E分別表示importing類(lèi)型和exporting類(lèi)型,PARA麗AME表示參數(shù)名稱(chēng),PARAMVALUE表示參數(shù)值。FTABLES用來(lái)傳送被調(diào)用功能模塊的tables參數(shù),參閱圖4所示,其中TBLNAME表示該tables參數(shù)的名稱(chēng),TBLROW表示該tables參數(shù)的某行,TBLCOL表示該tables參數(shù)的某列,F(xiàn)LDNAME表示該tables參數(shù)的欄位名,F(xiàn)LDVALUE表示該tables參數(shù)某一位置(即某行某列)相對(duì)應(yīng)的數(shù)值。參閱圖4所示,本實(shí)施例由TBLROW和FLDNAME確定該tables參數(shù)的某一位置,TBLC0L取為0。所述變量定義代碼生成模塊100根據(jù)傳入的被調(diào)用功能模塊的名稱(chēng)獲得被調(diào)用功能模塊參數(shù)信息。例如,在SAP系統(tǒng)中,通過(guò)系統(tǒng)透明表FUPARAREF獲得被調(diào)用功能模塊參數(shù)信息。所述被調(diào)用功能模塊參數(shù)信息包括參數(shù)的類(lèi)型、tables參數(shù)的結(jié)構(gòu)等。所述變量定義代碼生成模塊100根據(jù)被調(diào)用功能模塊參數(shù)信息,生成變量定義代碼。所述變量定義代碼為每個(gè)被調(diào)用功能模塊的參數(shù)定義一個(gè)相同類(lèi)型的變量。對(duì)于tables參數(shù),相對(duì)應(yīng)的tables變量與該tables參數(shù)的結(jié)構(gòu)相同。如前所述,importing參數(shù)是輸入?yún)?shù),exporting參數(shù)是輸出參數(shù),changing參數(shù)和tables參數(shù)既是輸入又是輸出參數(shù)。為便于說(shuō)明,將輸入?yún)?shù)對(duì)應(yīng)的變量稱(chēng)為輸入變量,將輸出參數(shù)對(duì)應(yīng)的變量稱(chēng)為輸出變量,因此,定義的importing變量是輸入變量,定義的exporting變量是輸出變量,定義的changing變量和tables變量既是輸入又是輸出變量。例如,被調(diào)用功能模塊有兩個(gè)importing參數(shù)KUNAG和KUNNR,有一個(gè)exporting參數(shù)BSTKD,有一個(gè)tables參數(shù)REPAIRITEM,則變量定義代碼定義兩個(gè)importing變量L—KUNAG禾口L—KUNNR,定義一個(gè)exporting變量L—BSTKD,定義一個(gè)tables變量T—REPAIRITEM,其中,L—KUNAG和L—KUNNR是輸入變量,L—BSTKD是輸出變量,T—REPAIRITEM既是輸入又是輸出變量。在本實(shí)施例中,變量定義代碼生成模塊100將生成的變量定義代碼寫(xiě)入包含程序ZINP—FUNC—0001。所述輸入賦值代碼生成模塊101用于根據(jù)傳入的被調(diào)用功能模塊信息,生成輸入賦值代6碼。所述輸入賦值代碼用于根據(jù)傳入的被調(diào)用功能模塊的參數(shù)值給相對(duì)應(yīng)的輸入變量賦值。如前所述,假設(shè)變量定義代碼用于定義兩個(gè)importing變量L—KUNAG和L—KUNNR,定義一個(gè)tables變量T—REPAIRITEM,則所述輸入賦值代碼生成模塊l01根據(jù)傳入的被調(diào)用功能模塊的參數(shù)值生成輸入賦值代碼,該輸入賦值代碼分別給L—KUNAG、L—KUNNR及T—REPAIRITEM賦值。在本實(shí)施例中,輸入賦值代碼生成模塊101將生成的輸入賦值代碼寫(xiě)入包含程序ZINP—FUNC—0002。所述調(diào)用代碼生成模塊102用于根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及變量定義代碼中定義的變量,生成功能模塊調(diào)用代碼。在本實(shí)施例中,根據(jù)被調(diào)用功能模塊名稱(chēng)和被調(diào)用的方式,通過(guò)SAP系統(tǒng)功能模塊FUNCTION—STUB—GENERATE生成被調(diào)用功能模塊的調(diào)用代碼模式,再根據(jù)獲得的被調(diào)用功能模塊參數(shù)信息,將相對(duì)應(yīng)的變量填寫(xiě)為被調(diào)用功能模塊的實(shí)際參數(shù),從而得到可執(zhí)行的功能模塊調(diào)用代碼。例如,根據(jù)被調(diào)用功能模塊參數(shù)信息,變量定義代碼定義了兩個(gè)importing變量L—KUNAG和L—KUNNR,定義一個(gè)exporting變量L—BSTKD,定義一個(gè)tables變量T—REPAIRITEM,貝lJ把L—KUNAG、L—KUNNR、L—BSTKD和T—REPAIRITEM分別填寫(xiě)為被調(diào)用功能模塊相對(duì)應(yīng)的實(shí)際參數(shù)。在本實(shí)施例中,調(diào)用代碼生成模塊102將生成的功能模塊調(diào)用代碼寫(xiě)入包含程序ZINP—FUNC—0003。所述輸出賦值代碼生成模塊103用于根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼。所述輸出賦值代碼將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。在本實(shí)施例中,將返回的exporting參數(shù)值和changing參數(shù)值通過(guò)統(tǒng)一接口的F頂PORT傳出,將返回的tables參數(shù)值通過(guò)統(tǒng)一接口的FTABLES傳出。因而,輸出賦值代碼生成模塊103生成的輸出賦值代碼將返回的exporting參數(shù)值和changing參數(shù)值賦值給F頂PORT參數(shù),將返回的tables參數(shù)值賦值給FTABLES參數(shù)。例如,假設(shè)輸出變量包括exporting變量L—BSTKD和tables變量T—REPAIRITEM,則將L—BSTKD賦值給F頂PORT參數(shù),將T—REPAIRITEM賦值給FTABLES參數(shù)。在本實(shí)施例中,輸出賦值代碼生成模塊103將生成的輸出賦值代碼寫(xiě)入包含程序ZINP—FUNC—0004。所述代碼執(zhí)行模塊104用于依次執(zhí)行生成的變量定義代碼、輸入賦值代碼、功能模塊調(diào)用代碼、輸出賦值代碼,以完成功能模塊的調(diào)用。具體而言,第一步,所述代碼執(zhí)行模塊104執(zhí)行變量定義代碼生成模塊100生成的變量定義代碼,定義被調(diào)用功能模塊相對(duì)應(yīng)的變量。所述變量包括輸入變量和輸出變量。第二步,所述代碼執(zhí)行模塊104執(zhí)行輸入賦值代碼生成模塊101生成的輸入賦值代碼,為定義的輸入變量賦值。第三步,所述代碼執(zhí)行模塊104執(zhí)行調(diào)用代碼生成模塊102生成的功能模塊調(diào)用代碼,得到該被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值。第四步,所述代碼執(zhí)行模塊104執(zhí)行輸出賦值代碼生成模塊103生成的輸出賦值代碼,將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。在本實(shí)施例中,通過(guò)引用包含程序ZINP—FUNC—OOOl實(shí)現(xiàn)變量定義,通過(guò)引用包含程序ZINP—FUNC—0002實(shí)現(xiàn)輸入變量賦值,通過(guò)引用包含程序ZINP—FUNC—0003實(shí)現(xiàn)功能模塊調(diào)用,通過(guò)引用包含程序ZINP—FUNC—0004將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)統(tǒng)一接口傳出。參閱圖5所示,是本發(fā)明動(dòng)態(tài)調(diào)用功能模塊的方法流程圖。步驟S501,變量定義代碼生成模塊100根據(jù)從統(tǒng)一接口傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼。所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量。在本實(shí)施例中,所述被調(diào)用功能模塊信息包括被調(diào)用功能模塊的名稱(chēng)、被調(diào)用方式及被調(diào)用功能模塊的參數(shù)值。被調(diào)用功能模塊可以是一個(gè),也可以是多個(gè)。例如,被調(diào)用功能模塊為Funcl、Func2和Func3。所述被調(diào)用功能模塊信息通過(guò)統(tǒng)一接口傳入。在本實(shí)施例中,所述統(tǒng)一接口包括三個(gè)tables參數(shù):FLIST、F頂PORT和FTABLES。FLIST用來(lái)傳送被調(diào)用功能模塊的名稱(chēng)及被調(diào)用方式,參閱圖2所示,其中SEQNO表示被調(diào)用功能模塊編號(hào),F(xiàn)NAME表示被調(diào)用功能模塊名稱(chēng),F(xiàn)INDIC表示被調(diào)用方式。F頂PORT用來(lái)傳送被調(diào)用功能模塊的importing參數(shù)、exporting參數(shù)和changing參數(shù),參閱圖3所示,其中PARAMTYPE表示參數(shù)類(lèi)型,I和E分別表示importing類(lèi)型和exporting類(lèi)型,PARA麗AME表示參數(shù)名稱(chēng),PARAMVALUE表示參數(shù)值。FTABLES用來(lái)傳送被調(diào)用功能模塊的tables參數(shù),參閱圖4所示,其中TBLNAME表示該tables參數(shù)的名稱(chēng),TBLROW表示該tables參數(shù)的某行,TBLCOL表示該tables參數(shù)的某列,F(xiàn)LDNAME表示該tables參數(shù)的欄位名,F(xiàn)LDVALUE表示該tables參數(shù)某一位置(即某行某列)相對(duì)應(yīng)的數(shù)值。參閱圖5所示,本實(shí)施例由TBLROW和FLDNAME確定該tables參數(shù)的某一位置,TBLCOL取為O。具體而言,變量定義代碼生成模塊lOO首先根據(jù)傳入的被調(diào)用功能模塊的名稱(chēng)獲得被調(diào)用功能模塊參數(shù)信息。例如,在SAP系統(tǒng)中,通過(guò)系統(tǒng)透明表FUPARAREF獲得被調(diào)用功能模塊參數(shù)信息。所述被調(diào)用功能模塊參數(shù)信息包括參數(shù)的類(lèi)型、tables參數(shù)的結(jié)構(gòu)等。然后,變量定義代碼生成模塊100根據(jù)被調(diào)用功能模塊參數(shù)信息,生成變量定義代碼。所述變量定義代碼為每個(gè)被調(diào)用功能模塊的參數(shù)定義一個(gè)相同類(lèi)型的變量。對(duì)于tables參數(shù),相對(duì)應(yīng)的tables變量與該tables參數(shù)的結(jié)構(gòu)相同。此外,定義的importing變量是輸入變量,定義的e鄧orting變量是輸出變量,定義的changing變量和tables變量既是輸入又是輸出變量。例如,被調(diào)用功能模塊有兩個(gè)importing參數(shù)KUNAG和KUNNR,有一個(gè)exporting參數(shù)BSTKD,有一個(gè)tables參數(shù)REPAIRITEM,則變量定義代碼定義兩個(gè)importing變量L—KUNAG和L—KUNNR,定義一個(gè)exporting變量L—BSTKD,定義一個(gè)tables變量T—REPAIRITEM,其中,L—KUNAG和L—KUNNR是輸入變量,L—BSTKD是輸出變量,T—REPAIRITEM既是輸入又是輸出變量。在本實(shí)施例中,變量定義代碼生成模塊100還將生成的變量定義代碼寫(xiě)入包含程序ZINP—FUNC—0001。步驟S502,輸入賦值代碼生成模塊101根據(jù)傳入的被調(diào)用功能模塊信息,生成輸入賦值代碼。所述輸入賦值代碼用于根據(jù)傳入的被調(diào)用功能模塊的參數(shù)值給相對(duì)應(yīng)的輸入變量賦值。如前所述,假設(shè)變量定義代碼用于定義兩個(gè)importing變量L—KUNAG和L—KU畫(huà)R,定義一個(gè)tables變量T—REPAIRITEM,則所述輸入賦值代碼生成模塊l01根據(jù)傳入的被調(diào)用功能模塊的參數(shù)值生成輸入賦值代碼,該輸入賦值代碼分別給L—KUNAG、L—KUNNR及T—REPAIRITEM賦值。在本實(shí)施例中,輸入賦值代碼生成模塊101還將生成的輸入賦值代碼寫(xiě)入包含程序ZINP—FUNC—0002。步驟S503,調(diào)用代碼生成模塊102根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼。在本實(shí)施例中,根據(jù)被調(diào)用功能模塊名稱(chēng)和被調(diào)用的方式,通過(guò)SAP系統(tǒng)功能模塊FUNCTION—STUB—GENERATE生成被調(diào)用功能模塊的調(diào)用代碼模式,再根據(jù)被調(diào)用功能模塊參數(shù)信息,將相對(duì)應(yīng)的變量填寫(xiě)為被調(diào)用功能模塊的實(shí)際參數(shù),從而得到可執(zhí)行的功能模塊調(diào)用代碼。例如,根據(jù)被調(diào)用功能模塊參數(shù)信息,變量定義代碼定義了兩個(gè)importing變量L—KUNAG和L—KUNNR,定義一個(gè)exporting變量L—BSTKD,定義一個(gè)tables變量T—REPAIRITEM,貝lJ把L—KUNAG、L—KUNNR、L—BSTKD和T—REPAIRITEM分別填寫(xiě)為被調(diào)用功能模塊相對(duì)應(yīng)的實(shí)際參數(shù)。在本實(shí)施例中,調(diào)用代碼生成模塊l02還將生成的功能模塊調(diào)用代碼寫(xiě)入包含程序ZINP—FUNC—0003。步驟S504,輸出賦值代碼生成模塊103根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼。所述輸出賦值代碼將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。在本實(shí)施例中,將返回的exporting參數(shù)值和changing參數(shù)值通過(guò)統(tǒng)一接口的F頂PORT傳出,將返回的tables參數(shù)值通過(guò)統(tǒng)一接口的FTABLES傳出。因而,輸出賦值代碼生成模塊103生成的輸出賦值代碼將返回的exporting參數(shù)值和changing參數(shù)值賦值給F頂PORT參數(shù),將返回的tables參數(shù)值賦值給FTABLES參數(shù)。例如,假設(shè)輸出變量包括exporting變量L—BSTKD和tables變量T—REPAIRITEM,則將L—BSTKD賦值給F頂PORT參數(shù),將T—REPAIRITEM賦值給FTABLES參數(shù)。在本實(shí)施例中,輸出賦值代碼生成模塊103還將生成的輸出賦值代碼寫(xiě)入包含程序ZINP—FUNC—0004。步驟S505,代碼執(zhí)行模塊104執(zhí)行變量定義代碼生成模塊100生成的變量定義代碼,定義被調(diào)用功能模塊相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量。在本實(shí)施例中,通過(guò)引9用包含程序ZINP—FUNC—0001實(shí)現(xiàn)變量定義。步驟S506,代碼執(zhí)行模塊104執(zhí)行輸入賦值代碼生成模塊101生成的輸入賦值代碼,為定義的輸入變量賦值。在本實(shí)施例中,通過(guò)引用包含程序ZINP—FUNC—0002實(shí)現(xiàn)輸入變量賦值。步驟S507,代碼執(zhí)行模塊104執(zhí)行調(diào)用代碼生成模塊102生成的功能模塊調(diào)用代碼,得到該被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值。在本實(shí)施例中,通過(guò)引用包含程序ZINP—FUNC—0003實(shí)現(xiàn)功能模塊調(diào)用。步驟S508,代碼執(zhí)行模塊104執(zhí)行輸出賦值代碼生成模塊103生成的輸出賦值代碼,將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。在本實(shí)施例中,通過(guò)引用包含程序ZINP—FUNC—0004將被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)統(tǒng)一接口傳出。10權(quán)利要求1.一種動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng),其特征在于,該系統(tǒng)包括變量定義代碼生成模塊,用于根據(jù)傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼,所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量;輸入賦值代碼生成模塊,用于根據(jù)被調(diào)用功能模塊信息,生成輸入賦值代碼,該輸入賦值代碼用于為輸入變量賦值;調(diào)用代碼生成模塊,用于根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼;輸出賦值代碼生成模塊,用于根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼,該輸出賦值代碼用于傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;及代碼執(zhí)行模塊,用于依次執(zhí)行生成的變量定義代碼、輸入賦值代碼、功能模塊調(diào)用代碼及輸出賦值代碼,以完成功能模塊的調(diào)用。2.如權(quán)利要求l所述的動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng),其特征在于,所述被調(diào)用功能模塊信息通過(guò)統(tǒng)一接口傳入。3.如權(quán)利要求2所述的動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng),其特征在于,所述被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。4.如權(quán)利要求l所述的動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng),其特征在于,該系統(tǒng)應(yīng)用于SAP系統(tǒng)。5.一種動(dòng)態(tài)調(diào)用功能模塊的方法,其特征在于,該方法包括步驟根據(jù)傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼,所述變量定義代碼用于定義被調(diào)用功能模塊參數(shù)相對(duì)應(yīng)的變量,所述變量包括輸入變量和輸出變量;根據(jù)被調(diào)用功能模塊信息,生成輸入賦值代碼,該輸入賦值代碼用于為輸入變量賦值根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼;根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼,該輸出賦值代碼用于傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;執(zhí)行變量定義代碼,定義被調(diào)用功能模塊相對(duì)應(yīng)的變量,所述變量包括輸入變量及輸出變量;執(zhí)行輸入賦值代碼,為定義的輸入變量賦值;執(zhí)行功能模塊調(diào)用代碼,得到被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值;及執(zhí)行輸出賦值代碼,傳出被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值。6如權(quán)利要求5所述的動(dòng)態(tài)調(diào)用功能模塊的方法,其特征在于,所述被調(diào)用功能模塊信息通過(guò)統(tǒng)一接口傳入。7如權(quán)利要求6所述的動(dòng)態(tài)調(diào)用功能模塊的方法,其特征在于,所述被調(diào)用功能模塊通過(guò)輸出變量返回的參數(shù)值通過(guò)所述統(tǒng)一接口傳出。8如權(quán)利要求5所述的動(dòng)態(tài)調(diào)用功能模塊的方法,其特征在于,該方法應(yīng)用于SAP系統(tǒng)。全文摘要一種動(dòng)態(tài)調(diào)用功能模塊的方法,該方法包括步驟根據(jù)傳入的被調(diào)用功能模塊信息,獲得被調(diào)用功能模塊參數(shù)信息,并生成變量定義代碼;根據(jù)被調(diào)用功能模塊信息,生成輸入賦值代碼;根據(jù)被調(diào)用功能模塊信息、被調(diào)用功能模塊參數(shù)信息及定義的變量,生成功能模塊調(diào)用代碼;根據(jù)被調(diào)用功能模塊參數(shù)信息,生成輸出賦值代碼;執(zhí)行變量定義代碼,定義輸入變量及輸出變量;執(zhí)行輸入賦值代碼,為定義的輸入變量賦值;執(zhí)行功能模塊調(diào)用代碼,得到被調(diào)用功能模塊返回的參數(shù)值;及執(zhí)行輸出賦值代碼,傳出被調(diào)用功能模塊返回的參數(shù)值。本發(fā)明還提供一種動(dòng)態(tài)調(diào)用功能模塊的系統(tǒng)。本發(fā)明實(shí)現(xiàn)了各種功能模塊的動(dòng)態(tài)調(diào)用,有助于系統(tǒng)全局整合架構(gòu)的實(shí)現(xiàn)。文檔編號(hào)G06F9/44GK101650648SQ20081030376公開(kāi)日2010年2月17日申請(qǐng)日期2008年8月14日優(yōu)先權(quán)日2008年8月14日發(fā)明者博劉,鋒劉,方長(zhǎng)根申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司