abap学习从实例sap编程版上_第1页
abap学习从实例sap编程版上_第2页
abap学习从实例sap编程版上_第3页
abap学习从实例sap编程版上_第4页
abap学习从实例sap编程版上_第5页
已阅读5页,还剩365页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(TCODEAbapdocu实现全部功能的ABAP开发(包括数据库编程。SAP正式环境含有业务功能并能进行开发,但正式环境需要经过较复杂的系统配置,SAPIDES环境含有业务功能并能进行开发,而且含有一套完整演示数据,能直接使用开发ABAP程序需要向SAP公司申请开发关键字。SAP正式环境和SAPIDES环境的数据库可以有很多种,如SQLSEVERORACLEEngine主要ABAP相关技术见表1-1。SHDBSAPListExcelTreeTreeSQLFormSQL第二章创建 建立 SAP后,输入事务代码(TCODE:SE382-12-2-2-2-2-2-在调整完程序后,可以选通过菜单“程序”—>“检查”—>“语法”检查语法,如图2-2-2-2-于新建程序,SAP1000的选择屏幕,在阅读后续章节后,可以查看和编辑2-选择“本地对象,如图2-12所示,系统提示,表示事务已2- 2-2-2- 系统输出如图2-16所示。2-文本的设定TCODE:SE32,选择程序或类,单击修改进入文本界面,如图2-2-2-2-IA—REPORTDATA:MSG1(20)TYPECVALUEDATA:MSG2(20)TYPECVALUE'ABAP'.DATA:MSG3(20)TYPECVALUE'消息!'.MESSAGEI006(YMESS)WITHMSG1MSG2MSG3.图2-ABAP个字符串中,再通过某种方式使该字符串运行。SAPFIELD-SYMBOLS,把一个结构定 HIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFFIELD-SYMBOLS<FSA>LIKEMAN.DATAMAN1LIKEMAN.MAN1-NAME=''.MAN1-HIGH='1.78'.ASSIGNMAN1TO<FSA>.WRITE:/<FSA>-NAME,3- C2(2)TYPEC,C3(2)TYPEC,C4(2)TYPEC,C9(2)TYPEC.C1=C2=C3=C4=C9=CONCATENATEC1C2C3C4INTOC5.WRITEC5.CONCATENATEC1C2C3C4INTOC5SEPARATEDBYC9.WRITE/C5.3-间隔符字符串C9合并到字符串C5。REPORTYTEST001.DATA:C1(2)TYPEC2(2)TYPEC,C3(2)TYPEC,C4(2)TYPEC,C5(20)TYPECVALUE'11*22*33*44',C9(2)TYPEC.C9='*'.SPLITC5ATC9INTOC1C2C3 WRITE:/C1,C2,C3,C4.3- NAME(20)TYPEC,HIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFDATA:MAN1LIKETABLEOFMANWITHHEADERLINE,MAN2LIKETABLEOFMAN.MAN-HIGH=MAN-WEIGHT=120.MAN-HIGH=MAN-WEIGHT=160.MOVEMAN1[]TOMAN2.LOOPATMAN2INTOMAN.WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3- NAME(20)TYPEHIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFMAN-HIGH=MAN-HIGH=MAN-HIGH=WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3- NAME(20)TYPEHIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFMAN-HIGH=MAN-HIGH=WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.MAN-HIGH=WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3- NAME(20)TYPEHIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFMAN-HIGH=MAN-HIGH=WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.DELETEMAN1WHERENAME=''.WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3- NAME(20)TYPEHIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFMAN-HIGH=MAN-HIGH=WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.MAN-HIGH=INSERTMANINTOMAN1INDEX2.WRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3-REPORTYTEST001.WRITE:/.SELECT*INTOWAFROMSPFLI.'WA-CITYFROMUNDER'起飞城市',WA-AIRPFROMUNDER'起飞机场'.3-REPORTDATA:BEGINOFNAME(20)TYPEHIGHTYPEPDECIMALS2,WEIGHTTYPEPDECIMALS2,ENDOFDATA:MAN1LIKETABLEOFDATA:NAMETYPERLGRAP-FILENAME,TYPATYPERLGRAP-MAN-NAME='MAN-HIGH=MAN-WEIGHT=INSERTMANINTOTABLEMAN-NAME='MAN-HIGH=MAN-WEIGHT=INSERTMANINTOTABLEMAN-NAME='MAN-HIGH=MAN-WEIGHT=INSERTMANINTOMAN1INDEXNAME='C:\TEMP\TESTA.TXT'.TYPA='DAT'.CALLFUNCTION'DOWNLOAD' = = = = = = = = =GUI_REFUSE_FILETRANSFER= =IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.1,68120,001,58110,001,78160,00REPORTDATA:BEGINOFNAME(20)TYPEHIGHTYPEPDECIMALSWEIGHTTYPEPDECIMALS2,ENDOFMAN.DATA:MAN1LIKETABLEOFCALLFUNCTION'UPLOAD' = = = ==1=2=3=4=5=6=IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.LOOPATMAN1INTOWRITE:/MAN-NAME,MAN-HIGH,MAN-WEIGHT.3-3.123-3.13WRITEWRITEAT<pos>]len>文本“/”:下一行pos(lenREPORTDATA:STR1(10)TYPECVALUEWRITE'接着的字符串 WRITEAT14(10)STR1.3-ABAP数据字典的事务代码(TCODE:SE11数据字典和SAP ABAP数据字典与实际数据库之间的关系。数据字典对象由数据字段(TableField、数据元素(DataElement、域()等组成。ableSrucueStructurTableTableStructure4-NOTNOT4-NOTNOTNOT4-NOTNOTNOTNOT“A”(应用表,选择建立的表可以(Tablemaintenanceallowed如图4-1所示。4-4-4-由于在如图4-1所示建立表属性时选择了因此能直接进行数据。输入TCODE:SE16所示。4-,4-,4-4-(SE11SE55,如图4-10所示。4-4-4-, 输入TCODE:/nSM30数据,如图4-13所示。4-4-4-4-如图4-17所示。4-4-4-4-4-选择YTCITY数据表,进入结构 数据元素,如图4-22所示。4-4-4- 图4-25所示。4-4-2-4-4-4-SQL语句SQL语法。SAPSQLSQL很接近,由SELECT,INSERT,DELETE,UPDATE等常用语法组成。础的查询例子,再介绍常用的ABAP数据的例子。REPORTDATAA_SPFLITYPE*定义内表,请注意有HEADERDATATA_SPFLITYPETABLEOFSPFLIWITHHEADERSELECT*INTOCORRESPONDINGFIELDSOFA_SPFLIFROMSPFLIUPTO5ROWS.WRITE:/A_SPFLI-CONNID,A_SPFLI-CARRID,A_SPFLI-CITYFROM,SELECT*INTOCORRESPONDINGFIELDSTABLETA_SPFLIFROMSPFLIUPTO5LOOPATTA_SPFLI.WRITE:/A_SPFLI-CONNID,A_SPFLI-CARRID,A_SPFLI-CITYFROM,LOOPATTA_SPFLIINTOWRITE:/A_SPFLI-CONNID,A_SPFLI-CARRID,A_SPFLI-CITYFROM,4-示5条记录后接着5条记录。REPORTYTEST003*定义内表有HEADERDATAWA_SPFLITYPETABLEOFSPFLIWITHHEADERSELECT*INTOTABLEWA_SPFLIFROMSPFLIPACKAGESIZELOOPATWRITE:/WA_SPFLI-CARRID,WA_SPFLI-CITYFROM,WA_SPFLI-CITYTO.4-REPORTYTEST003DATA:BEGINOFARCD,CARRIDTYPESPFLI-CARRID,CONNIDTYPESPFLI-CONNID,FLDATETYPESFLIGHT-FLDATE,ENDOFDATAARCD1LIKESELECTSPFLI~CARRIDSPFLI~CONNIDSFLIGHT~FLDATEINTOARCD1FROMSPFLIINNERJOINSFLIGHTONSPFLI~CARRID=SFLIGHT~CARRIDANDSPFLI~CONNID=SFLIGHT~CONNIDUPTO10ROWS.WRITE:/ARCD1-CARRID,ARCD1-CONNID,ARCD1-FLDATE.4-使用“:”连接相似语句,在ABAP中,冒号是非常常见的,比如说最常见的程序WRITEWRITEWRITE【5.1REPORTTABLESSPFLI.SKIP.ULINEAT(91).WRITE:SY-VLINE,(15)',SY-VLINE,(15)',SY-(15)',SY-VLINE,(15)SY-ULINEAT/(91).SELECT*FROMWRITE:/SY-VLINE,(15)SPFLI-CARRID,SY-VLINE,(15)SPFLI-CONNID,SY-(15)SPFLI-COUNTRYTO,SY-VLINE,(15)SPFLI-CITYFROM,SY-VLINE,(15)ULINEAT5-在例5.1中,先输出表头,再从数据表中数据并输出,横竖线使用“ULINE”和“sy-line”。5-FORMATCOLORnONINTENSIFIEDON|OFFINVERSEON|OFF]COLOR参数: 【5.2FORMATCOLORCOL_HEADING.WRITE'OWORLD'.WRITE FORMATCOLORCOL_HEADINGINVERSEON.WRITE/'OWORLD'.WRITE 5-【5.3TABLESSPFLI.SKIP.FORMATCOLORCOL_HEADING.ULINEAT/(91).WRITE:SY-VLINE,(15)',SY-VLINE,(15)',SY-(15)',SY-VLINE,(15)SY-ULINEAT/(91).FORMATCOLORSELECT*FROMIFSPFLI-CARRID=FORMATCOLORCOL_NEGATIVE.FORMATCOLORWRITE:/SY-VLINE,(15)SPFLI-CARRID,SY-VLINE,(15)SPFLI-CONNID,SY-,(15)SPFLI-COUNTRYTO,SY-VLINE,(15)SPFLI-CITYFROM,SY-VLINE,(15)ULINEAT5-【5.4WRITE'请按'.FORMATHOTSPOTONCOLOR6INVERSEON.WRITE'热点'.FORMATHOTSPOTOFFCOLORATLINE-WRITE 【5.5WRITE:,SY-LSINDSY-ATLINE-IFSY-LSIND=WRITE:,SY-LSIND=',SY-LSIND.5-建”按钮,如图5-5所示。5-5-5-5-5-5-5-

5-保存后单击激活按钮,激活界面如图5-13所示(图5-13略)REPORTSETPF-STATUSSTA1'. WHENWRITE:5-5-5-REPORTSETPF-STATUSSTA1'. WHENIFSY-LSIND=SETPF-STATUSWINDOWSTARTINGAT1010ENDINGAT30WRITE:'请注意!'.5-【5.6REPORTTABLES:SPFLI,SFLIGHT.ULINEATWRITE:SY-VLINE,(15),SY-VLINE,(15)',SY-(15)',SY-VLINE,(15),SY-ULINEAT/(91).SELECT*FROMWRITE:/SY-VLINE,(15)SPFLI-CARRID,SY-(15)SPFLI-CONNID,SY-(15)SPFLI-COUNTRYTO,SY-(15)SPFLI-CITYFROM,SY-(15)SPFLI-AIRPFROM,SY-HIDE:SPFLI-CARRID,SPFLI-CONNID.ULINEAT/(91).ATLINE-IFSY-LSIND=SELECT*FROMWHERECARRID=SPFLI-CARRIDANDCONNID=SPFLI-CONNID.WRITE:/SFLIGHT-CARRID,SY-VLINE,SFLIGHT-CONNID,5-5-例5.6是双击某一行该行内容;例5.7是直接所有数据,在输出的每行加【5.7REPORTTABLES:DATA:SELA(1)TYPEC, TYPEULINEATWRITE:SY-VLINE,'',SY- (15)',SY-VLINE,15)SY-(15)',SY-VLINE,15)SY-VLINE.ULINEAT/(95).SELECT*FROMWRITE:/SY-VLINE,SELAASCHECKBOX,SY-VLINE,(15)SPFLI-SY-VLINE,(15)SPFLI-CONNID,SY-VLINE,(15)SPFLI-COUNTRYTO,SY-VLINE,(15)SPFLI-CITYFROM,SY-VLINE,(15)SPFLI-AIRPFROM,SY-ULINEATHIDESELA.NUM1=SY-LSIND-1.ATLINE-IFSY-LSIND=1.DONUM1*READLINESY-INDEXFIELDVALUEIFSELA='X'.WRITE:/SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYTO,5-5-5-5-

,右边 按钮表示单值和范围5-[ASCHECKBOX][RADIOBUTTONGROUP<RG>]<[LOWERCASE]:大小写;[ASCHECKBOX]:以复选框形式;[RADIOBUTTONGROUPRG>]:以单选按钮形式。【5.8REPORTYTEST004.PARAMETERS:A1(10)TYPE WRITE:/A1,/A2.5-5-【5.9REPORTYTEST005.DATADATA1(20)TYPEC.SELECT-OPTIONSD1FORDATA1.LOOPATD1.WRITE:/ D1- D1-5-5-5-5-运行,输出结果如图5-31所示。5-1000TCODE:SE51TCODE:SE51,输入程序名,单击屏幕编号右端的选择按钮,选择屏幕1000,选择“布局编辑器”选项,单击修改按钮,如图5-32所示。5-5-REPORTSELECTION-SCREENBEGINOFSCREEN500.PARAMETERSDATA1(20)TYPEC.SELECTION-SCREENENDOFSCREEN500.CALLSELECTION-SCREEN500.5-REPORTSELECTION-SCREENBEGINOF*SELECTION-SCREENPOSITIONSELECTION-SCREENCOMMENT1(10)S2.PARAMETERS:A1(1)TYPEC,A2(4)TYPEC,S3(9)TYPESELECTION-SCREENENDOFS25-REPORTSELECTION-SCREENBEGINOFBLOCKRDG1WITHFRAMETITLES2.PARAMETERSA1RADIOBUTTONGROUPRG1.PARAMETERSA2RADIOBUTTONGROUPRG1.PARAMETERSA3RADIOBUTTONGROUPRG1.SELECTION-SCREENENDOFBLOCKRDG1.S25-REPORTTABLESSSCRFIELDS.DATADONE(2)TYPEC.BEGINOFSCREEN500TITLETIT,BEGINOFLINE,PUSHBUTTON2(10) MANDPUSHBUTTON12(10)S2 MANDC2,ENDOFLINE,ENDOFSCREENATSELECTION-SCREEN. WHENDONE=WHENDONE=LEAVETOSCREEN0.CALLSCREEN500.S1='按钮1'.S25-5-TOES屏幕号120,单击“创建”按钮,如图5-39所示。5-5-定义名称、文本、功能码等,如图5-41所示。5-5-PROCESSBEFORECALLSUBSCREENA1INCLUDINGSY-REPIDPROCESSAFTERCALLSUBSCREEN 5-5-REPORTSELECTION-SCREENBEGINOFSCREEN800ASSUBSCREEN.PARAMETERS:A1(10)TYPEC,A2(10)TYPEC,A3(10)TYPESELECTION-SCREENENDOFSCREENSELECTION-SCREENBEGINOFSCREEN900ASSUBSCREEN.PARAMETERS:B1(10)TYPEC,B2(10)TYPEC,B3(10)TYPESELECTION-SCREENENDOFSCREENDATA:OK_CODE SAVE_OK DATA:NUM1(4)TYPENVALUECALLSCREEN120. * mand_0100 * MAND_0100INPUT.SAVE_OK=OK_CODE.CASEWHEN'S1'.NUM1=WHEN'S2'.NUM1=900.WHEN'EXIT'.LEAVEPROGRAM. mand_01005-5-(Subscreen;6-如果没有安装正确,在启动屏幕设计界面时提示“NoresponsefromGraphicalScreen第一个 6-6-6-6-入屏幕编号100后单击“创建”按钮,如图6-7所示。6-6- 6-PROCESSAFTERINPUT(PAI):响应用户输入后的调用模块,如单击按钮,输入字段后回 REPORTYTEST007CALLSCREEN100. *MODULEcancel * *CANCELMODULE与屏幕逻辑流对应MODULECANCELINPUT.LEAVE "cancel6-辑流程设计,加班编辑框,加入OK_CODE,代码设计,输出结果。(TCODESE41单击工具条按钮进入。单击工具条的“其他对象”按钮,如图6-13所示。6-,6-6-6-6-图6-18所示。6-6-6-6-6-6-6- 6- 输入输出字段,如图6-28所示。6-6-REPORTYTEST007DATA:FORINPUT(20)TYPECVALUEFORCODE(20)TYPEC.DATA:OK_CODE SAVE_OK CALLSCREEN100.WRITE:FORINPUT,/ MODULEstatus_0100 MODULESTATUS_0100SETPF-STATUS'TESTSTA1'.FORCODE=SAVE_OK. "STATUS_0100 MODULEcancel MODULECANCELLEAVE "cancel mand_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASESAVE_OK.WHENLEAVETOSCREEN mand_01006-6-31“单选按钮组”—>6-32所示。6-Screen设计过程中,数据字典关联字段可以根据数据字典中定义的透明表、结构等(SPFLI6-6-6-6-6-6-REPORTDATA:OK_CODE SAVE_OK TABLESSCREEN*Module***MODULECANCELLEAVE "CANCEL ModuleSTATUS_0120 MODULESTATUS_0120OUTPUT.SETPF-STATUS "STATUS_0120 MAND_0120 MAND_0120INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVEPROGRAM.SELECTSINGLE*INTOCORRESPONDINGFIELDSOFSPFLIFROMSPFLIWHERECARRID=SPFLI-CARRIDANDCONNID=SPFLI-CONNID.IFSY-SUBRCNE0.CLEARSPFLI. MAND_0120回车后屏幕显示如图6-40所示。6-(AIPROCESSAFTERINPUT。 MODULECANCELAT FIELDMODULE<MDL1>.MODULE<MDL2>.FIELD<FLD1>MODLE<MDL1>ONFIELDFIELD<FLD2>,<FLD3>,<FLD4>.MODULE<MDL2>.6- 6-在主屏幕中加入4个文本字段和4个输入字段,如图6-42所示。6-其中FLD2 PROCESSBEFOREMODULEPROCESSAFTERINPUT.FIELD:MODULEFIELD:MODULEFIELDFLD2MODULECHECK3ON*-INPUT.MODULECANCELAT REPORTDATA:OK_CODE SAVE_OK *定义输入字段变量FLD1(20)TYPEFLD2(20)TYPEC,FLD3(20)TYPEC,FLD4(20)TYPEC,ACTION(50)TYPEC.CALLSCREEN100. ModuleCANCEL MODULECANCELLEAVE

"CANCEL* ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUS "STATUS_0100 MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVEPROGRAM.ACTION=CONCATENATEFLD1FLD2FLD3FLD4INTOACTION. MAND_0100INPUT ModuleCHECK1 输入FLD1、FLD2 MODULECHECK1*当输入FLD1'FLD1'PAIIFFLD1='FLD1'.MESSAGEE005(YMESS)WITH'FLD1*当输入FLD1'FLD11'PAIIFFLD1='FLD11'.MESSAGEI005(YMESS)WITH'FLD1*当输入FLD1'FLD111'PAIIFFLD1='FLD111'.MESSAGES005(YMESS)WITH'FLD1 "CHECK1 ModuleCHECK2 输入FLD3、FLD4 MODULECHECK2IFFLD3=MESSAGEE005(YMESS)WITH'FLD3IFFLD3=MESSAGEI005(YMESS)WITH'FLD3IFFLD3=MESSAGES005(YMESS)WITH'FLD3 "CHECK2 ModuleCHECK3 MODULECHECK3MESSAGEI005(YMESS)WITH'FLD2* "CHECK36-==6-6-REPORTDATA:OK_CODE SAVE_OK TYPE-POOLSVRM.DATA:FLD1(20)TYPEDATA:FNAMETYPEVRM_ID, TYPEVRM_VALUES,LVVALIKELINEOFCALLSCREEN100.

6-* ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSFNAME='FLD1'.LVVA-KEY='1'.LVVA-KEY='广州'.APPENDLVVATOVVA.CLEARLVVA.FNAME='FLD1'.LVVA-KEY=''.APPENDLVVATOCALLFUNCTION'VRM_SET_VALUES' = = = =.IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-" ** MODULECANCELLEAVE "CANCEL MAND_0100 MAND_0100SAVE_OK=OK_CODE.CLEAROK_CODE.CASESAVE_OK.WHENLEAVEPROGRAM. MAND_01006-Screen设计时,可以将字段分组,在PBO中设置属性。图6-48所示。6-1-11-2NO1组,2-12-2NO2组。REPORTDATA:OK_CODE SAVE_OK DATA:SGRP(20)TYPEC,SMOD(1)TYPEDATA:CANMOD(1)TYPECANMODSCREEN*Module***MODULESTATUS_0100OUTPUT.SETPF-STATUSSGRP=''.IFSAVE_OK=SGRP=SGRP=IFCANMOD=SMOD=SMOD=LOOPATIFSCREEN-GROUP1=SGRP.SCREEN-INPUT=SMOD.MODIFY "STATUS_0100 ModuleCANCEL *CANCELMOUDLE MODULECANCELLEAVE "CANCEL **** MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVEPROGRAM. MAND_01006-6.6这样,既保持了整体性,又方便对单个屏幕的。在SAP业务程序中,大量地使加两个按钮,单击按钮时切换子窗口,设计界面如图6-506-6-6-PROCESSBEFOREOUTPUT.MODULESTATUS_0100.CALLSUBSCREEN:SUBSCRINCLUDINGSY-REPIDPROCESSAFTERMODULECANCELAT CALLSUBSCREENREPORTYTEST15DATA:OK_CODE SAVE_OK DATA:SID1(4)TYPENVALUECALLSCREEN100. ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUS "STATUS_0100 ModuleCANCEL MODULECANCELLEAVE "CANCEL MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHEN'BTN1'.SID1=WHEN'BTN2'.SID1=WHENLEAVEPROGRAM. MAND_01006-6-6-6-56所示的“表1”。6-6-6-6-6-6-6-可以通过“定制”对象在屏幕上显示各种控件,如、TreeControl、ALV、通过TCODE:SMW0上载 如图6-65所示。6-6-6-6-6-6-6-6-6-REPORTYTEST17.DATA:OK_CODE SAVE_OK DATACONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER.DATAPICTURETYPEREFTOCL_GUI_PICTURE.DATAINIT.CALLSCREEN MAND_0100 MAND_0100SAVE_OK=CLEARCASEWHENLEAVEPROGRAM. MAND_0100 ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFINITIS*地址字段定义CLEARURL.CREATEOBJECTEXPORTINGCONTAINER_NAME=CREATEOBJECTPICTUREEXPORTINGPARENT=CONTAINEREXCEPTIONSERROR=1.IFSY-SUBRCNE0.PERFORMLOAD_PIC_DBCHANGINGCALLMETHODPICTURE->LOAD_PICTURE_FROM_URLURL=IFSY-SUBRCNE0.INIT"* *获取地址通用函 <--P_URL FORMLOAD_PIC_DBCHANGINGDATAQUERY_TABLELIKEW3QUERYOCCURS1WITHHEADERLINE.DATAHTML_TABLELIKEW3HTMLOCCURS1.DATARETURN_CODELIKEW3PARAM-RET_CODE.DATACONTENT_TYPELIKEW3PARAM-CONT_TYPE.DATACONTENT_LENGTHLIKEW3PARAM-CONT_LEN.DATAPIC_DATALIKEW3MIMEOCCURS0.DATAPIC_SIZETYPEREFRESHQUERY_TABLE-NAME=QUERY_TABLE-VALUE='TESTPIC'.APPENDQUERY_TABLE.CALLFUNCTION'WWW_GET_MIME_OBJECT' = = = = =CONTENT_TYPE =PARAMETER_NOT_FOUND= =IFSY-SUBRCEQPIC_SIZE=CONTENT_LENGTH.*创建URL地CALLFUNCTION== == = = = = = = = = =.IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY- "6-REPORTDATA:OK_CODE SAVE_OK DATA:INIT,CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER, TYPEREFTOCL_GUI_TEXTEDIT.DATA:M1(256)TYPECOCCURS0,LINE(256)TYPEC.LINE='请输入'.APPENDLINETOM1.CALLSCREEN100.REFRESHM1.CALLMETHODEDITOR->GET_TEXT_AS_R3TABLETABLE=LOOPATM1INTOWRITE/ * * MAND_0100*SAVE_OK=CLEAROK_CODE.CASESAVE_OK.WHENLEAVETOSCREEN MAND_0100 ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFINITISINIT=CREATEOBJECT:CONTAINEREXPORTINGCONTAINER_NAME='P1'.CREATEOBJECTEDITORPARENT=WORDWRAP_MODE=CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITIONWORDWRAP_POSITION=256WORDWRAP_TO_LINEBREAK_MODE=CALLMETHODEDITOR->SET_TEXT_AS_R3TABLETABLE= "STATUS_01006-6-名和屏幕编号,单击“创建”按钮,如图6-78所示。6-6-6-按钮,如图6-81所示。6-6- 序“MODULECANCELAT 切换到元素页面,加入返回变量“OK_CODE”,如图6-83所示。6-REPORTDATA:OK_CODE SAVE_OKTYPE SCARRID(20)TYPEC.TABLESCALLSCREEN ModuleCANCEL MODULECANCELLEAVE "CANCEL MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARIFSAVE_OKEQLEAVETOLIST-PROCESSINGANDRETURNTOSCREEN0.SUPPRESSDIALOG.SELECTFROMSPFLIWHERECARRID=SCARRID.WRITE:/SPFLI-CARRID,SPFLI-WRITE:/ MAND_01006-6-后,屏幕显示表字段,选择字段,确认,如图6-86所示。6-如图6-87所示。6-6-6-REPORTYTEST20.TABLESSPFLI.SELECT*FROMSPFLI.WRITE:/SPFLI-CARRID,(15)SPFLI-(15)SPFLI-COUNTRYTO,(15)SPFLI-(15)SPFLI-HIDE:SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYFR,ATLINE-CHECKNOTSPFLI-CARRIDISINITIAL.CALLSCREEN100. ModuleCANCEL MODULECANCELLEAVE "CANCEL MAND_0100 MAND_0100 MAND_01006-6-的表格输入等都是使用TableControl控件,本章主要介绍:MODULESTATUS_0100. 主程序DATA:OK_CODETYPE SAVE_OKLIKEOK_CODE.*DATASP1LIKESPFLIOCCURS0WITHHEADERLINE.DATASP1LIKETABLEOFSPFLIWITHHEADER CALLSCREEN100. SAVE_OK=OK_CODE.CASEWHENMODULESTATUS_0100OUTPUT.图7-1所示.。7-7-7-7-7-controlheaders7-7-7-7-7-LOOPATSP1PROCESSAFTERLOOPATFIELDSP1-CARRID.FIELDSP1-CONNID.FIELDSP1-CITYFROM.FIELDSP1-AIRPFROM.FIELDSP1-CITYTO.FIELDSP1-AIRPTO.FIELDSP1-FLTIME.FIELDSP1-DEPTIME.FIELDSP1-ARRTIME.FIELDSP1-DISTANCE.FIELDSP1-DISTID.FIELDSP1-FLTYPE.FIELDSP1-PERIOD.MODULETBL2_MODIFYONCHAIN-REQUEST.*MODULE 主程序REPORTDATA:OK_CODETYPE SAVE_OKLIKEOK_CODE.*DATASP1LIKESPFLIOCCURS0WITHHEADERLINE.DATASP1LIKETABLEOFSPFLIWITHHEADERLINE.SELECT*INTOCORRESPONDINGFIELDSOFTABLESP1FROM*LOOPAT*WRITE:/SP1-CARRID,SP1-CALLSCREEN MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARWHENLEAVEwhen MAND_0100MODULESTATUS_0100OUTPUT.SETPF-STATUS CONTROLS:TBL2TYPETABLEVIEWUSINGSCREENMODULETBL2_CHANGE_TC_ATTROUTPUT.DESCRIBETABLESP1LINESTBL2-lines.MODULETBL2_MODIFYINPUT.MODIFYSP1建,如图7-12所示。7-7-13所示。7-7-7-7-PROCESSBEFOREOUTPUT.MODULELOOPWITHCONTROLMODULEPROCESSAFTERLOOPWITHCONTROLMODULE REPORTDATA:OK_CODE SAVE_OK *DATASP2LIKESPFLIOCCURS0WITHHEADERLINE.DATASP2LIKETABLEOFSPFLIWITHHEADERLINE.DATASP1TYPESPFLI.SELECT*INTOCORRESPONDINGFIELDSOFTABLESP2FROMCALLSCREENCONTROLSTBL1TYPETABLEVIEWUSINGSCREENLOOPATSP2.WRITE:/SP2-CARRID,SP2-CONNID,SP2-COUNTRYFR,SP2-CITYFROM. ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUS "STATUS_0100*MAND_0100** MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVETOSCREEN MAND_0100 ModuleFILL MODULEFILLTBL1READTABLESP2INTOSP1INDEXTBL1-CURRENT_LINE. "FILLOUTPUT ModuleREAD MODULEREADTBL1MODIFYSP2FROMSP1INDEXTBL1- "READ7-7-7-SETPF-STATUS‘STATUS1’.IFNUMS=0.TBL1-LINES=NUMS.通过系统生成数据表程序TCODE:SE55,通过系统数据功能使用生成程(TCODE:SM30(SE11(SE55,(SM307-7-7-7-7-7-7-REPORTYTEST23CALLFUNCTION'VIEW_MAINTENANCE_CALL' = = = =.IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.7-GETCURSORLINELINEA.CHECKSY-SUBRC=0.*LINEA=TBLA-TOP_LINE-READTABLEWA_FPFLIINDEXMESSAGES005(YMESS)WITHWHENLOOPATTBL1-COLSINTOACOLWHEREINDEXGTIFSY-TABIX=ACOL-SCREEN-INPUT=IFACOL-SCREEN-INPUT='0'.ACOL-SCREEN-INPUT='1'.ELSEIFACOL-SCREEN-INPUT=ACOL-SCREEN-INPUT='0'.MODIFYTBL1-COLSFROMACOLINDEXSY-图7-图7-PROCESSBEFORE*&SPWIZARD:PBOFLOWLOGICFORTABLECONTROL'TBL1'MODULETBL1_CHANGE_TC_ATTR.*&SPWIZARD:MODULETBL1_CHANGE_COL_ATTR.LOOPAT WITHCONTROLCURSORTBL1- MODULETBL1_CHANGE_FIELD_ATTR*MODULE*PROCESSAFTER*&SPWIZARD:PAIFLOWLOGICFORTABLECONTROL'TBL1'LOOPATSP1.FIELDSP1-CARRID.FIELDSP1-CONNID.FIELDSP1-CITYFROM.FIELDSP1-AIRPFROM.FIELDSP1-CITYTO.FIELDSP1-AIRPTO.MODULETBL1_MODIFYONCHAIN-REQUEST.*&SPWIZARD:MODULE*&SPWIZARD:MODULETBL1_CHANGE_COL_ATTR.MODULECANCELAT REPORTYTEST25DATA:OK_CODE SAVE_OK DATA:SP1LIKETABLEOFSPFLIWITHHEADERLINE,DELA_SPFLILIKETABLEOFSPFLIWITHHEADERLINE.DATALINEATYPE*&SPWIZARD:DECLARATIONOFTABLECONTROL'TBL1'ITSELFCONTROLS:TBL1TYPETABLEVIEWUSINGSCREEN0100.DATAWA1LIKESELECT*FROMSPFLIINTOCORRESPONDINGFIELDSOFTABLESP1.CALLSCREEN100.*&SPWIZARD:OUTPUTMODULEFORTC'TBL1'.DONOTCHANGETHIS*&SPWIZARD:UPDATELINESFOREQUIVALENTSCROLLBARMODULETBL1_CHANGE_TC_ATTROUTPUT.DESCRIBETABLESP1LINESTBL1- "TBL1_CHANGE_TC_ATTR*&SPWIZARD:INPUTMODULEFORTC'TBL1'.DONOTCHANGETHIS*&SPWIZARD:MODIFYTABLEMODULETBL1_MODIFYINPUT.MODIFYINDEXTBL1-* * MODULESTATUS_0100OUTPUT.SETPF-STATUS "STATUS_0100 ModuleCANCEL MODULECANCEL "CANCEL MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVETOSCREENWHENMODIFYSPFLIFROMTABLESP1.IFSY-SUBRCNE0.MESSAGEI005(YMESS)WITHMESSAGEI005(YESS)WITHDELETESPFLIFROMTABLEDELA_SPFLI.IFSY-SUBRCNE0.MESSAGEI005(YMESS)WITHMESSAGEI005(YESS)WITHWHEN'DELA'.GETCURSORLINELINEA.CHECKSY-SUBRC=0.LINEA=TBL1-TOP_LINE+LINEA-1.READTABLESP1INDEXLINEA.APPENDSP1TODELA_SPFLI.DELETESP1INDEX:LINEA.WHEN'GETDATA'.GETCURSORLINELINEA.CHECKSY-SUBRC=0.LINEA=TBL1-TOP_LINE-1.READTABLESP1INDEXMESSAGES006(YMESS)WITHSP1-CARRIDSP1-CITYFROM. MAND_0100REPORTDATAWA_SPFLILIKETABLEOFSPFLIWITHHEADERSELECT*INTOTABLEWA_SPFLIFROMCALLFUNCTION'REUSE_ALV_LIST_DISY'I_STRUCTURE_NAME='SPFLI' = =IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.8-REPORTTYPE-POOLS:SLIS.DATAWA_ALV_FIELDTYPEDATAWA_ALV_FIELDCATTYPEDATAWA_SPFLILIKETABLEOFSPFLIWITHHEADERSELECT*INTOTABLEWA_SPFLIFROM*定义第一到第WA_ALV_FIELD-COL_POS=1.WA_ALV_FIELD-FIELDNAME='CARRID'.WA_ALV_FIELD-SELTEXT_M='航线承运人'.APPENDWA_ALV_FIELDTOWA_ALV_FIELD-COL_POS=WA_ALV_FIELD-FIELDNAME='CONNID'.WA_ALV_FIELD-SELTEXT_M='航班连接'.APPENDWA_ALV_FIELDTOWA_ALV_FIELDCAT.WA_ALV_FIELD-COL_POS=3.WA_ALV_FIELD-FIELDNAME'CITYFROM'.WA_ALV_FIELD-SELTEXT_MAPPENDWA_ALV_FIELDTOWA_ALV_FIELD-COL_POS=4.WA_ALV_FIELD-FIELDNAME='CITYTO'.APPENDWA_ALV_FIELDTOCALLFUNCTION'REUSE_ALV_LIST_DISY'*=''*=*=''*=''*=''* =''**=== = = = = = = =' = = = = = =0 =0 =0 =0= = = =.IFSY-SUBRC<>MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.8-8-PROCESSBEFOREOUTPUT.MODULEPROCESSAFTER REPORTDATA:OK_CODE SAVE_OK DATAWA_SPFLITYPETABLEOFSPFLI.SELECT*INTOTABLEWA_SPFLIFROM*ALVDATA100DATA:WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA',ALV_GRIDTYPEREFTOCL_GUI_ALV_GRID,WA_CUSTOM_CONTAINERTYPEREFTOCALLSCREEN100. ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFWA_CUSTOM_CONTAINERISINITIAL.CREATEOBJECTWA_CUSTOM_CONTAINERCONTAINER_NAME=CREATEOBJECTALV_GRIDI_PARENT=CALLMETHODALV_GRID->SET_TABLE_FOR_FIRST_DISYI_STRUCTURE_NAME='SPFLI' = "STATUS_0100 MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVE MAND_01008-ALV的工具条上增加一个自定义的按钮,单击它弹出窗口提示选择行数据内容。执行结果如图8-5所示。

8-8-REPORTYTEST29.INCLUDE<ICON>.CLASSLCL_EVENT_RECEIVERDEFINITIONDATA:OK_CODE SAVE_OK DATAEVENT_RECEIVERTYPEREFTOLCL_EVENT_RECEIVER.DATA:WA_SPFLITYPETABLEOFSPFLI,A_SPFLILIKESELECT*INTOTABLEWA_SPFLIFROMDATA:WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA',ALV_GRIDTYPEREFTOCL_GUI_ALV_GRID,WA_CUSTOM_CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER.CALLSCREEN100. CLASSlcl_event_receiver * CLASSLCL_EVENT_RECEIVERPUBLICFOREVENTTOOLBAROFCL_GUI_ALV_GRIDIMPORTINGE_OBJECTE_INCTIVE,FOREVENT MANDOFCL_GUI_ALV_GRID M. "lcl_event_receiver CLASSlcl_event_receiver * CLASSLCL_EVENT_RECEIVERMETHODDATA:LS_TOOLBARTYPESTB_BUTTON.CLEARLS_TOOLBAR-BUTN_TYPE.APPENDLS_TOOLBARTOE_OBJECT->MT_TOOLBAR.CLEARLS_TOOLBAR.MOVE'SHOW_DETA'TOLS_TOOLBAR-MOVEICON_PPE_VNODETOLS_TOOLBAR-ICON.MOVETOLS_TOOLBAR-QUICKINFO.MOVE'(112)TOLS_TOOLBAR-TEXT.MOVE''TOLS_TOOLBAR-DISABLED.APPENDLS_TOOLBARTOE_OBJECT- DATA:LT_ROWSTYPELVC_T_ROW. WHENCALLMETHODALV_GRID->GET_SELECTED_ROWSET_INDEX_ROWS=LT_ROWS.CALLMETHODCL_GUI_CFW=>FLUSH.IFSY-SUBRC=0.MESSAGES005(YMESS)WITHPERFORMMESSDETATABLESLT_ROWS. "LCL_EVENT_RECEIVER ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFWA_CUSTOM_CONTAINERISINITIAL.CREATEOBJECTEXPORTINGCONTAINER_NAME=WA_CONTAINER.CREATEOBJECTALV_GRIDEXPORTINGI_PARENT=CALLMETHODALV_GRID->SET_TABLE_FOR_FIRST_DISYI_STRUCTURE_NAME='SPFLI' =CREATEOBJECTSETHANDLEREVENT_RECEIVER- MANDFORSETHANDLEREVENT_RECEIVER->HANDLE_TOOLBARFORALV_GRID.CALLMETHODALV_GRID->SET_TOOLBAR_INCTIVE. "STATUS_0100 MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVEPROGRAM. MAND_0100 Form -->P_LT_ROWS FORMMESSDETA P_ET_INDEX_ROWSSTRUCTURE"InsertcorrectnameforDATA:LS_SELECTED_LINELIKELF_ROW_INDEXTYPEDATA:S1(200)TYPEC,S2(3)TYPEC.S2='-LOOPATP_ET_INDEX_ROWSINTOLS_SELECTED_LINE.LF_ROW_INDEX=LS_SELECTED_LINE-INDEX.READTABLEWA_SPFLIINDEXLF_ROW_INDEXINTOS1CONCATENATES1A_SPFLI-CONNIDA_SPFLI-CARRIDA_SPFLI-CITYFROMINTOS1SEPARATEDBYS2.MESSAGEI005(YMESS)WITH "REPORTDATA:OK_CODE SAVE_OK DATAWA_SPFLITYPETABLEOFSPFLI.SELECT*INTOTABLEWA_SPFLIFROMDATA:WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA', TYPEREFTOCL_GUI_ALV_GRID,WA_CUSTOM_CONTAINERTYPEREFTOCLASSLCL_EVENT_RECEIVERDEFINITIONDATAEVENT_RECEIVERTYPEREFTOCALLSCREEN100. CLASSlcl_event_receiver CLASSLCL_EVENT_RECEIVERDEFINITION.PUBLICSECTION.FOREVENTDOUBLE_CLICKOFCL_GUI_ALV_GRIDIMPORTINGE_ROWE_COLUMN. "lcl_event_receiver CLASSlcl_event_receiver CLASSLCL_EVENT_RECEIVERIMPLEMENTATION.METHODHANDLE_DOUBLE_CLICK.DATA:LI_SPFLILIKELINEOFREADTABLEWA_SPFLIINDEXE_ROW-INDEXINTODATA:S1(100)TYPECONCATENATEE_ROW-INDEXE_COLUMN-FIELDNAMEINTOS1.CONCATENATES1'connid:'LI_SPFLI-CONNIDINTOS1.CONCATENATES1'carrid:'LI_SPFLI-CARRIDINTOMESSAGES208(00)WITH "lcl_event_receiverIMPLENTATION ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFWA_CUSTOM_CONTAINERISINITIAL.CREATEOBJECTWA_CUSTOM_CONTAINEREXPORTINGCONTAINER_NAME=WA_CONTAINER.CREATEOBJECTEXPORTINGI_PARENT=CALLMETHODALV_GRID->SET_TABLE_FOR_FIRST_DISYI_STRUCTURE_NAME='SPFLI' =CREATEOBJECTSETHANDLEREVENT_RECEIVER->HANDLE_DOUBLE_CLICKFORALV_GRID. "STATUS_0100 MAND_0100 MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENLEAVEPROGRAM. MAND_0100航班表中的CONNID和CARRID的值。8-REPORTDATA:OK_CODE SAVE_OKTYPE TABLESSPFLI.DATALS_SPFLITYPEDATAWA_SPFLITYPETABLEOFSPFLI.DATAWADEL_SPFLITYPETABLEOFSPFLI.SELECT*INTOTABLEWA_SPFLIFROMDATA:WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA',ALV_GRIDTYPEREFTOCL_GUI_ALV_GRID,WA_CUSTOM_CONTAINERTYPEREFTODATAWA_LAYOUTTYPELVC_S_LAYO.WA_LAYOUT-EDIT='X'.CLASSLCL_EVENT_RECEIVERDEFINITIONDATAEVENT_RECEIVERTYPEREFTO CLASSlcl_event_receiver * CLASSLCL_EVENT_RECEIVERPUBLICTYPES:DEL_ROWSTYPESTANDARDTABLEOFSPFLI.DATA:DDEL_ROWSTYPESTANDARDTABLEOFFOREVENTDATA_CHANGEDOFCL_GUI_ALV_GRIDIMPORTINGER_DATA_CHANGED.PR_DATA_CHANGEDTYPEREFTODELETED_ROWSTYPE "LCL_EVENT_RECEIVER CLASSLCL_EVENT_RECEIVER * CLASSLCL_EVENT_RECEIVERMETHODCALLMETHODUPDATE_DELTA_TABLES(ER_DATA_CHANGED METHODUPDATE_DELTA_TABLES.DATA:L_DEL_ROWTYPELOOPATPR_DATA_CHANGED->MT_DELETED_ROWSINTOL_DEL_ROW.READTABLEWA_SPFLIINTOLS_SPFLIINDEXL_DEL_ROW-ROW_ID.IFSY-SUBRCNE0.MESSAGEE208(00)WITHAPPENDLS_SPFLITODDEL_ROWS. METHODGET_DELETED_ROWS.DELETED_ROWS=ME- "LCL_EVENT_RECEIVERCALLSCREEN100.WRITE/'删除的内表记录'.WRITE/ CALLMETHODEVENT_RECEIVER->GET_DELETED_ROWSDELETED_ROWS=LOOPATWADEL_SPFLIINTOWRITE:/SPFLI-CARRID,SPFLI-CONNID,SPFLI-CITYFROM.WRITE:/'更新后的内表记录:'.WRITE:/ LOOPATWA_SPFLIINTOWRITE:/SPFLI-CARRID,SPFLI-CONNID,SPFLI-CITYFROM.*WHENMODIFYSPFLIFORMTABLE*IFSY-SUBRCNEMESSAGEI005(YMESS)WITHMESSAGEI005(YMESS)WITHDELETESPFLIFROMTABLEIFSY-SUBRCNEMESSAGEI005(YMESS)WITHMESSAGEI005(YMESS)WITHEND-OF- ModuleSTATUS_0100 MODULESTATUS_0100OUTPUT.SETPF-STATUSIFWA_CUSTOM_CONTAINERISINITIAL.CREATEOBJECTEXPORTINGCONTAINER_NAME=WA_CONTAINER.CREATEOBJECTALV_GRIDEXPORTINGI_PARENT=CREATEOBJECTSETHANDLEREVENT_RECEIVER->HANDLE_DATA_CHANGEDFORCALLMETHODALV_GRID->SET_TABLE_FOR_FIRST_DISYI_STRUCTURE_NAME='SPFLI' = "STATUS_0100*MAND_0100** MAND_0100INPUT.SAVE_OK=OK_CODE.CLEARCASEWHENDATAL_RETVALUECALLMETHODALV_GRID->CHECK_CHANGED_DATAE_VALID=L_RET.LEAVETOSCREEN0. 8-8-进行归类,并对各分类能进行数据汇总,如图8-10所示。8-REPORTDATA:OK_CODE SAVE_OK DATA:GB_FIELDCATTYPELVC_T_FCAT.DATA:GB_SORTFLDTYPELVC_T_SORT.DATAWA_SPFLITYPETABLEOFSPFLI.SELECT*INTOTABLEWA_SPFLIFROMSPFLI.DATA:WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA',ALV_GRIDTYPEREFTOCL_GUI_ALV_TREE_SIMPLE,WA_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论