




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
(實施)SAP基礎知識學習整理數(shù)據(jù)類型C:字符串D:日期型格式為YYYYMMDD例:'1999/12/03'F:浮點數(shù)長度為8I:整數(shù)N:數(shù)值組成的字符串如:011,'302'P:PACKED數(shù)用于小數(shù)點數(shù)值如:12.00542T:時間格式為:HHMMSS如:'14:03:00'X:16進制數(shù)如:'1A03'**變數(shù)宣告DATA<F>[<Length>]<type>[<value>][decimals]<F>變數(shù)名稱<length><type>變數(shù)類型及長度<value>初值<decimals>小數(shù)位數(shù)exp:DATA:COUNTERTYPEPDECIMALS3.NAME(10)TYPECVALUE'DELTA'.S_DATETYPEDVALUE'19991203'.exp:DATA:BEGINOFPERSON,NAME(10)TYPEC,AGETYPEI,WEIGHTTYPEDECIMALS2,ENDOFPERSON.另外,有關DATA宣告的指令還有:CONSTANTS(宣告常數(shù))、STATICS(臨時變數(shù)宣告).exp:CONSTANTSPITYPEPDECIMALS5VALUE'3.14159'.STATICS敘述宣告的變數(shù)僅在目前的程式中使用,結束後會自動釋放語法:STATICS<c>[<length>]<type>[<value>][<decimals>]系統(tǒng)專用變數(shù)說明系統(tǒng)內(nèi)部專門創(chuàng)建了SYST這個STRUCTURE,里面的欄位存放系統(tǒng)變數(shù),常用的系統(tǒng)變數(shù)有:SY-SUBRC:系統(tǒng)執(zhí)行某指令后,表示執(zhí)行成功與否的變數(shù),'0'表示成功SY-UNAME:當前使用者登入SAP的USERNAME;SY-DATUM:當前系統(tǒng)日期;SY-UZEIT:當前系統(tǒng)時間;SY-TCODE:當前執(zhí)行程式的TransactioncodeSY-INDEX:當前LOOP循環(huán)過的次數(shù)SY-TABIX:當前處理的是internaltable的第幾筆SY-TMAXL:Internaltable的總筆數(shù)SY-SROWS:屏幕總行數(shù);SY-SCOLS:屏幕總列數(shù);SY-MANDT:CLIENTNUMBERSY-VLINE:畫豎線SY-ULINE:畫橫線TYPE敘述用來指定資料型態(tài)或宣告自定資料型態(tài)Example:TYPES:BEGINOFMYLIST,NAME(10)TYPEC,NUMBERTYPEI,ENDOFMYLIST.DATALISTTYPEMYLIST.LIKE敘述跟TYPE敘述使用格式相同,如DATATRANSCODELIKESY-TCODE.不同的是LIKE用在已有值的資料項,如系統(tǒng)變數(shù),而TYPE敘述則是用在指定資料型態(tài)。**輸出一.WRITE語句ABAP/4用來在屏幕上輸出資料的指令是WRITE指令,例如:WRITE:'USERNAMEIS:',SY-UNAME.二.指定屏幕輸出位置指定輸出位置的語句格式為:WRITE:[AT][/][<pos>][(<len>)]資料項[<par>]其中:/:在下一行輸出<pos>:指定輸出的行號;(<len>):指定輸出位數(shù)(長度)<par>:指定顯示格式參數(shù),參數(shù)有:LEFT-JUSTIFIED資料靠左對齊CENTERED資料靠中間對齊RIGHT-JUSTIFIED資料靠右對齊UNDER<g>正對在資料項<g>的下面顯示NO-GAP緊接著顯示,不留空格USINGEDITMASK<m>:使用內(nèi)嵌子元顯示,如12:03:20USINGNOEDITMASK:不使用內(nèi)嵌子元NO-ZERO:數(shù)字前面0的部分不顯示NO-SIGN:不顯示正負號DECIMALS<d>:顯示<d>位小數(shù)EXPOENT<e>:F(浮點數(shù))指數(shù)的值ROUND<r>:四舍五入至小數(shù)點后<r>位CURRENCY<c>:幣別顯示DD/MM/YY:日期顯示格式MM/DD/YY:YY/MM/DD:YY/DD/MMMM/DD/YYYY:DD/MM/YYYYYYYY/MM/DD:YYYY/DD/MM:例如1:WRITE:/10(6)'ABCDEFGHIJK'.輸出結果為:ABCDEF例如2:DATA:XTYPEIVALUE'11:20:30',A(5)TYPECVALUE'ABCDE'.WRITE:/XUSINGEDITMASK'__:__:__'.WRITE:/XUSINGEDITMASK'$___,___'.WRITE:/YNO-GAP.輸出結果為:11:20:30$112,030ABCDEF例如3:DATA:LENTYPEIVALUE10,POSTYPEIVALUE11,TEXT(10)VALUE'1234567890'WRITE'Thetextappearsinthetext.'.WRITEATPOS(LEN)TEXT.WRITETO語句的基本形式要將值(文字)或源字段內(nèi)容寫入目標字段,可以使用WRITETO語句:語法WRITE<F1>TO<F2>[<option>].DATA:NUMBERTYPEFVALUE'4.3',TEXT(10),FLOATTYPEF,PACKTYPEPDECIMALS1.WRITENUMBER.WRITENUMBERTOTEXTEXPONENT2.WRITE/TEXT.WRITENUMBERTOFLOAT.WRITE/FLOAT.WRITENUMBERTOPACK.WRITE/PACK.MOVENUMBERTOPACK.WRITE/PACK.exp:DATA:NAME(10)VALUE'SOURCE',SOURCE(10)VALUE'Antony',TARGET(10)WRITE(NAME)TOTARGET.WRITE:TARGET.exp:DATA:COUNTERTYPEI.COMPUTECOUNTER=COUNTER+1.COUNTER=COUNTER+1.ADD1TOCOUNTER.在此,三條運算語句進行相同算術運算輸出屏幕上的線和空行用下列語法,可以在輸出屏幕上生成水平線:語法ULINE[AT[/][<pos>][(<len>)]].它等同于WRITE[AT[/][<pos>][(<len>)]]SY-ULINE.AT后的格式規(guī)范,與在在屏幕上定位WRITE輸出(頁28)中為WRITE語句說明的格式規(guī)范完全一樣。定輸出水平線。WRITEWRITE[AT[/][<pos>][(<len>)]]'...'.垂直線用下列語法,可以在輸出屏幕上生成垂直線:語法WRITE[AT[/][<pos>]]SY-VLINE.或WRITE[AT[/][<pos>]]'|'.空行用下列語法,可以在輸出屏幕上生成空行:語法SKIP[<n>].<n><n>輸出一個空行。要將輸出定位在屏幕的指定行上,請使用:語法SKIPTOLINE<n>.該語句允許將輸出位置向上或向下移動。四.顯示圖示:語法:WRITE:<symbol-name>ASSYMBOL.WRITE:<icon-name>ASICON.例如:INCLUDE<SYMBOL>.INCLUDE<ICON>.WRITE:/'Phonesymbol:',SYM_PHONEASSYMBOL.WRITE:/'AlarmIcon:',ICON_VOICE_OUTPUTASICON.要查看系統(tǒng)所提供有那些符號及圖示,可選擇'EDIT'下的'InsertStatement',選擇'Write',接下來選擇要查看的群組,如SYMBOL或ICON,接下來按'Display'即可.**一.InternalTable的宣告ABAP/4中的InternalTable是一種DataStructure,類似于其他語言中的STRUTURE,它可以由幾個不同類型的欄位(field)組成,用來表示具有不同屬性的某一事物,單獨一筆資料表示某個事物,多筆資料表示具有相同屬性的多個事物.Internaltable的定義有以下幾種格式:格式一.DATA:BEGINOF<internaltable>OCCURS<n>,<field1>TYPE<type1>,[<field2>TYPE<type2>,<field3>TYPE<type3>,…]ENDOF<internaltable>.語法:DATA<f><type>OCCURS<n>[WITHHEADERLINE]Example:DATAVECTORTYPEIOCCURS10WITHHEADERLINE.格式二.TYPES:BEGINOF<workarea>,<field1>TYPE<type1>,[<field2>TYPE<type2>,<field3>TYPE<type3>,…]ENDOF<workarea>.TYPES<internaltable>TYPE<workarea>OCCURS<n>.格式三.DATA:BEGINOF<workarea>.INCLUDESTRUCTURE<tablename>.DATA:ENDOF<workarea>.DATA:<internaltable>LIKE<workarea>OCCURS<n>.exp:TYPESVECTORTYPEIOCCURS10.TYPES:BEGINOFLINE,COLUMN1TYPEI,COLUMN2TYPEI,COLUMN3TYPEI,ENDOFLINE.TYPESITABTYPELINEOCCURS10.TYPES:BEGINOFDEEPLINE,TABLE1TYPEVECTOR,TABLE2TYPEITAB,ENDOFDEEPLINE.TYPESDEEPTABLETYPEDEEPLINEOCCURS10.本示例創(chuàng)建與上例相同的內(nèi)表數(shù)據(jù)類型(VECTOR和ITAB)。然后創(chuàng)建數(shù)據(jù)類型DEEPLINE作為字段串,包含這些內(nèi)表作為組件。通過該字段串,數(shù)據(jù)類型DEEPTABLE被創(chuàng)建為內(nèi)表。因此該內(nèi)表的元素本身就是內(nèi)表。exp:TYPES:BEGINOFLINE,COLUMN1TYPEI,COLUMN2TYPEI,COLUMN3TYPEI,ENDOFLINE.TYPESITABTYPELINEOCCURS10.DATATAB1TYPEITAB.DATATAB2LIKETAB1WITHHEADERLINE.同創(chuàng)建內(nèi)表數(shù)據(jù)類型(頁99)ITAB使用DATA語句的TYPE參數(shù)引用ITAB,使數(shù)據(jù)對象TAB1與ITAB結構相同。通過使用DATA語句的LIKE參數(shù)引用TAB1TAB2TAB2帶表頭行。因此,可以在程序中使用TAB2-COLUMN1、TAB2-COLUMN2和TAB2-COLUMN3等定位表格工作區(qū)域TAB2。exp:DATAFLIGHT_TABLIKESFLIGHTOCCURS10.本示例創(chuàng)建數(shù)據(jù)對象FLIGHT_TAB,其結構與數(shù)據(jù)庫表格SFLIGHT相同。本示例介紹如何采用兩種不同的步驟創(chuàng)建同一內(nèi)表。TYPESVECTOR_TYPETYPEIOCCURS10.DATAVECTORTYPEVECTOR_TYPEWITHHEADERLINE.在此創(chuàng)建一個內(nèi)表數(shù)據(jù)類型VECTOR_TYPEI字段。然后,通過引用VECTOR_TYPE創(chuàng)建數(shù)據(jù)對象VECTOR。通過使用WITHHEADERLINE選項還創(chuàng)建表格工作區(qū)域VECTORI字段,可以通過名稱VECTOR定位。DATAVECTORTYPEIOCCURS10WITHHEADERLINE.DATA語句中使用OCCURS選項創(chuàng)建完全一樣的數(shù)據(jù)類型VECTOR。**1.TYPEStype.2.TYPEStype(len).3.TYPES:BEGINOFstructype...ENDOFstructype.4.TYPESitabtype{TYPEtabkindOFlinetypeLIKEtabkindOFlineobj}[WITH[UNIQUE|NON-UNIQUE]keydef][INITIALSIZEn].5.TYPESitabtypeTYPERANGEOFtype.TYPESitabtypeLIKERANGEOFf.6.TYPESitabtype{TYPElinetype|LIKElineobj}OCCURSn.**APPENDLINE格式:APPEND<workarea>TO<internaltable>舉例一:(使用WORKAREA)DATA:BEGINOFLINE,COL1TYPEI,COL2TYPEI,ENDOFLINE.DATAITABLIKELINEOCCURS10.DO2TIMES.LINE-COL1=SY-INDEX.LINE-COL2=SY-INDEX**2.APPENDLINETOITAB.ENDDO.LOOPATITABINTOLINE.WRITE:/LINE-COL1,LINE-COL2.ENDLOOP.舉例二(不使用WORKAREA)DATA:BEGINOFITABOCCURS10,COL1TYPEI,COL2TYPEI,ENDOFITAB.DO2TIMES.ITAB-COL1=SY-INDEX.ITAB-COL2=SY-INDEX**2.APPENDITAB.ENDDO.LOOPATITAB.WRITE:/ITAB-COL1,ITAB-COL2.ENDLOOP.exp:DATA:BEGINOFITABOCCURS10,COL1TYPEC,COL2TYPEI,ENDOFITAB.DO3TIMES.APPENDINITIALLINETOITAB.ITAB-COL1=SY-INDEX.ITAB-COL2=SY-INDEX**2.APPENDITAB.ENDDO.LOOPATITAB.WRITE:/ITAB-COL1,ITAB-COL2.ENDLOOP.舉例三.(加入另一個Internaltable的元素)格式:APPENDLINESOF<itab1>[FROM<n1>][TO<n2>]TO<itab2>.將<itab1>的元素加入至<itab2>中,可選取自<n1>至<n2>的范圍.APPENDLINESOFITABTOJTAB.COLLECTLINECOLLECT指令也是將元素加入Internaltable中,與APPEND:COLLECT指令在非數(shù)值欄位相同的情況下,將數(shù)值欄位匯總.格式:COLLECT[<workarea>INTO]<itab>DATA:BEGINOFITABOCCURS3,COL1(3)TYPEC,COL2TYPEI,ENDOFITAB.ITAB-COL1='ABC'.ITAB-COL2=10.COLLECTITAB.ITAB-COL1='XYZ'.ITAB-COL2=20.COLLECTITAB.ITAB-COL1='ABC'.ITAB-COL2=80.COLLECTITAB.此時,internaltable中放的是2筆數(shù)據(jù),分別為:ITAB-COL1ITAB-COL2'ABC'90'XYZ'20**INSERTLINE將元素插入在指定的internaltable位置之前.格式:INSERT[<wa>INTO][INITIALLINEINTO]<itab>[INDEX<idx>]或者:INSERTLINESOF<itab1>[FROM<n1>TO<n2>]INTO<itab2>INDEX<idx>其中:<wa>即workarea,工作區(qū)中的元素.[INITIALLINEINTO]:插入一筆初始化的記錄.<itab>:internaltable[INDEX<idx>]:internaltable的記錄號.(新加入的元素放在此記錄前面)Example:DATA:BEGINOFLINE,COL1TYPEI,COL2TYPEI,ENDOFLINE.DATAITABLIKELINEOCCURS10.DO3TIMES.LINE-COL1=SY-INDEX*10.LINE-COL2=SY-INDEX*20.APPENDLINEINTOITAB.ENDDO.LINE-COL1=100.LINE-COL2=200.INSERTLINEINTOITABINDEX2."插入在位置2之前LOOPATITABINTOLINE.WRITE:/SY-TABIX,LINE-COL1,LINE-COL2."SY-TABIX為Table位置ENDLOOP.執(zhí)行結果:110202100200"插入的元素3204043060插入另一InternalTable元素語法:INSERTLINESOF<itab1>[FROM<n1>TO<n2>]TO<itab2>INDEX<idx>將<itab1>的元素插入至<itab2>中,位置在<idx>之前,可選取自<n1>至<n2>的範圍Example:APPENDLINESOFITABTOJTABINDEX3.將ITAB所有元素插入JTAB中,位置在第三個元素之前**讀取internaltable格式一:LOOPAT<itab>[INTO<wa>][FROM<n1>TO<n2>][WHERE<conditions>]<statement>ENDLOOP.Example:LOOPATITABINTOLINEWHERECOL1>100.WRITE:/SY-TABIX,LINE-COL1.ENDLOOP.僅讀取COL1>100的元素格式二:READTABLE<itab>[INTO<wa>][INDEX<idx>/WITHKEY<conditions>]舉例.(格式二)DATA:BEGINOFITABOCCURS10,COL1TYPEI,COL2TYPEI,ENDOFITAB.DO10TIMES.ITAB-COL1=SY-INDEX.ITAB-COL2=SY-INDEX*2.APPENDITAB.ENDDO.READTABLEITABINDEX3.(或者:READTABLEITABWITHKEYCOL1=3.)WRITE:/'ITAB-COL1=',ITAB-COL1,'ITAB-COL2=',ITAB-COL2.執(zhí)行結果同樣是:ITAB-COL1=3ITAB-COL2=6.Example:READTABLEITABINTOLINEINDEX5讀取ITAB的第5個元素資料,放入LINE的欄位中根據(jù)欄位內(nèi)容尋找語法:READTABLE<itab>INTO<wa>Example:ITAB-COL1='ABC'.READTABLEITABINTOLINE.找出ITAB中COL1欄位內(nèi)容是ABC的元素,找到的值放入LINE中若找到SY-SUBRC傳回0,找不到則傳回4,<itab>必須宣告有workarea**修改internaltable中的值格式:MODIFY<itab>[FROM<wa>][INDEX<idx>][TRANSPORTING<f1><f2>…][WHERE<conditions>]舉例一.READTABLEITABINDEX3.LINE-COL1=29.MODIFYITABFROMLINETRANSPORTINGCOL1.將第三筆記錄的COL1欄位的值修改為29.舉例二.T_SALARY-salary=50.MODIFYT_SALARYTRANSPORTINGsalaryWHEREbirthday='1999/12/06'.DELETEinternaltable中的欄位格式:DELETE<itab>INDEX<idx>.或:DELETE<itab>[FROM<n1>TO<n2>][WHERE<conditions>]Internaltable排序SORT<itab>[<orderway>][BY<f1><f2>…]其中:<orderway>有DESCENDING和ASCENDING,Default為ASCENDING.<f1>:為指定排序的欄位.Example:SORTITABDESCENDINGBYCOL2.將ITAB根據(jù)COL2欄位遞減排序**確定內(nèi)表屬性如果在處理過程中想知道內(nèi)表一共包含多少行,或者想知道定義的OCCURS參數(shù)的大小,請使用DESCRIBE語句,用法如下:語法DESCRIBETABLE<itab>[LINES<lin>][OCCURS<occ>].如果使用LINES<lin>OCCURS參數(shù),則將行的初始號寫入變量<occ>。DATA:BEGINOFLINE,COL1TYPEI,COL2TYPEI,ENDOFLINE.DATAITABLIKELINEOCCURS10.DATA:LINTYPEI,OCCTYPEI.DESCRIBETABLEITABLINESLINOCCURSOCC.WRITE:/LIN,OCC.DO1000TIMES.LINE-COL1=SY-INDEX.LINE-COL2=SY-INDEX**2.APPENDLINETOITAB.ENDDO.DESCRIBETABLEITABLINESLINOCCURSOCC.WRITE:/LIN,OCC.其輸出為:0101.00010在此創(chuàng)建內(nèi)表ITABDESCRIBE法更改初始行號。**加總SUM.總和計算存放與workarea中,但只能在LOOP中使用.例:LOOPATITABINTOLINE.SUM.ENDLOOP.WRITE:/LINE-COL1,LINE-COL2.LINE-COL1和LINE-COL2存數(shù)值總和初始化internaltableREFRESH<itab>.<itab>中的值.使用在沒有HEADERLINE的InternalTable中,清除所有元素CLEAR<itab>.<itab>的HeaderLine.使用在有HEADERLINE的InternalTable中,清除所有元素FREE<itab>.釋放記憶體空間.釋放(Release)InternalTable所佔的記憶體空間,用在REFRESH和CLEAR指令之後將值重置為默認值可以用CLEAR語句重置任何數(shù)據(jù)對象值,如下所示:語法CLEAR<f>.exp:DATANUMBERTYPEIVALUE'10'.WRITENUMBER.CLEARNUMBER.WRITE/NUMBER.輸出為:100CLEAR語句將字段NUMBER的內(nèi)容從10重置為默認值0。**添加字段順序并將結果賦給另一個字段語法ADD<n1>THEN<n2>UNTIL<nz>GIVING<m>.如果<n1>、<n2>、...、<nz>是在內(nèi)存中相同類型和長度的等距字段序列,則進行求和計算并將結果賦給<m>添加字段順序并將結果添加到另一個字段的內(nèi)容中語法ADD<n1>THEN<n2>UNTIL<nz>TO<m>.該語句除了將字段總和添加到<m>有關其它相似變體的信息,參見有關ADD語句的關鍵字文檔。DATA:BEGINOFSERIES,N1TYPEIVALUE10,N2TYPEIVALUE20,N3TYPEIVALUE30,N4TYPEIVALUE40,N5TYPEIVALUE50,N6TYPEIVALUE60,ENDOFSERIES.DATASUMTYPEI.ADDSERIES-N1THENSERIES-N2UNTILSERIES-N5GIVINGSUM.WRITESUM.ADDSERIES-N2THENSERIES-N3UNTILSERIES-N6TOSUM.WRITE/SUM.輸出如下:150350N1到N5組件內(nèi)容求和并將其值賦給字段SUMN2到N6組件求和并將其添加到SUM的值中。**屏幕輸入命令在ABAP/4中要從螢幕輸入變量,使用的命令是PARAMETERS及SELECTION-OPTIONS:1.PARAMETER:輸入一個變量或欄位內(nèi)容2.SELECTION-OPTIONS:使用條件篩選畫面來輸入數(shù)據(jù)PARAMETERS指令基本的輸入命令,類似如BASIC的INPUT命令,但無法使用F格式(浮點數(shù))語法:PARAMETERS<p>[DEFAULT<f>][LOWERCASE][OBLIGATORY][ASCHECKBOX][RADIOBUTTONGROUP<rad>]Example:PARAMETERS:NAME(8),AGETYPEI,BIRTHTYPED.執(zhí)行結果:在日期的輸入格式上為MM/DD/YY,MM/DD/YYYY,MMDDYY或MMDDYYYY,如輸入020165表1965年02月01日,與02/01/65的輸入是一樣的,日期輸入範圍為西元1950年至2049年1.DEFAULT設定輸入的預設值Example:PARAMETERS:COMPANY(20)DEFAULT'DELTA',BIRTHTYPEDDEFAULT'19650201'.2.LOWERCASEABAP/4預設是將字串輸入值自動轉(zhuǎn)換為大寫,加上此參數(shù)會將輸入的資料轉(zhuǎn)成小寫,3.OBLIGATORY強制要求輸入,螢幕上會出現(xiàn)一個?,使用者必須要輸入才可.4.ASCHECKBOX輸入CHECKBOX的格式Example:PARAMETERS:TAXASCHECKBOXDEFAULT'X',NTDASCHECKBOX.執(zhí)行結果:5.RADIOBUTTONGROUP<rad>輸入RADIOBUTTONGROUP的方式Example:PARAMETERS:BOYRADIOBUTTONGROUPSEXDEFAULT'X',GIRLRADIOBUTTONGROUPSEX.exp:TABLESSPLFI.PARAMETERS:LOWLIKESPFLI-CARRID,HIGHLIKESPFLI-CARRID.SELECT*FROMSPLFIWHERECARRIDBETWEENLOWANDHIGHENDSELECT.**SELECTION-OPTIONSSELECTION-OPTIONS所輸入的值實際上是放在internaltable中的,該Internaltable有四個欄位,:SIGN,OPTION,LOW,HIGH..條件篩選檢查條件輸入畫面指令,輸入條件後可配合SELECT指令自TABLE讀取符合條件的資料,直接執(zhí)行或放入InternalTable中,條件有四個參數(shù):1.SIGN:I:表篩選條件符合的資料E:表篩選條件不符合的資料2.OPTION:比較的條件符號EQ(等於),NE(不等於),GT(大於),LE(小於),CP(包含),NP(不包含)3.LOW:最小值4.HIGH:最大值語法:SELECTION-OPTIONS<check-option>FOR<table-field>Example:TABLESSPFLI.SELECT-OPTIONSAIRLINEFORSPFLI-CONNID.將條件的輸入值存放入AIRLINE,篩選選擇為SPFLI中的CONNID欄位改變條件輸入格式1.DEFAULT<begin>TO<end>設定開始結束範圍輸入預設值Example:SELECT-OPTIONSAIRLINEFORSPFLI-CONNIDDEFAULT'2042'TO'4555'.2.NO-EXTENSION設定不要Multi-Option輸入畫面3.NOINTERVALS設定不要區(qū)間範圍輸入畫面4.LOWERCASE輸入轉(zhuǎn)換成大寫5.OBLIGATORY強制要求輸入**配合SELECT命令條件輸入完後要將符合條件的資料篩選出來,可配合使用SELECT指令1.使用WHERE<條件式>Example:TABLESSPFLI.SELECT-OPTIONSAIRLINEFORSPFLI-CONNID.SELECT*FROMSPFLIWHERECONNIDINAIRLINE.WRITE:/SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.2.使用CHECK參數(shù)Example:TABLESSPFLI.SELECT-OPTIONSAIRLINEFORSPFLI-CONNID.SELECT*FROMSPFLI.CHECKAIRLINE.WRITE:/SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.*exp:TABLESSPFLI.SELECT-OPTIONS:S_CARRIDFORSPFLI-CARRID,S_CITYFRFORSPFLI-CITYFROM,S_CITYTOFORSPFLI-CITYTO,S_CONNIDFORSPFLI-CONNID.SELECT*FROMSPFLI.CHECK:SPFLI-CARRIDINS_CARRID,SPFLI-CITYFRINS_CITYFR,SPFLI-CITYTOINS_CITYTO,SPFLI-CONNIDINS_CONNID.WRITE:/SPFLI-CARRID,SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDSELECT.3.使用IF…IN敘述Example:SELECT-OPTIONSAIRLINEFORSPFLI-CONNID.SELECT*FROMSPFLI.IFSPFLI-CONNIDINAIRLINE.WRITE:/SPFLI-CONNID,SPFLI-CITYFROM,SPFLI-CITYTO.ENDIF.ENDSELECT.**SELECTION-SCREEN1.產(chǎn)生空白列語法:SELECTION-SCREENSKIP[<n>]Example:SELECTION-SCREENSKIP2.產(chǎn)生兩列空白列2.產(chǎn)生底線語法:SELECTION-SCREENULINE/<pos>(length)Example:SELECTION-SCREENULINE/10(30).自第10格開始產(chǎn)生長度30的底線3.印出備註說明語法:SELECTION-SCREENCOMMENT/<pos>(length)<name>Example:REMARK='Plsenteryourname'.SELECTION-SCREENCOMMENT/10(30)REMARK.4.同一列中輸入數(shù)個資料項語法:SELECTION-SCREENBEGINOFLINE.……SELECTION-SCREENENDOFLINE.Example:SELECTION-SCREENBEGINOFLINE.SELECTION-SCREENPOSITION20.PARAMETERSNAME(10).SELECTION-SCREENPOSITION40.PARAMETERSBIRTHTYPED.SELECTION-SCREENENDOFLINE.在20格輸入NAME內(nèi)容,40格輸入BIRTH的內(nèi)容5.繪出BLOCKPANEL語法:SELECTION-SCREENBEGINOFBLOCK<block>[WITHFRAME[TITLE<title>].…….SELECTION-SCREENENDOFBLOCK<block>.Example:SELECTION-SCREENBEGINOFBLOCKRADIOWITHFRAME.PARAMETERR1RADIOBUTTONGROUPGR1.PARAMETERR2RADIOBUTTONGROUPGR1.PARAMETERR3RADIOBUTTONGROUPGR1.SELECTION-SCREENENDOFBLOCKRADIO.**SQL語法我們在編寫ABAP4程式的時候,經(jīng)常需要從TABLE中根據(jù)某些條件讀取數(shù)據(jù),.讀取數(shù)據(jù)最常用的方法就是通過SQL語法實現(xiàn)的.ABAP/4中可以利用SQL語法創(chuàng)建或讀取TABLE,SQL語法分為DDL(DATADEFINELANGUAGE)語言和DML(DATAMULTIPULATIONLANGUAGE)語言,DDL語言是指數(shù)據(jù)定義語言,例如CREATE等,DML語言是數(shù)據(jù)操作語言,例如SELECT,INSERT等語句.SQL語句有OPENSQL語句和NATIVESQL語句.OPENSQL語句不是標準SQL語句,是ABAP/4語言,利用OPENSQL語句能在Databases和Command之間產(chǎn)生一個BUFFER,所以它有一個語言轉(zhuǎn)換的過程.而NATIVESQL語句則是標準的SQL語句,它直接針對Databases操作.OPENSQLSELECT語句語法格式:SELECT<result>[INTO<target>][FROM<source>][WHERE<condition>][GROUPBY<fields>][ORDERBY<sortorder>]其中:<result>指定要抓取的欄位<target>將讀取的記錄存放在workarea中<source>指定從那個TABLE中讀取資料<condition>抓取資料的條件<fields>指定按那些欄位分組<sortorder>排序的欄位及方式相關的系統(tǒng)變量:SY-SUBRC=0表示讀取數(shù)據(jù)成功<>0表示未找到符合條件的記錄SY-DBLNT:被處理過的記錄的筆數(shù).相關的命令:EXIT.退出循環(huán).CHECK<logisticstatement>.如果邏輯表達式成立,則繼續(xù)執(zhí)行,否則,開始下一次循環(huán).利用循環(huán)方式讀取所有記錄SELECT….ENDSELECT.是循環(huán)方式讀取記錄的.例如:TABLESMARD.SELECT[DISTINCT]*FROMMARDWHEREMATNR='3520421700'.<Statements>.ENDSELECT.(從MARD中抓取所有料號=3520421700的資料)◆讀取一筆資料Example:TABLESSPFLI.SELECTSINGLE*FROMSPFLIWHEREPLANT='CHUNGLI'ANDTEL='4526174'.WRITE:/SPFLI-COMPANY,SPFLI-PLANT,SPFLI-TEL.◆將讀取的記錄放在workarea中,并且加入Internaltable中.格式有:...INTO<workarea>...INTOCORRESPONDINGFIELDSOF<workarea>...INTO(f1,...,fn)變量組INTOTABLE<internaltable>...INTOCORRESPONDINGFIELDSOFTABLE<internaltable>...APPENDINGTABLE<internaltable>...APPENDINGCORRESPONDINGFIELDSOFTABLE<internaltable>舉例一:TABLESMARD.DATA:BEGINOFITABOCCURS10,MATNRLIKEMARD-MATNR,WERKSLIKEMARD-WERKS,LGORTLIKEMARD-LGORT,LABSTLIKEMARD-LABST,ENDOFITAB.SELECTMATNRWERKSLGORTLABSTINTOCORRESPONDINGFIELDSOFITABFROMMARDWHEREMATNR='3520421700'.APPENDITAB.CLEARITAB.ENDSELECT.(將讀取的結果放在InternaltableITAB中)DATA:BEGINOFWA,LINE(240),ENDOFWA.DATANAME(10).NAME='SPFLI'.SELECT*FROM(NAME)INTOWA.WRITE:/WA-LINE.ENDSELECT.數(shù)據(jù)庫表名稱SPFLI被賦給字符字段NAME。SELECT語句將所有的行從SPFLI中讀到目標區(qū)WAWA與SPFLI地轉(zhuǎn)換成字符字段.舉例二.TABLESMARD.SELECTMATNRMTARTMAKTXINTO(t_matnr,t_mtart,maktx)FROMMARDWHEREMATNR='3520421700'.<Statements>.ENDSELECT.(從MARD中抓取料號=3520421700的料號、類型和描述,放在變量t_matnr,t_mtart,maktx中)。Example:TABLESSPFLI.DATAWALIKETABLES.SELECT*FROMSPFLIINTOWA.WRITE:/WA-COMPANY,WA-PLANT.ENDSELECT.逐筆寫入WA工作區(qū)中舉例三.將讀取的資料寫入InitialTable中語法:SELECT..INTOTABLE<itab>Example:TABLESSPFLI.DATAITABLIKESPFLIOCCURS10WITHHEADERLINE.SELECT*FROMSPFLIINTOITAB.一次讀10筆(InitialTable的長度)記錄存入ITAB中SELECT..INTOTABLE<itab>PACKAGESIZE<n>一次讀取<n>筆記錄至<itab>中Example:TABLESSPFLI.DATAITABLIKESPFLIOCCURS10WITHHEADERLINE.SELECT*FROMSPFLIINTOITABPACKAGESIZE5.一次讀取5筆記錄exp:TABLESSPFLI.DATA:BEGINOFWA,NUMBERTYPEIVALUE1,CITYFROMLIKESPFLI-CITYFROM,CITYTOLIKESPFLI-CITYTO,ENDOFWA.SELECT*FROMSPFLIINTOCORRESPONDINGFIELDSOFWA.WRITE:/WA-NUMBER,WA-CITYFROM,WA-CITYTO.ENDSELECT.輸出如下所示:SPFLI中選定行的列CITYFROM和CITYTO傳送到WA中。WA中的組件NUMBER保持不變。**按指定的欄位排序TABLESSBOOK.SELECT*FROMSBOOKWHERECARRID='LH'ANDCONNID='0400'ANDFLDATE='19950228'ORDERBYBOOKIDASCENDING.WRITE:/SBOOK-BOOKID,SBOOK-CUSTOMID,SBOOK-CUSTTYPE,SBOOK-SMOKER,SBOOK-LUGGWEIGHT,SBOOK-WUNIT,SBOOK-INVOICE.ENDSELECT.(利用參數(shù)ORDERBY所指定的欄位排序)**◆抓取數(shù)據(jù)的條件敘述(1)BETWEEN<g1>AND<g2>例如:WHEREYEARBETWEEN1995AND2000.(2)LIKE<g>例如:WHERENAMELIKE'MIKE%'.('%'是通配符號)(3)IN(<g1>…<gn>)是<g1>…<gn>里面的任意一個值即可.例如:WHEREPLANTIN('CHUNGLI','TAOYUAN','LIUTU').(表示PLANT只要是'CHUNGLI'或'TAOYUAN'或'LIUTU'都可以).(4)ORDERBY敘述指定排序的欄位或順序(1)...ORDERBYPRIMARYKEY.根據(jù)PRIMARYKEY遞增排序(2)…ORDERBY<f1>[DESCENDING]<f2>[DESCENDING]Example:SELECT*FROMIMORDERBYPART.**INSERT語句◆從workarea加入到InternalTable中格式:INSERTINTO<database>VALUES<workarea>例如:DATA:BEGINOFWA,CODE(6)TYPEC,NAME(30)TYPEC,ENDOFWA.DATA:VENLIKEWAOCCURS10.…WA-CODE='530120'.WA-NAME='XINGDAELECTRONICSCO.,LTD'.INSERTINTOVENVALUESWA.如果workarea的名稱就是internaltable的名稱,可以直接寫成:INSERT<internaltable>例如:DATA:BEGINOFWAOCCURS10,CODE(6)TYPEC,NAME(30)TYPEC,ENDOFWA.…WA-CODE='530120'.WA-NAME='XINGDAELECTRONICSCO.,LTD'.INSERTWA.◆從另外一個Internaltable中INSERT資料格式:INSERT<itab1>FROMTABLE<itab2>[ACCEPTINGDUPLICATEKEY]將<itab2>中非NULL的資料加入<itab1>中,加上[ACCEPTINGDUPLICATEKEY]能限制相同PRIMARYKEY不重復加入.加入一筆記錄至資料庫1.自WorkArea工作區(qū)語法:INSERTINTO<database>VALUES<wa>Example:TABLESSPFLI.DATAWALIKESPFLI.WA-NO='34051920'.WA-COMPANY='DELTA'.INSERTSPFLIVALUESWA.將ITAB資料加入SPFLI中,也可寫成INSERTSPFLIFROMITAB.SPFLI-NO='34299876'.SPFLI-COMPANY='HP'.INSERTSPFLIFROMSPFLI.將WorkAreaSPFLI中的資料加入資料庫檔案SPFLI中因WorkAreaSPFLI的結構與資料檔SPFLI一樣,所以也可寫成INSERTSPFLI.2.自InternalTable語法:INSERT<database>FROMTABLE<itab>[ACCEPTINGDUPLICATEKEY]將<itab>中非NULL的資料加入<database>中,加上[ACCEPTINGDUPLICATEKEY]能檢查不加入有重覆primarykey,若有重覆則SY-SUBRC會傳回4Example:TABLESSPFLI.DATAITABLIKESPFLIOCCURS10WITHHEADERLINE.ITAB-NO='34051920'.ITAB-COMPANY='DELTA'.APPENDITAB.….INSERTSPFLIFROMTABLEITABACCEPTINGDUPLICATEKEY.**UPDATE指令異動已存在的記錄內(nèi)容1.使用PrimaryKey語法:UPDATE<database>FROM<wa>Example:TABLESSPFLI.DATAWALIKESPFLI.WA-NO='34051920'.WA-COMPANY='DELTA'.UPDATESPFLIFROMWA.如SPFLI的PrimaryKey是NO,則會找到NO='34051920'的記錄,將其COMPANY欄位異動為DELTA2.使用條件式語法:UPDATE<database>SET<f1>=<values>…WHERE<condition>根據(jù)條件式異動符合條件式的記錄Example:UPDATESPFLISETNO='34051920'COMPANY='DELTA'WHERETEL='4526107'.**3.MODIFY語法MODIFY<internaltable>[FROM<workarea>].根據(jù)PrimaryKey尋找資料檔中符合的記錄,若找到則更新異動,若找不到則新增記錄語法:MODIFY<database>FROM<wa>Example:WA-NO='34051920'.WA-COMPANY='DELTA'.MODIFYSPFLIFROMWA.4.DELETE語法DELETE<internaltable>[FROM<workarea>].或:DELETE<internaltable>[WHERE<conditions>]刪除資料檔的記錄1.使用PrimaryKey語法:DELETE<database>FROM<wa>Example:TABLESSPFLI.DATAWALIKESPFLI.WA-NO='34051920'.WA-COMPANY='DELTA'.DELETESPFLIFROMWA.如SPFLI的PrimaryKey是NO,則會找到NO='34051920'的記錄,找到後將此筆刪除2.使用條件式語法:DELETEFROM<database>WHERE<condition>根據(jù)條件式刪除符合條件式的記錄Example:DELETEFROMSPFLIWHEREAREA='AMERICAN'.**5.DATABASECURSORDatabaseCursor是一個資料庫暫存區(qū),將經(jīng)SELECT指令讀取的記錄存放至此暫存區(qū),再由此暫存區(qū)放至WorkArea中,可減少資料庫讀取的次數(shù).1.開啟DatabaseCursor語法:OPENCURSOR<c>FORSELECT…WHERE<condition>Example:TABLESSPFLI.DATA:WALIKESPFLI,C1TYPECURSOR.OPENCURSORC1FORSELECT*FROMSPFLIWHEREAREA='TAIWAN'.2.讀取DatabaseCursor的資料存入WorkArea語法:FETCHNEXTCURSOR<c>INTO<wa>Example:FETCHNEXTCURSORC1INTOWA.讀取下一筆Cursor位置的資料存入WA,如果已無資料可讀,SY-SUBRC<>0.關閉DatabaseCursor語法:CLOSECURSOR<c>Example:CLOSECURSORC1.**COMMITWORK&ROLLBACKWORK要確定資料成功寫入資料庫,可使用COMMITWORK指令,如:COMMITWORK.相反的,如果反悔要復原,可使用ROLLBACKWORK,可復原在上個COMMITWORK指令之後的資料,如:ROLLBACKWORK.**使用NATIVESQL指令語法格式:EXECSQL[PERFORMING<form>].<statements>ENDEXEC.舉例一.EXECSQL.CREATETABLEAVERI_CLNT(CLIENTCHAR(3)NOTNULL,ARG1CHAR(3)NOTNULL,ARG2CHAR(3)NOTNULL,FUNCTIONCHAR(10)NOTNULL,PRIMARYKEY(CLIENT,ARG1,ARG2))ENDEXEC.舉例二.DATA:F1(3),F2(3),F3(3).F3='1'EXECSQL.SELECTCLIENT,ARG1INTO:F1,:F2FROMAVERI_CLNTWHEREARG2=:F3ENDEXECPERFORMING<formname>的使用:如果NATIVESQL的SELECT命令執(zhí)行結果是抓到多筆記錄,我們想要逐筆記錄處理時,就用PERFORMING參數(shù),這個FORM能被逐次調(diào)用.如果想中止調(diào)用,就用EXITFORMSQL結束調(diào)用.例如:DATA:F1(3),F2(3),F3(3).F3='010'EXECSQLPERFORMINGWRITE_AVERI_CLNT.SELECTCLIENT,ARG1INTO:F1,:F2FROMAVERI_CLNTWHEREARG2=:F3ENDEXEC.FORMWRITE_AVERI_CLNT.WRITE:/F1,F2.ENDFORM.DATA:BEGINOFWA,NAME(8),AGETYPEI,ENDOFWA.DATAF1TYPEI.FI=20.EXECSQLPERFORMINGOUTPUT.SELECTNAME,AGEINTO:WAFROMNAME_TABLEWHEREAGE>=:F1.ENDEXEC..FORMOUTPUT.WRITE:/WA-NAME,WA-AGE.ENDFORM.注意:a.NATIVESQL把TABLE中的MANDT(client)欄位當作一般欄位使用,所以在抓取資料時必須指定特定的Client;b.NATIVESQL中的SELECT語句沒有CHECK權限的功能;c.在登入SAPR/3系統(tǒng)時,我們已經(jīng)自動與Database連接,所以在執(zhí)行NATIVESQL時并不需要CONNECT語句;d.一條NATIVESQL語句可以以分號;結束,一般情況下是以句號.結束.e.某些數(shù)據(jù)庫系統(tǒng)對TABLE名字和FIELD名字有大小寫區(qū)別,要正確書寫.f.在NATIVESQL中,雙引號"不表示注釋.**結果語句條件述敘1.IF述敘語法:IF<Condition1>.<Statement1>ELSEIF<Condition2>.<Statement2>ELSEIF<Condition3>.<Stetement3>…..ELSE.<elseStatement>ENDIF.(1).在每個判斷敘述之後要加上.(2).在巢狀迥圈之中無法使用ELSE敘述,ELSE敘述屬IF敘述Example:IF3>8.WRITE/'3islessthan8'.ENDIF.2.CASE敘述語法:CASE<變數(shù)f>.WHEN<Value1>.<Statement1>WHEN<Value2>.<Statement2>….WHENOTHERS.<othersStatement>ENDCASE.Example:S='A'.CASES.WHEN'X'.WRITE/'StringisX'.WHENOTHERS.WRITE/'StringisnotX'.ENDCASE.迥圈敘述1.計次迥圈語法:DO[nTIMES][VARYING<f>FROM<start>TO<end>.<loopblock>ENDDO.Example:DO2TIMES.WRITE/'X'.ENDDO.執(zhí)行結果:XXDOVARYINGIFROM1TO10.S=S+I.ENDDO.WRITE:/,'1+2+3+…+10=',S執(zhí)行結果:1+2+3+…+10=552.條件迥圈語法:WHILE<Condition>.<StatementBlock>ENDWHILEExample:I=1.S=0.WHILEI<=10.S=S+I.I=I+1.ENDWHILE.WRITE:/'1+2+3+…+10=',S.執(zhí)行結果為:1+2+3+…+10=55迥圈控制敘述1.CONTINUE跳至迥圈的下一次Example:DO3TIMES.IFSY-INDEX=2.CONTINUE.WRITE/SY-INDEX.ENDDO.執(zhí)行結果:132.CHECK<Condition>CHECK之後條件成立才繼續(xù)往下執(zhí)行迥圈Example:DO5TIMES.CHECKSY-INDEXBETWEEN2AND4.WRITE/SY-INDEX.ENDDO.執(zhí)行結果:2343.EXIT跳離迥圈敘述Example:DO10TIMES.IFSY-INDEX=4.EXIT.ENDIFWRITE/SY-INDEX.ENDDO.執(zhí)行結果:123無窮迥圈DO.<StatementBlock>ENDDO.無窮迥圈必須配合EXIT敘述來執(zhí)行**搜索字符串要搜索特定模式的字符串,請使用SEARCH語句,用法如下:語法SEARCH<c>FOR<str><options>.該語句在字段<c>中搜索<str>中的字符串。如果成功,則將SY-SUBRC的返回代碼值設置為0并將SY-FDPOS設置為字段<c>中該字符串的偏移量。否則將SY-SUBRC設置為4。搜索串<str>可為下列格式之一:<str>目的<pattern>搜索<pattern>(任何字符順序)。忽略尾部空格。.<pattern>.搜索<pattern>,但是不忽略尾部空格。*<pattern>搜索以<pattern>結尾的詞。<pattern>*搜索以<pattern>開始的詞。等號等分隔。DATASTRING(30)VALUE'Thisisalittlesentence.'.WRITE:/'Searched','SY-SUBRC','SY-FDPOS'.ULINE/1(26).SEARCHSTRINGFOR'X'.WRITE:/'X',SY-SUBRCUNDER'SY-SUBRC',SY-FDPOSUNDER'SY-FDPOS'SEARCHSTRINGFOR'itt'.WRITE:/'itt',SY-SUBRCUNDER'SY-SUBRC',SY-FDPOSUNDER'SY-FDPOS'SEARCHSTRINGFOR'.e.'.WRITE:/'.e.',SY-SUBRCUNDER'SY-SUBRC',SY-FDPOSUNDER'SY-FDPOS'.SEARCHSTRINGFOR'*e'.WRITE:/'*e',SY-SUBRCUNDER'SY-SUBRC',SY-FDPOSUNDER'SY-FDPOS'.SEARCHSTRINGFOR's*'.WRITE:/'s*',SY-SUBRCUNDER'SY-SUBRC',SY-FDPOSUNDER'SY-FDPOS'.該過程的輸出如下:SEARCHEDSY-SUBRCSY-FDPOSX40itt011.e.015*e010s*017搜索字符字段<c>的各種選項(<options>)如下ABBREVIATED在字段<c>中搜索包含<str>單詞和字符串的第一個字母必須相同。STARTINGAT<n1>在字段<c>中搜索從<n1>開始的<str>。結果SY-FDPOS參照相對于<n1>的偏移量而不是字段的開始。ENDINGAT<n2>在字段<c>搜索<str>直到位置<n2>。ANDMARKABBREVIATED時的所有字符)轉(zhuǎn)換為大寫形式。DATA:STRING(30)VALUE'Thisisafastfirstexample.',POSTYPEI,OFFTYPEI.WRITE/STRING.SEARCHSTRINGFOR'ft'ABBREVIATED.WRITE:/'SY-FDPOS:',SY-FDPOS.POS=SY-FDPOS+2.SEARCHSTRINGFOR'ft'ABBREVIATEDSTARTINGATPOSANDMARK.WRITE/STRING.WRITE:/'SY-FDPOS:',SY-FDPOS.OFF=POS+SY-FDPOS-1.WRITE:/'Off:',OFF.該過程的輸出如下:Thisisafastfirstexample.SY-FDPOS:10ThisisafastFIRSTexample.SY-FDPOS:4Off:15'fast''ft'量SY-FDPOS上加2POS'fast'。要獲得'first'相對于字段STRING開始的偏移量,從POS和SY-FDPOS計算。獲得字符串長度要決定字符串到最后一個字符而不是SPACE的長度,請使用內(nèi)部函數(shù)STRLEN,用法如下:語法[COMPUTE]<n>=STRLEN(<c>).STRLEN將操作數(shù)<c>關鍵字COMPUTE可選。有關內(nèi)部函數(shù)的詳細信息,參見使用數(shù)學函數(shù)(頁49)。DATA:INTTYPEI,WORD1(20)VALUE'12345'.WORD2(20).WORD3(20)VALUE'4'.INT=STRLEN(WORD1).WRITEINT.INT=STRLEN(WORD2).WRITE/INT.INT=STRLEN(WORD3).WRITE/INT.結果分別是5,0和4。**StandardReport一個典型的報表程式是由許多的程式區(qū)塊(CodeBlock)所組成,在區(qū)塊間最好能加上一些說明以利程式可讀性,一個典型的報表程式格式如下:*PROGRAMSOURCEHEADER:說明程式名稱及目的*ProgramNam
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 IEC TS 62257-9-8:2025 EN Renewable energy off-grid systems - Part 9-8: Integrated systems - Requirements for stand-alone renewable energy products with power ratings less th
- 瑜伽行業(yè)私教課程合同
- 房屋代理銷售協(xié)議
- 夫妻共同擔保簽字借款合同
- 外立面裝修施工合同
- 汽車零部件生產(chǎn)加工合作協(xié)議
- 數(shù)字文化創(chuàng)意產(chǎn)業(yè)投資合同
- 產(chǎn)品研發(fā)合作框架協(xié)議
- 國家建造師聘用協(xié)議書
- 機關事業(yè)單位編外人員勞動合同書
- 2025年度光伏電站光伏組件回收處理合同示范文本
- 2025年春季少先隊工作計劃及安排表(附:少先隊每月工作安排表)
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 《教育強國建設規(guī)劃綱要(2024-2035年)》全文
- 2024-2025學年全國中學生天文知識競賽考試題庫(含答案)
- 小學科學湘科版六年級下冊全冊同步練習含答案
- 思維第一:全面提升學習力
- 影視文學教程整本書課件完整版電子教案全套課件最全教學教程ppt(最新)
- 防火門監(jiān)控系統(tǒng)調(diào)試、檢測、驗收記錄
- “大水利”概念及其意義
- 三年級上冊數(shù)學應用題大全98715
評論
0/150
提交評論