!--a11y-->
“à•”ƒe[ƒuƒ‹‚ւ̃oƒCƒ“ƒh 
ABAP •W€“à•”ƒe[ƒuƒ‹‚Í JavaScript ‚Å‚ÍA’è‹`ς݃vƒƒLƒVƒNƒ‰ƒX SAPAbapItabClass ‚̃vƒƒLƒVƒIƒuƒWƒFƒNƒg‚Æ‚µ‚ă}ƒbƒv‚³‚ê‚Ü‚·BƒvƒƒLƒVƒNƒ‰ƒX‚ÍA”z—ñ‚ðŽÀ‘•‚µ‚Ü‚·BJavaScript ŽQƂɂÍABIND ƒƒ\ƒbƒh‚Ì NAME_PROP ƒpƒ‰ƒ[ƒ^‚ðŽg—p‚µ‚Ä‘å•¶Žš¬•¶Žš‚ð‹æ•Ê‚·‚閼̂ðŽw’è‚Å‚«‚Ü‚·B”z—ñƒGƒŒƒƒ“ƒg‚̃JƒEƒ“ƒg‚ÍAƒCƒ“ƒfƒbƒNƒX 0 ‚©‚çŽn‚Ü‚è‚Ü‚·B
ƒCƒ“ƒfƒbƒNƒX eindexf ‚ð—L‚·‚é“à•”ƒe[ƒuƒ‹‚Ìs‚É eproxy[index]f ‚ðŽg—p‚µ‚ăAƒNƒZƒX‚Å‚«‚Ü‚·B
ƒvƒƒLƒVƒIƒuƒWƒFƒNƒg‚ª—L‚·‚éƒvƒƒpƒeƒBAƒƒ\ƒbƒh‚ðŽŸ‚ÉŽ¦‚µ‚Ü‚·B
· Œ»Ý‚Ì“à•”ƒe[ƒuƒ‹‚Ìs”Ô†‚ðŽû—e‚·‚éƒvƒƒpƒeƒB elengthf B
· “à•”ƒe[ƒuƒ‹‚É‹ó”’s‚̒ljÁ‚ð‰Â”\‚É‚·‚郃\ƒbƒh eappendLinef B
· s eidxf ‚©‚ç ecountf s‚Ì휂ð‰Â”\‚É‚·‚郃\ƒbƒh edeleteLines(idx,count)f B
“à•”ƒe[ƒuƒ‹‚Ìsƒ^ƒCƒv‚ª\‘¢‘Ì‚Ìê‡A\‘¢‘̂̃Rƒ“ƒ|[ƒlƒ“ƒg‚̓vƒƒLƒVƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚ðŒ`¬‚µA‚»‚Ì‚½‚ß ABAP –¼‚ͬ•¶Žš‚Å“n‚³‚ê‚Ü‚·B
JavaScript ‚Å‚ÍA—˜—p‰Â”\‚łȂ¢ƒGƒ“ƒgƒŠ‚ðƒAƒhƒŒƒX‚·‚邱‚Ƃɂæ‚è”z—ñƒGƒŒƒƒ“ƒg‚ðV‹K쬂·‚邱‚Ƃ͂ł«‚Ü‚¹‚ñBJavaScript ‚Ì’Ê—á‚Æ‚µ‚ÄA”z—ñƒGƒŒƒƒ“ƒg‚̃JƒEƒ“ƒg‚Í 0 ‚©‚çŽn‚Ü‚è‚Ü‚·JavaScript “à‚Å‚ÍA‘¼‚̃vƒƒpƒeƒB‚Ü‚½‚̓ƒ\ƒbƒh‚ðƒvƒƒLƒVƒIƒuƒWƒFƒNƒg‚ɒljÁ‚Å‚«‚Ü‚¹‚ñB\‘¢‘̂Ƃµ‚ÄAJavaScript “à‚Å‚Í“à•”ƒe[ƒuƒ‹‘S‘Ì‚ð•ÏX‚Å‚«‚Ü‚¹‚ñBˆêˆÓƒL[‚Ì‚ ‚éƒe[ƒuƒ‹‚̃L[ƒtƒB[ƒ‹ƒh‚ð JavaScript “à‚Å•ÏX‚µ‚ăL[‚̈êˆÓ«‚Ɉᔽ‚·‚邯AŽÀsŽžƒGƒ‰[‚ª”¶‚µ‚Ü‚·B

report DEMO_JAVA_SCRIPT_BIND_ITAB.
data: begin of LINE,
COMP type I,
end of LINE.
data ITAB like standard table of LINE.
data SOURCE type STRING.
data JS_PROCESSOR type ref to CL_JAVA_SCRIPT.
JS_PROCESSOR = CL_JAVA_SCRIPT=>CREATE( ).
JS_PROCESSOR->BIND( exporting
NAME_OBJ = 'abap'
NAME_PROP
= 'Itab'
changing DATA =
ITAB ).
do 5 times.
LINE-COMP = SY-INDEX.
append LINE to ITAB.
enddo.
concatenate 'var len =
abap.Itab.length;
'
'var
sum =
0; '
'for
(var i = 0; i < len; i++)
'
'{
'
' sum
+= Number(abap.Itab[i].comp) '
'}
'
'abap.Itab.appendLine();
'
'len++; '
'abap.Itab.appendLine();
'
'len++; '
'abap.Itab[len-1].comp=sum; '
into SOURCE separated by
CL_ABAP_CHAR_UTILITIES=>CR_LF.
JS_PROCESSOR->EVALUATE( JAVA_SCRIPT = SOURCE ).
loop at ITAB into LINE.
write / LINE-COMP.
endloop.
‚±‚Ì—á‚ÍAJavaScript “à‚Ì\‘¢‘Ì‚Ì“à•”ƒe[ƒuƒ‹‚ɃAƒNƒZƒX‚·‚é•û–@‚𖾂炩‚É‚µ‚Ü‚·B‚Ü‚½‚±‚±‚Å‚ÍAABAP Šî–{ƒf[ƒ^Œ^‚É‚æ‚Á‚Ä“à•”ƒe[ƒuƒ‹‚ɃAƒNƒZƒX‚Å‚«A‚»‚Ì‚½‚ß ecompf Žd—l‚Í JavaScript ‚ł͒P‚É–³Ž‹‚³‚ê‚Ü‚·BJavaScript ƒvƒƒOƒ‰ƒ€‚̓Gƒ“ƒgƒŠ‚ð‡Œv‚µ‚ÄA2 s‚Ì‹ó”’s‚ð“à•”ƒe[ƒuƒ‹‚ɒljÁ‚µ‚Ä‚©‚çAÅŒã‚̃Gƒ“ƒgƒŠ‚É‚±‚̇Œv‚ð‹L“ü‚µ‚Ü‚·BEVALUATE ƒƒ\ƒbƒh‚ªŒÄ‚Ño‚³‚ꂽŒãAABAP ƒvƒƒOƒ‰ƒ€‚Ì“à•”ƒe[ƒuƒ‹‚É‚Í 7 s‚ ‚è‚Ü‚·B‚Ü‚½ ABAP ƒvƒƒOƒ‰ƒ€‚Ì“à•”ƒe[ƒuƒ‹‚ÍAƒƒ\ƒbƒh‚ªŒÄ‚Ño‚³‚ꂽŒã‚Ƀf[ƒ^‚ª“ü—Í‚³‚ê‚Ü‚·BJavaScript ‚ÍAí‚É ABAP ‚ÅÅV‚̃f[ƒ^‚ðŽg—p‚µ‚Ü‚·B
JavaScript ‚Ì”z—ñƒIƒuƒWƒFƒNƒg‚ÌŠî–{ƒvƒƒpƒeƒB‚ð‘¼‚Ì JavaScript •Ï”‚ÉŠ„‚è“–‚Ä‚éê‡A’ˆÓ‚µ‚Ä‚‚¾‚³‚¢BABAP ‚Ì“à•”ƒe[ƒuƒ‹‚ªÄ‘gD‚³‚ê‚邯AJavaScript ‚¨‚æ‚Ñ ABAP “à‚Ì‚±‚ê‚ç‚ÌŽQÆ‚µ‚Ä‚¢‚éƒoƒCƒ“ƒh‚ÍŽ¸‚í‚ê‚ÄA—áŠO‚ª”¶‚µ‚Ü‚·B—á:

report DEMO_JAVA_SCRIPT_BIND_ITAB.
data: begin of LINE,
COMP type I,
end of LINE.
data ITAB like standard table of LINE.
data SOURCE type STRING.
data RETURN_VALUE type STRING.
data JS_PROCESSOR type ref to
CL_JAVA_SCRIPT.
JS_PROCESSOR =
CL_JAVA_SCRIPT=>CREATE( ).
JS_PROCESSOR->BIND(
DATA = ITAB
NAME_OBJ =
'abap'
NAME_PROP
= 'Itab').
do 5 times.
LINE-COMP = SY-INDEX.
append LINE to ITAB.
enddo.
concatenate 'var pointer =
abap.Itab[4]; '
'pointer.comp; '
into SOURCE separated by
CL_ABAP_CHAR_UTILITIES=>CR_LF.
RETURN_VALUE = JS_PROCESSOR->EVALUATE(
JAVA_SCRIPT = SOURCE ).
message return_value TYPE 'I'.
clear ITAB.
do 5 times.
LINE-COMP = SY-INDEX ** 2.
append LINE to ITAB.
enddo.
SOURCE = 'pointer.comp;'.
RETURN_VALUE = JS_PROCESSOR->EVALUATE( JAVA_SCRIPT = SOURCE ).
‰‚߂ăƒ\ƒbƒh‚ªŒÄ‚Ño‚³‚ê‚邯Aƒƒ\ƒbƒh‚Í '5' ‚Ì’l‚ð•Ô‚µ‚Ü‚·B‚½‚¾‚µ 2 ‰ñ‚߂ɂÍAˆ—•s”\‚Ì—áŠO‚ðˆø‚«‹N‚±‚µ‚Ü‚·B‚±‚Ì—áŠO‚É‚ÍAŽÀsŽžƒGƒ‰[SYSTEM_DATA_ALREADY_FREE ‚ª•t‘®‚µ‚Ü‚·BJavaScript ŽQÆ epointerf ‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢ƒƒ‚ƒŠ—̈æ‚ðƒ|ƒCƒ“ƒg‚·‚é‚©‚ç‚Å‚·B