Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

5HTXLUHPHQWVRI$%$33URJUDPV

LQ8QLFRGH6\VWHPV

Version: April 18, 2002




&RQWHQWV

3DJH



 $%$3'HYHORSPHQWXQGHU8QLFRGH



&RQFHSWVDQG&RQYHQWLRQV




 &RGHV

'DWD7\SHV



'DWD/D\RXWRI6WUXFWXUHV 



8QLFRGH)UDJPHQW9LHZ



3HUPLWWHG&KDUDFWHUV







$FFHVV8VLQJ2IIVHWDQG/HQJWK6SHFLILFDWLRQV



$VVLJQPHQWV





&RPSDULVRQV

5HVWULFWLRQVLQ8QLFRGH3URJUDPV

&KDUDFWHUDQG1XPHULF7\SH2SHUDQGV






7\SH&KHFNVDQG7\SH&RPSDWLELOLW\



&KDQJHVLQ'DWDEDVH2SHUDWLRQV



'HWHUPLQLQJWKH/HQJWKDQG'LVWDQFH 
2WKHU&KDQJHV

3URFHVVLQJ&KDUDFWHU6WULQJV









'HWHUPLQLQJWKH/HQJWKDQG'LVWDQFH 





$VVLJQPHQWVWR)LHOG6\PEROV



,QFOXGHVZLWK*URXS1DPHV

1HZ$%$36WDWHPHQWVIRU8QLFRGH

6WULQJ3URFHVVLQJIRU%\WH6WULQJV






&UHDWLQJ'DWD2EMHFWV'\QDPLFDOO\



$VVLJQLQJ)LHOGV'\QDPLFDOO\



6WRULQJ'DWD&OXVWHUV



)LOH,QWHUIDFH









8SORDGLQJDQG'RZQORDGLQJ)LOHV

*HQHULF7\SHVIRU)LHOG6\PEROVDQG3DUDPHWHUV
1HZ&ODVVHVIRU8QLFRGH



'HWHUPLQLQJ)LHOG3URSHUWLHV



&RQYHUWLQJ'DWD



5)&DQG8QLFRGH





)XUWKHU0HDVXUHV



)XUWKHU6DPSOH3URJUDPV



*ORVVDU\ 



,QGH[RI.H\&RQFHSWV



&RGHV

,Q WKH SDVW 6$3 GHYHORSHUV XVHG YDULRXV FRGHV WR HQFRGH FKDUDFWHUV RI GLIIHUHQW
DOSKDEHWVIRUH[DPSOH$6&,,(%&',RUGRXEOHE\WHFRGHSDJHV


$6&,, $PHULFDQ 6WDQGDUG &RGH IRU ,QIRUPDWLRQ ,QWHUFKDQJH  HQFRGHV HDFK


FKDUDFWHUXVLQJE\WH
 

ELW7KLVPDNHVLWSRVVLEOHWRUHSUHVHQWDPD[LPXPRI

  FKDUDFWHUV WR ZKLFK WKH FRPELQDWLRQV > @ DUH

DVVLJQHG&RPPRQFRGHSDJHVDUHIRUH[DPSOH,62IRU:HVW(XURSHDQRU
,62IRU&\ULOOLFIRQWV


(%&', ([WHQGHG %LQDU\ &RGHG 'HFLPDO ,QWHUFKDQJH DOVRXVHV  E\WH WR HQFRGH
HDFK FKDUDFWHU ZKLFK DJDLQ PDNHV LW SRVVLEOH WR UHSUHVHQW  FKDUDFWHUV
(%&',&  LV DQ ROG ,%0 IRUPDW WKDW LV XVHG RQ $6 PDFKLQHV IRU
:HVW(XURSHDQIRQWVIRUH[DPSOH

'RXEOHE\WHFRGHSDJHVUHTXLUHRUE\WHVIRUHDFKFKDUDFWHU7KLVDOORZV\RX

WREXLOG

FRPELQDWLRQVZKHUHXVXDOO\RQO\FKDUDFWHUV

DUHXVHG'RXEOHE\WHFRGHSDJHVDUHIRUH[DPSOH6-,6IRU-DSDQHVHDQG%,*
IRUWUDGLWLRQDO&KLQHVH

8VLQJ WKHVH FKDUDFWHUVHWV \RX FDQ DFFRXQW IRU HDFK ODQJXDJH UHOHYDQW WRWKH 6$3
6\VWHP +RZHYHU SUREOHPV RFFXU LI \RX ZDQW WR PHUJH WH[WV IURP GLIIHUHQW
LQFRPSDWLEOHFKDUDFWHUVHWVLQDFHQWUDOV\VWHP(TXDOO\H[FKDQJLQJGDWDEHWZHHQ
V\VWHPVZLWKLQFRPSDWLEOHFKDUDFWHUVHWVFDQUHVXOWLQXQSUHFHGHQWHGVLWXDWLRQV

2QH VROXWLRQ WR WKLV SUREOHP LV WR XVH D FRGH FRPSULVLQJ DOO FKDUDFWHUV XVHG RQ
HDUWK7KLVFRGHLVFDOOHG8QLFRGH ,62,(& DQGFRQVLVWVRIDWOHDVWELW
 E\WHV DOWHUQDWLYHO\ RI  ELW

  E\WHV SHU FKDUDFWHU $OWKRXJK WKH FRQYHUVLRQ

HIIRUWIRUWKH5NHUQHODQGDSSOLFDWLRQVLVFRQVLGHUDEOHWKHPLJUDWLRQWR8QLFRGH
SURYLGHVJUHDWEHQHILWVLQWKHORQJUXQ


7KH ,QWHUQHW ZZZ  DQG FRQVHTXHQWO\ DOVR P\6$3FRP DUH HQWLUHO\ EDVHG RQ
8QLFRGHZKLFKWKXVLVDEDVLFUHTXLUHPHQWIRULQWHUQDWLRQDOFRPSHWLWLYHQHVV
8QLFRGH DOORZV DOO 5 XVHUV WR LQVWDOO D FHQWUDO 5 6\VWHP WKDW FRYHUV DOO
EXVLQHVVSURFHVVHVZRUOGZLGH
&RPSDQLHV XVLQJ GLIIHUHQW GLVWULEXWHG V\VWHPV IUHTXHQWO\ ZDQW WR DJJUHJDWH
WKHLUZRUOGZLGHFRUSRUDWHGDWD:LWKRXW8QLFRGHWKH\ZRXOGEHDEOHWRGRWKLV
RQO\WRDOLPLWHGGHJUHH

:LWK 8QLFRGH \RX FDQ XVH PXOWLSOH ODQJXDJHV VLPXOWDQHRXVO\ DW D VLQJOH
IURQWHQGFRPSXWHU
8QLFRGHLVUHTXLUHGIRUFURVVDSSOLFDWLRQGDWDH[FKDQJHZLWKRXWORVVRIGDWDGXH
WR LQFRPSDWLEOH FKDUDFWHU VHWV 2QH ZD\ WR SUHVHQW GRFXPHQWV LQ WKH :RUOG
:LGH:HE ZZZ LV;0/IRUH[DPSOH


$%$3 SURJUDPV PXVW EH PRGLILHG ZKHUHYHU DQ H[SOLFLW RU LPSOLFLW DVVXPSWLRQ LV
PDGHZLWKUHJDUGWRWKHLQWHUQDOOHQJWKRIDFKDUDFWHU$VDUHVXOWDQHZOHYHORI
DEVWUDFWLRQ LV UHDFKHG ZKLFK PDNHV LW SRVVLEOH WR UXQ RQH DQG WKH VDPH SURJUDP
ERWK LQ FRQYHQWLRQDO DQG LQ 8QLFRGH V\VWHPV ,Q DGGLWLRQ LI QHZ FKDUDFWHUV DUH

DGGHG WR WKH 8QLFRGH FKDUDFWHU VHW 6$3 FDQ GHFLGH ZKHWKHU WR UHSUHVHQW WKHVH
FKDUDFWHUVLQWHUQDOO\XVLQJRUE\WHV




7KHH[DPSOHVSUHVHQWHGLQWKHIROORZLQJVHFWLRQVDUHEDVHGRQD8QLFRGHHQFRGLQJ
XVLQJE\WHVSHUFKDUDFWHU



$%$3'HYHORSPHQW8QGHU8QLFRGH

$8QLFRGHHQDEOHG$%$3SURJUDP 83 LVDSURJUDPLQZKLFKDOO8QLFRGHFKHFNVDUH
HIIHFWLYH 6XFK D SURJUDP UHWXUQV WKH VDPH UHVXOWV LQ D QRQ8QLFRGH V\VWHP 186 
DV LQ D 8QLFRGH V\VWHP 86  ,Q RUGHU WR SHUIRUP WKH UHOHYDQW V\QWD[ FKHFNV \RX
PXVWDFWLYDWHWKH8QLFRGHIODJLQWKHVFUHHQVRIWKHSURJUDPDQGFODVVDWWULEXWHV

,QD86\RXFDQRQO\H[HFXWHSURJUDPVIRUZKLFKWKH8QLFRGHIODJLVVHW,QIXWXUH
WKH8QLFRGHIODJPXVWEHVHWIRUDOO6$3SURJUDPVWRHQDEOHWKHPWRUXQRQD86,I
WKH 8QLFRGH IODJ LV VHW IRU D SURJUDP WKH V\QWD[ LV FKHFNHG DQG WKH SURJUDP
H[HFXWHG DFFRUGLQJ WR WKH UXOHV GHVFULEHGLQ WKLV GRFXPHQW UHJDUGOHVV RI ZKHWKHU
WKH V\VWHP LV D 86 RU DQ 186 )URP QRZ RQ WKH 8QLFRGH IODJ PXVW EH VHW IRU DOO
QHZSURJUDPVDQGFODVVHVWKDWDUHFUHDWHG

,I WKH 8QLFRGH IODJ LV QRW VHW D SURJUDP FDQ RQO\ EH H[HFXWHG LQ DQ 186 7KH
V\QWDFWLFDO DQG VHPDQWLF FKDQJHV GHVFULEHG EHORZ GR QRW DSSO\ WR VXFK SURJUDPV
+RZHYHU \RX FDQ XVH DOO ODQJXDJH H[WHQVLRQV WKDW KDYH EHHQ LQWURGXFHG LQ WKH
SURFHVVRIWKHFRQYHUVLRQWR8QLFRGH
$V D UHVXOW RI WKH PRGLILFDWLRQV DQG UHVWULFWLRQV DVVRFLDWHG ZLWK WKH 8QLFRGH IODJ
SURJUDPV DUH H[HFXWHG LQ ERWK 8QLFRGH DQG QRQ8QLFRGH V\VWHPV ZLWK WKH VDPH
VHPDQWLFV WR D ODUJH GHJUHH ,Q UDUH FDVHV KRZHYHU GLIIHUHQFHV PD\ RFFXU
3URJUDPVWKDWDUHGHVLJQHGWRUXQRQERWKV\VWHPVWKHUHIRUHQHHGWREHWHVWHGRQ
ERWKSODWIRUPV

<RX DUH UHFRPPHQGHG WR IROORZ WKH SURFHGXUH EHORZ WR PDNH \RXU SURJUDPV 86
FRPSOLDQW

7KH 81,&2'( WDVN LQ WUDQVDFWLRQ 6$07 SHUIRUPV ILUVW DQ 186 DQG WKHQ D 86
V\QWD[FKHFNIRUDVHOHFWHGSURJUDPVHW)RUDQRYHUYLHZRIWKHV\QWD[HUURUVE\
V\VWHPVSURJUDPVDQGDXWKRUVFRQVXOWWKHIROORZLQJGRFXPHQWLQ6$31HW
KWWSSGRFXPHQWVQOV8QLFRGHDEDSBVWDWLVWLFVDEDSBXQLFRGHBVWDWLVWLFV
KWP

$OWHUQDWLYHO\ \RX FDQ VWDUW WKH $%$3 SURJUDP 5681,6&$1B),1$/ WR GHWHUPLQH
WKH8QLFRGHUHOHYDQWV\QWD[HUURUVIRUDVLQJOHSURJUDP

%HIRUH\RXFDQVHWWKH8QLFRGHIODJLQWKH186LQWKHDWWULEXWHVRIWKHSURJUDP

+DYLQJ HQDEOHG WKH 8QLFRGH IODJ LQ WKH 186 \RX FDQ UXQ WKH V\QWD[ FKHFN IRU

FRQFHUQHGDOOV\QWD[HUURUVPXVWEHUHPRYHG

WKLV SURJUDP 7R GLVSOD\ D PD[LPXPRI  V\QWD[HUURUV VLPXOWDQHRXVO\FKRRVH

8WLOLWLHV ! 6HWWLQJV ! (GLWRU LQ WKH $%$3 (GLWRU DQG VHOHFW WKH FRUUHVSRQGLQJ
FKHFNER[

2QFH DOO V\QWDFWLFDO UHTXLUHPHQWV DUH PHW LQ WKH 186 \RX PXVW WHVW WKH
SURJUDP ERWK LQ WKH 186 DQG 86 7KH SXUSRVH RI WKLV WHVW LV WR UHFRJQL]H DQ\
UXQWLPH HUURUV DQG PDNH VXUH WKDW WKH UHVXOWV DUH FRUUHFW LQ ERWK V\VWHPV 7R
UXOH RXW UXQWLPH HUURUV LQ DGYDQFH \RX VKRXOG DOZD\V W\SH ILHOG V\PEROV DQG
SDUDPHWHUV VR WKDW DQ\ SRWHQWLDO SUREOHPV FDQ EH GHWHFWHG GXULQJ WKH V\QWD[
FKHFN

ABAP: Change Program Attributes VER00778




Title

Doku-Check

Original language

German

Created

22.06.1999

Schrder

Last changed

17.01.2000

Schrder

Status

inactive

Attributes
Type

Executable program

Status

SAP standard production program

Application

Basis

Authorization groups
Development class

SVER

Logical database
Selection screen
Editor lock

F ixed point arithmetic

Unicode checks active

Start using variant

Save


&RQFHSWVDQG&RQYHQWLRQV

'DWD7\SHV
7KHGDWDW\SHVWKDWFDQEHLQWHUSUHWHGDVFKDUDFWHUW\SHLQD83LQFOXGH

&

&KDUDFWHU OHWWHUVQXPEHUVVSHFLDOFKDUDFWHUV 

1 

1XPHULFFKDUDFWHU QXPEHUV 

' 

'DWH

7 

7LPH

675,1*

&KDUDFWHUW\SHVWUXFWXUHV

&KDUDFWHUVWULQJ
6WUXFWXUHVZKLFKHLWKHUGLUHFWO\RULQVXEVWUXFWXUHV
FRQWDLQRQO\ILHOGVRIW\SHV&1'RU7

,Q DQ 186 D FKDUDFWHU RI WKLV W\SH KDV D OHQJWK RI  E\WH DQG LQ D 86 D OHQJWK
FRUUHVSRQGLQJ WR WKH OHQJWK RI RQH FKDUDFWHU RQ WKH UHOHYDQW SODWIRUP 7KH GDWD
W\SH:LVQRORQJHUVXSSRUWHG
9DULDEOHVRIWKHW\SHV;DQG;675,1*DUHFDOOHGE\WHW\SH
7KHPDLQFKDUDFWHULVWLFVRIWKHGLIIHUHQWNLQGVRIVWUXFWXUHVDUH



)ODW VWUXFWXUHV FRQWDLQ RQO\ ILHOGV RI WKH HOHPHQWDU\ W\SHV & 1 ' 7 ) , 3
DQG;RUVWUXFWXUHVFRQWDLQLQJWKHVHW\SHV
'HHSVWUXFWXUHVFRQWDLQVWULQJVLQWHUQDOWDEOHVDQGILHOGRUREMHFWUHIHUHQFHVLQ
DGGLWLRQWRWKHHOHPHQWDU\W\SHV
1HVWHGVWUXFWXUHVDUHVWUXFWXUHVWKDWFRQWDLQVXEVWUXFWXUHVDVFRPSRQHQWV
1RQQHVWHGVWUXFWXUHVDUHVWUXFWXUHVWKDWGRQRWFRQWDLQDQ\VXEVWUXFWXUHV




'DWD/D\RXWRI6WUXFWXUHV
)RU VHYHUDO GDWD W\SHV VXFK DV , DQG ) RU REMHFW UHIHUHQFHV FHUWDLQ DOLJQPHQW
UHTXLUHPHQWV DUH LQ SODFHWKDW GHSHQG RQWKH SODWIRUPXVHG )LHOGV RI WKHVH W\SHV
PXVW EHJLQ DQG HQG DW DGGUHVVHV LQ WKH PHPRU\ WKDW FDQ EH GLYLGHG E\  RU 
8QGHU8QLFRGHWKLVDOVRDSSOLHVWRW\SHVRIFKDUDFWHUW\SHZKHUHWKHDOLJQPHQWLV
GHWHUPLQHGE\WKHFKDUDFWHUOHQJWKRIWKHW\SHV
:LWKLQVWUXFWXUHVE\WHVFDQEHLQVHUWHGEHIRUHRUDIWHUFRPSRQHQWVZLWKDOLJQPHQW
UHTXLUHPHQWV WR DFKLHYH WKH QHFHVVDU\ DOLJQPHQW 7KHVH E\WHV DUH UHIHUUHG WR DV
DOLJQPHQW 7KH EHJLQQLQJ DQG WKH HQG RI VWUXFWXUHV VXEVWUXFWXUHV DQG LQFOXGHV LV
DOZD\V DOLJQHG DFFRUGLQJ WR WKH FRPSRQHQW ZLWK WKH KLJKHVW UHTXLUHPHQW ,Q WKH
VDPSOH VWUXFWXUH EHORZ WKDW FRQWDLQV WKUHH ILHOGV QR DOLJQPHQWV DUH EXLOW LQ DQ
186RU86


BEGIN OF struc1,
a(1) TYPE X,
b(1) TYPE X,
c(6) TYPE C,
END OF struc1.
,QWKHQH[WH[DPSOHKRZHYHUDOLJQPHQWVDUHEXLOWLQD86EXWQRWLQDQ1867KH
ILUVW DOLJQPHQW JDS LV EXLOW EHFDXVH RI WKH DOLJQPHQW RI VWUXFWXUH VWUXF WKH
VHFRQG EHFDXVH RI WKH DOLJQPHQW RI & ILHOG F DQG WKH WKLUG EHFDXVH RI WKH
DGGUHVVLQJRILQWHJHUG


BEGIN OF struc2,
a(1) TYPE X,
BEGIN OF struc3,
b(1) TYPE X,
c(6) TYPE C,
END OF struc3,
d
TYPE I,
END OF struc2.


NUS

a b

US

a A b A

_

d
c
VWUXF

A





_

d

8QLFRGH)UDJPHQW9LHZ
7KHGDWDOD\RXWRIVWUXFWXUHVLVUHOHYDQWWR83FKHFNVZLWKUHJDUGWRWKHUHOLDELOLW\
RI DVVLJQPHQWV DQG FRPSDULVRQV IRU H[DPSOH 7KLV GDWD OD\RXW LV UHSUHVHQWHG LQ
WKH 8QLFRGH IUDJPHQW YLHZ 7KH IUDJPHQW YLHZ EUHDNV GRZQ WKH VWUXFWXUH LQWR
DOLJQPHQW JDSV LQ E\WH DQGFKDUDFWHU W\SHDUHDVDQGDOO RWKHU W\SHV VXFK DV 3 ,
)VWULQJVUHIHUHQFHVRULQWHUQDOWDEOHV

-X[WDSRVHG FKDUDFWHU W\SH FRPSRQHQWV RI D VWUXFWXUH H[FHSW VWULQJV DUH LQWHUQDOO\
FRPELQHG LQWR D JURXS LI QR DOLJQPHQW JDSV H[LVW EHWZHHQ WKHVH FRPSRQHQWV $OO
SRVVLEOH DOLJQPHQW UHTXLUHPHQWV IRU FKDUDFWHUV DUH FRQVLGHUHG -X[WDSRVHG E\WH
W\SHFRPSRQHQWVDUHJURXSHGWRJHWKHULQWKHVDPHZD\


BEGIN OF struc,
a(2) TYPE C,
b(4) TYPE N,
c
TYPE D,
d
TYPE T,
e
TYPE F,
f(2) TYPE X,
g(4) TYPE X,
h(8) TYPE C,
i(8) TYPE C,
END OF struc. 


,QWKHIROORZLQJH[DPSOH))VKRZWKHLQGLYLGXDOIUDJPHQWVRIVWUXFWXUHVWUXF

D EFG

_

$H

IJ$K 

)

 _) _)  _)

_ )_

L

)  _



3HUPLWWHG&KDUDFWHUV

,Q D 86 DOO $%$3 SURJUDP VRXUFHV DUH DOVR VWRUHG DV 8QLFRGH $V LQ $%$3 2EMHFWV
\RX PD\ RQO\ XVH WKH IROORZLQJ FKDUDFWHUV DV LGHQWLILHUV LQ SURJUDPV IRU ZKLFK WKH
8QLFRGHIODJLVVHW

 /HWWHUVD]DQG$=ZLWKRXWWKH*HUPDQ
XPODXWV

 1XPEHUV
 7KHXQGHUVFRUHB

)RU FRPSDWLELOLW\ UHDVRQV WKH FKDUDFWHUV   "    DQG  DUH DOVR SHUPLWWHG
<RX VKRXOG KRZHYHU XVH WKHP RQO\ LQ H[FHSWLRQDO FDVHV ZKHUH \RX FDQQRW DYRLG
WKHP




7RHQVXUHWKDWSURJUDPVFDQEHWUDQVSRUWHGIURPD86WRD186ZLWKRXWDQ\ORVVRI
LQIRUPDWLRQ LQ WKH SURFHVV RI FRQYHUVLRQ \RX VKRXOG QRW XVH DQ\ FKDUDFWHUV IRU
FRPPHQWVDQGOLWHUDOVHYHQLQD86WKDWFDQQRWEHUHSUHVHQWHGLQDQ186



5HVWULFWLRQVLQ8QLFRGH3URJUDPV
7KH DGMXVWPHQWV \RX KDYH WR PDNH DQG WKH UHVWULFWLRQV WKDW DSSO\ LQ WKH 8QLFRGH
FRQWH[WKDYHEHHQOLPLWHGWRWKHHVVHQWLDOVRQWKH$%$3GHYHORSPHQWVLGHWRNHHS
WKH FRQYHUVLRQ HIIRUW IRU $%$3 XVHUV WR D PLQLPXP ,Q VRPH FDVHV KRZHYHU WKLV
KDV OHG WR WKH HPHUJHQFH RI PRUH FRPSOH[ UXOHV IRU H[DPSOH ZLWK UHJDUG WR
DVVLJQPHQWVDQGFRPSDULVRQVEHWZHHQLQFRPSDWLEOHVWUXFWXUHV

&KDUDFWHUDQG1XPHULF7\SH2SHUDQGV
8S WR QRZ \RX KDYH EHHQ DEOH WR XVH IODW VWUXFWXUHV DV DUJXPHQWV RI $%$3
VWDWHPHQWVZKHUHYHUVLQJOHILHOGVRIW\SH&ZHUHH[SHFWHG,QD83WKLVLVQRORQJHU
JHQHUDOO\ SHUPLWWHG ,Q D 83 \RX FDQ XVH D VWUXFWXUHG ILHOG LQ D VWDWHPHQW
H[SHFWLQJ D VLQJOH ILHOG RQO\ LI WKLV VWUXFWXUHG ILHOG FRQVLVWV RI FKDUDFWHU W\SH
HOHPHQWDU\ W\SHV RU SXUHO\ FKDUDFWHU W\SH VXEVWUXFWXUHV 7KH VWUXFWXUH LV WUHDWHG
OLNHDVLQJOHILHOGRIW\SH&
7KH PDLQ UHVWULFWLRQV DSSO\LQJ WR D 83 LQ FRQWUDVW WR DQ 186 UHVXOW IURP WKH IDFW
WKDW IODW VWUXFWXUHV DUH RQO\ FRQVLGHUHG FKDUDFWHU W\SH RQ D OLPLWHG EDVLV DQG
ILHOGV RI W\SH ; RU 675,1* DUH QHYHU FRQVLGHUHG FKDUDFWHU W\SH ,Q DGGLWLRQ IODW
VWUXFWXUHV DUH RQO\ FRQVLGHUHG QXPHULF W\SH LI WKH\ DUH SXUHO\ FKDUDFWHU W\SH
1XPHULF W\SH DUJXPHQWV LQFOXGH IRU H[DPSOH RIIVHW RU LQGH[ VSHFLILFDWLRQV DV LQ
5($'7$%/(,1'(;L7KHIROORZLQJH[DPSOHVVKRZDVWUXFWXUHWKDWLVFKDUDFWHU
W\SHDQGDVWUXFWXUHWKDWLVQRW


BEGIN OF struc1,
a(2) TYPE C,
b(2) TYPE C,
x(1) TYPE x,
i
TYPE I,
END OF struc.

BEGIN OF struc2,
a(2) TYPE C,
n(6) TYPE N,
d
TYPE D,
t
TYPE T,
END OF struc.

1RW
FKDUDFWHUW\SH

&KDUDFWHUW\SH



$FFHVV8VLQJ2IIVHWDQG/HQJWK6SHFLILFDWLRQV
2IIVHW DQG OHQJWK VSHFLILFDWLRQV DUH JHQHUDOO\ FULWLFDO VLQFH WKH OHQJWK RI HDFK
FKDUDFWHU LV SODWIRUPGHSHQGHQW $V D UHVXOW LW LV LQLWLDOO\ XQFOHDU DV WR ZKHWKHU
WKHE\WHXQLWRUWKHFKDUDFWHUXQLWLVUHIHUUHGWRLQPL[HGVWUXFWXUHV7KLVIRUFHGXV
WR SXW LQ SODFH FHUWDLQ FRQVLGHUDEOH UHVWULFWLRQV +RZHYHU DFFHVV XVLQJ RIIVHW RU
OHQJWK VSHFLILFDWLRQV LV VWLOO SRVVLEOH WR WKH GHJUHH GHVFULEHG LQ WKH IROORZLQJ 7KH
WDVNV VXEMHFW WR WKLV UXOH LQFOXGH DFFHVVLQJ VLQJOH ILHOGV DQG VWUXFWXUHV SDVVLQJ
SDUDPHWHUVWRVXEURXWLQHVDQGZRUNLQJZLWKILHOGV\PEROV


6LQJOHILHOGDFFHVV
2IIVHW RU OHQJWKEDVHG DFFHVV LV VXSSRUWHG IRU FKDUDFWHU W\SH VLQJOH ILHOGV
VWULQJV DQG VLQJOH ILHOGV RI W\SHV ; DQG ;675,1* )RU FKDUDFWHU W\SH ILHOGV DQG

ILHOGV RI W\SH 675,1* RIIVHW DQG OHQJWK DUH LQWHUSUHWHG RQ D FKDUDFWHUE\
FKDUDFWHU EDVLV 2QO\ IRU W\SHV ; DQG ;675,1* WKH YDOXHV IRU RIIVHW DQG OHQJWK
DUHLQWHUSUHWHGLQE\WHV


6WUXFWXUHDFFHVV
2IIVHW RU OHQJWKEDVHG DFFHVV WR VWUXFWXUHG ILHOGV LV D SURJUDPPLQJ WHFKQLTXH
WKDW VKRXOG EH DYRLGHG 7KLV DFFHVV W\SH UHVXOWV LQ HUURUV LI ERWK FKDUDFWHU DQG
QRQFKDUDFWHU W\SH FRPSRQHQWV H[LVW LQ WKH DUHD LGHQWLILHG E\ RIIVHW DQG
OHQJWK

2IIVHW RU OHQJWKEDVHG DFFHVV WR VWUXFWXUHV LV RQO\ SHUPLWWHG LQ D 83 LI WKH
VWUXFWXUHV DUH IODW DQG WKH RIIVHWOHQJWK VSHFLILFDWLRQ LQFOXGHV RQO\ FKDUDFWHU
W\SH ILHOGV IURP WKH EHJLQQLQJ RI WKH VWUXFWXUH 7KH H[DPSOH EHORZ VKRZV D
VWUXFWXUHZLWKFKDUDFWHUW\SHDQGQRQFKDUDFWHUW\SHILHOGV,WVGHILQLWLRQLQWKH
$%$3SURJUDPDQGWKHUHVXOWLQJDVVLJQPHQWLQWKHPDLQPHPRU\LVDVIROORZV

BEGIN OF STRUC,
a(3) TYPE C,
b(4) TYPE N,
c
TYPE D,
d
TYPE T,
e
TYPE F,
f(28) TYPE C,
g(2) TYPE X,
END OF STRUC. 

"Length 3 characters
"Length 4 characters
"Length 8 characters
"Length 6 characters
"Length 8 bytes
"Length 28 characters
"Length 2 bytes


D E

FG
$H

_ 


I

J

)  _) _)  _ 

) 

_




,QWHUQDOO\WKHIUDJPHQWYLHZFRQWDLQVIRXUIUDJPHQWV>))@2IIVHWRUOHQJWK
EDVHG DFFHVV LQ WKLV FDVH LV RQO\ SRVVLEOH LQ WKH VWDUWLQJ VHFWLRQ ) 6WDWHPHQWV
OLNH VWUXF   RU VWUXF   DUH DFFHSWHG E\ WKH $%$3 LQWHUSUHWHU DQG WUHDWHG
OLNHDVLQJOHILHOGRIW\SH&%\FRQWUDVWVWUXF  DFFHVVLVQRZRQO\DOORZHG
LQ DQ 183 ,I RIIVHWOHQJWKEDVHG DFFHVV WR D VWUXFWXUH LV SHUPLWWHG ERWK WKH
RIIVHWDQGOHQJWKVSHFLILFDWLRQVDUHJHQHUDOO\LQWHUSUHWHGDVFKDUDFWHUVLQD83

3DUDPHWHUSDVVLQJWRIRUPURXWLQHV
8S WR QRZ SDUDPHWHU SDVVLQJ ZLWK3(5)250 KDVDOORZHG \RXWRXVH FURVVILHOG
RIIVHW DQG OHQJWK VSHFLILFDWLRQV ,Q IXWXUH WKLV ZLOO QR ORQJHU EH DOORZHG LQ D
83 ,Q D 83 RIIVHW DQG OHQJWKEDVHG DFFHVV EH\RQG ILHOG ERXQGDULHV UHWXUQV D
V\QWD[ RU UXQWLPH HUURU )RU H[DPSOH DFFHVV W\SHV F RU F   ZRXOG
WULJJHUVXFKDQHUURUIRUDWHQGLJLW&ILHOGF
,IRQO\DQRIIVHWEXWQROHQJWKLVVSHFLILHGIRUDSDUDPHWHUWKHHQWLUHOHQJWKRI
WKH ILHOG LQVWHDG RI WKH UHPDLQLQJ OHQJWK ZDV SUHYLRXVO\ XVHG IRU DFFHVV $V D
UHVXOW SDUDPHWHU VSHFLILFDWLRQV DUH FURVVILHOG LI \RX XVH RQO\ DQ RIIVHW DQG
WKHUHIRUH WULJJHU D V\QWD[ HUURU LQ D 83

PERFORM test USING c+5

LV

FRQVHTXHQWO\QRWSHUPLWWHG
,Q DGGLWLRQ LQ D 83 \RX FDQ FRQWLQXH WR VSHFLI\ WKH UHPDLQLQJ OHQJWK VWDUWLQJ
IURPWKHRIIVHWRIIIRUSDUDPHWHUVXVLQJWKHIRUPILHOGRII 

5DQJHVIRURIIVHWDQGOHQJWKEDVHGDFFHVVLQFDVHRIILHOGV\PEROV
$ 83 HQVXUHV WKDW RIIVHW RU OHQJWKEDVHG DFFHVV ZLWK $66,*1 LV RQO\ SHUPLWWHG
ZLWKLQ D SUHGHILQHG UDQJH 1RUPDOO\ WKLV UDQJH FRUUHVSRQGV WR WKH ILHOG
ERXQGDULHV LQ FDVH RI HOHPHQWDU\ ILHOGV RU LQ FDVH RI IODW VWUXFWXUHV WR WKH
SXUHO\ FKDUDFWHU W\SH VWDUWLQJ IUDJPHQW 8VLQJ D VSHFLDO 5$1*( DGGLWLRQ IRU
$66,*1\RXFDQH[SDQGWKHUDQJHEH\RQGWKHVHERXQGDULHV
)LHOG V\PEROV DUH DVVLJQHG D UDQJH DOORZHG IRU RIIVHWOHQJWK VSHFLILFDWLRQV ,I
WKH VRXUFH RI DQ $66,*1 VWDWHPHQW LV VSHFLILHG XVLQJ D ILHOG V\PERO WKH WDUJHW
ILHOG V\PERO DGRSWV WKH UDQJH RI WKH VRXUFH ,I QRW H[SOLFLWO\ VSHFLILHG
RWKHUZLVHWKH5$1*(LVGHWHUPLQHGDVIROORZV


ASSIGN field TO <fs>.

,Q D 83 WKH ILHOG ERXQGDULHV RI ILHOG DUH DVVLJQHG WR IV! DV WKH UDQJH ZKHUH
ILHOGLVQRILHOGV\PERO


ASSIGN <fs1> TO <fs2>.


IV!DGRSWVWKHUDQJHRIIV!


ASSIGN elfield+off(len) TO <fs>.

,QD83WKHILHOGERXQGDULHVRIWKHHOHPHQWDU\ILHOGHOILHOGDUHDVVLJQHGWRIV!
DVWKHUDQJH


ASSIGN <elfield>+off(len) TO <fs>.


IV!DGRSWVWKHUDQJHRIWKHHOHPHQWDU\ILHOGHOILHOG!


ASSIGN struc+off(len)
TO <fs>.
ASSIGN <struc>+off(len) TO <fs>.
,QD83WKHSXUHO\FKDUDFWHUW\SHVWDUWLQJVHFWLRQRIWKHIODWVWUXFWXUHVVWUXFRU
VWUXF!GHWHUPLQHVWKHUDQJHERXQGDULHV

,IWKHDVVLJQPHQWWRWKHILHOGV\PEROLVQRWSRVVLEOHEHFDXVHWKHRIIVHWRUOHQJWK
VSHFLILFDWLRQ

H[FHHGV

WKH

UDQJH

SHUPLWWHG

WKH

ILHOG

V\PERO

LV

VHW

WR

81$66,*1(' LQ D 83 2WKHU FKHFNV VXFK DV W\SH RU DOLJQPHQW FKHFNV UHWXUQ D
UXQWLPHHUURULQD83$VDUXOHRIIVHWDQGOHQJWKVSHFLILFDWLRQVDUHFRXQWHGLQ
FKDUDFWHUV IRU GDWD W\SHV & 1 ' DQG 7 DV ZHOO DV IRU IODW VWUXFWXUHV DQG LQ
E\WHVLQDOORWKHUFDVHV


2IIVHWZLWKRXWOHQJWKVSHFLILFDWLRQLQFDVHRIILHOGV\PEROV
8SWRQRZ

ASSIGN field+off TO <fs>KDVVKRZQWKHVSHFLDOEHKDYLRUWKDW

WKH ILHOG OHQJWK LQVWHDG RI WKH UHPDLQLQJ OHQJWK RI ILHOG ZDV XVHG LI RQO\ DQ
RIIVHW EXW QRW OHQJWK ZDV VSHFLILHG 6LQFH DQ $66,*1 ZLWK D FURVVILHOG RIIVHW LV
WKHUHIRUHSUREOHPDWLFXQGHU8QLFRGH\RXPXVWREVHUYHWKHIROORZLQJUXOHV

 $V SUHYLRXVO\ WKH ILHOG OHQJWK RI ILHOG LV XVHG DV WKH OHQJWK 8VLQJ

field+off(*)\RXFDQH[SOLFLWO\VSHFLI\WKHUHPDLQLQJOHQJWK



ASSIGN



ASSIGN <fs1>+off TO <fs2> LV RQO\ SHUPLWWHG LI WKH UXQWLPH W\SH RI
IV! LV IODW DQG HOHPHQWDU\ WKDW LV & 1 ' 7 RIIVHW LQ FKDUDFWHUV  RU ;
RIIVHWLQE\WHV 



ASSIGN field+off TO <fs2> LV JHQHUDOO\ IRUELGGHQ IURP D V\QWDFWLFDO


<>  ZRXOG FDXVH WKH UDQJH WR EH H[FHHGHG

SRLQW RI YLHZ VLQFH DQ\ RIIVHW

([FHSWLRQVDUHFDVHVLQZKLFKD5$1*(DGGLWLRQLVXVHG

7KHVH UXOHV HQDEOH \RX DOVR LQ IXWXUH WR SDVV D ILHOG V\PERO WKURXJK DQ
HOHPHQWDU\ ILHOG XVLQJ

ASSIGN <fs>+n TO <fs> DV LW LV WKH FDVH LQ D ORRS

IRUH[DPSOH

$VVLJQPHQWV
7KLV VHFWLRQ GHDOV ZLWK LPSOLFLW DQG H[SOLFLW W\SH FRQYHUVLRQV XVLQJ WKH HTXDO VLJQ

RUWKH029(VWDWHPHQW7ZRILHOGVFDQEHFRQYHUWHGLIWKHFRQWHQWRIRQHILHOG

FDQEHDVVLJQHGWRWKHRWKHUILHOGZLWKRXWWULJJHULQJDUXQWLPHHUURU

)RU FRQYHUVLRQV EHWZHHQ VWUXFWXUHG ILHOGV RU D VWUXFWXUHG ILHOG DQG D VLQJOH ILHOG
IODW VWUXFWXUHV ZHUH SUHYLRXVO\ WUHDWHG OLNH & ILHOGV :LWK WKH LPSOHPHQWDWLRQ RI
8QLFRGHWKLVDSSURDFKKDVEHFRPHWRRHUURUSURQHVLQFHLWLVQRWFOHDULISURJUDPV
FDQEHH[HFXWHGZLWKSODWIRUPLQGHSHQGHQWVHPDQWLFV

7ZRILHOGVDUHFRPSDWLEOHLIWKH\KDYHWKHVDPHW\SHDQGOHQJWK,IGHHSVWUXFWXUHV
DUH DVVLJQHG WKH IUDJPHQW YLHZV PXVW WKHUHIRUH EH LGHQWLFDO 2QH UHTXLUHPHQW LQ
FRQQHFWLRQ ZLWK WKH DVVLJQPHQW DQG FRPSDULVRQ RI GHHS VWUXFWXUHV KDV EHHQ WKDW
W\SH FRPSDWLELOLW\ PXVW H[LVW EHWZHHQ WKH RSHUDQGV ZKLFK UHTXLUHV ERWK RSHUDQGV
WR KDYH WKH VDPH VWUXFWXUH 7KLV UHTXLUHPHQW ZLOO FRQWLQXH WR DSSO\ IRU 8QLFRGH
V\VWHPV


&RQYHUVLRQEHWZHHQIODWVWUXFWXUHV
7RFKHFNZKHWKHUFRQYHUVLRQLVSHUPLWWHGDWDOOWKH8QLFRGHIUDJPHQWYLHZRI
WKH VWUXFWXUHV LV VHW XS LQLWLDOO\ E\ FRPELQLQJ FKDUDFWHU DQG E\WH W\SH JURXSV
DQG DOLJQPHQW JDSV DV ZHOO DV DQ\ RWKHU FRPSRQHQWV ,I WKH W\SH DQG OHQJWK RI
WKH IUDJPHQWV RI WKHVRXUFH VWUXFWXUH DUH LGHQWLFDO LQ WKH OHQJWK RI WKH VKRUWHU
VWUXFWXUH FRQYHUVLRQ LV SHUPLWWHG $VVLJQPHQW LV DOORZHG VXEMHFW WR WKH
IXOILOOPHQWRIWKHIROORZLQJFRQGLWLRQV


 7KH IUDJPHQWV RI ERWK VWUXFWXUHV XS WR WKH VHFRQGODVW IUDJPHQW RI WKH
VKRUWHUVWUXFWXUHDUHLGHQWLFDO
 7KHODVWIUDJPHQWRIWKHVKRUWHUVWUXFWXUHLVDFKDUDFWHURUE\WHW\SHJURXS
 7KH FRUUHVSRQGLQJ IUDJPHQW RI WKH ORQJHU VWUXFWXUH LV D FKDUDFWHU RU E\WH
W\SHJURXSZLWKDJUHDWHUOHQJWK

,I WKH WDUJHW VWUXFWXUH LV ORQJHU WKDQ WKH VRXUFH VWUXFWXUH WKH FKDUDFWHU W\SH
FRPSRQHQWV RI WKH UHPDLQLQJ OHQJWK DUH ILOOHG ZLWK EODQN FKDUDFWHUV $OO RWKHU
FRPSRQHQWV RI WKH UHPDLQLQJ OHQJWK DUH ILOOHG ZLWK WKH W\SHDGHTXDWH LQLWLDO
YDOXH DQG DOLJQPHQW JDSV DUH ILOOHG ZLWK ]HUR E\WHV 6LQFH ORQJHU VWUXFWXUHV
ZHUH SUHYLRXVO\ ILOOHG ZLWK EODQNV E\ GHIDXOW XVLQJ LQLWLDO YDOXHV IRU QRQ
FKDUDFWHU W\SH FRPSRQHQW W\SHV LV LQFRPSDWLEOH 7KLV LQFRPSDWLEOH FKDQJH LV



KRZHYHU UDWKHU DQ HUURU FRUUHFWLRQ )RU UHDVRQV RI FRPSDWLELOLW\ FKDUDFWHU
W\SHFRPSRQHQWVDUHQRWILOOHGZLWKLQLWLDOYDOXHV


BEGIN OF struc1,
a(1) TYPE C,
x(1) TYPE X,
END OF struc1.
7KH DVVLJQPHQW VWUXF

BEGIN OF struc2,
a(1) TYPE C,
b(1) TYPE C,
END OF struc2.
 VWUXF LV QRW DOORZHG XQGHU 8QLFRGH VLQFH VWUXF[ LQ

FRQWUDVWWRVWUXFERFFXSLHVRQO\RQHE\WH

BEGIN OF struc3,
a(2) TYPE C,
n(6) TYPE N,
i
TYPE I,
END OF struc3.
7KH DVVLJQPHQW VWUXF

BEGIN OF struc4,
a(8) TYPE C,
i
TYPE I,
f
TYPE F,
END OF struc4.
 VWUXF LV DOORZHG VLQFH WKH IUDJPHQW YLHZV RI WKH

FKDUDFWHUW\SHILHOGVDQGWKHLQWHJHUDUHLGHQWLFDO

BEGIN OF struc5,
a(1) TYPE X,
b(1) TYPE X,
c(1) TYPE C,
END OF struc5.

VWUXF

BEGIN OF struc6,
a(1) TYPE X,
BEGIN OF STRUC3,
b(1) TYPE X,
c(1) TYPE C,
END OF struc3,
END OF struc6.

 VWUXF LV DJDLQ QRW SHUPLWWHG VLQFH WKH IUDJPHQW YLHZV RI ERWK

VWUXFWXUHVDUHQRWLGHQWLFDOGXHWRWKHDOLJQPHQWJDSVEHIRUHVWUXFDQGVWUXF
F

BEGIN OF struc7,
p(8) TYPE P,
c(1) TYPE C,
END OF struc7.
7KH DVVLJQPHQW VWUXF

BEGIN OF struc8,
p(8) TYPE P,
c(5) TYPE C,
o(8) TYPE P,
END OF struc8.
 VWUXF ZRUNV VLQFH WKH 8QLFRGH IUDJPHQW YLHZV DUH

LGHQWLFDOZLWKUHJDUGWRWKHOHQJWKRIVWUXFWXUHVWUXF

)RU GHHS VWUXFWXUHV WKH RSHUDQG W\SHV PXVW EH FRPSDWLEOH DV XVXDO $V DQ
HQKDQFHPHQW PHDVXUH ZH VOLJKWO\ JHQHUDOL]HG WKH FRQYHUWLELOLW\ LQ FDVH RI
REMHFWUHIHUHQFHVDQGWDEOHFRPSRQHQWV


&RQYHUVLRQEHWZHHQVWUXFWXUHVDQGVLQJOHILHOGV
7KH IROORZLQJ UXOHV DSSO\ IRU FRQYHUWLQJ D VWUXFWXUH LQWR D VLQJOH ILHOG DQG YLFH
YHUVD
 ,I D VWUXFWXUH LV SXUHO\ FKDUDFWHU W\SH LW LV WUHDWHG OLNH D & ILHOG GXULQJ
FRQYHUVLRQ
 ,IWKHVLQJOHILHOGDQGRQO\SDUWRIWKHVWUXFWXUHLVFKDUDFWHUW\SHFRQYHUVLRQ
LVRQO\SRVVLEOHLIWKHVWUXFWXUHEHJLQVZLWKDFKDUDFWHUW\SHJURXSDQGLIWKLV
JURXS LV DW OHDVW DV ORQJ DV WKH VLQJOH ILHOG &RQYHUVLRQ QRZ WDNHV SODFH
EHWZHHQWKHILUVWFKDUDFWHUW\SHJURXSRIWKHVWUXFWXUHDQGWKHVLQJOHILHOG
,I WKH VWUXFWXUH LV WKH WDUJHW ILHOG WKH FKDUDFWHU W\SH VHFWLRQV RI WKH



UHPDLQGHU DUH ILOOHG ZLWK EODQNV DQG DOO RWKHU FRPSRQHQWV DUH ILOOHG ZLWK
WKHW\SHDGHTXDWHLQLWLDOYDOXH
 &RQYHUVLRQLVQRWSHUPLWWHGLIWKHVWUXFWXUHLVQRWSXUHO\FKDUDFWHUW\SHDQG
LIWKHVLQJOHILHOGLVQRWFKDUDFWHUW\SH
$V

ZLWK

WKH

DVVLJQPHQW

EHWZHHQ

VWUXFWXUHV

ILOOLQJ

QRQFKDUDFWHU

W\SH

FRPSRQHQWV ZLWK WKH LQLWLDO YDOXH LV LQFRPSDWLEOH ,Q DGGLWLRQ DQ LQFRPSDWLEOH
VHPDQWLFFKDQJHUHVXOWVLIWKHWDUJHWLVDVLQJOHILHOGRIW\SH1DQGSDUWVRIWKH
VWUXFWXUH FRQWHQW ZHUH SUHYLRXVO\ UHOHYDQW WR FRQYHUVLRQ WKDW GR QRW RULJLQDWH
IURPWKHILUVWFKDUDFWHUW\SHFRPSRQHQW


&RQYHUVLRQEHWZHHQLQWHUQDOWDEOHV
7DEOHV FDQ EH FRQYHUWHG LI WKHLU URZ W\SHV DUH FRQYHUWLEOH 7KH UHVWULFWLRQV
GHVFULEHGDERYHWKHUHIRUHDOVRHIIHFWWKHFRQYHUVLRQRIWDEOHV

,PSOLFLWFRQYHUVLRQV
7KH DERYH UXOHV DOVRDSSO\ WR DOO $%$3 VWDWHPHQWV WKDW XVHLPSOLFLW FRQYHUVLRQV
DFFRUGLQJ WR WKH 029( VHPDQWLFV )RU H[DPSOH WKLV LV WUXH IRU WKH IROORZLQJ
VWDWHPHQWVIRULQWHUQDOWDEOHV


APPEND wa TO itab.
APPEND LINES OF itab1 TO itab2.
INSERT wa INTO itab.
INSERT LINES OF itab1 INTO [TABLE] itab2.
MODIFY itab FROM wa.
MODIFY itab ... TRANSPORTING ... WHERE ... ki = vi ...
READ TABLE itab ...INTO wa.
READ TABLE itab ...WITH KEY ...ki = vi ...
LOOP AT itab INTO wa.
LOOP AT itab .... WITH KEY ... ki = vi ...
7KH UHVWULFWLRQV IRU H[SOLFLW FRQYHUVLRQ DOVR DSSO\ WR WKH LPSOLFLW FRQYHUVLRQ RI
9$/8(VSHFLILFDWLRQV

&RPSDULVRQV
,QJHQHUDOWKHUXOHDSSOLHVWKDWRSHUDQGVWKDWFDQEHDVVLJQHGWRRQHDQRWKHUZLWK
WKH 029( VWDWHPHQW FDQ DOVR EH FRPSDUHG $Q H[FHSWLRQ LV REMHFW UHIHUHQFHV
ZKLFKFDQEHFRPSDUHGEXWQRWDOZD\VDVVLJQHG


&RPSDULVRQRIIODWVWUXFWXUHV
6WUXFWXUHV FDQ DOVR EH FRPSDUHG LI WKH\ DUH QRW FRPSDWLEOH $V LQ WKH 029(
VWDWHPHQW WKH IUDJPHQW YLHZV PXVW EH WKH VDPH IRU WKH OHQJWK RI WKH VKRUWHU
VWUXFWXUH,IWKHVWUXFWXUHVKDYHGLIIHUHQWOHQJWKVWKHVKRUWHUVWUXFWXUHLVILOOHG
XQWLOLWKDVWKHOHQJWKRIWKHRWKHUVWUXFWXUH$VLQWKHDVVLJQPHQWDOOFKDUDFWHU
W\SH FRPSRQHQWV DUH ILOOHG ZLWK VSDFHV DQG DOO RWKHU FRPSRQHQWV ZLWK LQLWLDO



YDOXHV RI WKH ULJKW W\SH 7KH VWUXFWXUHV DUHFRPSDUHG IUDJPHQW E\ IUDJPHQW DV
GHILQHGE\WKHIUDJPHQWYLHZ


&RPSDULVRQRIVLQJOHILHOGVDQGVWUXFWXUHV
7KHIROORZLQJUXOHVDUHYDOLGZKHQVLQJOHILHOGVDUHFRPSDUHGZLWKVWUXFWXUHV
 ,I D VWUXFWXUH LV RI FKDUDFWHU W\SH RQO\ LW LV WUHDWHG OLNH D & ILHOG LQ WKH
FRPSDULVRQ
 ,I WKH VLQJOH ILHOG LV RI W\SH & EXW WKH VWUXFWXUH LV RQO\ SDUWO\ RI FKDUDFWHU
W\SH WKH FRPSDULVRQ LV RQO\ SRVVLEOH LI WKH ILUVW IUDJPHQW RI FKDUDFWHU W\SH
LQWKHVWUXFWXUHLVORQJHUWKDQWKHVLQJOHILHOG7KHVLQJOHILHOGLVH[WHQGHGWR
WKH VWUXFWXUH OHQJWK DW UXQWLPH DQG ILOOHG ZLWK LQLWLDO YDOXHV IRU WKH
FRPSDULVRQ 7KH FRPSDULVRQ LV WKH VDPH DV IRU VWUXFWXUHG ILHOGV ZKHUH WKH
ILHOGVDUHILOOHGDVLQWKH029(VWDWHPHQW

c0(10)

TYPE C.

c0

BEGIN OF struc,
c1(15) TYPE C,
i
TYPE I,
c2(5) TYPE C,
n(7)
TYPE N,
END OF struc.

c1

c2

,Q WKLV H[DPSOH F LVH[WHQGHG WR WKHOHQJWK RI VWUXF LQ VWRUDJH$OODUHDV !
 DUH ILOOHG ZLWK LQLWLDO YDOXHV RI WKH FRUUHFW W\SH IRU FRPSRQHQWV WKDW DUH
QRWFKDUDFWHUW\SHDQGILOOHGZLWKVSDFHIRURWKHUFRPSRQHQWV


&RPSDULVRQRIGHHSVWUXFWXUHV
$V SUHYLRXVO\ PDLQO\ W\SH FRPSDWLELOLW\ RI WKH RSHUDQGV LV QHHGHG IRU
FRPSDULQJ GHHS VWUXFWXUHV 7KH FRPSDWLELOLW\ WHVW IRU FRPSDUDELOLW\ ZDV
JHQHUDOL]HG

VR

WKDW

VWUXFWXUH FRPSRQHQWV

ZLWK

UHIHUHQFHV

WR

FODVVHV

RU

LQWHUIDFHVFDQEHFRPSDUHGZLWKRQHDQRWKHUZKDWHYHUWKHFODVVKLHUDUFK\DQG
LPSOHPHQWDWLRQ UHODWLRQ DV IRU VLQJOH ILHOGV 2QO\ FRPSDUDELOLW\ RI WDEOH W\SHV
LVUHTXLUHGIRUWDEOHFRPSRQHQWV


&RPSDULVRQRILQWHUQDOWDEOHV
7DEOHV FDQ EH FRPSDUHG LI WKHLU URZ W\SHV FDQ EH FRPSDUHG 7KH UHVWULFWLRQV
GHVFULEHGDERYHWKHUHIRUHDOVRDIIHFWWDEOHFRPSDULVRQV



3URFHVVLQJ6WULQJV
6WULQJ SURFHVVLQJ VWDWHPHQWV ZKRVH DUJXPHQWV ZHUH DOO LQWHUSUHWHG DV ILHOGV RI
W\SH & XQWLO QRZ DUH QRZ GLYLGHG LQWR VWDWHPHQWV ZLWK FKDUDFWHU DUJXPHQWV DQG
WKRVHZLWKE\WHDUJXPHQWV


6WULQJSURFHVVLQJVWDWHPHQWV



CLEAR ... WITH


CONCATENATE
CONDENSE
CONVERT TEXT ... INTO SORTABLE CODE
OVERLAY
REPLACE
SEARCH
SHIFT
SPLIT
TRANSLATE ... TO UPPER/LOWER CASE
TRANSLATE ... USING
7KH DUJXPHQWV RI WKHVH LQVWUXFWLRQV PXVW EH VLQJOH ILHOGV RI W\SH & 1 ' 7 RU
675,1* RU VWUXFWXUHV RI FKDUDFWHU W\SH RQO\ 7KHUH LV D V\QWD[ RU UXQWLPH HUURU
LIDUJXPHQWVRIDGLIIHUHQWW\SHDUHSDVVHG$VXEVHWRIWKLVIXQFWLRQLVSURYLGHG
ZLWKWKHDGGLWLRQ

IN BYTE MODEIRUSURFHVVLQJE\WHVWULQJVWKDWLVRSHUDQGV
CONCATENATE a x b INTO c VWDWHPHQW LV QRW

RI W\SH ; RU ;675,1* $

SRVVLEOHLIDEFDUHFKDUDFWHUW\SHEXW[KDVW\SH;
,Q WKH TRANSLATE VWDWHPHQWV WKH DGGLWLRQV FROM
CODEPAGE DQG FROM
NUMBER FORMAT DUHQRWDOORZHG LQ D 831HZ FRQYHUVLRQFODVVHV DUHSURYLGHG
WRUHSODFHWKHVHVWDWHPHQWV

TRANSLATE ... CODEPAGE ...


TRANSLATE ... NUMBER FORMAT ...
7KH DERYH VWDWHPHQWV DUH QRW DOORZHG LQ 8QLFRGH SURJUDPV ,QVWHDG \RX FDQ
XVHWKHQHZFRQYHUVLRQFODVVHVZKLFKDUHGHVFULEHGLQPRUHGHWDLORQSDJH


&RPSDUHRSHUDWRUVIRUVWULQJSURFHVVLQJ

CO
CN
CA
NA
CS
NS
CP
NP
$V ZLWK WKH VWULQJ SURFHVVLQJ VWDWHPHQWV WKHVH RSHUDWRUV QHHG VLQJOH ILHOGV RI
W\SH & 1 ' 7 RU 675,1* DV DUJXPHQWV DQG DJDLQ VWUXFWXUHV RI FKDUDFWHU W\SH
RQO\ DUH DOORZHG 6SHFLDO FRPSDUH RSHUDWRUV GHILQHG ZLWK WKH SUHIL[ %<7( DUH
SURYLGHGIRUE\WHVWULQJV


)XQFWLRQVIRUVWULQJSURFHVVLQJ
)XQFWLRQ675/(1RQO\ZRUNVZLWKFKDUDFWHUW\SHILHOGVDQGUHWXUQVWKHOHQJWKLQ
FKDUDFWHUV7KHQHZIXQFWLRQ;675/(1ILQGVWKHOHQJWKRIE\WHVWULQJV

8QWLO QRZ IXQFWLRQ &+$5/(1 UHWXUQHG WKH YDOXH IRU D WH[W ILHOG EHJLQQLQJ
ZLWK D VLQJOH E\WH FKDUDFWHU XQGHU DQ 186 7KH YDOXH  LV UHWXUQHG IRU WH[W
ILHOGV EHJLQQLQJ ZLWK D GRXEOH E\WH FKDUDFWHU 8QGHU D 86 &+$5/(1 UHWXUQV
WKHYDOXHLIWH[WEHJLQVZLWKDVLQJOH8QLFRGHFKDUDFWHU,IWH[WEHJLQVZLWKD
8QLFRGHGRXEOHFKDUDFWHUIURPWKHVXUURJDWHDUHDWKHYDOXHLVUHWXUQHG




)XQFWLRQ 1802)&+$5 UHWXUQV WKH QXPEHU RI FKDUDFWHUV LQ D VWULQJ RU D
FKDUDFWHU W\SH ILHOG ,Q VLQJOH E\WH FRGH SDJHV WKH IXQFWLRQ EHKDYHV OLNH
675/(1 ,Q PXOWLE\WH FRGH SDJHV FKDUDFWHUV ILOOLQJ PRUH WKDQ  E\WH DUH
QHYHUWKHOHVVFRQVLGHUHGWRKDYHOHQJWK


2XWSXWLQILHOGVDQGOLVWV
,Q :5,7(  72 DQ\ IODW GDWD W\SHV WKDW ZHUH KDQGOHG OLNH & ILHOGV ZHUH
DOORZHG DV WDUJHW $ 83 UHTXLUHV WKDW WKH WDUJHW ILHOG EH RI FKDUDFWHU W\SH LQ D
:5,7(72VWDWHPHQW7KHOLQHW\SHRIWKHWDEOHPXVWEHRIFKDUDFWHUW\SH
IRUWDEOHYDULDQW:5,7(72LWDE,1'(;LG[7KHRIIVHWDQGOHQJWKDUHFRXQWHG
LQFKDUDFWHUV
8QWLOQRZDQ\IODWVWUXFWXUHVFRXOGEHRXWSXWZLWK:5,7(,IWKHVRXUFHILHOGLV
D IODW VWUXFWXUH LQ D :5,7( LW PXVW KDYH FKDUDFWHU W\SH RQO\ LQ D 83 7KLV
DIIHFWVWKHIROORZLQJVWDWHPHQWV

WRITE
WRITE
WRITE
WRITE
WRITE

f.
f TO g[+off][(len)].
(name) TO g.
f TO itab[+off][(len)] INDEX idx.
(name) TO itab[+off][(len)] INDEX idx.



7\SH&KHFNVDQG7\SH&RPSDWLELOLW\
)RU KLVWRULFDO UHDVRQV WKH W\SHV RI ILHOG V\PEROV DQG SDUDPHWHUV LQ VXEURXWLQHV RU
IXQFWLRQPRGXOHVFDQEHGHILQHGZLWKWKH6758&785(DGGLWLRQ


,I WKH W\SHV RI ILHOG V\PEROV DUH GHILQHG ZLWK

FIELD-SYMBOLS

<fs>

STRUCTURE s DEFAULT wa DQGWKH\DUHODWHUDVVLJQHGDGDWDREMHFWZDZLWK


ASSIGN wa TO <fs>   LQ D 183 ERWK VWDWHPHQWV DUH FKHFNHG WR VHH LI ZD
LV DW OHDVW DV ORQJ DV V DQG ZD VDWLVILHV WKH DOLJQPHQW UHTXLUHPHQWV RI V DW
UXQWLPH


,I  SDUDPHWHU W\SHV LQ IXQFWLRQ PRGXOHV RU VXEURXWLQHV DUH GHILQHG ZLWK FORM
form1 USING/CHANGING arg STRUCTURE s  RU FORM form2 TABLES
itab_a STRUCTURE s  DQG WKH SDUDPHWHUV DUH SDVVHG DFWXDO SDUDPHWHUV
ZLWK
PERFORM form1 USING/CHANGING wa RU PERFORM form2
USING/CHANGING itab_b WKH 183 DOVR RQO\ FKHFNV LI ZD RU WKH OLQH W\SH RI
LWDEBE LV DW OHDVW DV ORQJ DV V DQG ZD RU WKH OLQH W\SH RI LWDEBE VDWLVILHV WKH
DOLJQPHQW UHTXLUHPHQWV RI V 7KH VDPH LV WUXH IRU IXQFWLRQ PRGXOH SDUDPHWHUV
ZKRVHW\SHVDUHGHILQHGZLWK6758&785(
7KH IROORZLQJ H[WUD UXOHV DUH FKHFNHG LQ D 83 DIWHU GHILQLQJ WKH W\SH ZLWK
6758&785( ZKHQ DVVLJQLQJ GDWD REMHFWV LH IRU WKH '()$8/7 DGGLWLRQ LQ WKH
),(/'6<0%2/6VWDWHPHQWIRU$66,*1DQGZKHQSDVVLQJDFWXDOSDUDPHWHUV
 ,I ZD RU WKH OLQH W\SH RI LWDEBE LV D IODW RU GHHS VWUXFWXUH WKH OHQJWK RI V
PXVWEHWKHVDPHIRUWKH8QLFRGHIUDJPHQWYLHZVRIZDRURILWDEBEDQGV



 ,IZDLVDVLQJOHILHOGRQO\WKHFKDUDFWHUW\SHV&1'RU7DUHDOORZHGDQG
WKHVWUXFWXUHVPXVWKDYHFKDUDFWHUW\SHRQO\

,IWKHW\SHRIDQDUJXPHQWLQDIXQFWLRQPRGXOHZDVGHILQHGZLWK/,.(VWUXF
ZKHUH VWUXF LV D IODW VWUXFWXUH WKH 183 RQO\ FKHFNV LI WKH DUJXPHQW LV D IODW
VWUXFWXUH ZLWK WKH VDPH OHQJWK ZKHQ WKH SDUDPHWHUV DUH SDVVHG ,Q WKH 83 LW
DOVR FKHFNV WKDW WKH IUDJPHQW YLHZV RI WKH FXUUHQW DQG IRUPDO SDUDPHWHUV DUH
WKHVDPH

)XUWKHUPRUH WZR VWUXFWXUHV RI ZKLFK RQH RU ERWK FRQWDLQ ,QFOXGHV DUH RQO\
FRPSDWLEOH LI WKH DOLJQPHQW JDSV FDXVHG E\ WKH ,QFOXGH DUH WKH VDPH RQ DOO
SODWIRUPV ,Q WKH IROORZLQJ H[DPSOH VWUXF DQG VWUXF DUH QRW FRPSDWLEOH
EHFDXVHDIXUWKHUDOLJQPHQWJDSRFFXUVLQWKH86EHIRUHWKH,1&/8'(

BEGIN OF struc1,
a(1) TYPE X,
b(1) TYPE X,
c(1) TYPE C,
END OF struc1.

BEGIN OF struc2,
a(1) TYPE X.
INCUDE struc3.
END OF struc2.


BEGIN OF struc3,
b(1) TYPE X,
c(1) TYPE C,
END OF struc3.


6LQFH WKH W\SH FRPSDWLELOLW\ FDQ GLIIHU LQ D 83 DQG DQ 183 WKH W\SH
FRPSDWLELOLW\ UXOHV RI WKH FDOOLQJ SURJUDP DUH YDOLG LQ DQ 186 IRU FKHFNLQJ WKH
SDUDPHWHUV 7KLV PHDQV WKDW LI DQ 183 FDOOV D 83 WKH W\SH FRPSDWLELOLW\ LV
GHILQHG DV LQ WKH 183 9LFH YHUVD WKH 8QLFRGH FKHFN LV DFWLYDWHG LI D 83 FDOOV
DQ183


&KDQJHVWR'DWDEDVH2SHUDWLRQV

8QWLOQRZLQDQ183WKHGDWDLVFRSLHGWRILHOGZDRUWRWDEOHOLQHLWDEDVGHILQHG
E\ WKH VWUXFWXUH RI WKH WDEOH ZRUN DUHD GEWDE ZLWKRXW WDNLQJ LWV VWUXFWXUH LQWR
FRQVLGHUDWLRQ2QO\WKHOHQJWKDQGDOLJQPHQWDUHFKHFNHG


SELECT * FROM dbtab ... INTO wa ...


SELECT * FROM dbtab ... INTO TABLE itab ...
SELECT * FROM dbtab ... APPENDING TABLE itab ...
FETCH NEXT CURSOR c ... INTO wa.
FETCH NEXT CURSOR c ... INTO TABLE itab.
FETCH NEXT CURSOR c ... APPENDING TABLE itab.
INSERT INTO dbtab ... FROM wa.
INSERT dbtab ... FROM wa.
INSERT dbtab ... FROM TABLE itab.
UPDATE dbtab ... FROM wa.
UPDATE dbtab ... FROM TABLE itab.
MODIFY dbtab ... FROM wa.
MODIFY dbtab ... FROM TABLE itab.
DELETE dbtab FROM wa.
DELETE dbtab FROM TABLE itab.

7KHIROORZLQJUXOHVDUHQRZYDOLGLQD83
,IWKHZRUNDUHDRUWKHOLQHRIWKHLQWHUQDOWDEOHLVDVWUXFWXUHWKHUHLVDOVRDFKHFN
LI WKH IUDJPHQW YLHZV RI WKH ZRUN DUHDDQGWKH GDWDEDVH WDEOH DUH WKH VDPH XS WR



WKH OHQJWK RI WKH GDWDEDVH WDEOH ,I WKH ZRUN DUHD LV D VLQJOH ILHOG WKH ILHOG PXVW
EH KDYH FKDUDFWHU W\SH DQG WKH GDWDEDVH WDEOH PXVW KDYH FKDUDFWHU W\SH RQO\
7KHVHUHTXLUHPHQWVDUHYDOLGIRUDOOWKHFRPPDQGVPHQWLRQHGDERYH

'HWHUPLQLQJWKH/HQJWKDQG'LVWDQFH
<RXPD\QRORQJHUXVHWKH

DESCRIBE DISTANCEVWDWHPHQWWRGHILQHWKHOHQJWKV

DQG GLVWDQFHV RI ILHOGV ,W PXVW EH UHSODFHG ZLWK RQH RI WKH QHZ VWDWHPHQWV

DESCRIBE DISTANCE
CHARACTER MODE.



IN

BYTE

MODE

RU

DESCRIBE DISTANCE



IN

7KH

DESCRIBE FIELDLENGTHVWDWHPHQWLVDOVRREVROHWHDQGPXVWEHUHSODFHG
ZLWKRQHRIWKHQHZVWDWHPHQWV DESCRIBE FIELD LENGTH IN BYTE MODE
RUDESCRIBE FIELDLENGTHIN CHARACTER MODE
8QWLO QRZ WKH

DESCRIBE FIELD  TYPE field VWDWHPHQW UHWXUQHG W\SH & IRU

IODW VWUXFWXUHV ,Q D 83 W\SH X LV QRZ UHWXUQHG IRU IODW VWUXFWXUHV 7KLV FDQ EH
TXHULHGLQWKH$%$3VRXUFHFRGH
7KHUH DUH QR FKDQJHV IRU WKH

DESCRIBE FIELD  TYPE  COMPONENTS 


VWDWHPHQW XQGHU 86 6LPLODUO\ WKH DESCRIBE  OUTPUT LENGTH  VWDWHPHQW
VWLOOUHWXUQVWKHRXWSXWOHQJWKLQFKDUDFWHUV

2WKHU&KDQJHV
7KH IROORZLQJ WH[W GHVFULEHV WKH ILOH LQWHUIDFH NH\ GHILQLWLRQV IRU WDEOHV DQG WKH
ELW DQG ELW PDVN RSHUDWLRQV 7KH LQWURGXFWLRQ RI 8QLFRGH UHVXOWV LQ WKH IROORZLQJ
FKDQJHV

7KH

OPEN DATASETFRPPDQGZDVFRPSOHWHO\UHYLVHG,QWKHILOHLQWHUIDFH$W
OHDVW RQH RI WKH DGGLWLRQV IN TEXT MODE ENCODING IN BINARY MODE IN
LEGACY MODERUIN LEGACY BINARY MODEPXVWEHGHILQHGLQD83
,Q D 86 \RX FDQ RQO\ UHDG DQG ZULWH ILOHV ZLWK

READ DATASET DQG TRANSFER

LIWKHILOHWREHHGLWHGZDVILUVWRSHQHGH[SOLFLWO\$UXQWLPHHUURULVWULJJHUHGLI
WKHUHLVQR

OPEN

VWDWHPHQWIRUWKHVHVWDWHPHQWV

,I WKH ILOH ZDV RSHQHG LQ

TEXT MODE RQO\ FKDUDFWHU W\SH ILHOGV VWULQJV DQG


VWUXFWXUHV WKDW RQO\ FRQWDLQ FKDUDFWHU W\SHV DUH DOORZHG IRU READ
DATASET
dsnINTOfIRUIDQGWKHW\SHLVRQO\FKHFNHGDWUXQWLPH
7KH /(1*7+ DGGLWLRQ GHILQHV WKH OHQJWK RI WKH GDWD UHFRUG LQ FKDUDFWHUV LQ
7(;702'(,QDOORWKHUFDVHVLWLVGHILQHGLQE\WHV

$ V\QWD[ HUURU LV WULJJHUHG LQ D 83 IRU WKH REVROHWH VWDWHPHQWV

LOOP AT

dbtab, READ TABLE dbtab and READ TABLE itab LI WKH NH\ LV QRW RI
FKDUDFWHUW\SHRQO\

$V\QWD[RUUXQWLPHHUURULVWULJJHUHGIRUWKH5($'7$%/(LWDE VWDWHPHQWLIWKH
VWDQGDUG NH\ RI WKH LQWHUQDO WDEOH FRQWDLQV W\SHV ; RU ;675,1* :LWK WKLV 5($'
YDULDQW WKH NH\ WKDW LV DFWXDOO\ XVHG LV GHWHUPLQHG E\ KLGLQJ DOO WKH
FRPSRQHQWVILOOHGZLWKVSDFHV7KHFRPSDULVRQZLWK63$&(PXVWEHDOORZHGLQD
83



$ V\QWD[ RU UXQWLPH HUURU LV DOVR WULJJHUHG ZKHQ \RX DFFHVV WKH GDWDEDVH ZLWK
JHQHULF NH\ LI WKH NH\ LV QRW RI FKDUDFWHU W\SH RQO\ 7KLV DIIHFWV WKH IROORZLQJ
FRPPDQGV

READ TABLE dbtab ...SEARCH GKEQ ...


READ TABLE dbtab ...SEARCH GKGE ...
LOOP AT dbtab ...
REFRESH itab FROM TABLE dbtab.
7KH DFWXDO WDEOH NH\ LV GHWHUPLQHG E\ WUXQFDWLQJ WKH FORVLQJ VSDFHV RI WKH
GDWDEDVH NH\ LQ WKHVH VWDWHPHQWV ,Q D 83 \RX PXVW PDNH VXUH WKDW DOO WKH
FRPSRQHQWVRIWKHNH\FDQEHFRPSDUHGZLWK63$&(


8QWLOQRZWKHUHZDVDFKHFNLQELWVWDWHPHQWVSET BIT i OF f [TO g]DQG


GET BIT i OF f [INTO g] WR VHH LI ILHOG I KDV FKDUDFWHU W\SH ZKHUH
QRUPDOO\ ; ILHOGV ; VWULQJV DQG IODW VWUXFWXUHV ZHUH DOVR FRQVLGHUHG WR KDYH
FKDUDFWHU W\SH 7KLV QR ORQJHU LV PHDQLQJIXO LQ D 83 EHFDXVH RQ WKH RQH KDQG
W\SHV ; DQG ;675,1* DUH QR ORQJHU FRQVLGHUHG WR KDYH FKDUDFWHU W\SH DQG RQ
WKH RWKHU KDQG ELWE\ELW DFFHVV WR ILHOGV RU VWUXFWXUHV RI FKDUDFWHU W\SH LV QR
ORQJHU SODWIRUPLQGHSHQGHQW ,Q DQ 83 ILHOG I PXVW WKHUHIRUH EH RI W\SH ; RU
;675,1*IRUWKHVHRSHUDWLRQV
8QWLO QRZ DOO QXPHULF W\SHV DQG WKXV DOO FKDUDFWHU W\SHV ZHUH DOORZHG IRU WKH
OHIWRSHUDQGILQWKHELWPDVNRSHUDWLRQV

f O xf Z xDQGf M x2SHUDQGI

QRZPXVWKDYHW\SH;RU;675,1*LQD83


7KHUH DUH FHUWDLQ UHVWULFWLRQV LQ 83 IRU WKH IROORZLQJ VWDWHPHQWV ZKHQ DGGLQJ
ILHOGVWULQJV

ADD n1 THEN n2 UNTIL nz [ ACCORDING TO sel ] GIVING m


ADD n1 THEN n2 UNTIL nz TO m [ RANGE str ].
 2SHUDQGVQQDQGQ]PXVWKDYHFRPSDWLEOHW\SHV
 7KHGLVWDQFHEHWZHHQQ]DQGQPXVWEHDQLQWHJHUPXOWLSOHRIWKHGLVWDQFH
EHWZHHQQDQGQ
 7KHUH LV D V\QWD[ RU UXQWLPH HUURU LI ILHOGV Q Q DQG Q] DUH QRW LQ D
VWUXFWXUH (LWKHU WKH V\QWD[ FKHFN PXVW EH DEOH WR UHFRJQL]H WKLV IDFW RU LWV
YDOLGUDQJHPXVWEHPDUNHGH[SOLFLWO\ZLWKD5$1*(DGGLWLRQ

4. 7KHV\VWHPHQVXUHVWKDWWKH5$1*(DUHDLVQRWOHIWDWUXQWLPH
ADD n1 FROM i1 GIVING m [ RANGE str ].
 )LHOG Q PXVW OLH ZLWKLQ D VWUXFWXUH WKDW PXVW EH H[SOLFLWO\ GHILQHG ZLWK D
5$1*(DGGLWLRQLIWKHV\QWD[FKHFNFDQQRWUHFRJQL]HWKLVIDFW
 7KLVYDULDQWDOVRFKHFNVDWUXQWLPHLIQDQGWKHDGGUHVVHGYDOXHVOLHZLWKLQ
WKHVWUXFWXUH


/RRSVZLWKWKH9$5<RU9$5<,1*DGGLWLRQDOVRFDXVH8QLFRGHSUREOHPVEHFDXVH
RQWKHRQHKDQG\RXFDQQRWEHVXUHWRDFFHVVWKHFRQWHQWVRIPHPRU\ZLWKWKH
FRUUHFWW\SHDQGRQWKHRWKHUKDQGPHPRU\FRXOGEHRYHUZULWWHQLQDGYHUWHQWO\

DO




VARYING f FROM f1 NEXT f2.




)LHOGV I I DQG I PXVW KDYH FRPSDWLEOH W\SHV LQ WKLV VWDWHPHQW 7R SUHYHQW
VWRUDJH FRQWHQWV IURP EHLQJ RYHUZULWWHQ D 5$1*( IRU YDOLG DFFHVVHV LV
LPSOLFLWO\RUH[SOLFLWO\LQWURGXFHGIRUWKHIROORZLQJVWDWHPHQWV

DO



WHILE

TIMES VARYING f FROM f1 NEXT f2 [ RANGE f3 ].




VARY f FROM f1 NEXT f2

[ RANGE f3 ].

$ V\QWD[ RU UXQWLPH HUURU LV DOVR WULJJHUHG LI I RU I DUH QRW LQFOXGHG LQ I ,I
WKH 5$1*( DGGLWLRQ LV PLVVLQJ LW LV LPSOLFLWO\ GHILQHG DV IROORZV ZLWK

FROM f1

NEXT f2
 ,I WKH V\QWD[ FKHFN UHFRJQL]HV WKDW ERWK I DQG I DUH FRPSRQHQWV RI WKH
VDPHVWUXFWXUHWKHYDOLG5$1*(UDQJHLVGHILQHGIURPWKHVPDOOHVWVWUXFWXUH
FRQWDLQLQJIDQGI
 7KHUH LV D V\QWD[ HUURU LI WKH V\QWD[ FKHFN UHFRJQL]HV WKDW I DQG I GR QRW
EHORQJWRWKHVDPHVWUXFWXUH
 $ YDOLG UDQJH PXVW EH GHILQHG H[SOLFLWO\ ZLWK 5$1*( LI WKH V\QWD[ FKHFN
FDQQRWUHFRJQL]HWKDWIDQGIDUHUHODWHG
,IDGHHSVWUXFWXUHLVGHILQHGDV5$1*(DGGLWLRQWKHUHLVDFKHFNWKDWWKHUHDUH
QR ILHOG RU REMHFW UHIHUHQFHV WDEOHV RU VWULQJV ZLWKLQ WKH UDQJH MXVW EHLQJ
VFDQQHGHDFKWLPHWKHORRSLVH[HFXWHG


:KHQ

VXEURXWLQHV

DUH

JHQHUDWHG

DXWRPDWLFDOO\

SUBROUTINE POOL itab NAME name

ZLWK

WKH

GENERATE

VWDWHPHQW WKH JHQHUDWHG SURJUDP

LQKHULWVWKHFRQWHQWVRIWKH8QLFRGHIODJRIWKHJHQHUDWLQJSURJUDP


,Q WKH ,16(57 5(3257 VWDWHPHQW \RX FDQ VHW WKH 8QLFRGH IODJ H[SOLFLWO\ DW
UXQWLPH XVLQJ WKH

UNICODE ENABLING uc ,I WKLV DGGLWLRQ LV RPLWWHG WKH

SURJUDPLVFKDUDFWHUL]HGDVIROORZV
 $8QLFRGHSURJUDPJHQHUDWHVD8QLFRGHSURJUDP
 $QRQ8QLFRGHSURJUDPJHQHUDWHVDQRQ8QLFRGHSURJUDP
 $

QRQ8QLFRGH

SURJUDP

EHFRPHV

D

8QLFRGH

SURJUDP

DIWHU

LW

KDV

EHHQ

RYHUZULWWHQE\D8QLFRGHSURJUDP
 $8QLFRGHSURJUDPUHPDLQVD8QLFRGHSURJUDPDIWHULWKDVEHHQRYHUZULWWHQE\
DQRQ8QLFRGHSURJUDP

,Q WKH

GET/SET PARAMETER ID pid FIELD f

FKDUDFWHUW\SH



VWDWHPHQW

f

PXVW EH

1HZ$%$36WDWHPHQWVIRU8QLFRGH
6WULQJ3URFHVVLQJIRU%\WH6WULQJV

7KH ; YDULDQWV RI WKH VWULQJ VWDWHPHQWV DUH GLVWLQJXLVKHG IURP WKH FKDUDFWHU
VWULQJ FRPPDQGV ZLWK WKH ,1 %<7( 02'( DGGLWLRQ 7KH ,1 &+$5$&7(5 02'(
DGGLWLRQFDQEHXVHGRSWLRQDOO\IRUWKHFKDUDFWHUVWULQJYDULDQWV
,I\RXGHILQHWKH,1%<7(02'(DGGLWLRQRQO\;ILHOGVDQG;VWULQJVDUHDOORZHG
DV DUJXPHQWV 7KHUH LV D V\QWD[ RU UXQWLPH HUURU LI DUJXPHQWV RI D GLIIHUHQW
W\SHDUHSDVVHG


CLEAR ... WITH


IN BYTE MODE
CONCATENATE x1 ... xn INTO x IN BYTE MODE
FIND ...
IN BYTE MODE
REPLACE ...
IN BYTE MODE
REPLACE f WITH g INTO h
IN BYTE MODE
SEARCH x FOR x1
IN BYTE MODE
SHIFT x ...
IN BYTE MODE
SPLIT ...
IN BYTE MODE
7KH IXOO OHQJWK RI WKH ; ILHOGV DUH DOZD\V XVHG LQ DOO VWULQJ FRPPDQGV IRU E\WH
VWULQJV VR WKDW E\WHV ZLWK FRQWHQWV ;

 DUH QHYHU WUXQFDWHG DW WKH HQG RI WKH
ILHOG 7KHUH DUH QR YDULDQWV WKDW XVH VHDUFK SDWWHUQV IRU WKH ),1' 6($5&+ DQG
5(3/$&(VWDWHPHQWVZLWKWKH,1%<7(02'(DGGLWLRQ

7KH VWULQJ OHQJWK IRU E\WH VWULQJV FDQ EH GHILQHG ZLWK WKH ;675/(1 IXQFWLRQ
;675/(1UHWXUQVWKHFXUUHQWOHQJWKIRU;VWULQJVDQGWKHGHILQHGOHQJWKLQE\WHV
IRU;ILHOGVZKHUHQXOOE\WHVDWWKHHQGRIILHOGVDUHDOVRFRXQWHG

7KH ; YDULDQWV RI WKH VWULQJ FRPSDULVRQ RSHUDWLRQV DUH GLVWLQJXLVKHG IURP WKH
VWULQJ YDULDQWV E\ WKH %<7( SUHIL[ 2QO\ ; ILHOGV DQG ILHOGV RI W\SH ;675,1* DUH
DOORZHGDVDUJXPHQWVIRUWKHVHRSHUDWLRQV

BYTE-CO
BYTE-CN
BYTE-CA
BYTE-NA
BYTE-CS
BYTE-NS







'HWHUPLQLQJWKH/HQJWKDQG'LVWDQFH
7KH ILHOG OHQJWK RU WKH GLVWDQFH EHWZHHQ WZR ILHOGV FDQ EH GHWHUPLQHG ZLWK WKH
'(6&5,%( ),(/' DQG '(6&5,%( ',67$1&( VWDWHPHQWV 7KH ,1 %<7(&+$5$&7(5
DGGLWLRQVPXVWEHGHILQHGIRUWKHIROORZLQJYDULDQWVXQGHU8QLFRGH

DESCRIBE FIELD f LENGTH len IN BYTE MODE.


7KHOHQJWKRIILHOGILVGHWHUPLQHGLQE\WHVDQGSDVVHGWRILHOGOHQ



7KLV YDULDQW UHWXUQV WKH OHQJWK RI WKH UHIHUHQFH DQG QRW WKH OHQJWK RI WKH
FRQWHQWV IRU DOO LQWHUQDOO\ UHIHUHQFHG GDWD W\SHV VWULQJV DV ZHOO DV ILHOG DQG
REMHFW UHIHUHQFHV  2QO\ YDULDQW ,1 %<7( 02'( LV WKHUHIRUH DOORZHG IRU VXFK
ILHOGV

DESCRIBE FIELD f LENGTH len IN CHARACTER MODE.


7KH OHQJWK RI ILHOG I LV UHWXUQHG KHUH LQ FKDUDFWHUV LI WKH DUJXPHQW KDV
FKDUDFWHU W\SH RQO\ I PD\ QRW KDYH W\SH 675,1* 7KH UHOHYDQW FKHFN LV
SHUIRUPHG VWDWLFDOO\ DQG G\QDPLFDOO\ DQG FDXVHV D V\QWD[ RU UXQWLPH HUURU
GHSHQGLQJRQWKHW\SH


DESCRIBE DISTANCE BETWEEN a AND b INTO x IN BYTE MODE.


7KLVVWDWHPHQWUHWXUQVWKHGLVWDQFHEHWZHHQILHOGVDDQGELQE\WHVLQILHOG[


DESCRIBE DISTANCE BETWEEN a AND b INTO x IN CHARACTER MODE.


7KLV VWDWHPHQW UHWXUQV WKH GLVWDQFH LQ FKDUDFWHUV ZKHUH WKH UHVXOW DOZD\V
UHIHUV WR WKH VWDUW RI WKH ILHOG :KHWKHU RU QRW WKH GLVWDQFH EHWZHHQ WKH
DUJXPHQWV FDQ EH GLYLGHG E\ WKH SODWIRUPVSHFLILF OHQJWK LQ FKDUDFWHUV DQG
ZKHWKHU ERWK ILHOGV D DQG E KDYH WKH ULJKW DOLJQPHQW LV RQO\ FKHFNHG DW
UXQWLPH2WKHUZLVHWKHUHLVDUXQWLPHHUURU

$VVLJQPHQWVWR)LHOG6\PEROV
8QWLO QRZ WKH $66,*1 VWDWHPHQW PDGH LW SRVVLEOH WR GHILQH DGGUHVVHV SDVW ILHOG
OLPLWV E\ VSHFLI\LQJ WKH RIIVHW RU OHQJWK 7KHUH ZDV RQO\ D UXQWLPH HUURU ZKHQ
DGGUHVVLQJ SDVW WKH OLPLWV RI WKH GDWD VHJPHQW &URVVILHOG DFFHVVHV WR WKH
RIIVHWOHQJWKLQDQ$66,*1IRUH[DPSOHFRXOGEHXVHGWRHGLWUHSHDWLQJJURXSV
:LWK8QLFRGHKRZHYHUSUREOHPVRFFXUVLQFHLWLVQRWSRVVLEOHWRHQVXUHWKDWFURVV
ILHOG RIIVHW RU OHQJWK GHILQLWLRQV FDQ EH LQWHUSUHWHG DV E\WHV RU FKDUDFWHUV LQ DQ
LGHQWLFDO DQG PHDQLQJIXO PDQQHU LQ ERWK D 86 DQG DQ 186 )RU WKLV UHDVRQ WKH
$66,*1 VWDWHPHQW ZDV HQKDQFHG ZLWK WKH 5$1*( DQG ,1&5(0(17 DGGLWLRQV ZKLOH
WKH &$67,1* DGGLWLRQ QRZ VXSSRUWV DOO YDULDQWV RI WKLV VWDWHPHQW 7KH 5$1*(
DGGLWLRQ LV RIIHUHG IRU DOO YDOLG YDULDQWV RI $66,*1 DQG FDQ EH FRPELQHG ZLWK WKH
&$67,1*DGGLWLRQ


ASSIGN field1

TO <fs> RANGE field2.




7KLV DGGLWLRQ H[SOLFLWO\ VHWV WKH UDQJH OLPLWV PDNLQJ LW SRVVLEOH WR GHILQH
DGGUHVVHV SDVW ILHOG OLPLWV IRU H[DPSOH WR HGLW UHSHDWLQJ JURXSV ZLWK WKH
$66,*1,1&5(0(17VWDWHPHQW

 7KHILHOGOLPLWVRIILHOGDUHXVHGDVWKHUDQJHIRUIV!
 ,QD83WKHOLPLWVVSHFLILHGE\WKH5$1*(GHILQLWLRQPXVWLQFOXGHWKHUDQJH
OLPLWVWKDWZRXOGRWKHUZLVHUHVXOWIURPWKHUXOHVGHVFULEHGDERYH
 ,IWKHPHPRU\DUHDRIILHOGLVQRWFRPSOHWHO\FRQWDLQHGLQILHOGWKHUHLVD
FDWFKDEOHUXQWLPHHUURU
 )LHOG ILHOG ZKLFK GHILQHV WKH UDQJH PD\ DOVR EH GHHS 5HSHDWLQJ JURXSV
ZLWKGHHSW\SHVWKHUHIRUHFDQDOVREHSURFHVVHG



ASSIGN field INCREMENT n TO <fs>.


7KH ILHOG V\PERO LV LQFUHPHQWHG E\ Q WLPHV WKH OHQJWK RI ILHOG VWDUWLQJ ZLWK
WKHSRVLWLRQGHILQHGE\ILHOG


)LUVW WKH UDQJH IRU WKH DFFHVV LV GHILQHG IURP WKH OHQJWK RI ILHOG DQG WKH
,1&5(0(17 GHILQLWLRQ RI WKH UDQJH IRU WKH DFFHVV DV GHILQHG E\ $66,*1
IOGQ VL]HRI>ILHOG@ VL]HRI>IOG@ 72IV!7KHDGGUHVVHGUDQJHPXVWOLHZLWKLQWKH
UDQJH OLPLWV ,I LW LV QRW SRVVLEOH WR PDNH WKH DVVLJQPHQW EHFDXVH WKH UDQJH
OLPLWV ZHUH YLRODWHG 6<68%5& LV VHW WR  !  DQG WKH ILHOG V\PERO LV QRW
FKDQJHG

7KH UDQJH OLPLWV IRU $66,*1 ILHOG ,1&5(0(17 Q 72 IV! DUH GHILQHG LQ H[DFWO\
WKH VDPH ZD\ DV $66,*1 ILHOG 72 IV! 7KH GHILQLWLRQ RI WKH ,1&5(0(17
WKHUHIRUHKDVQRHIIHFWRQWKHGHILQLWLRQRIWKHUDQJHOLPLWV


* Loop over an elementary field


DATA: c(10) TYPE C VALUE abcdefghij.
FIELD-SYMBOLS: <cf> TYPE C.
ASSIGN c(2) TO <cf>.
"Range limits c =
DO 5 TIMES.
"Field limits of cf
WRITE / <cf>.
ASSIGN <cf> INCREMENT 1 TO <c>. "Same limits <c>
* ASSIGN <c>+2 TO <cf>.
"As ASSIGN INCREMENT
ENDDO.



* Structured repeating group


TYPES: BEGIN OF comp,
f1 type string,
...
END OF comp.
DATA: BEGIN OF stru,
x1(1) TYPE x,
k1 TYPE comp,
k2 TYPE comp,
k3 TYPE comp,
k4 TYPE comp,
END OF stru.
FIELD-SYMBOLS: <comp> TYPE comp.
ASSIGN stru-k1 TO <comp> RANGE stru.
* Define range limits for all fields
DO 4 TIMES.
...
ASSIGN <comp> INCREMENT 1 TO <comp>.
ENDDO.

* Dynamic access to an element


* of a repeating group
DATA: BEGIN OF stru,
x1(1) TYPE x,
k1 TYPE comp,
k2 TYPE comp,
k3 TYPE comp,
k4 TYPE comp,
END OF stru,
incr TYPE i.
FIELD-SYMBOLS: <comp> TYPE comp.

incr = 4 - 1.
ASSIGN stru-k1 INCREMENT incr TO <comp> RANGE stru.
...
* <comp> now points to stru-k4

7KH&$67,1*DGGLWLRQLVDOORZHGIRUDOOYDULDQWVRIWKH$66,*1VWDWHPHQW

ASSIGN
ASSIGN
ASSIGN
ASSIGN
ASSIGN

field
field
field
field
field

TO
TO
TO
TO
TO

<fs>
<fs>
<fs>
<fs>
<fs>

CASTING.
CASTING TYPE type.
CASTING TYPE (typename)
CASTING LIKE fld.
CASTING DECIMALS dec.

<RX FDQ XVH $66,*1  &$67,1* WR ORRN DW WKH FRQWHQWV RI D ILHOG DV D YDOXHRI
DQRWKHUW\SHXVLQJDILHOGV\PERO2QHDSSOLFDWLRQIRUWKLVVWDWHPHQWZRXOGEH
WRSURYLGHGLIIHUHQWYLHZVRQDVWUXFWXUHZLWKFDVWVRQGLIIHUHQWW\SHV




2QHZLGHVSUHDG$%$3WHFKQLTXHLVWRXVH&ILHOGVRUVWUXFWXUHVDVFRQWDLQHUVIRU
VWRULQJ VWUXFWXUHV RI GLIIHUHQW W\SHV WKDW DUH IUHTXHQWO\ RQO\ NQRZQ DW UXQWLPH
7KHFRPSRQHQWVRIWKHVWUXFWXUHDUHVHOHFWHGZLWKRIIVHWOHQJWKDFFHVVHVWRWKH
FRQWDLQHU 6LQFH WKLV WHFKQLTXH QR ORQJHU ZRUNV ZLWK 8QLFRGH \RX FDQ DOVR ORRN
XSRQ DQ H[LVWLQJ PHPRU\ DUHD DV D FRQWDLQHU ZLWK WKH VXLWDEOH W\SH GHILQLWLRQ
XVLQJ D ILHOG V\PERO ZLWK WKH $66,*1  &$67,1* VWDWHPHQW ,Q WKH QH[W
H[DPSOH D FHUWDLQ ILHOG RI GDWDEDVH WDEOH ;/ LV UHDG ZKHUHE\ WKH ILHOG DQG
WDEOHQDPHVDUHRQO\GHILQHGDWUXQWLPH


* Read a field of table X031L


PARAMETERS:
TAB_NAME
LIKE SY-TNAME,
TAB_COMP
LIKE X031L-FIELDNAME,
ANZAHL
TYPE I DEFAULT 10.
DATA:
BEGIN OF BUFFER,
ALIGNMENT TYPE F,
C(8000)
TYPE C,
END OF BUFFER.

"Table name
"Field name
"No. of lines
"Alignment
"Table contents

FIELD-SYMBOLS: <WA>
TYPE ANY,
<COMP> TYPE ANY.
* Set field symbol with suitable
* type to buffer area

ASSIGN BUFFER TO <WA> CASTING TYPE (TAB_NAME).


SELECT * FROM (TAB_NAME) INTO <WA>.
CHECK SY-DBCNT < ANZAHL.
ASSIGN COMPONENT TAB_COMP OF STRUCTURE <WA> TO <COMP>.
WRITE: / TAB_COMP, <COMP>.
ENDSELECT.





8QWLO QRZ LQ WKH

ASSIGN field TO <fs> CASTING... VWDWHPHQW WKH


field ZDV DW OHDVW DV ORQJ DV WKH W\SH WKDW ZDV

V\VWHP FKHFNHG WR HQVXUH WKDW

DVVLJQHG WR WKH ILHOG V\PERO IV! )LHOG V\PEROV FDQ HLWKHU EH W\SHG DW
GHFODUDWLRQ RU WKH W\SH VSHFLILHG LQ DQ $66,*1 VWDWHPHQW XVLQJ &$67,1* 7<3( 
7KH V\QWD[ FKHFN LV QRZ PRUH WKRURXJK 1RZ \RX FDQ RQO\ DVVLJQ WKH ILHOG

field SURYLGHG LW LVDWOHDVWDV ORQJ LQERWKWKH 83DQGWKH 183 DV WKH W\SH
DVVLJQHG WR WKH ILHOG V\PERO IV! 2WKHUZLVH WKH V\VWHP UHWXUQV D V\QWD[ HUURU
$W UXQWLPH WKH V\VWHP RQO\ FKHFNV WR VHH ZKHWKHU RU QRW WKH OHQJWKV DUH
FRPSDWLEOHLQWKHFXUUHQWV\VWHP DVEHIRUH 
,IWKHILHOGW\SHRUILHOGV\PEROW\SHLVDGHHSVWUXFWXUHWKHV\VWHPDOVRFKHFNV
WKDW WKH RIIVHW DQG W\SH RI DOO WKH UHIHUHQFH FRPSRQHQWV PDWFK LQ WKH DUHD RI

fieldWKDWLVFRYHUHGE\IV!7KHV\QWD[FKHFNLVQRZPRUHWKRURXJK1RZWKH
V\VWHP FKHFNV WKDW WKHVH FRPSRQHQWV PXVW EH FRPSDWLEOH LQ DOO V\VWHPV
ZKHWKHU WKH\ KDYH D RQHE\WH GRXEOHE\WH RU IRXUE\WH FKDUDFWHU OHQJWK $W




UXQWLPH

WKH

V\VWHP

RQO\

FKHFNV

WR

VHH

ZKHWKHU

RU

QRW

WKH

UHIHUHQFH

FRPSRQHQWVDUHFRPSDWLEOHLQWKHFXUUHQWV\VWHP
,Q 86V LQ WKH

ASSIGN str TO <fs> TYPE C/N ASSIGN str TO <fs>


CASTING TYPE C/N VWDWHPHQWV WKH OHQJWK RI str PD\ QRW DOZD\V EH D
PXOWLSOHRIWKHFKDUDFWHUOHQJWKLQZKLFKFDVHWKHSURJUDPDERUWVDWUXQWLPH
,QFOXGHVZLWK*URXS1DPHV
%\ UHGHILQLQJ VWUXFWXUHV XVLQJ ,1&/8'(6 \RX FDQ VHOHFW FRPSRQHQWV RI WKHVH
VWUXFWXUHVV\PEROLFDOO\HLWKHULQDQ$%$3SURJUDPRUE\DVVLJQLQJJURXSQDPHVLQ
WKH$%$3'LFWLRQDU\7KHVWDWHPHQWWDNHVRQHRIWKHIROORZLQJWZRIRUPV


INCLUDE TYPE
t1 AS grpname[RENAMING WITH SUFFIX suffix].
INCLUDE STRUCTURE s1 AS grpname[RENAMING WITH SUFFIX suffix].

%\ DGGLQJ D JURXS QDPH LQ DQ ,QFOXGH LQ WKH $%$3 'LFWLRQDU\  RU ZLWK WKH $6
JUSQDPH DGGLWLRQ LQ DQ $%$3 SURJUDP \RX FDQ WKHQ DGGUHVV WKH DUHD RI WKH
VWUXFWXUHGHILQHGLQWKH,QFOXGHV\PEROLFDOO\ XVLQJWKHJURXSQDPH 7KHIROORZLQJ
H[DPSOH JURXSV WRJHWKHU SDUWV RI DQ $%$3 VWUXFWXUH ZKLFK LV WKHQ SDVVHG WR D
VXESURJUDP


* Using Includes with Group Names

TYPES: BEGIN OF name,


vorname(20)
nachname(30) TYPE C,
END OF name.
TYPES: BEGIN OF person,
geschlecht(1) TYPE X.
INCLUDE TYPE name AS pname.
TYPES:
alter
TYPE I,
gewicht
TYPE P,
END OF person.
DATA:

TYPE C,

s2 TYPE person.

PERFORM use_name USING s2-pname.






&UHDWLQJ'DWD2EMHFWV'\QDPLFDOO\

&5($7( '$7$ DOORZV \RX WR FUHDWH ILHOGV LQ D SUHGHILQHG RU XVHUGHILQHG GDWD
W\SH7KHVWDWHPHQWKDVWKHIROORZLQJYDULDQWV

CREATE
CREATE
CREATE
CREATE
CREATE

DATA
DATA
DATA
DATA
DATA

dref
dref
dref
dref
dref

TYPE typ.
TYPE(typname).
LIKE feld.
TYPE LINE OF itab.
LIKE LINE OF itab.

,Q WKH IROORZLQJ H[DPSOH D VSHFLILF ILHOG LV UHDG IURP GDWDEDVH WDEOH ;/
1RWHWKDWQHLWKHUWKHILHOGQDPHQRUWKHWDEOHQDPHLVNQRZQXQWLOUXQWLPH



 

*Reading a Field from Table X031L




PARAMETERS:
TAB_NAME
TAB_COMP
ANZAHL
FIELD-SYMBOLS:

LIKE SY-TNAME,
LIKE X031L-FIELDNAME,
TYPE I DEFAULT 10.
<WA>
TYPE ANY,
<COMP> TYPE ANY.
DATA: WA_REF TYPE REF TO DATA.

"Table name
"Field name
"Number of lines

CREATE DATA WA_REF TYPE (TAB_NAME).


" Work area
ASSIGN WA_REF->* TO <WA>.
SELECT * FROM (TAB_NAME) INTO <WA>.
CHECK SY-DBCNT < ANZAHL.
ASSIGN COMPONENT TAB_COMP OF STRUCTURE <WA> TO <COMP>.
WRITE: / TAB_COMP, <COMP>.
ENDSELECT.



$QRWKHUYDULDQWRI&5($7('$7$DOORZV\RXWRFUHDWHWDEOHREMHFWVDWUXQWLPH
7KHOLQHW\SHDQGWDEOHNH\FDQEHHQWHUHGVWDWLFDOO\RUG\QDPLFDOO\

CREATE DATA dref (TYPE [STANDARD|SORTED|HASHED] TABLE


OF (LineType | (Name) |REF TO DATA | REF TO Obj))
| (LIKE [STANDARD|SORTED|HASHED] TABLE OF LineObj )
[
WITH
(UNIQUE|NON-UNIQUE)
( KEY (k1 ... kn | (keytab) | TABLE_LINE )
| DEFAULT KEY ) ]
[ INITIAL SIZE m ]

7KHIROORZLQJFRQVWUDLQWVDSSO\WRWKLVYDULDQW
 PLVDYDULDEOHRUDFRQVWDQWZLWKRXWDVLJQZKRVHFRQWHQWDWUXQWLPHPXVW
EHRIWKHW\SH180/,.(
 NH\WDE LV D WDEOH RI WKH W\SH &+$5/,.( ZKLFK PXVW QRW EH HPSW\ DQG
ZKRVH FRPSRQHQWV PXVW QRW FRQWDLQ DQ\ RIIVHW OHQJWK RU RYHUODSSLQJ NH\
HQWULHV<RXFDQXVHWKH7$%/(B/,1(DGGLWLRQLIWKHWDEOHFRQWDLQVRQO\RQH
OLQH
 7KH V\VWHP UHWXUQV DV\QWD[ HUURU LIHLWKHUWKHW\SHRUOLQH GHFODUDWLRQ DQG
WKHNH\GHFODUDWLRQDUHVWDWLF
 ,I\RXGRQRWGHILQHDNH\WKHV\VWHPXVHVWKH'()$8/7.(<

<RX FDQ DOVR XVHWKHJHQHULF %DVLV W\SHV & 1;DQG 3 ZLWKWKH &5($7( '$7$
VWDWHPHQW DORQJ ZLWK DGGLWLRQV WR VSHFLI\ WKH OHQJWK DQG IRU W\SH 3  WKH
QXPEHURIGHFLPDOSODFHV

CREATE DATA dref TYPE (t | (typeName))


[ LENGTH
len ]
[ DECIMALS dec ].

<RX FDQ RQO\ XVH WKH /(1*7+ DGGLWLRQ IRU W\SHV & 1 ; DQG 3 DQG \RX PXVW
DOZD\V LQFOXGH LW DIWHU WKH 7<3( NH\ZRUG $ FDWFKDEOH UXQWLPH HUURU RFFXUV LI
\RXGRQRWFRPSO\ZLWKV\QWD[FRQYHQWLRQVZKHQHQWHULQJ/(1*7+RU'(&,0$/6
YDOXHV





$VVLJQLQJ)LHOGV'\QDPLFDOO\
,Q

SUHYLRXV

UHOHDVHV

LQ

WKH

MOVE-CORRESPONDING

struc1

TO

struc2

VWDWHPHQW WKH ILHOG W\SHV RI ERWK VWUXFWXUHV KDG WR EH NQRZQ DW WKH WLPH WKH\
JHQHUDWHG7KLVFRQVWUDLQWQRORQJHUDSSOLHVXQGHU8QLFRGH
,Q DQ 186 XQWLO QRZ WKHUH ZDV QR SUREOHP DVVLJQLQJ VWUXFWXUHV ZLWK GLIIHUHQW
8QLFRGH IUDJPHQW YLHZV XVLQJ D 029( VWDWHPHQW ,Q D 86 VXFK DVVLJQPHQWV ZLOO
FDXVHDUXQWLPHHUURUHYHQLIERWKVWUXFWXUHVVWDUWZLWKWKHVDPHW\SHV


BEGIN OF struc1,
a(2) TYPE C,
b
TYPE I,
c(1) TYPE C,
d(4) TYPE X,
END OF struc1.

BEGIN OF struc2,
a(2) TYPE C,
b
TYPE I,
c(1) TYPE C,
g(6) TYPE P,
f(2) TYPE X,
END OF struc2.


VWUXFD


E

F 

G

E

F 

J


VWUXFD


I


)RUH[DPSOHWKHFRQWHQWRIVWUXF>DF@ ZKLFKVWDUWVZLWKILHOGVRIWKHVDPHW\SH 
LVDVVLJQHGWRVWUXF8QWLOQRZ\RXFRXOGXVHDVLPSOH029(VWDWHPHQW DOWKRXJK
WKLV FRXOG PHDQ WKDW WKH UHPDLQGHU RI VWUXF VXEVHTXHQWO\ GLG QRW FRQWDLQ
PHDQLQJIXO YDOXHV  +RZHYHU LQ 8QLFRGH \RX PXVW WKH

struc2 TO struc1;

MOVE-CORRESPONDING

RWKHUZLVH D UXQWLPH HUURU RFFXUV EHFDXVH \RX DUH

DWWHPSWLQJ WR 029( VWUXF WR D VWUXFWXUH ZLWK D GLIIHUHQW IUDJPHQW YLHZ  <RX
REWDLQWKHVDPHUHVXOWLQ8QLFRGHLIWKHILHOGQDPHVRIWKHVWDUWRIERWKVWUXFWXUHV
DUHLGHQWLFDODWUXQWLPH

6WRULQJ'DWD&OXVWHUV
1HZ YDULDQWV RI WKH ,03257 DQG (;3257 VWDWHPHQWV DUH DYDLODEOH WR VXSSRUW
KHWHURJHQHRXV 8QLFRGH HQYLURQPHQWV 7KH\ DOORZ \RX WR VWRUH GDWD DV D FOXVWHU LQ
DQ;675,1*LQDFURVVSODWIRUPIRUPDW<RXFDQXVHWKHIROORZLQJYDULDQWV

EXPORT obj1 ... objn


EXPORT (ObjTab)

TO DATA BUFFER dbuf.


TO DATA BUFFER dbuf.

6WRUHVWKHREMHFWVREMREMQ ILHOGVVWUXFWXUHVRUWDEOHV DVDFOXVWHULQWKH


GDWD EXIIHU GEXI ZKLFK PXVW EH RI W\SH ;675,1* 7KH V\VWHP GRHV QRW FKHFN
WKDW WKH VWUXFWXUHV PDWFK LQ WKHVH YDULDQWV RI (;3257 DQG ,03257 LQ FRQWUDVW
WRWKHYDULDQW,03257)520'$7$%$6( 

TYPES:
BEGIN OF ITAB3_TYPE,
CONT(4),
END OF ITAB3_TYPE.
DATA:
XSTR TYPE XSTRING,
F1 TYPE C LENGTH 4,




F2 TYPE P,
ITAB3 TYPE STANDARD TABLE OF ITAB3_TYPE WITH
NON-UNIQUE DEFAULT KEY INITIAL SIZE 2,
EXPORT F1 =
F1
F2 FROM F2
ITAB3 FROM ITAB3
TO DATA BUFFER XSTR.


1HZDGGLWLRQ

... CODE PAGE HINT f1

<RX XVH WKLV DGGLWLRQ LQ FRQMXQFWLRQ ZLWK DPELJXRXV FRGH SDJHV LQ WKH

EXPORT
BUFFER | DATABASE | DATASET ]
VWDWHPHQW ,W VSHFLILHV WKH FRGH SDJH f1 ZKLFK LV WR EH XVHG WR LQWHUSUHW WKH
obj1

...

objn

TO

DATA

LPSRUWGDWD


IMPORT obj1 ... objn FROM DATA BUFFER dbuf.


IMPORT (objTab)
FROM DATA BUFFER dbuf.
,PSRUWVWKHGDWDREMHFWVREMREMQ ILHOGVVWUXFWXUHVFRPSOH[VWUXFWXUHVRU
WDEOHV  IURP D GDWD FOXVWHU LQ WKH GDWD EXIIHU HQWHUHG GEXI ZKLFK PXVW EH RI
W\SH;675,1*7KHV\VWHPUHDGVDOOWKHGDWDWKDWZHUHSUHYLRXVO\VWRUHGLQWKH
GDWD EXIIHU GEXI XVLQJ WKH (;3257  72 '$7$ %8))(5 VWDWHPHQW $JDLQ WKH
V\VWHP GRHV QRW FKHFN WKDW WKH VWUXFWXUHV PDWFK ZKHQ WKHVH (;3257 DQG
,03257VWDWHPHQWVDUHXVHG

7KH ILUVW FROXPQ RI WKH REM7DE WDEOH FRQWDLQV WKH REMHFW QDPHV LQ WKH GDWD
FOXVWHUZKLFKFRUUHVSRQGWRREMREMQVWDWLFDOO\7KHVHFRQGFROXPQFRQWDLQV
WKH QDPHV XVHG LQ WKH SURJUDP ZKHUH WKHVH GLIIHU   WKDW LV FRUUHVSRQGLQJ WR
WKH QDPH RI WKH ILHOG ZKHQ WKH VRXUFH ILHOG ZDV DVVLJQHG ,I WKH WDEOH FRQWDLQV
RQO\ RQH FROXPQ RU LI WKH VHFRQG FROXPQ FRQWDLQV RQO\ EODQN ILHOGV WKLV
FRUUHVSRQGVWRDVWDWLF,03257RU(;3257 ZLWKRXWDVRXUFHILHOGDVVLJQPHQW 
,QDQ\FDVHWKHILUVWDQG LIDYDLODEOH VHFRQGFROXPQVRIWKHLQWHUQDOWDEOHPXVW
EH RI W\SH & RU 675,1* ,Q $%$3 2EMHFWV REM7DE PXVW KDYH DW OHDVW WZR
FROXPQVVLQFHWKHIRUPDOSDUDPHWHULVVWRUHGLQWKHVHFRQGFROXPQ0RUHRYHU
WKHWDEOHPXVWQRWEHGHILQHGDV+$6+('7$%/(RU$1<7$%/(

)LOH,QWHUIDFH
,QWKHILOHLQWHUIDFHWKH23(1'$7$6(7VWDWHPHQWKDVEHHQFRPSOHWHO\RYHUKDXOHG
DQGWKHIROORZLQJHQKDQFHPHQWVDGGHGIRU86V

OPEN DATASET dsn IN TEXT MODE.


7KH ILOH LV RSHQHG VR WKDW LW FDQ EH UHDG RU ZULWWHQ WR OLQHE\OLQH )LQDO VSDFH
FKDUDFWHUVDUHGHOHWHGLQWKLVPRGH
$GGLWLRQ

... ENCODING (DEFAULT | UTF-8 | NON-UNICODE)

7KH NH\ZRUG (1&2',1* VSHFLILHV WKH FKDUDFWHU VHW XVHG WR HGLW WKH GDWD ,Q D
86 WKH '()$8/7 LV 87) ZKLOH LQ DQ 186 LW LV 12181,&2'( 12181,&2'(
PHDQV WKDW WKH V\VWHP XVHV WKH FRGH SDJH VSHFLILHG HLWKHU ZKHQ WKH XVHU ORJV
RQWRWKH56\VWHPRULQWKH6(7/2&$/(/$1*8$*(VWDWHPHQW
$GGLWLRQ5(3/$&(0(17&+$5$&7(5UF



6SHFLILHV WKH UHSODFHPHQW FKDUDFWHU WKDW LV XVHG LI D FKDUDFWHU LV QRW DYDLODEOH
LQWKHWDUJHWFKDUDFWHUVHWZKHQWKHILOHLVFRQYHUWHG7KHGHIDXOWUHSODFHPHQW
FKDUDFWHULVWKHKDVKV\PERO  

OPEN DATASET dsn IN BINARY MODE.


7KHILOHLVRSHQHGWREHUHDGRUZULWWHQWRZLWKRXWDQ\OLQHEUHDNV,QERWKWKH
86DQGWKH186WKHH[DFWFRQWHQWRIPHPRU\LVFRSLHG

OPEN DATASET dsn IN LEGACY TEXT MODE [(LITTLE|BIG) ENDIAN ]


[ CODE PAGE cp ].
7KH ILOH LV RSHQHG VR WKDW LW FDQ EH UHDG RU ZULWWHQ WR OLQHE\OLQH LQ D IRUPDW
FRPSDWLEOHZLWK7(;702'(LQWKH186
7KH RSWLRQDO DGGLWLRQ (1',$1 VSHFLILHV WKH E\WH RUGHU LQ ZKLFK WKH V\VWHP ZLOO
SURFHVV QXPEHUV RI W\SH , RU ) ,I WKLV DGGLWLRQLV PLVVLQJ WKHRSHUDWLQJ V\VWHP
RQ WKH DSSOLFDWLRQ VHUYHU VSHFLILHV WKH E\WH RUGHU ,I WKH E\WH RUGHU GHFODUHG
GLIIHUV IURP WKDW XVHG E\ WKH RSHUDWLQJ V\VWHP WKH GDWD LV FRQYHUWHG DV
DSSURSULDWH IRU WKH VWDWHPHQWV 5($' '$7$6(7 DQG 75$16)(5 <RX FDQ DOVR
VSHFLI\D5(3/$&(0(17&+$5$&7(5UFLQWKLVVWDWHPHQW
7KH &2'( 3$*( DGGLWLRQ VSHFLILHV WKH FRGH SDJH XVHG WR GLVSOD\ WH[W IURP WKH
ILOHGVQ ,I WKLV DGGLWLRQ LV PLVVLQJ WKH V\VWHP XVHV WKH FRGH SDJH XVHG WR UHDG
RUZULWHWRWKHILOH


OPEN DATASET dsn IN LEGACY BINARYMODE[(LITTLE|BIG) ENDIAN)]


[ CODE PAGEcp ].
7KHILOHLVRSHQHGWREHUHDGRUZULWWHQWRZLWKRXWDQ\OLQHEUHDNVLQDIRUPDW
FRPSDWLEOH ZLWK 186 %,1$5< 02'( 7KH DGGLWLRQV (1',$1 DQG &2'( 3$*( DUH
XVHG DV GHVFULEHG DERYH <RX FDQ DOVR VSHFLI\ D 5(3/$&(0(17 &+$5$&7(5 UF
LQWKLVVWDWHPHQW

)RU HDFK RI WKH DERYH YDULDQWV \RX FDQ XVH WKH ,*125,1* &219(56,21 (55256
DGGLWLRQWRPDNHWKHV\VWHPVXSSUHVVFRQYHUVLRQHUURUVDWUXQWLPHZKHQUHDGLQJRU
ZULWLQJ WR D ILOH ,Q JHQHUDO UHDGLQJ RU ZULWLQJ WR D ILOH FDXVHV D UXQWLPH HUURU
XQOHVVWKLVILOHKDVDOUHDG\EHHQRSHQHGXVLQJDQ23(1'$7$6(7VWDWHPHQW

8SORDGLQJDQG'RZQORDGLQJ)LOHV
:6B83/2$' DQG :6B'2:1/2$' WKH IXQFWLRQ PRGXOHV XVHG XQWLO QRZ DUH QRW
SDUW RI WKH VWDQGDUG VHW RI $%$3 FRPPDQGV 7KH\ DUH XVHG WR GLVSOD\ WKH ILOH
LQWHUIDFH RQ WKH SUHVHQWDWLRQ VHUYHU :6B83/2$' DQG :6B'2:1/2$' DUH QRW
FRPSDWLEOH

ZLWK

86V

DQG

KDYH

EHHQ

UHSODFHG

E\

*8,B83/2$'

DQG

*8,B'2:1/2$'
7KHQHZIXQFWLRQPRGXOHV*8,B83/2$'DQG*8,B'2:1/2$'LQFOXGHDQLQWHUIDFH
WKDW OHWV \RX ZULWH 8QLFRGH IRUPDWV WR WKH ORFDO KDUG GULYH 7R JHW WKH GHVFULSWLRQ
RI WKLV LQWHUIDFH FKRRVH  6$3 (DV\ $FFHVV ! 'HYHORSPHQW ! )XQFWLRQ %XLOGHU !
*RWR!'RFXPHQWDWLRQ


*HQHULF7\SHVIRU)LHOG6\PEROVDQG3DUDPHWHUV




7KH IROORZLQJ QHZ JHQHULF GDWD W\SHV DUH QRZ DYDLODEOH IRU DVVLJQLQJ W\SHV WR
SDUDPHWHUVDQGILHOGV\PEROV

6,03/( LV FRPSDWLEOH ZLWK DOO WKH W\SHV WKDW DUH FRPSDWLEOH ZLWK &/,.(
;6(48(1&( RU 180(5,&  WKDW LV ZLWK DOO HOHPHQWDU\ W\SHV LQFOXGLQJ 675,1*
DQG ;675,1* $VVLJQLQJ WKH JHQHULF W\SH 6,03/( HQVXUHV WKDW SDUDPHWHUV RU
ILHOG V\PEROV FDQ EH GLVSOD\HG XVLQJ :5,7( RU XVHG LQ DULWKPHWLF RSHUDWLRQV
+RZHYHU FRQYHUVLRQ HUURUV PD\ RFFXU ZKHQ SDUDPHWHUV DQG ILHOG V\PEROV RI
WKLV W\SH DUH XVHG LQ DULWKPHWLF RSHUDWLRQV GHSHQGLQJ RQ WKH FRQWHQW  IRU
H[DPSOH D & ILHOG LV SDVVHG DV DQ DFWXDO SDUDPHWHU DQG WKH ILHOG FRQWHQW
FDQQRWEHLQWHUSUHWHGDVDQXPEHU

&/,.( LV FRPSDWLEOH ZLWK WKH W\SHV & 1 ' 7 675,1* DQG SXUHO\ FKDUDFWHU
W\SH VWUXFWXUHV ,Q 186V &/,.( LV DOVR FRPSDWLEOH ZLWK WKH HOHPHQWDU\ W\SHV ;
DQG ;675,1* $VVLJQLQJ WKH JHQHULF W\SH &/,.( HQVXUHV WKDW SDUDPHWHUV DQG
ILHOG V\PEROV FDQ EH XVHG IRU DOO VWULQJ SURFHVVLQJ RSHUDWLRQV VXFK DV WKRVH LQ
WKH &21&$7(1$7( ),1' RU 5(3/$&( VWDWHPHQWV ,Q DGGLWLRQ WKH V\VWHP
FRXQWV LQ FKDUDFWHUV ZKHQ \RX XVH RIIVHWOHQJWK DGGUHVVLQJ ZKLFK LV DOORZHG
ZLWKLQWKHDUHDRIWKHZKROHILHOGDQGLQ675,1*W\SHREMHFWV

&6(48(1&(LVFRPSDWLEOHZLWKWKHW\SHV&DQG675,1*

;6(48(1&(LVFRPSDWLEOHZLWKWKHW\SHV;DQG;675,1*$VVLJQLQJWKLVJHQHULF
W\SH JXDUDQWHHV WKDW SDUDPHWHUV DQG ILHOG V\PEROV FDQ EH XVHG LQ E\WH
SURFHVVLQJ

RSHUDWLRQV

VXFK

DV

LQ

WKH

&21&$7(1$7(



,1

%<7(

02'(

VWDWHPHQW

180(5,&LVFRPSDWLEOHZLWKWKHW\SHV,3DQG),WLVDOVRFRPSDWLEOHZLWKWZR
W\SHV WKDW DUH RQO\ DYDLODEOH LQ WKH 'LFWLRQDU\  ,17 VLQJOHE\WH LQWHJHU  DQG
,17 GRXEOHE\WH LQWHJHU  1RWH WKDW W\SH 1 LV QRW FRPSDWLEOH ZLWK WKH
JHQHULF W\SH 180(5,& $VVLJQLQJ WKH JHQHULF W\SH 180(5,& HQVXUHV WKDW
SDUDPHWHUVDQGILHOGV\PEROVFDQEHXVHGLQDULWKPHWLFRSHUDWLRQVZLWKRXWW\SH
RUFRQYHUVLRQHUURUVRFFXUULQJ


1HZ&ODVVHVIRU8QLFRGH
'HWHUPLQLQJ)LHOG3URSHUWLHV
7KH FODVV &/B$%$3B&+$5B87,/,7,(6 SURYLGHV DWWULEXWHV DQG PHWKRGV WKDW DIIHFW
WKH SURSHUWLHV RI VLQJOH FKDUDFWHUV 7KH FRPSRQHQWV RI WKLV FODVV DUH DOO VWDWLF DQG
SXEOLF

7KH

DWWULEXWHV

DUH

ZULWHSURWHFWHG

DQG

DUH

LQLWLDOL]HG

LQ

WKH

FODVV

FRQVWUXFWRUPHWKRG

&+$56,=(DWWULEXWH

CHARSIZE TYPE I.
7KH&+$56,=(DWWULEXWHGHFODUHVWKHOHQJWKRID&  ILHOGLQE\WHVWKDWLVRQH
E\WHLQDQ186DQGHLWKHUWZRRUIRXUE\WHVLQD86

0,1&+$50$;&+$5DWWULEXWHV

MINCHAR(1) TYPE C.
,Q DQ 186 0,1&+$5 FRQWDLQV WKH 8QLFRGH FKDUDFWHU  ; ,Q D 86 LW FRQWDLQV
WKH8QLFRGHFKDUDFWHU8



MAXCHAR(1) TYPE C.
,QDQ1860$;&+$5FRQWDLQVWKH8QLFRGHFKDUDFWHU;)),QD86LWFRQWDLQV
WKH8QLFRGHFKDUDFWHU8)))'
<RX FDQ XVH WKHVH YDOXHV RQO\ ZKHQ SHUIRUPLQJ ELQDU\ FRPSDULVRQV LQ WKH
IROORZLQJ$%$3VWDWHPHQWV
 6257ZLWKRXWWKH$67(;7DGGLWLRQ
 ,)ZLWKWKH!

DQG!

RSHUDWRUV

 ,)I%(7:((1I$1'I
 ,)ILQVHO
%HDU LQ PLQG WKDW WKH UHVXOWV RI ELQDU\ FRPSDULVRQV DUH SODWIRUPVSHFLILF )RU
H[DPSOHWKHFKDUDFWHUVHTXHQFHLQWKH,62FKDUDFWHUVHWLV$=D
bZKHUHDVLQ(%&',&LWLVbD$=
<RX FDQ XVH

CLEAR feld WITH CL_ABAP_CHAR_UTILITIES=>MAXCHAR WR

ILOODILHOGZLWKDYDOXHWKDWLVJUHDWHUWKDQRUHTXDOWRDOOWKHVWULQJV7KLVDOVR
ZRUNVLQDPXOWLE\WH186
0,1&+$5DQG0$;&+$5DUHQRWXVXDOO\YDOLGFKDUDFWHUVLQWKHFXUUHQWFKDUDFWHU
VHW,QSDUWLFXODU\RXFDQQRWXVH

TRANSLATEfTOUPPER CASELQFRQMXQFWLRQ

ZLWKWKHVHDWWULEXWHVVLQFHWKHUHVXOWZRXOGEHXQGHILQHG7KHVDPHFRQVWUDLQW
DSSOLHV WR DOORSHUDWLRQV WKDW LPSOLFLWO\ FRQYHUWFKDUDFWHUV WR XSSHU FDVH  VXFK
DV &6 16 &3 13 RU 6($5&+ 0RUHRYHU \RX FDQQRW SHUIRUP FKDUDFWHU VHW
FRQYHUVLRQVZLWKWKH0,1&+$5RU0$;&+$5DWWULEXWH
,Q DGGLWLRQ 0,1&+$5 PD\ QRW DOZD\V EH GLVSOD\HG RQ VFUHHQV DV WKH QXPEHU
VLJQ  ,QPDQ\FDVHVLWLVWUHDWHGDVWKHHQGRIDWH[WILHOG

%\WHRUGHU
&RQYHUVLRQ FODVVHV LPSOHPHQWHG ZLWK WKH ILOH LQWHUIDFH DUH XVHG WR FRQYHUW
QXPHULF GDWD W\SHV DQG 8QLFRGH IURP OLWWOHHQGLDQ WR ELJHQGLDQ IRUPDW DQG
YLFH YHUVD 7KH DWWULEXWHV GHVFULEHG LQ WKLV VHFWLRQ DUH XVHG WR UHFRJQL]H DQG
VHWE\WHRUGHUPDUNVLQ;FRQWDLQHUV
(1',$1DWWULEXWH

ENDIAN(1) TYPE C.
7KHYDOXH%LQGLFDWHVELJHQGLDQIRUPDWZKLOH/GHQRWHVOLWWOHHQGLDQLQHLWKHU
D86RUDQ186 DVLQWKHFODVVEDVHGILOHLQWHUIDFH 

&RQVWDQWV%<7(B25'(5B0$5.B

BYTE_ORDER_MARK_LITTLE(2)
TYPE
BYTE_ORDER_MARK_BIG(2)
TYPE X
BYTE_ORDER_MARK_UTF8(3)
TYPE X

7KHYDOXHVIRUWKHVHFRQVWDQWVDUH;)))(IRUOLWWOHHQGLDQDQG;)())IRUELJ
HQGLDQ LQ ERWK 8QLFRGH DQG 186V%<7(B25'(5B0$5.B87) FRQWDLQV WKH 87)
UHSUHVHQWDWLRQIRU8)())
7KH FODVVEDVHG ILOH LQWHUIDFH ZULWHV D E\WH RUGHU PDUN ZKHQHYHU D 87) RU
8&6 WH[W LV RSHQHG WR EH ZULWWHQ WR :KHQ D WH[W ILOH LV RSHQHG WR EH UHDG RU



DSSHQGHG D E\WH RUGHU PDUN LV XVHG WR VSHFLI\ WKH HQGLDQ IRUPDW +RZHYHU
WKHE\WHRUGHUPDUNLVQRWZULWWHQWRWKHWDUJHWILHOGVZKHQWKHILOHLVUHDG

1(:/,1(&5B/)DQG+25,=217$/B7$%DWWULEXWHV

NEWLINE(1)
CR_LF(2)
HORIZONTAL_TAB(1)

TYPE C
TYPE C
TYPE C

7KHVHDWWULEXWHVFRQWDLQWKHDSSURSULDWHSODWIRUPVSHFLILFFRQWUROFKDUDFWHUV


&RQYHUWLQJ'DWD
7KH IROORZLQJ DUH FRQYHUVLRQ FODVVHV XVHG WR FRQYHUW $%$3 GDWD LQ WKH V\VWHP
IRUPDW V\VWHPFRGHSDJHV\VWHPVSHFLILFHQGLDQIRUPDW WRELQDU\UHSUHVHQWDWLRQ
FRUUHVSRQGLQJ WR DQ H[WHUQDO FRGH SDJH DQG DQ H[WHUQDO HQGLDQ IRUPDW  DQG YLFH
YHUVD7KHVHFODVVHVUHSODFHWKHWZRIROORZLQJVWDWHPHQWV

TRANSLATE c ...FROM CODE PAGE g1...TO CODE PAGE g2


TRANSLATE f ...FROM NUMBER FORMAT n1 ...TO NUMBER FORMAT n2

7KHVHODQJXDJHYDULDQWVDUHGRFXPHQWHGH[WHQVLYHO\LQERWKWKH&ODVV/LEUDU\DQG
WKHDSSOLFDWLRQKHOS$WSUHVHQWWKHIROORZLQJFODVVHVDUHDYDLODEOH



&/B$%$3B&219B,1B&(

6WDWLFPHWKRGV

0HDQLQJ

8&&3

5HWXUQVDFKDUDFWHUWRD8QLFRGHFRGHSRLQW

&UHDWH

&UHDWHVDFRQYHUVLRQLQVWDQFH

,QVWDQFHPHWKRGV

5HVHW

5HVHWVWKHFRQYHUVLRQLQVWDQFHWRLWVLQLWLDOVWDWXV

5HDG

&RQYHUWV WKH YDOXH DQG LQFUHDVHV WKH UHDG SRVLWLRQ LQ

*HW%XIIHU

5HWXUQVWKHFRQWHQWRIWKHLQSXWEXIIHU

6NLSB&

,QFUHDVHV WKH UHDG SRVLWLRQ E\ D JLYHQ QXPEHU LQ D

6NLSB;

WKHLQSXWEXIIHU

W\SH&RUW\SH;ILHOG

,QVWDQFHDWWULEXWHV

(1&2',1*

&KDUDFWHUUHSUHVHQWDWLRQIRURXWSXW

(1',$1

%\WHRUGHUIRURXWSXW

,*125(B&(55

,QGLFDWRUIRUHUURUGXULQJFRGHSDJHFRQYHUVLRQ

326,7,21

:ULWHSRVLWLRQLQE\WHV

5(3/$&(0(17

5HSODFHPHQWFKDUDFWHURUVWULQJ

,6B$7B(1'

(QGLQGLFDWRUIRULQSXWEXIIHU

&/B$%$3B&219B287B&(


6WDWLFPHWKRGV

0HDQLQJ

8&&3

5HWXUQVWKH8QLFRGHFRGHSRLQWIRUWKHFKDUDFWHU

&UHDWH

&UHDWHVDFRQYHUVLRQLQVWDQFH


,QVWDQFHPHWKRGV

5HVHW

5HVHWVWKHFRQYHUVLRQLQVWDQFHWRLWVLQLWLDOVWDWXV

:ULWH

&RQYHUWV WKH YDOXH DQG DSSHQGV LW WR WKH RXWSXW

*HW%XIIHU

&XUUHQWYDOXHRIRXWSXWEXIIHU

EXIIHU

,QVWDQFHDWWULEXWHV

&KDUDFWHUUHSUHVHQWDWLRQIRURXWSXW

(1&2',1*



(1',$1

%\WHRUGHUIRURXWSXW

,*125(B&(55

,QGLFDWRUIRUHUURUGXULQJFRGHSDJHFRQYHUVLRQ

326,7,21

:ULWHSRVLWLRQLQE\WHV

5(3/$&(0(17

5HSODFHPHQWFKDUDFWHURUVWULQJ


5)&DQG8QLFRGH

7KH 5HPRWH )XQFWLRQ &DOO 5)&  LQWHUIDFH KDV DOVR FKDQJHG DV SDUW RI WKH
FRQYHUVLRQ WR 8QLFRGH 7KH IROORZLQJ UHPDUNV JLYH D YHU\ EULHI RXWOLQH RI WKH
JHQHUDOJXLGHOLQHV

6RWKDWWKH5)&ZRUNVLQERWK86VDQG186VDQDGGLWLRQDODWWULEXWHKDVEHHQDGGHG
WR WKH GHVWLQDWLRQ 7KLV DWWULEXWH VSHFLILHV ZKHWKHU WKH 5)& LV WR UXQ LQ D 86 RU D
186 ,I DQ $%$3 SURJUDP XVHV IXQFWLRQ PRGXOHV WKDW FKDQJH WKH 5)& GHVWLQDWLRQ
WKLVQHZDWWULEXWHPXVWEHILOOHGXVLQJDQRWKHUUHTXLUHGSDUDPHWHU

:KHQWH[WGDWDLVWUDQVIHUUHGLQDQ5)&WKHIROORZLQJQHZH[FHSWLRQVPD\RFFXU

$ WH[W FDQQRW EH FRQYHUWHG IURP WKH VRXUFH FRGH SDJH WR WKHWDUJHW FRGH SDJH
EHFDXVHWKHFRUUHVSRQGLQJFKDUDFWHULQWKHWDUJHWFRGHSDJHLVQRWDYDLODEOH
7KH ILHOG LQ WKH WDUJHW V\VWHP LV VKRUWHU WKDQ WKH ILHOG LQ WKH VRXUFH V\VWHP
7KLVPD\RFFXULIGDWDIURPD86LVWUDQVIHUUHGWRDPXOWLE\WHV\VWHP

,QSULQFLSOH\RXFDQDVVXPHWKDWWH[WGDWDKDVDGLIIHUHQWOHQJWKLQWKHVHQGLQJ
V\VWHPWKDQLQWKHUHFHLYLQJV\VWHP)RUWKLVUHDVRQZHUHFRPPHQGWKDW\RXXVH
VWULQJVZKHUHYHUSRVVLEOH7KDWLV\RXVKRXOGWU\WRDYRLGVSHFLI\LQJWKHOHQJWKRI
WH[WGDWD<RXFDQKRZHYHUVHQGELQDU\GDWDZKRVHOHQJWKLVVSHFLILHGZLWKRXW
DQ\SUREOHPV



)XUWKHU0HDVXUHV

8QWLO QRZ ZKHQ WKH V\VWHP FKHFNHG RU FRQYHUWHG GDWD W\SHV WKH FODVV KLHUDUFK\
DQGLQWHUIDFHLPSOHPHQWDWLRQ UHODWLRQ ZHUH RQO\ WDNHQ LQWRDFFRXQWLQ WKHFDVH RI
VLQJOHILHOGVZLWKFODVVDQGLQWHUIDFHUHIHUHQFHV
6WUXFWXUHV FRQWDLQLQJ UHIHUHQFHV ZHUH QRW FKHFNHG FRQVLVWHQWO\ )RU WKLV UHDVRQ
ZKHQGHHSVWUXFWXUHVDUHEHLQJFRQYHUWHGRUZKHQW\SHDQGFRPSDULVRQFKHFNVDUH
EHLQJSHUIRUPHGRQWKHPWKHIROORZLQJJHQHUDOL]DWLRQVDUHPDGH

&RQYHUWLELOLW\DQGW\SHFRPSDWLELOLW\IRU,PSRUWLQJSDUDPHWHUV
(OHPHQWDU\FRPSRQHQWVRIVWUXFWXUHVPXVWPDWFKH[DFWO\
7KH FODVV KLHUDUFK\ DQG LQWHUIDFH LPSOHPHQWDWLRQ UHODWLRQ DUH DOVR WDNHQ LQWR
DFFRXQWLQWKHFDVHRILQWHUIDFHDQGFODVVUHIHUHQFHVXVHGDVVXEFRPSRQHQWV
7DEOH FRPSRQHQWV DUH PXWXDOO\ FRPSDWLEOH LI WKH OLQH W\SH LV W\SHFRPSDWLEOH
DQG FRQYHUWLEOH 7KDW PHDQV WKDW WDEOHV FDQ KDYH GLIIHUHQW DFFHVV W\SHV 7KH



OLQH W\SHV PXVW EH FRQYHUWLEOH  IRU H[DPSOH WKH VWUXFWXUH FRPSRQHQW 7DEOH
RYHU,QWHJHULVFRPSDWLEOHZLWKWKHFRPSRQHQW7DEOHRYHU)ORDW
&RPSDUDELOLW\
(OHPHQWDU\FRPSRQHQWVPXVWPDWFKH[DFWO\
&RPSDUDELOLW\

FDQ

EH

SHUIRUPHG

RQ

DOO

FODVVHV

DQG

LQWHUIDFH

FRPSRQHQWV
7DEOHFRPSRQHQWVDUHFRPSDUDEOHLIWKHLUOLQHW\SHLVFRPSDUDEOH



UHIHUHQFH

)XUWKHU6DPSOH3URJUDPV

*-------------------------------------------------------------*
* MOVE: structure <-> structure
*-------------------------------------------------------------*
report ZCH_UNIEXP_1.
types: begin of T_STRUC,
F1 type c,
F2 type c,
F3 type i,
F4 type p,
end of T_STRUC.
* Before Unicode enabling:
* data: begin of STRUC1.
*
include type T_STRUC.
* data:
F5 type x.
* data: end of STRUC1.
* data: begin of STRUC2.
*
include type T_STRUC.
* data:
F6 type p.
* data: end of STRUC2.
* STRUC1 = STRUC2.

<---- Unicode error !!

* After Unicode enabling, if only component F1 to F4 should be


* moved:
data: begin of STRUC1.
include type T_STRUC as PART1.
data:
F5 type x.
data: end of STRUC1.
data: begin of STRUC2.
include type T_STRUC as PART1.
data:
F6 type p.
data: end of STRUC2.
STRUC1-PART1 = STRUC2-PART1.



*-------------------------------------------------------------*
* MOVE: structure <-> structure
*-------------------------------------------------------------*
report

ZCH_UNIEXP_2.

data: begin of STRUC1,


F1(10) type c,
F2(20) type c,
F3
type i,
F4
type p,
end of STRUC1,
begin of STRUC2,
C1(10) type c,
C2(20) type c,
C3
type x,
C4
type f,
end of STRUC2.
* Before Unicode enabling
* STRUC1 = STRUC2.

<---- Unicode error !!

* After Unicode enabling, if only component F1 to F2 should be


* moved
STRUC1(30) = STRUC2(30).

*-------------------------------------------------------------*
* MOVE: structure <-> structure (Offset)
*-------------------------------------------------------------*
report ZCH_UNIEXP_3.
* Before Unicode enabling:
* data: begin of STRUC1,
*
F0
type x,
*
F1(10) type c,
*
F2(20) type c,
*
F3
type i,
*
F4
type p,
*
end of STRUC1,
*
*
*
*
*
*
*

begin of STRUC2,
C0
type i,
C1(10) type c,
C2(20) type c,
C3
type x,
C4
type f,
end of STRUC2.

* STRUC1+1(30) = STRUC2+4(30).


<---- Unicode error !!




* After Unicode enabling:


types: begin of PART1,
F1(10) type c,
F2(20) type c,
end of PART1,
begin of PART 2,
C1(10) type c,
C2(20) type c,
end of PART 2.
data: begin of STRUC1,
F0
type x.
include type PART1 as PART.
data:
f3
type i,
f4
type p,
end of STRUC1,
begin of STRUC2,
C0
type i.
include type PART2 as PART.
data:
C3
type x,
C4
type f,
end of STRUC2.
STRUC1-PART = STRUC2-PART.

*-------------------------------------------------------------*
* MOVE: structure <-> structure
*-------------------------------------------------------------*
report ZCH_UNIEXP_4.
* Before Unicode enabling:
* data: begin of STRUC1,
*
F0(1) type x,
*
F1(10) type c,
*
F2(20) type c,
*
F3
type i,
*
F4
type p,
*
end of STRUC1,
*
*
*
*
*
*
*

begin of STRUC2,
C0(1) type c,
C1(10) type c,
C2(20) type c,
C3
type i,
C4
type f,
end of STRUC2,

*
*
*

begin of STRUC3,
G0(1) type c,
G1(10) type c,



*
G2(20) type c,
*
end of STRUC3.
*
* STRUC1+1(35) = STRUC2+1(35).
* STRUC3
= STRUC2.

<---- Unicode error !!

* INCLUDE STRUCTURE does not work here:


* types: begin of PART1,
*
F1(10) type c,
*
F2(20) type c,
*
F3
type i,
*
end of PART1,
*
*
*
*
*

begin of PART2,
C1(10) type c,
C2(20) type c,
C3
type i,
end of PART2.

* data:
*
*
* data:
*

begin of STRUC1,
F0(1)
type x.
include type PART1 as PART.
F4
type p,
end of struc1.

* data:
*
*
* data:
*

begin of STRUC2,
C0(1)
type c.
include type PART2 as PART.
C4
type f,
end of STRUC2,

*
*
*
*
*

begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.

* STRUC1-PART = STRUC2-PART.
* STRUC3
= STRUC2.

<---- new Unicode error !!

* Due to the insertion of include PART2 in STRUC2, there is a


* new alignment gap between STRUC2-C0 and STRUC2-C1
* After Unicode enabling:
* Please use MOVE-CORRESPONDING if the fieldnames do match,
* otherwise move single fields
data: begin of STRUC1,
F0(1) type x,
F1(10) type c,
F2(20) type c,
F3
type i,
F4
type p,
end of STRUC1,
begin of STRUC2,
C0(1) type c,




C1(10) type
C2(20) type
C3
type
C4
type
end of STRUC2,

c,
c,
i,
f,

begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC1-F1 = STRUC2-C1.
STRUC1-F2 = STRUC2-C2.
STRUC1-F3 = STRUC2-C3.
STRUC3

= STRUC2.

*-------------------------------------------------------------*
* MOVE: structure <-> single field
*-------------------------------------------------------------*
report ZCH_UNIEXP_5.
data: begin of STRUC,
YEAR(4) type
MONTH(2) type
DAY(2)
type
F4
type
end of STRUC,
DATE

n,
n,
n,
p,

type d.

* Before Unicode enabling


* date = struc.

<---- Unicode error

* After Unicode enabling


date = struc(8).

*-------------------------------------------------------------*
* MOVE: structure <-> single field
*-------------------------------------------------------------*
report ZCH_UNIEXP_6.
data: begin of STRUC,
NUMBER(20) type n,
F2
type p,
end of STRUC,
NUMBER(20)

type n.

* Before Unicode enabling






* NUMBER = STRUC.

<---- Unicode error

* After Unicode enabling


NUMBER = STRUC-NUMBER.

*-------------------------------------------------------------*
* MOVE: structure <-> single field
*-------------------------------------------------------------*
report ZCH_UNIEXP_7.
data: begin of TAB,
X(1) type x value 09,
end of tab,
C(10)

type c.

* Before Unicode enabling:


* c+5(1) = tab.

<---- Unicode error

* After Unicode enabling


class cl_abap_char_utilities definition load.
c+5(1) = cl_abap_char_utilities=>horizontal_tab.

*-------------------------------------------------------------*
* MOVE: structure <-> single field
*-------------------------------------------------------------*
report ZCH_UNIEXP_8.
data: begin of STRUC,
F1(3) type x,
F2(8) type p,
end of STRUC,
CONTAINER(1000) type c.
* Before Unicode enabling:
* CONTAINER = STRUC.
* STRUC
= CONTAINER.

<---- Unicode error


<---- Unicode error

* After Unicode enabling


* if container is used as temporary transport container (no
* database, no RFC, no file, no offset access to parts of the
container)



field-symbols: <X_CONTAINER> type x,


<X_STRUC>
type x.
assign CONTAINER to <X_CONTAINER> casting.
assign STRUC
to <X_STRUC>
casting.
<X_CONTAINER> = <X_STRUC>.
<X_STRUC>
= <X_CONTAINER>.
* Or use service class cl_abap_container_utilities:
class CL_ABAP_CONTAINER_UTILITIES definition load.
call method CL_ABAP_CONTAINER_UTILITIES =>FILL_CONTAINER_C
exporting IM_VALUE
= STRUC
importing EX_CONTAINER
= CONTAINER
exceptions ILLEGAL_PARAMETER_TYPE = 1
others
= 2.
call method cl_abap_container_utilities=>read_container_c
exporting IM_CONTAINER
= CONTAINER
importing EX_VALUE
= STRUC
exceptions ILLEGAL_PARAMETER_TYPE = 1
others
= 2.

*-------------------------------------------------------------*
* MOVE: structure <-> single field
*-------------------------------------------------------------*
report ZCH_UNIEXP_9.
* types: begin of T_VALUE_WA,
*
TABNAME(30)
type c,
*
DUMMY_ALIGN
type f,
*
CONTAINER(1000) type c,
*
end of T_VALUE_WA,
*

T_VALUE_LIST type table of T_VALUE_WA.

* data:
*
*
*

L_VALUES
L_VALUE_WA
L_D010SINF
L_CO2MAP

type
type
type
type

T_VALUE_LIST,
T_VALUE_WA,
D010SINF,
CO2MAP.

*
*
*
*

L_VALUE_WA-TABNAME
L_D010SINF-DATALG
L_VALUE_WA-CONTAINER
append L_VALUE_WA to

= D010SINF.
= 41.
= L_D010SINF.
L_VALUES.

*
*
*
*

L_VALUE_WA-TABNAME
L_CO2MAP-ID
L_VALUE_WA-CONTAINER
append L_VALUE_WA to

= CO2MAP.
= 42.
= L_CO2MAP.
L_VALUES.

<---- Unicode error

<---- Unicode error

* Pass L_VALUES to processing routine ...


* Do something




* data: L_DFIES_TAB type table of DFIES.


* field-symbols: <DT>
type DFIES,
*
<VALUE_WA> type T_VALUE_WA,
*
<f>.
* clear L_VALUES_WA.
* loop at L_VALUES assigning <VALUE_WA>.
*
*
*
*
*

call function DDIF_NAMETAB_GET


exporting
tabname = <VALUE_WA>-TABNAME
tables
DFIES_TAB = L_DFIES_TAB.

*
loop at L_DFIES_TAB assigning <DT>.
*
assign <VALUE_WA>-CONTAINER+<DT>-OFFSET(<DT>-INLEN)
*
to <F> type <DT>-INTTYPE.
*
write <F>.
*
endloop.
* endloop.
* After using (Unicode enabled) new reference technique
* and EXPORT TO DATA BUFFER:
types: begin of T_VALUE_WA,
TABNAME(30)
type c,
XWA
type xstring,
CONTAINER(1000) type c,
end of T_VALUE_WA,
T_VALUE_LIST type table of T_VALUE_WA.
data:

L_VALUES
L_VALUE_WA
L_D010SINF
L_CO2MAP

type
type
type
type

T_VALUE_LIST,
T_VALUE_WA,
D010SINF,
CO2MAP.

L_D010SINF-DATALG = 41.
L_VALUE_WA-TABNAME = D010SINF.
export WA from L_D010SINF to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
L_CO2MAP-ID
= 42.
L_VALUE_WA-TABNAME = CO2MAP.
export WA from L_CO2MAP to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
* Pass L_VALUE to processing routine ...
* Do something
data: DREF
type ref to data,
L_NUMBER type i,
L_TYPE
type c.
field-symbols: <WA>
type any,
<COMP> type any.




clear L_VALUE_WA.
loop at L_VALUES into L_VALUE_WA.
create data DREF type (L_VALUE_WA-TABNAME).
assign DREF->* to <WA>.
import WA to <WA> from data buffer L_VALUE_WA-XWA.
describe field <WA> type L_TYPE components L_NUMBER.
do L_NUMBER times.
assign component SY-INDEX of structure <WA> to <COMP>.
write <COMP>.
enddo.
endloop.

*-------------------------------------------------------------*
* String processing
*-------------------------------------------------------------*
report ZCH_UNIEXP_10.
* Before Unicode enabling:
* data: begin of L_LINE,
*
TEXT1(10) type
*
MARK1(1)
type
*
TEXT2(10) type
*
MARK2(1)
type
*
TEXT3(10) type
*
MARK3(1)
type
*
BLANK(100) type
*
end of L_LINE,
*
*

c,
x value 00,
c,
x value 00,
c,
x value 00,
c,

HEX0(1) type x value 00,


CRLF(2) type x value 0D0A.

* L_LINE-TEXT 1 = SYSTEM:
* L_LINE-TEXT 2 = USER:
* L_LINE-TEXT 3 = CLIENT:

.
.
.

* replace: HEX0 with SY-SYSID into L_LINE, <---- Unicode error


*
HEX0 with SY-UNAME into L_LINE, <---- Unicode error
*
HEX0 with SY-MANDT into L_LINE. <---- Unicode error
* condense
L_LINE.
* concatenate L_LINE CRLF into L_LINE.

<---- Unicode error


<---- Unicode error

* Do something with L_LINE ...


* After Unicode enabling:
class CL_ABAP_CHAR_UTILITIES definition load.
data: begin of L_LINE,
TEXT1(10) type c,
MARK1(1)
type C,




TEXT2(10) type
MARK2(1)
type
TEXT3(10) type
MARK3(1)
type
BLANK(100) type
end of L_LINE,

c,
c,
c,
c,
c,

HEX0(1) type c,
CRLF(2) type c.
HEX0 = CL_ABAP_CHAR_UTILITIES=>MINCHAR.
CRLF = CL_ABAP_CHAR_UTILITIES=>CR_LF.
L_LINE-TEXT1
L_LINE-MARK1
L_LINE-TEXT2
L_LINE-MARK2
L_LINE-TEXT3
L_LINE-MARK3

= SYTEM:
= HEX0.
= USER:
= HEX0.
= CLIENT:
= HEX0.

.
.
.

replace: HEX0 with SY-SYSID into L_LINE,


HEX0 with SY-UNAME into L_LINE,
HEX0 with SY-MANDT into L_LINE
condense L_LINE.
concatenate L_LINE CRLF into L_LINE.
* Do something with L_LINE ...
write / L_LINE.

*-------------------------------------------------------------*
* OPEN DATASET
*-------------------------------------------------------------*
report ZCH_UNIEXP_11.
data: begin of STRUC,
F1 type c,
F2 type p,
end of STRUC,
DSN(30) type c value TEMPFILE.
STRUC-F1 = X.
STRUC-F2 = 42.
* Before Unicode enabling:
*
*
*
*

Write to file
open dataset DSN in text mode.
transfer STRUC to DSN.
close dataset DSN.



<---- Unicode error

*
*
*
*
*
*

Read from file


clear STRUC.
open dataset DSN in text mode.
read dataset DSN into STRUC.
close dataset DSN.
write: / STRUC-F1, STRUC-F2.

<---- Unicode error

* After Unicode enabling


* a) You dont need to read old non Unicode files
*
and may change the layout
data: begin of STRUC2,
F1
type c,
F2(20) type c,
end of STRUC2.
move-corresponding STRUC to STRUC2.
* write to file
open dataset DSN in text mode for output encoding utf-8.
transfer STRUC2 to DSN.
close dataset DSN.
* read from file
clear STRUC.
open dataset DSN in text mode for input encoding utf-8.
read dataset DSN into STRUC2.
close dataset DSN.
move-corresponding STRUC2 to STRUC.
write: / STRUC-F1, STRUC-F2.
* b) Now you need to read old non Unicode files
*
but must not change the layout
* write to file
open dataset DSN in legacy text mode for output.
transfer STRUC to DSN.
close dataset DSN.
* read from file
clear STRUC.
open dataset DSN in legacy text mode for input.
read dataset DSN into STRUC.
close dataset DSN.
write: / STRUC-F1, STRUC-F2.



*ORVVDU\

%\WHW\SH
7KH$%$3GDWDW\SHV;DQG;675,1*
&KDUDFWHU
/HWWHUGLJLWRUVSHFLDOFKDUDFWHU
&KDUDFWHUW\SH
7KH$%$3GDWDW\SHV&1'7DQG675,1*
&RGH 

%LQDU\HQFRGLQJRIOHWWHUVGLJLWVDQGVSHFLDOFKDUDFWHUV
&RGHSDJH
6HWRIHQFRGHGFKDUDFWHUVIRUWKHHQYLURQPHQWVHOHFWHG
'DWDFOXVWHU
*URXSLQJRIVHYHUDOGDWDREMHFWV ILHOGVVWUXFWXUHWDEOH 
'',&
$%$3'DWD'LFWLRQDU\
(QGLDQ
7KH E\WH RUGHURI DQXPEHU 1XPEHUV DUH VWRUHG LQ PHPRU\ ZLWK GHFUHDVLQJ SODFH
YDOXH HLWKHU IURP OHIW WR ULJKW ELJHQGLDQ IRUPDW  RU IURP ULJKW WR OHIW OLWWOH
HQGLDQIRUPDW 
)URQWHQG
3UHVHQWDWLRQVHUYHULQWKH56\VWHP
.HUQHO
7KH%DVLVIXQFWLRQVRIWKH56\VWHP ZULWWHQLQ&DQG& 
183
1RQ8QLFRGHSURJUDP$%$3SURJUDPIRUZKLFKWKH8QLFRGHIODJKDVQRWEHHQVHW
186

1RQ8QLFRGH V\VWHP 5 6\VWHP LQ ZKLFK HDFK FKDUDFWHU LV HQFRGHG LQ ELQDU\
IRUPVXFKWKDWLWRFFXSLHVRQHE\WH
5HPDLQLQJOHQJWK
3HUWDLQLQJ WR D ILHOG RU RWKHU FKDUDFWHU W\SH VWUXFWXUH WKH WRWDO OHQJWK PLQXV WKH
RIIVHW
6XUURJDWHDUHD
&KDUDFWHUVXSSOHPHQWIRUFKDUDFWHUVWKDWFDQQRWEHFRQWDLQHGLQVWDQGDUG8QLFRGH
ZKLFKFDQRQO\FRQWDLQFKDUDFWHUV ,QDGGLWLRQWRWKHVWDQGDUG8QLFRGHELW
SDWWHUQWKHV\VWHPUHDGVWZRIXUWKHUE\WHVIURPWKLVDUHD
8QLFRGHIUDJPHQWYLHZ
9LHZWKDWVSOLWVVWUXFWXUHVLQWRVLPLODUGDWDDUHDV
83
8QLFRGHSURJUDP$%$3SURJUDPIRUZKLFKWKH8QLFRGHIODJKDVEHHQVHW
86

8QLFRGH V\VWHP 56\VWHP LQ ZKLFK HDFK FKDUDFWHU LV HQFRGHG LQ ELQDU\ IRUP
VXFKWKDWLWRFFXSLHVHLWKHUWZRRUIRXUE\WHV
87)

'DWDIRUPDWIRUFRPPXQLFDWLRQDQGGDWDH[FKDQJH
;0/
([WHQVLEOH0DUNXS/DQJXDJHODQJXDJHXVHGWRGLVSOD\GRFXPHQWVRQWKH,QWHUQHW



,QGH[RI.H\&RQFHSWV

$SSHQG



$VVLJQ



$W



%\WH 



&DVWLQJ



&KDUOHQ



&OHDU 



&RQFDWHQDWH



&RQGHQVH



&RQYHUW7H[W



&UHDWH'DWD 



'DWDW\SHV



'HVFULEH



'HOHWHGEWDE



([SRUW




)HWFK 



)LHOGV\PEROV



)LQG



*HQHUDWH



*HQ'DWD7\SHV



*HW%LW



,I



,PSRUW



,QFOXGH



,QFUHPHQW



,QVHUWGEWDE 



,QVHUWLWDE



,QVHUWUHSRUW



/RRSDW



0RGLI\LWDE



0RGLI\GEWDE



0RYH 





0RYH&RUUHVSRQGLQJ



1XPRIFKDU



2IIVHW



2SHQ'DWDVHW



2SHUDWRUV



2YHUOD\



3HUIRUP



5DQJH



5HDG'DWDVHW



5HDG7DEOH



5HIUHVK



5HSODFH



6HDUFK



6HOHFW



6HW%LW



6KLIW



6SOLW



6WULQRSHUDWRUHQ



6WUOHQ



6WUXFWXUH



7UDQVIHU



7UDQVODWH



8SGDWHGEWDE



9DU\



9DU\LQJ



:ULWH 



:ULWH 7R







You might also like