创建信息类型填值参考
- 格式:docx
- 大小:695.82 KB
- 文档页数:19
学生基本信息表学校名称:填表人:填表日期:审核人:审核日期:指标解释及填报说明(带星号的为必填项):★1.姓名:在公安户籍管理部门正式登记注册、人事档案中正式记载的中文姓名(包括外国人正式的汉字姓名)。
★2.性别:1-男,2-女。
★3.出生日期:在公安户籍部门正式登记注册、人事档案中记载的时间日,年填4位数字、月填2位数字、日期填2位数字。
如:“20110101”。
★4.出生地:学生出生所在的行政区划。
请先查找出生地行政区划,并在代码后加6个0,如:“430105000000”。
★5.籍贯:祖居或本人出生的地方,现多用于父辈以上的居住地。
★6.民族:学生的民族,以户口本为准。
★7.国籍/地区:学生所属的国籍/地区。
★8.身份证类型:可证明学生身份的证件类型:1-居民身份证,6-香港特区护照/身份证明,7-澳门特区护照/身份证明,8-台湾居民来往大陆通行证,9-境外永久居住证,A-护照,Z-其他。
身份证件类型为Z-其他时,身份证件号可不填,但学校需提供学生在本校就读证明(需学生和家长签字,学校盖章,提交上级教育主管部门备案)。
★9.身份证件号:身份证件类型对应的证件号码。
身份证件类型为Z-其他以外的证件类型时,身份证件号必填。
★10.港澳台侨外:在大陆上学,持非大陆身份证明的学生的来源类型,分为:‘00-否,01-香港同胞,02-香港同胞亲属,03-澳门同胞,04-澳门同胞亲属,05-台湾同胞,06-台湾同胞亲属,11-华侨,12-侨眷,13-归侨,14-归侨子女,21-归国留学人员,31-非华裔中国人,41-外籍华裔人,51-外国人,99-其他。
★11.政治面貌:分为:“01-中共党员,02-中共预备党员,03-共青团员,13-群众”。
★12.健康状况:学生的身体情况,分为:“10-健康或良好、20-一般或较弱、30-有慢性病、40-有生理缺陷、50-残疾”。
★13.照片:导入学生的照片。
14.姓名拼音:姓名全称的汉语拼音。
ABAP 学习总结1.创建IDOC:第一步:WE31 创建IDOC所包含的字段.第二步:WE30 创建IDOC 把Segment分配给IDOC第三步:WE81 创建信息类型第四步:WE82 把IDOC类型与信息类型对应.第五步:WE57 Assign Message & Idoc Type to a Function Module for Data Process第六步:SM59 Define a RFC connection for Idoc transfer第七步:WE21 Define a Port ( Assign a RFC destination which created in SM59 )第八步:WE41/42 Creat Process Code第九步:WE20 Define a Partner Profiles( Also creat a Outbound parameters with Port, or Inbound parameters with Process code )管理IDOC:WE02 显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。
WE46 IDOC管理(出\入)WE60 IDOC类型文档(可以查看IDOC结构,和每个字段的描述.WE19 根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。
消息配置:WE20 配置伙伴消息进和出IDOC类型WE21 配置伙伴。
2.引用类型z_ref数据对象myref在程序中的声明方式:DATA myref TYPE z_ref.CREATE DA TA myref TYPE z_ref.3.参照数据字典中的表类型生成内表对象或结构体:DATA mytable TYPE z_table,”数据字典表类型,声明内表.myline TYPE LINE OF z_table.”表类型的行结构,声明结构体.4.取系统日期:SY-DATUM,5.取系统时间:SY-UZEIT.06.系统字段定位:SY-FDPOS.字符比较结果为真时,此字段将给出偏移量信息.7.系统字段SY-FDPOS给出字符的位置信息.(P109)8.系统字段SY-INDEX记录循环语句中的循环次数9.操作内表行结束后系统字段SY-TABIX返回该行索引.对于所有行操作,如果操作成功,系统变量SY-SUBRC返回0,否则返回非0值.10.系统用户名:SY-UNAME.11.SY-HOST?屏幕序号:sy-dynnr.12.OK代码:SY-UCOMM或SYST-UCOMM13.屏幕组ID:SY-DYNGR.14.常量声明:CONSTANT const(len) TYPE type|LIKE dobj [DECIMALS dec][V ALUE val].15.确定数据对象属性:DESCRIBE FIELD f [LENGTH l] [TYPE t [CONPONENTSn]] [OUTPUT-LENGTH o] [DECIMALS d] [EDIT MASK m] [HELP-ID h].16.数据赋值:MOVE source TO destination.或destination = source.17.设定初始值:CLEAR F.18.检查字段是否为初始值:f IS INITIAL….19.检查字段是否被分配:fs IS AS SIGNED…..20.检查过程中的参数是否被实参填充:p IS [SUPPLIED|REQUESTED]….21.检查数据对象的值是否属于某范围之间:f1 BETWEEN f2 AND f3…..22.检查数据对象f的内容是否遵从某个选择表的逻辑条件:f in seltab….23.WRITE: /10 g,”在10个空格后输出变量g/(8) time using edit mask ‘__:__:__’.”输出的变量time保持8位的长度.24.将光标移动到下一行:SKIP.25.强制结束循环:EXIT,STOP或REJECT.26.循环的中止:CONTINUE无条件中止当前循环并开始下一轮循环,CHECK条件为真时循环,为假时结束本次循环并开始下一轮循环,EXIT无条件中止并退出整个循环.27.将字符串左移:SHIFT string.28.连接字符串:CONCATENA TE s1 s2 …..sn INTO s_dest [SEPARATED BY sep].如果结果出现被截断的情况,将SY-SUBRC返回4,否则返回0.符号&用于在字字符串换行时的连接.29.根据分隔符sep拆分字符串:SPLIT s_source AT sep INTO s1 s2 ……sn.使用内表操作可以避免被截断的情况:SPLIT s_source A T sep INTO TABLE itab.此语句根据子串数目生成n行的内表.30.循环输出内表的每一行数据:LOOP A T itab INTO text.ENDLOOP.31.替换字段内容:REPLACE str1 WITH str2 INTO s_dest [LENGTH len]. 字段SY-SUBRC的返回值为0时表示己成功替换.32.确定字段长度:[COMPUTE] n = STRLEN( str ).33.删除字符串中的多余空格:CONDENSE34.字符转换,如将ABC转换为abc:TRANSLA TE35.创建一个可以排序的格式:CONVERT TEXT.36.用一个字符串覆盖另一个字符串:OVERLAY37.WRITE TO赋值时将忽略数据对象的类型,而将其视为字符类型数据.38.字符串比较中的换码字符:#,用于转换比较时使用的通配符:*或+.及进行区分大小写,空格的比较,如#A表示比较大写的A.39.定位操作子串:strName[+0][(1)].40.字段符号,数据引用:动态数据对象.41.子过程定义:FORM subroutine_name USING parameters1parameters2…. ….ENDFORM.42.子程序调用:PERFORM subroutine_name USING actual_parameters1 p2…. (其中USING可换成CHANGING)43.ULINE.输出下划线.44.错误查看:ST2245.程序打包release:SE01:找到对应的程序,点开后点上面小汽车,再选中上面的后再点小汽车.点check.程序修改后需要重新打包.46.制作T-CODE:SE93,TCODE应按顺序编号:ZMF+流水号,我的程序名47.创建table:t-code:se11,attributes:Delivery class:C.开发类别:ZFI,当自定义Fieldtype时,名称需为Z+…..格式.->设置技术属性(Technical Setting):Logicalstorage parameters中Data class:APPL1,Size category:4 创建functiongroup:SE80,创建好后将创建的TABLE挂接到function grouph上去:用se11查出table,点utilites->table maintenance generator:Authorizationgroups:&NC&,Function group中填刚才创建的功能组名称->onestep->overview screen中必须填未使用的number,此处screen number与table 是一一对应的关系,也可让点系统上面的按钮:find screen number来自动搜索适合的scr. Number.->create,成功后,找到对应的function group中的screen number双击即可看到生成的代码.需要修改字段名称可在function group中的element list或layout中.-->se93创建t-code,start object选transaction withparameters(parameter transaction)->default valuesfor->transantion:SM30->Default V alues->name of screenfield:viewname\update,value:table name\X.48.field-sign:,field—option:,field-low:表示选择条件中起始值49.在where子句中如果只有一个表的话,可以不用指定表名.50.获取用户IP地址及用户名:call function 'TH_USER_INFO' " Get user IP,hostnameimportinghostaddr = iporg”转化前的IP地址terminal = host”计算机名exceptionsothers = 1."Conv.IP addr to format 'xxx.xxx.xxx.xxx'call function 'ZGJ_IPADR2STRING' "Conv.IP addrexportingipadr = iporg”转化前的IP地址importingstring = ipdec.”转化后的最终需要的IP地址51.删除内表中数据完全相同的行,只保留一行: delete adjacent duplicatesfrom itab1 COMPARING <f1> <f2> / COMPARING ALL FIELDS.52.spro:后台设定53.输出选择框write:/ itab1-flag as checkbox第四章ABAP基础4.1.5 程序运行例:REPORT z_calling_program.START-OF-PROGRAM.WRITE ‘This program calls another program.’.”此内容在输出界面看不到SUBMIT z_simple_program.”上面的输出被此程序覆盖.如果改用SUBMIT AND RETURN来调用则可以输出以上内容.2.结束程序:LEA VE PROGRAM.可在任意点强制结束当前运行的程序.4.1.6 内存管理SAP程序同一个用户和系统可进行最多6个SAPGUI主会话.4.2.1 数据定义TYPES:BEGIN OF t_staff,S_no(3) type n,Name(20),END OF t_staff.DATA staff TYPE t_staff.上例中定义了一个结构类型t_staff,并根据其声明了一个结构体对象staff.数据类型中的扁平结构与纵深结构:扁平类型:运行时长度固定的类型.纵深类型:运行时长度可峦的类型.注意:1.其中C,N,T,D,I,F,P,X为定长类型,即在运行期间长度不能改变.2.类型T,D,I,F的数据存储长度是固定的,不能指定参照其生成的数据对象占用的内存字节数.3.基于类型C,N,P,X生成的数据对象需要在声明时指定其长度.否则取默认值.4.如果在声明一个数据对象时未指明其数据类型,则该数据默认为C类型.5.类型I的数值范围:-231到231-1的整数.如果运算时出现非整型结果则进行四舍五入取值.而不是截断小数.6.类型P用于声明小数字固定的压缩数,其占据内存字节数和数值范围取决于定义时指定的整个数据的大小和小数点后位数,如果不指定小数字,则将其视为I类型数据.有效大小可以是从1~16字节的任意值,小数点后最多允许14个数字. 7,类型F为浮点数,浮点意思是数字在内存中以字节形式表示,数值范围:1*10-307到1*10308,因系统将F类型转换为二进制数,所以可能出现舍入误差,若用户要求较高精度且数值较大时,应使用P类型数据.8.长度可峦的内置类型String, XString是通过引用实际动态的数据对象的固定内存地址来操作.4.2.3 程序内部数据定义参照自定义类型或内置类型生成数据的语法格式:TYP ES|DATA …TYPE l_type…参照程序中已经声明的数据对象生成新数据语法:TYPES|DATA …LIKE dobj…3.结构类型和结构体参照结构类型生成的数据对象称为结构体.TYPES|DATA:BEGIN OF structure.k1[TYPE type |LIKE dobj]…,k2[TYPE type |LIKE dobj]…,…k n[TYPE type |LIKE dobj]…,END OF structure.参照生成:参照结构生成:TYPES|DA TA structure TYPE str_type |LIKE str_dobj...参照数据库表生成:TYPES|DA TA structure TYPE dbtab.4.表类型和内表表类型的对象称为内表.4.2.4 数据字典中的类型●数据元素(Data elements),相当于ABAP中的基本类型和引用类型.●结构(Structures),由数据元素字段构成,对应ABAP中的结构类型.表类型(Table types),对应ABAP中的表类型.数据字典中的数据类型与ABAP中的中数据类型对应关系:4.2.5 程序中的数据对象1.文字对象当字符文字长度超过编辑器的一行时,可以使用”&”进行连接,避免因换行而产生的多余空格,如:long = ‘This is ‘&‘a long sentence’.如果需要输出“’”,则需要在前面多加一个“’”转回愿意.2.有名称的数据对象常量声明:CONSTANT: const(len) TYPE|LIKE dobj [DECIMALS dec] V ALUE val.结构体常量声明(每个组件必须指定初始值):CONSTANT:BEGIN OF structure,str1 TYPE|LIKE dobj [DECIMALS dec] V ALUE val,str2 TYPE|LIKE dobj [DECIMALS dec] V ALUE val,...,strn TYPE|LIKE dobj [DECIMALS dec] V ALUE val,END OF structure.3.系统数据对象(见附表)4.查明数据对象属性DESCRIBE FIELD f LENGTH len.此语句将字段f的长度写入变量len.●LENGTH:确定数据对象长度.●TYPE: 确定数据对象类型.●OUTPUT-LENGTH:确定实际输出长度.●DECIMALS:确定P类型小数位长.●EDIT MASK:确定在数据字典中定义转换例程.●HELP-ID:确定在数据字典中定义的F1帮助信息.4.3 基本数据操作4.3.1数据赋值●MOVE source TO incept.等介于:incept = source.●CLEAR dobj.将数据对象dobj还原为初始值.●结构体间赋值:struct2 = struct1.(组件结构相同).●MOVE-CORRESPONDING struct1 TO struct2.(部分组件结构相同).4.3.2类型转换(见附表).4.3.3数值运算两个结构体的同名字段之间可以整体进行算术运算:ADD-CORRESPONDING struct1 TO struct2.SUBTRACT-CORRESPONDING struct1 FROM struct2.MULTIPLY-CORRESPONDING struct2 BY struct1.DIVIDE-CORRESPONDING struct2 BY struct1.以上将对两个结构体中的同名字段进行相应运算(非数值类型数据会引起错误).2.数学函数任意类型参数的函数列表:注意:函数名与左括号间不能有空格,括号与参数间必须有空格.4.3.4数据输出输出格式化选项:注:用户主记录System->User profile->Own data(SU01).4.3.5逻辑表达式通用逻辑表达式列表:3.IS操作符●...f IS INITIAL...:检查字段f是否为初始值.●...fs IS ASSIGNED...:检查字段符号是否被分配.●...p IS [SUPPLIED|REQUESTED]...:检查过程中的参数是否被实参填充.4.BETWEEN操作符●...f1 BETWEEN f2 AND f3...:检查数据对象的值是否属于特定范围之间.5.IN操作符(P110)●...f IN seltab...:检查一个数据对象的内容是否遵从某个选择表的逻辑条件.6.组合逻辑表达式●AND:与.●OR:或.●NOT:非.注:括号与操作数间至少要有一个空格,如:IF ( c > n ) AND ( c < f ).4.4结构控制程序代码分三种结构:●顺序结构:语句逐行执行.●分支结构:根据不同的条件执行不同语句块.●循环结构:反复执行某个语句.4.4.1分支控制1.IF/ENDIF结构:IF <condition1>.<statement block>ELSEIF <condition2>.<statement block>......ELSE.<statement block>ENDIF.注:可嵌套.2.CASE/ENDCASE结构:CASE f.WHEN f11 [OR f12 OR ...].<statement block>......[WHEN OTHERS.]<statement block>ENDCASE.其中,f为变量,f ij可以是变量或者固定值.4.4.2循环控制1.无条件循环DO [n TIMES].<statement block>ENDDO.说明:n为循环次数,可以是文字或变量,如果没有限定n值,则必须用EXIT,STOP 或REJECT等语句强制结束循环.DO循环可嵌套,SY-INDEX为当前循环次数.2.条件循环WHILE <condition>.<statement block>ENDWHILE.注:可嵌套,其它同上.3.循环中止●CONTINUE:无条件中止当前本轮循环,开始下一轮循环.●CHECK:条件中止当前本轮循环(条件为假时), 开始下一轮循环.●EXIT:无条件完全中止当前循环,继续循环结束语句(ENDDO,ENDWHILE等)后面的代码,如果在嵌套循环中,系统仅退出当前循环.4.5处理字符数据4.5.1字符数据1.连接字符串CONCA TENATE s1 s2 ... sn INTO s_dest [SEPARATED BY sep].注:所有字符串操作将忽略s1....sn中的尾部空格(如需保留空格,可使用指定偏移量).如果出现截断情况,将SY-SUBRC设为4,否则返回0.2.拆分字符串SPLIT s_source AT sep INTO s1 s2 ... sn.如果所有子串足够长且不必截断任何部分,则将SY-SUBRC设为0,否则返回4, 如果源字符串能够拆分的子串多过指定的数目,则源子串最后的剩余部分包括其后的分隔符都将写入最后一个子串,要避免这种情况,需要使用内表进行操作: SPLIT s_source AT sep INTO TABLE itab.在该形式中,根据子串数目生成n行的内表.例如:DATA:text type string,itab TYPE TABLE OF string.text = ‘ABAP is a programming language’.SPLIT text AT space INTO TABLE itab.LOOP AT itab INTO text.WRITE / text.ENDLOOP.3.查找子串模式SEARCH c FOR str.在字段c中查找字符串str.如果找到,则将SY-SUBRC返回0,SY-FDPOS返回字段c中该字符串的位置(从左算起的字节偏移量),否则SY-SUBRC返回4,查找模式有以下几种:●str 搜索str并忽略尾部空格.●.str. 搜索str,但不忽略尾部空格.●*str 搜索以str结尾的单词.●str* 搜索以str开始的单词.REPORT z_string_search.DATA string(30) TYPE c VALUE 'This is a testing sentence.'. WRITE: / 'searched','sy-subrc','sy-fdpos'.SEARCH string FOR 'X'.WRITE: / 'X', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER'sy-fdpos'.SEARCH string FOR 'itt '.WRITE: / 'itt ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER'sy-fdpos'.SEARCH string FOR '.e .'.WRITE: / '.e .', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER'sy-fdpos'.SEARCH string FOR '*e '.WRITE: / '*e ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER'sy-fdpos'.SEARCH string FOR 's* '.WRITE: / 's* ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER'sy-fdpos'.输出结果如下:searched sy-subrc sy-fdposX 4 0itt 4 0.e . 4 0*e 0 18s* 0 184.替换字段内容.REPLACE str1 WITH str2 INTO s_dest [LENGTH len].搜索s_dest中前len个字符中的子串str1,用str2来替换它,如果成功,SY-SUBRC返回0,否则还回非0值. REPORT z_replace.DATA name TYPE string.name = 'Michael-Cheong'.WHILE sy-subrc = 0.REPLACE '-' WITH ' ' INTO name.ENDWHILE.WRITE / name.输出结果: Michael Cheong5.确定字段长度n = STRLEN( str ).函数将str作为字符数据类型处理,不考虑其实际类型,也不进行转换.计算其首字符到最后一个非空字符的长度,不包括结尾空格.6.其它操作语句●SHIT:将字符串整体或子串进行位移.●CONDENSE:删除字符串中的多余空格.●TRANSLATE:字符转换,如将ABC转换为abc.●CONVERT TEXT:创建一个可以排序的格式.●OVERLAY:用一个字符串覆盖另一个字符串.注:CO,CN,CA,NA比较时区分大小写,且尾部空格也在比较范围之内,CS,NS,CP,NP比较时忽略尾部空格且不区分大小写,比较结束后,如果结果为真,SY-FDPOS将给出s2在s1中的偏移量信息.模式表示可以使用通配符,”*”用于替代任何字符串,”+”用于替代单个字符.换码字符使用:●指定大小写(如#A,#b).●通配符”*”(输入#*),将其转回原义.●通配符”+”(输入#+),将其转回原义.●换码符本身”#”(输入##),将其转回原义.●字符串结尾空格(输入#__),指定比较结尾空格.4.5.3定位操作子串str[+position][(len)].从字符串str中的position位开始取出长度为len的子串.可动态指定偏移量及长度的情况(即position及len可为变量):●用MOVE语句或赋值运算符给字段赋值时.●用WRITE TO语句向字段写入值时.●用ASSIGN将字段分配给字段符号时.●用PERFORM将数据传送给子程序时.off = 6.len = 2.date+off(len) = ‘01’.4.6使用内表types定义的并不是结构体对象,只是结构类型,不能作为工作区,当定义的内表没有表头行(工作区)时,必须为其定义一个结构体作为工作区,否则无法使用此内表.如果没有给内表定义工作区,则在定义内表时必须声明表头行(with header line). DATA:BEGIN OF line, "work area(structure)结构类型且结构体对象num TYPE i,sqr TYPE i,END OF line,"无表头行内表,内表定义都使用data关键词.itab TYPE(LIKE) STANDARD TABLE OF line WITH KEY table_line. DATA DIRTAB LIKE CDIR OCCURS 10 WITH HEADER LINE.定义标准内表DO 5 TIMES.line-num = sy-index.line-sqr = sy-index ** 2.APPEND line TO itab.ENDDO.LOOP AT itab INTO line.WRITE:/ line-num,line-sqr.ENDLOOP.CLEAR itab.注:1.TYPES与DATA区别:TYPES是用来定义某种类(型)的,需(用DATA语句)实例化以后才可以使用,而DATA是用来定义数据对象(实例变量)的,对于用DA TA直接定义的结构体对象(不参照其它结构类型),其同时也是一个结构类型.2.TYPE与LIKE区别:TYPE后面跟随的只能是某种类(型),而LIKE后面可以跟随类型或实例对象,参照结构体对象生成内表时只能用LIKE,不能用TYPE,因为结构体对象不是类型,只是一种实例对象,参照结构类型生成内表时可以用LIKE也可以用TYPE.其中通过LIKE定义的内表直接拥有参照结构类型的元素结构,而通过TYPE定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以.内表定义语法:1.标准表:可指定或不指定关键词,可重复.逻辑索引,操作数据时数据内存位置不峦,系统只重排数据行的索引值.DATA itab TYPE|LIKE [STANDARD] TABLE OF structure [WITH KEY comp1 ... compn(DEFAULT KEY) WITH HEADER LINE INITIAL SIZE n].2.排序表:可指定唯一或不唯一的关键词,也可不指定,逻辑索引,按关键词升序存储.DATA itab TYPE|LIKE SORTED TABLE OF structure [WITHNON-UNIQUE(UNIQUE) KEY comp1 ... compn(DEFAULT KEY) WITH HEADER LINE INITIAL SIZE n].3.哈希表:必须指定唯一关键词.无索引DATA itab TYPE|LIKE HASHED TABLE OF structure WITH UNIQUE KEY comp1 ... compn(DEFAULT KEY) [WITH HEADER LINE INITIAL SIZE n].注:如果n值为0或不指定的话,程序会为内表对象分配8KB大小内存,所以,如果内表比较小,不要把该值设为0,以避免内存浪费.旧版标准表定义语法:DATA itab TYPE|LIKE [STANDARD] TABLE OF structure OCCURS n.或者DATA:BEGIN OF itab OCCURS n,...,fi...,END OF itab.动态创建内表:REPORT zmaschl_create_data_dynamic .TYPE-POOLS: slis.DATA: it_fcat TYPE slis_t_fieldcat_alv,is_fcat LIKE LINE OF it_fcat.DATA: it_fieldcat TYPE lvc_t_fcat,is_fieldcat LIKE LINE OF it_fieldcat.DATA: new_table TYPE REF TO data.DATA: new_line TYPE REF TO data.FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,<l_line> TYPE ANY,<l_field> TYPE ANY.* Build fieldcatCALL FUNCTION 'REUSE_ALV_FIELDCA TALOG_MERGE' EXPORTINGi_structure_name = 'SYST'CHANGINGct_fieldcat = it_fcat[].LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.MOVE-CORRESPONDING is_fcat TO is_fieldcat.is_fieldcat-fieldname = is_fcat-fieldname.is_fieldcat-ref_field = is_fcat-fieldname.is_fieldcat-ref_table = is_fcat-ref_tabname.APPEND is_fieldcat TO it_fieldcat.ENDLOOP.* Create a new TableCALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTINGit_fieldcatalog = it_fieldcatIMPORTINGep_table = new_table.* Create a new Line with the same structure of the table.ASSIGN new_table->* TO <l_table>.CREATE DA TA new_line LIKE LINE OF <l_table>.ASSIGN new_line->* TO <l_line>.* Test it...DO 30 TIMES.ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.<l_field> = sy-index.INSERT <l_line> INTO TABLE <l_table>.ENDDO.LOOP AT <l_table> ASSIGNING <l_line>.ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.WRITE <l_field>.ENDLOOP.注:CLEAR itab[].表示操作的是内表对象.而CLEAR itab.当itab有表头行时表示操作表头行,如无表头行时表示操作内表对象.当一个操作语句结束后,SY-TABIX返回该行的索引值,对于所有行操作,如果访问成功,SY-SUBRC返回0,否则返回非0值.4.插入行—INSERT●INSERT structure INTO itab INDEX idx.无表头行索引表,itab的行数应大于或等于idx-1.否则失败●INSERT itab INDEX idx.有表头行索引表.●对于哈希表,系统按关键词将新行插入特定位置.●INSERT structure INTO|INITIAL LINE INTO TABLE itab.此语句对于标准表来说与append效果相同,对于排序表来说,插入的行不可以打乱按照关键词排序的顺序,否则插入不成功,对于哈希表来说,插入过程中系统按照关键词对行进行定位.INITIAL关键词是用于向内表中插入结构中各类型的初始值的.●INSERT LINES OF itab1 [FROM n1] [TO n2] INTO [TABLE] itab2 [INDEXidx].将内表中部分或全部数据行整体插入到另一内表中,指定行数时itab1,itab2必须为索引表,指定TABLE关键词时,itab2可以是任意内表.此方式比其它方式快20倍左右.5.附加行—APPEND(只能操作索引表)APPEND [structure TO|INITIAL LINE TO] itab.APPEND LINES OF itab1 [FORM n1] [TO n2] TO itab2.6.聚集附加—COLLECTCOLLECT line INTO itab.对于需要附加的数据,如果在内表中存在关键词内容与其相同的数据行,则此语句将需要附加的数据累加到内表中的这一行上,而不会另外再添加一行,操作成功后,SY-TABIX返回被处理过的行的索引.注:关键词以外的所有字段必须是数字类型7.读取行—READ(可用于任何类型内表)●READ TABLE itab [INTO wa|ASSIGNING <fs>] INDEX idx.通过索引读取内表中的单行数据. ASSIGNING表表示指派给字段符号.●READ TABLE itab FROM structure [INTO wa|ASSIGNING <fs>].读取与结构相同的工作区中的关键词内容全部相同的内表数据.●READ TABLE itab WITH TABLE KEY field1 = v1 ... field2 = v2 [INTOwa|ASSIGNING <fs>].指定所有关键词值,并读取相等时内表行.●READ TABLE itab WITH KEY field1 = v1 ... field2 = v2 [INTOwa|ASSIGNING <fs>].读取内表中字段fieldn(不一定是表关键词段)与值vn 相同时的内表行.8.修改行—MODIFY●MODIFY itab [FROM wa] [INDEX idx] [TRANSPORTING f1 f2 ...].如果内表包含的行数少于idx,则不更改任何行.●MODIFY TABLE itab FROM wa [TRANSPORTING f1 f2 ...].根据工作区wa中关键词修改内表行, TRANSPORTING表示修改指定字段值.●MODIFY itab FROM wa TRANSPORTING f1 f2 ... WHERE condition.修改符合WHERE子句中条件的内表中的指定字段值.9.删除行—DELETE●DELETE itab INDEX idx.根据索引删除内表行.●DELETE TABLE itab FROM wa.根据工作区关键词删除行.●DELETE TABLE itab WITH TABLE KEY field1 = v1 ... field2 = v2.根据指定关键词值删除行.●DELETE itab [FROM n1] [TO n2] [WHERE <condition>].10.循环处理--LOOPLOOP AT itab [INTO wa] [FROM n1] [TO n2] [WHERE condition].<statement block>.ENDLOOP.4.6.3操作整个内表1.排序SORT itab [ASCENDING|DESCENDING] [AS TEXT] [STABLE][BY f1 [ASCENDING|DESCENDING] [AS TEXT]......f1 [ASCENDING|DESCENDING] [AS TEXT]]说明:●ASCENDING|DESCENDING:升序或降序.默认升序.●AS TEXT:根据当前语言按字母顺序排序字符字段,否则按字符平台相关内部编码进行排序.●STABLE:保持排序前后不需要改变的数据行的相对顺序.2.控制级操作(用于总计,缩进,格式控制等)A T FIRST|LAST|NEW f|END OF f.<statement block>ENDA T.说明:●FIRST:当循环为内表的第一行时,执行语句块中语句.在工作区中,系统用*填充所有关键词内容.●LAST: 当循环为内表的最后一行时,执行语句块中语句. 在工作区中,系统用*填充所有关键词内容.●NEW f:字段f前面(即左边)的全部字段内容之一不同于上一行时, 执行语句块中语句.在工作区中,系统用*填充f后面所有关键词内容.●END OF f:如果下一行行组中的任何字段内容不同于上一行, 执行语句块中语句.在工作区中,系统用*填充f后面所有关键词内容.注:在控制级操作期间,在工作区中,对于非标准关键词段,将全部进行初始化,在执行完控制操作后(即ENDAT语句后)工作区中的数据将全部还原到进入控制级操作语句前(即进入AT前)状态.3.初始化内表●CLEAR itab.:带表头行时只清空表头行,不带表头行时清空整个内表.●CLEAR itab[].:只清空整个内表对象数据.不清空表头行.●REFRESH itab或REFRESH itab[].:只清空整个内表对象数据.不清空表头行.●FREE itab.或FREE itab[].:只清空整个内表对象数据.不清空表头行,同时释放内存.●......itab IS INITIAL....:检查内表是否为空.4.整体复制内表●MOVE itab1 TO itab2.:如果两表都存在表头行,则此语句只复制了表头行.●MOVE itab1[] TO itab2[].:指定表体复制.●MOVE itab1[] TO itab2.:表itab2无表头行时才成立.●itab2 = itab1.同上1●itab2[] = itab1[].同上2●itab2 = itab1[].同上35.比较内表大小... itab1 <operator> itab2...:其中<operator>可以为=,<>,><,>=,<=,>,<等.4.6.4Extract Datasets●FIELD-GROUP fg.行结构分配.●INSERT f1 f2 ... INTO fg.生成字段组fg的具体字段结构.●EXTRACT fg.将字段组填充给EXTRACT.●SORT.排序.●LOOP. <statement block> ENDLOOP.循环输出EXTRACT.4.7动态数据对象4.7.1字段符号●FIELD-SYMBOLS <fs> [TYPE type|LIKE dobj].声明字段符号.●ASSIGN f TO <fs>.静态分配数据对象给字段符号.●ASSIGN f[+i] [(j)] TO <fs>.指定偏移量和长度.●ASSIGN (f) TO <fs>.动态分配,先找到字段f的内容,然后将该内容分配给<fs>.4.7.2数据引用TYPES t_dref TYPE REF TO DATA.DATA dref TYPE REF TO DATA.4.8模块化技术4.8.2子程序1.定义:FORM subr [[USING [VALUE(p1)]... ] [TYPE t|LIKE f]...] [TYPE ANY][CHANGING [V ALUE(p1)] ... ] [TYPE t|LIKE f]...] [TYPE ANY].<subr codes>ENDFORM.注:●V ALUE参数表未示值传递,此方式在子程序调用后实参的值不会被改变.●无V ALUE参数时表示引用传递,会改变实参的值.●USING与CHANGING无任何区别.●位于两个子程序间的代码不属于任何事件块.●参数传递时不存在类型转换,要求必须兼容.2.调用:PERFORM subr [USING p1 ... pn] [CHANGING pi ... pj].4.8.3功能模块(p153)4.8.5源代码复用1.包含程序包含程序是单纯的代码复用,不是可执行程序,不能单独运行,必须被其它程序调用,包含程序不能调用自身.INCLUDE incl.包含程序调用,此语句必须独占一行.2.宏:(语句块中最多只能包含9个占位符&1...&9).例:DATA:result TYPE i,int1 TYPE i VALUE 1,int2 TYPE i VALUE 2.DEFINE operation.result = &1 &2 &3.output &1 &2 &3 result.END-OF-DEFINITION.DEFINE output.write: / 'The result of &1 &2 &3 is',&4.END-OF-DEFINITION.operation 1 + 2.operation int2 - int1.4.9.1静态错误检查1.语法检查:用Check键.2.扩展语法检查(SLIN):在ABAP初台界面输出程序名后,选择Program->Check->Extended Syntax Check. Standard.4.9.2运行时错误控制1.可捕捉的错误CA TCH SYSTEM-EXCEPTIONS exc1 = rc1 ... excn = rcn....ENDCATCH.其中exci表示一个单一可捕捉错误或者一个ERROR类,rci则代表一个数字.如果其中错误之一在CA TCH和ENDCATCH语句之间出现,程序就不会中止,而是直接跳至ENDCATCH后,把系统指定的错误代码rci赋给字段SY-SUBRC.此语句可嵌套.例如:DATA:result1 TYPE p DECIMALS 3,number TYPE i VALUE 11.CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.DO.number = number - 1.result1 = 1 / number.WRITE: / number,result1.ENDDO.ENDCATCH.IF sy-subrc = 5.WRITE / 'division by zero!'.ENDIF.2.不可捕捉的错误(通过ST22查看,在SAP系统中保存14天,可通过Keep功能保存更长时间).第六章数据库操作6.2.1表字段在数据字典中,每创建一个数据库表后,都将同时生成一个同名的结构化数据类型.6.2.2外部关键词外部关键词内容必须在其对应的约束表(check table)中存在,否则无法插入.6.2.3技术设定1.数据类型(data class):●APPL0(Master data),较少需要被修改的系统数据表,如员工个人信息.●APPL1(Transaction data),需要经常被修改的数据表,如产品库存量表.●APPL2(Organization and customizing),系统定制数据表,在系统安装后很少需要修改,如国家代码等.2.数量级别:0 0 to 6,6001 6,600 to 26,0002 26,000 to 100,0003 100,000 to 420,0004 420,000 to 34,000,0003.缓冲(Buffering)机制如果在缓冲设定中选择了Buffering switched on项,则需要设定其缓冲类型(有Full,Single-record和Generic三种).缓冲机制的意义在于首次查询时将数据表中的数据放入应用服务器缓冲区,以提高后续查询效率,要注意最好不要对经常需要的数据库表设置该机制,对于经常读取但很少更新或者通常只有在60秒后才可能被其它应用服务器程序修改的数据库表,开启缓冲机制可以上百倍地提高效率.4.Log data changes用于设定表中的数据修改时是否在系统日志中记录.6.2.4索引一个数据库表可以包含一个主索引(Primary Index)和多个附属索引(Secondary Indexes).主索引只包含表关键词和指向整个数据条目的指针,由系统自动生成并在添加数据库条目时进行维护.索引中的数据已经排序.6.3.1SELECT语句SELECT <result> FROM <source> INTO <target>[WHERE <condition>] [GROUP BY <fields>][HAVING <cond>] [ORDER BY <fields>].●HAVING子句用于限定ORDER BY子句中数据条目组的选择条件1.选择单行数据:●SELECT SINGLE * FROM tab INTO wa_tab WHERE <condition>.选择单行全部数据.。
电子病历系统增加、删除、保存病历1、加一个病历之前,我们要选择一个病历类型。
然后点击增加按钮。
系统将自动把模板界面切换出来,选中一个模板(有关模板内容将在后面交待),按住鼠标左键,将其拖动到右边的病历录入区,修改完毕后,点击保存按钮。
就可以将这份病历保存并提交。
2、要删除一份病历,只需要选中要删除的病历,点击删除按钮,即可。
3、在医疗过程中,医生经常需要查看病人的某些信息和一些检查、检验、手术等反馈结果。
在系统中,我们鼠标右键提供查询这些功能。
模板字典使用说明1.模板的类型主要分为:公用模板、科室模板和医生个人模板。
其中:公用模板由医务科维护,供全院医生使用;科室模板由科主任维护,供本科室医生使用;医生个人模板由医生本人使用。
2.模板的建立与使用打开模板使用界面后,进行以下操作:增加根节点模板及子节点模板,删除模板,保存模板四大类操作。
2.1按钮功能说明图1-1在该图中,‘病历1’和‘内科模板’是根节点模板,其他的是子节点模板(如外科病历1,外科病历2等等)。
“病历1”是“外科病历1”的父模板,同时也是“外科病历2”的父模板,反过来,“外科病历1”和“外科病历2”是病历1的子模板;而“外科病历1”是“外科病例-肝胆”和“外科病历-脑外”的父模板,反过来,“外科病例-肝胆”和“外科病历-脑外”是“外科病历1”的子模板。
根节点模板,子节点模板,父模板,子模板在字典中的关系就如上图所示。
图1-2 图1-3对模板可进行三种操作:增加,删除,保存。
可以看到图1-3中的按钮变灰,这是因为在图1-3中我们选中的模板是子节点模板“外科病例-肝胆”。
而在图1-2中,因为我们选中的是“病历1”模板,是根节点模板,所以按钮可选。
该按钮是用来增加根节点模板的。
对于按钮“”,它的作用是增加子节点模板。
对于删除操作需多作说明的是,如果要删除的模板下有子模板时,那么该删除操作将不会成功。
要先把该模板下的内容先删除后再删除该模板。
更新说明:
1. 新增部分字段(企业性质、股权结构等)、选项(项目类型、项目运作方式)及附件上传位置(规范实施承诺书、资格预审文件、采购文件等),详见标红部分。
2. 根据相关政策规定,对各字段、选项和附件的相关填报格式和内容进行了详细说明;
3. 根据项目信息填报及示范项目申报要求,标注了必填、必选字段,以及示范项目筛查字段“(筛查)”。
注意事项:
附件上传请统一用PDF格式。
同一附件添加位置可上传多个文件,每个文件最大不超过100MB。
如同一文件过大、须分拆上传,请按顺序标明文件名,如“项目实施方案(一)、(二)”;政府审核批复文件请上传彩色扫描件。
一、配置新增信息项:PO10:9105-门店月度销售额(开始日期、结束日期、销售额10CHAR、备注60CHAR、预留字段1CHAR10、预留字段2CHAR20、月度销售目标 月度实际销售额 客单量 客单价 门店面积 门店租金--新增需求);创建组织信息类型操作流程:SE11表、结构、字段----建数据元素----建下拉域值----建立时间约束----设置前台显示----设置PPOSE显示 ;1.1SE11建表,组织数据类型以HRI开头,自定义以HRI9开头进行检索目前已使用的序号为9104,所以新类型编号定为9105; 数据类型:HRI9105;1.1.1输入结构名称,点击创建,然后选择结构,点击回车进入下一屏.1.2第二步:创建字段,数据元素或域值,并激活保存骤”,使用“内置类型”进行设置:1.2.2数据类型与字段描述:1.2.3字段保存后激活1.2.4表保存后激活1.3第三步:到PPCI创建信息类型:1.4第四步:事务代码:SM30T777I ;新增组织信息类型显示在PO10事物维护界面,进入维护页面之后,点击时间限制,选择新条目进行时间约束新建;如果屏幕报错检查T77ID,T777D,T778T1.4.1将信息类型添加到对应的组织对象O中,(此步骤用于将之前步骤所建立的信息类型添加到对应的组织对象O中去,若是挂靠在职位的信息维护,则需要在S类型中进行信息类型新增):SPRO>人事管理>组织管理>基本设置>数据模型增强>信息类型维护>维护信息类型>每个对象类的信息类型1.5第五步定义选择方面值(0001-0004)然后对每一方面类型,设置对应显示的组织信息类型,此处的方面可以理解为业务人员自身能够看到的信息类型界面:SPRO > 人事管理>人事管理中的全局设置 > 对话控制 > 维护方面。
这里增加后PO10或PO13,PO03就可呈现看自己对应的界面:0004第六步:PPOSE中显示客户化组织信息类型路径:SPRO > 人事管理>组织管理 > 层次框架 > 集成新信息类型>将信息类型添加为明细范围中的标签页>定义自身标签页1.6.1首先定义标签页:1.6.2然后选择方案OME0,选中每个对象类型方案中的表页进行添加排序截止至此步骤,完成组织信息类型的新增.用SCC1传到300进行测试,在PO10创建一笔到PPOCE查能不能查到;再到PPOME里创建一笔到PO10里查能不能呈现,最后到SE16N里看有没有数据;特殊点说明:若需要进行信息类型维护屏幕的格式调整,请通过SE51进行屏幕修正维护. 1.7在SE51画屏幕:PO10和PPOME,2000和7000两个屏幕都要编辑:输入程序名、屏幕编号、选择”布局编辑器“,点修改:1.7.1使用组006,序列从01、02按顺序往后排:保存后---激活;(设置必输入必填项”)SPRO>人事管理>组织管理>基本设置>数据模型增强>信息类型维护>维护子类型20200514新增组织信息类型:HRI9106门店类型(ZZMDLX -门店类型、ZZTJNF-统计年份、ZZNXSE-年销假额):1.8做QUERY查询报表-OK1.10增加历史记录LOG配置--OK1.11调整相关报表:花名册等--处理中1.12增加报表及事务码相关权限--OKHRI9106信息类型创建问题:在D环境测试正常,传Q和P后出现以下报错:报错原因:有一个T77ID有在D配置并包了请求号,但未传到Q,导致报错,配置后正常。
孙润彩居民身份证130621************韩润发居民身份证130621************要磊居民身份证130621************ 穆亚男居民身份证130621************冉号泽居民身份证130621************尹微居民身份证130621************张达居民身份证130621************申泽居民身份证130621************李鑫玉居民身份证130621************李圆圆居民身份证130621************王寒居民身份证130621************杨赛居民身份证130621************丁步凡居民身份证130621************孙旭居民身份证130621************王天宇居民身份证130621************常宏业居民身份证130621************王鹏飞居民身份证130621************ 米东壮居民身份证130621************赵子鹏居民身份证130621************钱进居民身份证130621************曹舟舟居民身份证142325************王明信居民身份证130621************女1999-06-2620141414男1998-07-012014男1998-10-072014男1998-12-092014男1998-11-092014女1998-12-172014男1998-02-232014男1999-01-062014男1998-12-082014男1998-09-112014男1998-04-142014男1998-11-172014男1999-12-172014男1998-10-232014男1998-09-082014女1998-04-182014男1999-02-012014男1999-01-052014男1998-08-232014男1999-02-092014男1998-08-082014女2000-07-012014。
数据库常⽤的数据类型我们在创建数据库时,常常需要指定表列的数据类型,这⾥我找到⼀些常见的数据类型,做以总结。
1、整数类型(⽤于存放整数)int //是由四个字节组成的整数,输出范围(-2147483 648~2 147 483 647)bigint //是由⼋个字节组成的整数,输出范围(-9,223,372,036,854,775,808~9 223 372 036 854 775 807)tinyint //只能输⼊(0~225)之间的整数smallint //是由两个字节组成的整数,输出范围(-32768~32767)2、精确⼩数型(⽤于存放⼩数)decimal ⽤法:decimal(a,b)a:指定⼩数点左边和右边可以存储的⼗进制数字的最⼤个数,最⼤精度为38.b:指定⼩数点右边可以存储的⼗进制数字的最⼤个数。
⼩数位数必须是从0~a之间的值,默认⼩数位数是0.numeric ⽤法同上3、字符串类型(⽤于存放字符串)char //固定长度存储数据,最多255个字符varcahr //按变长存储数据,最多65535个字符text //当你需要存储⾮常⼤量的字符串时使⽤,最多65535个字符4、⽇期类型(⽤于存放⽇期信息)data //表⽰⽇期值,格式为(YYYY-MM-DD),范围(1000.1.1~9999.12.31)datatime //表⽰混合⽇期和时间值,格式为(YYYY-MM-DD HH:MM:SS),范围(1000.1.1 00:00:00~9999.12.31 23:59:59)time //表⽰更精确时间值或持续时间,格式为(HH:MM:SS),范围(-838:59:59'~'838:59:59')year //表⽰年份值,格式为(YYYY),范围(1901~2155)timestamp //⾃动存储记录修改时间(如果数据库⾥⾯有timestamp数据类型,就应该考虑时区问题)以上红⾊标记的为常⽤的数据类型。