《整理的SAP abap学习的资料52390.docx》由会员分享,可在线阅读,更多相关《整理的SAP abap学习的资料52390.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、以前整理的SAP abap学习的资料以前记录下来的资料,现在把它放到这个上面来.唉,就是不知道这个bolg怎么能把图贴上来,要不还可以做好多的操作手册放在上面.这两天改FI/CO的一个报表,弄得我头都大了,不想接手这一块,可是我们公司就我一个abap,不写谁写呢?可怜的孩子!最近家里又发生了事情,更加让我心神不宁了!SAP R/33System 系统Applicaation 应用Productts 产品Real-tiime 三层层系统架构*1,Abap的的数据类型分分为三种类型型*1,类型 *2,结构 *3,内表表*2,数据定义*1 直接定义义Data innt_a ttype II.*2 参
2、照自己己定义的数据据类型定义Type chhar_siix(6) type c.Data chhs typpe chaar_sixx.*3 参照see11中建立立的数据类型型定义*4 直接使用用likeData chh4 likke ch33. (其中中ch3已经经在se111中定义过)定义常数:使用用consttants基本语法:Constannts: typpe vvalue .CONSTANNTS INNT TYPPE I VVALUE 99.*3 选择coopy按钮,输输入程序名字字即可(客户户的程序名字字,需要以ZZ开头)*4,如何设置关关键字的大小小写功能?路径:在utiiliti
3、ees-seettinggspreetty pprinteer*5,模式按钮作用:可以caall fuunctioon,写wrrite等固固定格式,mmessagge等功能操作方法:将光光标放在程序序中你要输入入的地方,然然后按patttern,输输入你要输入入的参数,回回车即可。旁边的prettty prrinterr 是美化pprograam,即是以以标准的缩进进和注释对pprograam*6,如何进行程程序调试?其中 F5 单单步执行F6 执行子程程序的时候,不不进入子程序序,即跳过子子程序F7 跳出目前前的子程序F8 直接执行行*7,在窗口上直直接输入 /h 就可以以进入程序调调试的模
4、式*8,创建事务代代码t-coode:SEE93另一种创建T-Code的的方法是在程程序中点击右右键创建transsactioon 也可以以创建一个TT-Codee*9,writee:a ,bb,c。其中的冒号是语语法链的作用用。*10,如何定义义一格结构?*1,直接定义义结构Data : beginn of sstru_zztaly,Name(100) typpe c,End of stru_ztalyy.*2,自己在程程序里先定义义结构类型,再再参照类型定定义结构对象象。Types: beginn of sstru_zztaly,Name(100) typpe c,End of stru_
5、ztalyy.Data: sstru_zztaly22 typee struu_ztally.*3,在se111定义一个个公共的类型型,再参照类类型定义结构构对象。Data :sstru_iitaly type ityp_s_ztaaly.*4,使用liikeData sttru_ittaly2 like stru_italyy (其中sstru_iitaly是是已经定义了了的结构)*11,如何建立立内表?*1, 直接建建内表Data : beginn of iitab_iitaly occurrs 0,Ino typpe I,.End of itab_italyy.*2,自己先建建一个结构类
6、类型,再根据据这个结构类类型建内表Type :bbegin of tyyp,ino typpe I,end of typ.Data: iitab_ttyp tyype taable oof typp.其中关键字taable不能能少,否则还还是结构,而而不是内表*3,现在数据据字典中建一一个内表类型型,再参照这这个类型Data:ittab_ittalys type zty_tt_itally.说明:对内表的的操作必须依依靠结构进行行。For exaample: appeend sttru_ittaly tto Itaab_itaaly.增加一行到内表表中。*4,内表输出出必须依靠于于结构,而且且
7、要循环输出出For exaample:Loop att itabb_itally intto strru_ztaaly.Write: / .Endloopp.*5,特殊情况况Tables: 表名A说明:定义了一一个和A同样样名称的数据据结构。A type B occcurs NN。说明:定义出来来的一格内表表*6,dataa tyype with headeer linne说明:在定义的的时候同时生生成一个同名名的结构*12,如何理解解程序中的流流程呢?说明:程序其实实存放在daatabasse中的*13,数据元素素,结构和内内表的区别是是什么?用一句话说明:就相当于数数学中的 点点 线 面*
8、14, opeen sqll与 nattive ssql的流程程区别是什么么?说明:使用了oopen ssql 就不不必要理会后后台的数据库库,只要掌握握了openn sql就就ok使用nativve sqll 只和后台台数据库习习习相关上图:主要说明明了Open sqql 只能使使用DML 而 nattive ssql 可以以使用DMLL 和DDLLOpen sqql 包含:inserrt,upddate,ddeletee,modffy*15,proccessinng of tha aabap pprocesssing blockk resuumes(摘摘要)?*16,系统参数数sy-suu
9、brc的功功能是?若返回值为 00 表示系统统执行数据成成功若返回值不为00 表示系统统执行数据不不成功(返回回具体数据的的含义参加FF1帮助文件件)*17,messsage 的的语法使用的的例子?说明:其中bc4000 是messsage classs而messagge:040:thee namee of tthe aiirlinee &1 iis &2.041:Airrline &1 iss not availlable. (&1和和&2 都是是progrram中的变变量)*18,系统得消消息类型有几几种?其中warniing的类型型,可以不必必理会,直接接回车,就可可继续执行Error的
10、类类型,在执行行过程中若产产生Erroor类型的,将将阻止系统继继续往下执行行19,t-coode:see14的作用用?主要是调整表的的作用,具体体功能未知20,系统参数数sy-dbbcnt的作作用是?Sy-dbcnnt表示找到到的记录的序序号,第一条条记录为1,第二条记录录为2,最后后一条记录的的序号也是记记录数21,消息管理理的t-coode:see91管理请求号t-code:se10创建帐号 t-code:su01创建角色 t-code:pfcg传输管理系统tt-codee:stmss跨客户端的应用用层次 t-code:se81寻找跨客户端组组件 t-ccode:sse84创建事务代码:
11、t-codde:se993创建增强工程:t-codde:cmood22,modiify语句的的作用?这个是sap特特有的语句,若若该数据在数数据库中存在在,则upddate若该数据在数据据库中不存在在,则inssert23,报表分为为哪四类?*1,toolls -qquery*2,simpple liists -简单报表表*3,inteeractiivelissts -交互式报表表*4,alv grid Contrrol -alv24,querry 的特征征*1,userr basiic repports*2,eachh userr defiines oown quuickviiews wwh
12、ich only they can ddisplaay*3,usess exissting data*4,no aadminiistrattive(管管理的) wwork*5,可以使用用queryy进行修改*6,inteerfacee to iinternnal(EIIS,ABCC,ALV)aand exxternaal appplicattion*7,feweer funnctionns thaan inffoset queryy*8,no ttranspports24,如何产生生一个简单的的报表?Report zrl0003.Data:waa_spflli likke spffli.Sel
13、ect carriid connnid ccityfrrom ciitytointo coorresppondinng fieelds oof wa_spfliifrom sppfli.Write: / wa_spflii-carrrid, wwa_spffli-coonnid,Wa_spflli-cittyfromm, wa_spflii-cityyto.Endseleect.25,settting tthe liist foormat(报报表的宽度和和高度)?基本的语法:Report linne-sizze linee-counnt .For exaample:Report zrl0003
14、 linne-sizze 50Line-coount 112.Write:产生出来的效果果图为:26,如何在程程序中显示图图标?For exaample:Report zrl0003.IncludeeIncludee *state of frree seeatsIf seattsfreee 1.Write iicon_ggreen_lightt as iicon.Endif.*state of boooked seatssIf wa_ssflighht-seaatocc 10.Write ssym_leeft_haand ass symbbolEndif.chouer5523 发表表于:200
15、07.03.14 111:18 :分类: ( SAPP笔记 ) :阅读:(16988次) : 评论 (14) : 引用 (0)27-37 回复27,设置固定定列和显示最最后一页的语语法具体的例子参考考sapbcc405_ffold_sscrolll_bounndary28,系统参数数sy-vlline作用用是画竖线Sy-pagnno 显示页页数Sy-colnno 显示列列数Sy-linnno 显示行行数29,如何使用用checkkbox aand raadiobuutton参看Exampple* Radioobuttoon grooup wiith frrame aand frrame tte
16、xtSELECTIION-SCCREEN BEGINN OF BBLOCK SEATSS WITHH FRAMME TITTLE TEEXT-S002.PARAMETTERS PPA_OCCC RADIIOBUTTTON GRROUP SSEAT.PARAMETTERS PPA_FREE RADIIOBUTTTON GRROUP SSEAT.PARAMETTERS PPA_ALLL RADIIOBUTTTON GRROUP SSEAT.SELECTIION-SCCREEN END OOF BLOOCK SEEATS.* Parammeterss dispplayedd in oone liin
17、eSELECTIION-SCCREEN BEGINN OF LLINE.SELECTIION-SCCREEN COMMEENT 1(20) TTEXT-SS03.SELECTIION-SCCREEN COMMEENT POOS_LOWW(8) TTEXT-SS04.PARAMETTERS PPA_COLL AS CCHECKBBOX.SELECTIION-SCCREEN COMMEENT POOS_HIGGH(8) TEXT-S05.PARAMETTERS PPA_ICOO AS CCHECKBBOX.SELECTIION-SCCREEN END OOF LINNE.SELECTIION-SC
18、CREEN END OOF BLOOCK OUUT_PUTT.30,如何使用用selecct-opttions程序名称:SAAPBC4005_SSCCD_SELL_SCREEEN_ISAPBC4005_SSCCD_SELL_SCREEEN_III其主要的语法为为:select-optioons foorDefaulttDefaultt toMemory idLower ccaseObligattory “必必输No-exteensionn “不具有有延伸功能No inteervalss屏幕输出还有一一个参数为pparameeter语法为:Parametter p_xxxxxx likee 。而
19、selectt-optiion 和pparameeter的使使用区别主要要在:*1 使用Seelect-optioon时候,默默认的全部的的值而使用paraameterr的时候,默默认的值是空空值*2 使用seelect-optioon 用foor使用parammeter的的时候,使用用的是likke说明:*1 由于paarametter,默认认的是空值,所所有在程序中中,往往需要要用if先进进行判断是否否为初始值。*innitiall*2 在程序中中如果是与范范围的参数进进行匹配的时时候,wheere条件中中用in32,如何进行行初始值?在initiaalizattion的事事件中输入INI
20、TIALLIZATIION.MOVE: MMARK TTO PA_ALL.MOVE: I TOO SO_CCARR-SSIGN,BT TOO SO_CCARR-OOPTIONN,AA TOO SO_CCARR-LLOW,LH TOO SO_CCARR-HHIGH.APPEND SO_CAARR.CLEAR SSO_CARRR.MOVE: E TOO SO_CCARR-SSIGN,EQ TOO SO_CCARR-OOPTIONN,DL TOO SO_CCARR-LLOW.APPEND SO_CAARR.31,inpuut cheecks: at seelectiion-sccreen程序名称:S
21、AAPBC4005_SSCCD_AT_SEL_SSCREENN* Checkk of sselecttion ccriterrion SSO_DEPPT*判断飞行的的事件如果小小于6点或者者大于22点点的时候,提提示出错误。AT SELEECTIONN-SCREEEN ON so_dept.IF ( soo_deptt-low LT 00600000 OR so_deept-hiigh LTT 0600000 )OR ( soo_deptt-low GE 22200000 OR so_deept-hiigh GEE 2200000 )AND airrp_fr EQ FFRA.MESSAGEE
22、e0022(bc4005).ENDIF.其中MESSAAGE e0002(bcc405).这句中的bbc405是是一个messsage的的类,而e0002是一个个消息For exaample:32,如何在程程序中calll sellectioon-scrreen?程序中的部分代代码为:saapbc4005_ssccd_calll_sell_screeenReport sapbcc405_ssscd_ccall_ssel_sccreen.Selectiion-sccreen: begiin of screeen 11000.Parametters: pa_cuus as checkk box,P
23、a_agy as chheckboox.Selectiion-sccreen:end oof scrreen 11100.At seleectionn-screeen onn pa_aadd.If pa_aadd = mark.Call seelectiion-srreen 11100Startinng at 5 5 eendingg at 550 10.If sy-ssubrc 0.Leave tto scrreen 11000.Endif.Endif.显示出来的结果果如下:33,层级报表表的流程?说明的是:在使用层级报表表的时候,必必须要进行排排序34,关于使用用程序中的关关键字notte
24、s说明该程序中使使用了逻辑数数据库35,在wriite语句中中,让鼠标移移到输出的栏栏位上就会出出现手型的图图标程序中的代码为为参见例子if wa_fflightts-seaatsoccc gt 00.write: wa_fllightss-seattsocc hotsppot onn.else.write: wa_fllightss-seattsocc.endif.在write中中如何画图标标Write iicon_rred_liight aas icoon.36,如何得到到鼠标取得的的数?程序中的代码为为参见例子基本语法:Get currsor ffield valuue For exaa
25、mple:*1,dataa: fieeld_naame(300), fiield_vvalue(50).get currsor ffield fieldd_namee valuue fieeld_vaalue.*2 Dataa: fieeld_naame(300).AT LINEE-SELEECTIONN.GET CURRSOR FFIELD fieldd_namee.CASE fiield_nname.WHEN WWA_FLIIGHTS-CARRIID.SELECT SINGLLE carrrnamee currrcode INTO (carrrname, currrcode)FROM sccarr WWHERE carriid = wwa_fliights-carriid.WRITE: / Aiirlinee carrrier:, carrrnamee,/ Shorrt namme:, wa_fllightss-carrrid,/ Locaal currrencyy of tthe aiirlinee:, ccurrcoode.WINDOW STARTTING AAT poss sy-ccurowENDING AT 500 30.37,事件onn channge off参见例子On channge off 、New pagge说明:当改变变变量的时候才才开始新的一一页。
限制150内