!--a11y-->
ÓIƒNƒ‰ƒXƒRƒ“ƒ|[ƒlƒ“ƒg‚ւ̃oƒCƒ“ƒh 
JavaScript ‚ÅÓIƒ^ƒCƒv‚̃Nƒ‰ƒX‚ðŽ‚ÂƒIƒuƒWƒFƒNƒgŽQƕϔ ( ƒIƒuƒWƒFƒNƒgŽQƂւ̃oƒCƒ“ƒh (ƒCƒ“ƒXƒ^ƒ“ƒX)) ‚ɃoƒCƒ“ƒh‚·‚邯AABAP ƒNƒ‰ƒX‚ÌÓIƒRƒ“ƒ|[ƒlƒ“ƒg‚ւ̃AƒNƒZƒX‚̂݉”\‚ƂȂè‚Ü‚·B‚½‚¾‚µAABAP ‚ł͕K‚¸‚µ‚à‚±‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð쬂·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
ABAP ƒNƒ‰ƒX‚ÌÓIƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍAJavaScript “à‚ł͒è‹`ς݃vƒƒLƒVƒNƒ‰ƒX SAPAbapCrefClass ‚̃vƒƒLƒVƒIƒuƒWƒFƒNƒg‚Æ‚µ‚ă}ƒbƒv‚³‚ê‚Ü‚·B‚»‚ê‚ç‚ðƒIƒuƒWƒFƒNƒgŽQƕϔ‚ɃoƒCƒ“ƒh‚·‚éÛ‚ÍAŠÖ˜A‚·‚éƒvƒƒLƒVƒIƒuƒWƒFƒNƒg ( ƒvƒƒLƒV) ‚ÍSAPAbapCrefClass ‚ÉŠî‚¢‚Ä eClassf ƒvƒƒpƒeƒB‚ð—L‚µ‚Ü‚·B
ƒvƒƒLƒVƒIƒuƒWƒFƒNƒg eproxy.Classf ‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ðŽŸ‚ÉŽ¦‚µ‚Ü‚·B
· ƒNƒ‰ƒX‚̃pƒuƒŠƒbƒNÓI‘®« ( ¬•¶Žš) B
· ’è‹`ς݃ƒ\ƒbƒh einvokef B‚»‚̃Nƒ‰ƒX‚̃pƒuƒŠƒbƒNÓIƒƒ\ƒbƒh‚ðŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚Ü‚· ( ƒIƒuƒWƒFƒNƒgŽQƂւ̃oƒCƒ“ƒh (ƒCƒ“ƒXƒ^ƒ“ƒX)‚ðŽQÆ) B
· “ü—̓pƒ‰ƒ[ƒ^‚ðŽ‚½‚¸˜_—’l‚ð•Ô‚·’è‹`ς݃ƒ\ƒbƒh eisActivef BABAP ƒvƒƒOƒ‰ƒ€‚ŃNƒ‰ƒX‚ªƒ[ƒh‚³‚ê‚ê‚ÎA–ß‚è’l‚Í^‚Å‚· ( ‚‚܂èÓIƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ªŽÀs‚³‚ꂽê‡) BƒNƒ‰ƒX‚ªƒ[ƒh‚³‚ê‚È‚©‚Á‚½ê‡‚Í‹U‚Å‚·Bƒ[ƒh‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚ÌÓIƒRƒ“ƒ|[ƒlƒ“ƒg‚É‚ÍAƒAƒNƒZƒX‚Å‚«‚Ü‚¹‚ñBŒ»ÝAƒNƒ‰ƒX‚ªJavaScript ‚Ì’†‚ł͂Ȃ ABAP ‚Ì’†‚ÅŽg—p‚³‚ê‚邱‚Ƃɂæ‚èAƒ[ƒh‚̂݉”\‚Å‚·B
JavaScript “à‚Å‚ÍA‘¼‚̃vƒƒpƒeƒB‚Ü‚½‚̓ƒ\ƒbƒh‚ðƒvƒƒLƒVƒIƒuƒWƒFƒNƒgeproxy.Classf ‚ɒljÁ‚Å‚«‚Ü‚¹‚ñBJavaScript “à‚Å eproxy.Classf ‚ÉŠ„‚è“–‚Ä‚½‚èAƒ[ƒh‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ðƒAƒNƒZƒX‚µ‚悤‚Æ‚·‚邯AJavaScript ‚ÍI—¹‚µ‚Ü‚·B

report DEMO_JAVA_SCRIPT_BIND_DREF.
class C1
definition.
public
section.
class-data A1
type STRING value 'Hello'.
class-methods
M1.
protected
section.
class-data A2
type STRING value 'Hello'.
endclass.
class C1
implementation.
method
M1.
concatenate A1
'!' into A1.
endmethod.
endclass.
data JS_PROCESSOR type ref to CL_JAVA_SCRIPT.
data OREF type ref to C1.
data SOURCE type STRING.
start-of-selection.
JS_PROCESSOR = CL_JAVA_SCRIPT=>CREATE( ).
JS_PROCESSOR->BIND(
exporting NAME_OBJ = 'abap'
NAME_PROP
= 'Oref'
changing DATA = OREF
).
concatenate '
if ( abap.Oref.Class.isActive() )'
'{ abap.Oref.Class.a1 += " World"; '
' abap.Oref.Class.invoke("m1"); }'
into SOURCE.
JS_PROCESSOR->EVALUATE( JAVA_SCRIPT = SOURCE ).
write / C1=>A1.
‚±‚Ì—á‚Å‚ÍAJavaScript ‚Í‘®« C1=>A1 ‚ð 'Hello' ‚©‚ç 'Hello World!' ‚É•ÏX‚µ‚Ü‚·BƒvƒƒOƒ‰ƒ€‚ÍAÓI‘®«'Oref.Class.a1' ‚ɃAƒNƒZƒX‚·‚邱‚Ƃɂæ‚èAeWorldf ‚ð‘®«’l‚ɒljÁ‚µ‚Ü‚·B'Oref.Class.invoke' ‚ðŽg—p‚µ‚ăƒ\ƒbƒh C1=>M1 ‚ðŒÄ‚Ño‚µ‚ÄAe!f ‚ð’ljÁ‚µ‚Ü‚·B