PageSourceSearch

https://abapblog.github.io/index.htm

html abapblog.github.io collected 2026-10-03 08:32:04 UTC 68,780 bytes, 518 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ru-RU" id="html">
3<head>
4		<meta charset="UTF-8">
5	<meta http-equiv="X-UA-Compatible" content="IE=edge">
6	<meta name="viewport" content="width=device-width, initial-scale=1.0">
7	<link rel="profile" href="xfn/11.html">
8	<link rel="pingback" href="https://abap-blog.ru/xmlrpc.php">
9	<title>ABAP Blog - Язык ABAP и все что с ним связано</title>
10
11		<!-- All in One SEO 4.1.4.4 -->
12		<meta name="description" content="Все о разработке в SAP решениях: ABAP, HANA, UI5, OData, Fiori.">
13		<meta name="robots" content="max-image-preview:large">
14		<meta name="keywords" content="abap,hana,sap,badi,rfc,abap objects,абап,alv,расширения,сап,разработка">
15		<link rel="canonical" href="index.htm">
16		<link rel="next" href="page/2/index.htm">
17		
17<script type="application/ld+json" class="aioseo-schema">
18			{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/abap-blog.ru\/#website","url":"https:\/\/abap-blog.ru\/","name":"ABAP Blog","description":"\u0412\u0441\u0435 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445 \u043e\u0442 SAP","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/abap-blog.ru\/#person"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/abap-blog.ru\/?s={search_term_string}"},"query-input":"required name=search_term_string"}},{"@type":"Person","@id":"https:\/\/abap-blog.ru\/#person","name":"Astrafox","image":{"@type":"ImageObject","@id":"https:\/\/abap-blog.ru\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/907cc9d3a027be8998658f18c0a7fa4e?s=96&d=retro&r=g","width":96,"height":96,"caption":"Astrafox"}},{"@type":"BreadcrumbList","@id":"https:\/\/abap-blog.ru\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/abap-blog.ru\/#listItem","position":1,"item":{"@type":"WebPage","@id":"https:\/\/abap-blog.ru\/","name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f","description":"\u0412\u0441\u0435 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 SAP \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445: ABAP, HANA, UI5, OData, Fiori.","url":"https:\/\/abap-blog.ru\/"}}]},{"@type":"CollectionPage","@id":"https:\/\/abap-blog.ru\/#collectionpage","url":"https:\/\/abap-blog.ru\/","name":"ABAP Blog - \u042f\u0437\u044b\u043a ABAP \u0438 \u0432\u0441\u0435 \u0447\u0442\u043e \u0441 \u043d\u0438\u043c \u0441\u0432\u044f\u0437\u0430\u043d\u043e","description":"\u0412\u0441\u0435 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 SAP \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445: ABAP, HANA, UI5, OData, Fiori.","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/abap-blog.ru\/#website"},"breadcrumb":{"@id":"https:\/\/abap-blog.ru\/#breadcrumblist"},"about":{"@id":"https:\/\/abap-blog.ru\/#person"}}]}
19		</script>
19
20		
20<script type="text/javascript">
21			window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
22			ga('create', "UA-150412824-1", { 'cookieDomain': 'abap-blog.ru' } );
23			ga('require', 'outboundLinkTracker');
24			ga('send', 'pageview');
25		</script>
25
26		
26<script async="" src="analytics.js"></script>
26
27		
27<script async="" src="wp-content/plugins/all-in-one-seo-pack/app/Common/Assets/js/autotrack.js?ver=4.1.4.4"></script>
27
28		<!-- All in One SEO -->
29
30<link rel='dns-prefetch' href='index-1.htm'>
31<link rel='dns-prefetch' href='//fonts.googleapis.com'>
32<link rel='dns-prefetch' href='index-2.htm'>
33<link rel="alternate" type="application/rss+xml" title="ABAP Blog &raquo; Лента" href="feed/index.htm.rss">
34<link rel="alternate" type="application/rss+xml" title="ABAP Blog &raquo; Лента комментариев" href="comments/feed/index.htm.rss">
35		
35<script type="text/javascript">
36			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/abap-blog.ru\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8.1"}};
37			!function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings);
38		</script>
38
39		<style type="text/css">
40img.wp-smiley,
41img.emoji {
42	display: inline !important;
43	border: none !important;
44	box-shadow: none !important;
45	height: 1em !important;
46	width: 1em !important;
47	margin: 0 .07em !important;
48	vertical-align: -0.1em !important;
49	background: none !important;
50	padding: 0 !important;
51}
52</style>
53	<link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css?ver=2.8.22' media='all'>
54<link rel='stylesheet' id='crayon-theme-abapblog-css' href='wp-content/uploads/urvanov-syntax-highlighter/themes/abapblog/abapblog.css?ver=2.8.22' media='all'>
55<link rel='stylesheet' id='crayon-theme-abapblog-syntax-css' href='wp-content/uploads/urvanov-syntax-highlighter/themes/abapblog-syntax/abapblog-syntax.css?ver=2.8.22' media='all'>
56<link rel='stylesheet' id='crayon-font-monospace-css' href='wp-content/plugins/urvanov-syntax-highlighter/fonts/monospace.css?ver=2.8.22' media='all'>
57<link rel='stylesheet' id='wp-block-library-css' href='wp-includes/css/dist/block-library/style.min.css?ver=5.8.1' media='all'>
58<link rel='stylesheet' id='arve-main-css' href='wp-content/plugins/advanced-responsive-video-embedder/build/main.css?ver=b809f4d4c33c91a5ae3a5099af09bdde' media='all'>
59<link rel='stylesheet' id='contact-form-7-css' href='wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.5.1' media='all'>
60<link rel='stylesheet' id='bg-shce-genericons-css' href='wp-content/plugins/show-hidecollapse-expand/assets/css/genericons/genericons.css?ver=5.8.1' media='all'>
61<link rel='stylesheet' id='bg-show-hide-css' href='wp-content/plugins/show-hidecollapse-expand/assets/css/bg-show-hide.css?ver=5.8.1' media='all'>
62<link rel='stylesheet' id='dashicons-css' href='wp-includes/css/dashicons.min.css?ver=5.8.1' media='all'>
63<link rel='stylesheet' id='tooltip-css' href='wp-content/plugins/wp-poll/assets/tool-tip.min.css?ver=5.8.1' media='all'>
64<link rel='stylesheet' id='wpp-front-cb-css' href='wp-content/plugins/wp-poll/assets/front/css/checkbox.css?ver=5.8.1' media='all'>
65<link rel='stylesheet' id='wpp-front-css' href='wp-content/plugins/wp-poll/assets/front/css/style.css?ver=5.8.1' media='all'>
66<link rel='stylesheet' id='flat-fonts-css' href='css.css?family=Lobster%7CRoboto:400,700%7CRoboto+Slab%7CRoboto%20Condensed' media='all'>
67<link rel='stylesheet' id='flat-theme-css' href='wp-content/themes/flat/assets/css/flat.css?ver=1.7.11' media='all'>
68<link rel='stylesheet' id='flat-style-css' href='wp-content/themes/flat/style.css?ver=5.8.1' media='all'>
69<link rel='stylesheet' id='slb_core-css' href='wp-content/plugins/simple-lightbox/client/css/app.css?ver=2.8.1' media='all'>
70<link rel='stylesheet' id='decent-comments-widget-css' href='wp-content/plugins/decent-comments/css/decent-comments-widget.css' media='all'>
71<script src='wp-includes/js/jquery/jquery.min.js?ver=3.6.0' id='jquery-core-js'></script>
vendor: 1 bytes, line 71
71
72<script src='wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>
vendor: 1 bytes, line 72
72
73<script type='text/javascript' id='urvanov_syntax_highlighter_js-js-extra'>
74/* <![CDATA[ */
75var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.8.22","is_admin":"0","ajaxurl":"https:\/\/abap-blog.ru\/wp-admin\/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""};
76var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 %s \u0434\u043b\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, %s \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438","minimize":"Click To Expand Code"};
77/* ]]> */
78</script>
vendor: 1 bytes, line 78
78
79<script src='wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.8.22' id='urvanov_syntax_highlighter_js-js'></script>
vendor: 1 bytes, line 79
79
80<script src='wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.13.7' id='regenerator-runtime-js'></script>
vendor: 1 bytes, line 80
80
81<script src='wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0' id='wp-polyfill-js'></script>
vendor: 1 bytes, line 81
81
82<script async="async" src='wp-content/plugins/advanced-responsive-video-embedder/build/main.js?ver=b809f4d4c33c91a5ae3a5099af09bdde' id='arve-main-js'></script>
vendor: 1 bytes, line 82
82
83<script src='wp-content/plugins/wp-poll/assets/front/js/svgcheckbx.js?ver=5.8.1' id='wpp-front-cb-js'></script>
vendor: 1 bytes, line 83
83
84<script type='text/javascript' id='wpp-front-js-extra'>
85/* <![CDATA[ */
86var wpp_object = {"ajaxurl":"https:\/\/abap-blog.ru\/wp-admin\/admin-ajax.php","copyText":"Copied !","voteText":"Vote(s)","tempProDownload":"https:\/\/pluginbazar.com\/my-account\/downloads\/","tempProDownloadTxt":"Download Version 1.1.0"};
87/* ]]> */
88</script>
vendor: 1 bytes, line 88
88
89<script src='wp-content/plugins/wp-poll/assets/front/js/scripts.js?ver=5.8.1' id='wpp-front-js'></script>
vendor: 1 bytes, line 89
89
90<script src='wp-content/themes/flat/assets/js/flat.js?ver=1.7.11' id='flat-js-js'></script>
90
91<!--[if lt IE 9]>
92<script src='https://abap-blog.ru/wp-content/themes/flat/assets/js/html5shiv.min.js?ver=3.7.2' id='html5shiv-js'></script>
92
93<![endif]-->
94<link rel="https://api.w.org/" href="wp-json/index.htm.json"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="xmlrpc.php.xml?rsd">
95<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wp-includes/wlwmanifest.xml"> 
96<meta name="generator" content="WordPress 5.8.1">
97
98<!-- WP Youtube Player 1.7 by unijimpe -->
99<style type="text/css">#page:before, .sidebar-offcanvas, #secondary { background-color: #272727; }@media (max-width: 1199px) { #page &gt; .container { background-color: #272727; } }body { background-size: initial; }</style><style type="text/css">#masthead .site-title {font-family:Lobster}body {font-family:Roboto }h1,h2,h3,h4,h5,h6 {font-family:Roboto Slab}#masthead .site-description, .hentry .entry-meta {font-family:Roboto Condensed}</style><style type="text/css" media="screen">body{position:relative}#dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:20px;right:20px;top:auto;left:auto;font-family:sans-serif;font-size:1em;color:#fff;text-decoration:none;text-shadow:0 1px 0 #333;font-weight:bold;padding:17px 16px;border:2px solid #000;background:#4c5055;-webkit-background-origin:border;-moz-background-origin:border;-icab-background-origin:border;-khtml-background-origin:border;-o-background-origin:border;background-origin:border;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;-icab-background-clip:padding-box;-khtml-background-clip:padding-box;-o-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-ms-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-moz-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-o-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-khtml-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-icab-box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );box-shadow:0 1px 3px rgba( 0, 0, 0, 0.4 ), inset 0 0 0 1px rgba( 0, 0, 0, 0.2 ), inset 0 1px 0 rgba( 255, 255, 255, .4 ), inset 0 10px 10px rgba( 255, 255, 255, .1 );-webkit-border-radius:30px;-moz-border-radius:30px;-icab-border-radius:30px;-khtml-border-radius:30px;border-radius:30px}#dynamic-to-top:hover{background:#4fd650;background:#4c5055 -webkit-gradient( linear, 0% 0%, 0% 100%, from( rgba( 255, 255, 255, .2 ) ), to( rgba( 0, 0, 0, 0 ) ) );background:#4c5055 -webkit-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -khtml-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -moz-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -o-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -ms-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -icab-linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 linear-gradient( top, rgba( 255, 255, 255, .2 ), rgba( 0, 0, 0, 0 ) );cursor:pointer}#dynamic-to-top:active{background:#4c5055;background:#4c5055 -webkit-gradient( linear, 0% 0%, 0% 100%, from( rgba( 0, 0, 0, .3 ) ), to( rgba( 0, 0, 0, 0 ) ) );background:#4c5055 -webkit-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -moz-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -khtml-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -o-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );
99background:#4c5055 -ms-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 -icab-linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) );background:#4c5055 linear-gradient( top, rgba( 0, 0, 0, .1 ), rgba( 0, 0, 0, 0 ) )}#dynamic-to-top,#dynamic-to-top:active,#dynamic-to-top:focus,#dynamic-to-top:hover{outline:none}#dynamic-to-top span{display:block;overflow:hidden;width:14px;height:12px;background:url( wp-content/plugins/dynamic-to-top/css/images/up.png )no-repeat center center}</style><style type="text/css" id="custom-background-css">
100body.custom-background { background-image: url("wp-content/uploads/2014/10/escheresque_ste.png"); background-position: left top; background-size: auto; background-repeat: repeat; background-attachment: scroll; }
101</style>
102		</head>
103
104<body class="home blog custom-background" itemscope="" itemtype="http://schema.org/WebPage">
105		<div id="page">
106	<div class="container">
107		<div class="row row-offcanvas row-offcanvas-left" style="background: #272727;">			
108			
109			<div id="secondary1" class="col-lg-t" style="background: #272727; display:none">
110								<header id="masthead1" class="site-headerex" role="banner">
111										<div class="hgroupex">
112						<h1 class="site-title display-title"><a href="index.htm" title="ABAP Blog" rel="home"><span itemprop="name">ABAP Blog</span></a></h1><h2 itemprop="description" class="site-description">Все о разработке в решениях от SAP</h2>					</div>
113									</header>
114							</div>
115
116
117			<div id="secondary" class="col-lg-3" style="display:block">
118								<header id="masthead" class="site-header" role="banner">
119										<div class="hgroup">
120						<h1 class="site-title display-title"><a href="index.htm" title="ABAP Blog" rel="home"><span itemprop="name">ABAP Blog</span></a></h1><h2 itemprop="description" class="site-description">Все о разработке в решениях от SAP</h2>					</div>
121					<button type="button" class="btn btn-link hidden-lg toggle-sidebar" data-toggle="offcanvas" aria-label="Sidebar"><i class="fa fa-gear"></i></button>
122					<button type="button" class="btn btn-link hidden-lg toggle-navigation" aria-label="Navigation Menu"><i class="fa fa-bars"></i></button>
123					<nav id="site-navigation" class="navigation main-navigation" role="navigation">
124						<ul id="menu-glavnoe-menyu" class="nav-menu"><li id="menu-item-2313" class="fa fa-home menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-has-children menu-item-2313"><a href="index.htm" aria-current="page">Главная</a>
125<ul class="sub-menu">
126	<li id="menu-item-2363" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-2363"><a href="category/osnovy-abap/index.htm">Основы ABAP</a>
127	<ul class="sub-menu">
128		<li id="menu-item-2906" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2906"><a href="category/osnovy-abap/oop/index.htm">ABAP Objects</a></li>
129		<li id="menu-item-2370" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2370"><a href="category/osnovy-abap/slovar/index.htm">ABAP Словарь</a></li>
130		<li id="menu-item-2367" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2367"><a href="category/osnovy-abap/files/index.htm">Работа с файлами</a></li>
131		<li id="menu-item-2364" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2364"><a href="category/osnovy-abap/sap-dynpro/index.htm">SAP Dynpro</a></li>
132		<li id="menu-item-6845" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6845"><a href="category/osnovy-abap/vnutrennie-tablicy/index.htm">Внутренние таблицы</a></li>
133		<li id="menu-item-6849" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6849"><a href="category/osnovy-abap/dinamicheskoe-programmirovanie/index.htm">Динамическое программирование</a></li>
134	</ul>
135</li>
136	<li id="menu-item-2366" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-2366"><a href="category/database-work/index.htm">Работа с БД</a>
137	<ul class="sub-menu">
138		<li id="menu-item-7303" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7303"><a href="category/hana/index.htm">HANA</a></li>
139	</ul>
140</li>
141	<li id="menu-item-2368" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-2368"><a href="category/network/index.htm">Сетевые технологии</a>
142	<ul class="sub-menu">
143		<li id="menu-item-6328" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6328"><a href="category/network/ui5fiori/index.htm">UI5 &amp; Fiori</a></li>
144		<li id="menu-item-6327" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6327">
144<a href="category/network/odata-network/index.htm">OData</a></li>
145		<li id="menu-item-2907" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2907"><a href="category/network/web-dynpro/index.htm">Web Dynpro</a></li>
146	</ul>
147</li>
148	<li id="menu-item-2369" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2369"><a href="category/enhancements/index.htm">Расширения</a></li>
149	<li id="menu-item-6329" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-6329"><a href="category/abap-cloud/index.htm">ABAP Cloud</a></li>
150	<li id="menu-item-2365" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2365"><a href="category/others/index.htm">Прочее</a></li>
151</ul>
152</li>
153<li id="menu-item-3536" class="fa fa-bell menu-item menu-item-type-post_type menu-item-object-page menu-item-3536"><a href="abap-the-best-practice/index.htm">ABAP Best Practice</a></li>
154<li id="menu-item-3727" class="fa fa-child menu-item menu-item-type-post_type menu-item-object-page menu-item-3727"><a href="vakansii/index.htm">Вакансии ABAP</a></li>
155<li id="menu-item-3885" class="fa fa-bookmark menu-item menu-item-type-post_type menu-item-object-page menu-item-3885"><a href="abap-notes/index.htm">Быстрые заметки</a></li>
156<li id="menu-item-2316" class="fa fa-info-circle menu-item menu-item-type-post_type menu-item-object-page menu-item-2316"><a href="about/index.htm">Обо мне</a></li>
157</ul>					</nav>
158									</header>
159				
160				<div class="sidebar-offcanvas">
161<div id="main-sidebar" class="widget-area" role="complementary">
162											<aside id="search-2" class="widget widget_search">
163	<form method="get" id="searchform" action="https://abap-blog.ru/">
164		<label for="s" class="assistive-text">Поиск</label>
165		<input type="text" class="field" name="s" id="s" placeholder="Поиск">
166		<input type="submit" class="submit" name="submit" id="searchsubmit" value="Поиск">
167	</form>
168					</aside>
169					<aside id="linkcat-2" class="widget widget_links">
170						<h3 class='widget-title'>Ссылки</h3>
171
172	<ul class='xoxo blogroll'>
173<li><a href="topics/abap.html" target="_blank">ABAP Community</a></li>
174<li><a href="wiki/display/ABAP/ABAP Development.html" title="Wiki по ABAP" target="_blank">ABAP Development Wiki</a></li>
175<li><a href="doc/abapdocu_latest_index_htm/latest/en-US/index.htm" title="Последняя версия справки по ABAP" target="_blank">ABAP Help</a></li>
176<li><a href="doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm" target="_blank">ABAP Help (Cloud)</a></li>
177<li><a href="learning-journeys/overview.html?role=Developer" target="_blank">Developer Learning Journeys</a></li>
178<li><a href="index-3.htm" target="_blank">Open Source Projects</a></li>
179<li><a href="tutorial-navigator.html" target="_blank">SAP Tutorials</a></li>
180<li><a href="https://t.me/abapblog" target="_blank"><img src="wp-content/uploads/2020/04/telegram-1.png" alt="Канал в Telegram"> Канал в Telegram</a></li>
181
182	</ul>
183					</aside>
184
185					<aside id="endo_wrc_widget-2" class="widget widget_endo_wrc_widget">
186						<h3 class='widget-title'>Цитаты</h3>
187<p>Тот, кто не ищет новых лекарств, должен ожидать появления новых бед, ведь время – величайший новатор.</p>
188<p><strong>Ф. Бэкон</strong></p>
189					</aside>
190								<aside id="custom-post-type-recent-posts-3" class="widget widget_recent_entries">
191						<h3 class='widget-title'>Новое</h3>
192			<ul>
193													<li>
194										<a href="abap-notes/poluchenie-instancii-cl_gui_alv_grid-dlya-salv/index.htm">Получение инстанции cl_gui_alv_grid для SALV</a>
195											<span class="post-date">11.09.2021</span>
196														</li>
197													<li>
198										<a href="abap-cloud/introduction-to-abap-in-the-cloud/index.htm">Introduction to ABAP in the Cloud</a>
199											<span class="post-date">18.08.2021</span>
200														</li>
201													<li>
202										<a href="abap-notes/getting-started-with-fpm-bopf-integration/index.htm">Getting Started with FPM BOPF Integration</a>
203											<span class="post-date">01.06.2021</span>
204														</li>
205													<li>
206										<a href="abap-notes/how-to-use-authority-checks-in-business-object-processing-framework/index.htm">30. How to Use Authority Checks in Business Object Processing Framework</a>
207											<span class="post-date">29.05.2021</span>
208														</li>
209													<li>
210										<a href="abap-notes/bopf-extensibility/index.htm">29. BOPF Extensibility</a>
211											<span class="post-date">29.05.2021</span>
212														</li>
213													<li>
214										<a href="abap-notes/bopf-enterprise-procurement-model-epm/index.htm">28. BOPF Enterprise Procurement Model (EPM)</a>
215											<span class="post-date">29.05.2021</span>
216														</li>
217													<li>
218										<a href="abap-notes/bopf-integration/index.htm">27. BOPF Integration</a>
219											<span class="post-date">29.05.2021</span>
220														</li>
221													<li>
222										<a href="abap-notes/bopf-business-configuration-objects/index.htm">26. BOPF Business Configuration Objects</a>
223											<span class="post-date">29.05.2021</span>
224														</li>
225													<li>
226										<a href="abap-notes/bopf-performance/index.htm">25. BOPF Performance</a>
227											<span class="post-date">29.05.2021</span>
228														</li>
229													<li>
230										<a href="abap-notes/bopf-supportability/index.htm">24. BOPF Supportability</a>
231											<span class="post-date">29.05.2021</span>
232														</li>
233							</ul>
234								</aside>
235					<aside id="decent_comments_widget-2" class="widget widget_decent_comments_widget">
236						<h3 class='widget-title'>Последние комментарии</h3>
237<div class="decent-comments"><ul><li><div class="comment"><span class="comment-author">Николай</span><span class="comment-date"> 27.10.2021 в 15:19</span><span class="comment-link"> на <a href="osnovy-abap/internal-table-as-data-source-select/index.htm#comment-17857">Внутренние таблицы как источник в SQL запросах</a></span><span class="comment-excerpt">Спасибо за статью. Если нужно сделать агрегацию внутренней таблицы то агрегация через передачу во временную таблицу на БД тоже будет работать медленней чем через loop/collect? Например таблица 100к записей, которая становится 5к после агрегации. </span></div></li><li><div class="comment"><span class="comment-author">Аноним</span><span class="comment-date"> 14.10.2021 в 13:50</span><span class="comment-link"> на <a href="osnovy-abap/oop/dekorator-decorator-wrapper/index.htm#comment-17856">Декоратор (Decorator, Wrapper)</a></span><span class="comment-excerpt">Так поведение Decorator не надо будет повторно описывать повторно в других Component. Но это возможно при изменении типа mo_component, например, на object. </span></div></li><li><div class="comment"><span class="comment-author">Александр</span><span class="comment-date"> 11.10.2021 в 06:50</span><span class="comment-link"> на <a href="osnovy-abap/oop/dekorator-decorator-wrapper/index.htm#comment-17854">Декоратор (Decorator, Wrapper)</a></span><span class="comment-excerpt">Привет:) Возможно, я не так выразил мысль. Я имел ввиду, какая ценность от класса Decorator, если можно декорировать поведение от Component и от него же наследовать конкретные декораторы? (см. первую UML диаграмму) </span></div></li><li><div class="comment"><span class="comment-author">Astrafox</span><span class="comment-date"> 10.10.2021 в 12:39</span><span class="comment-link"> на <a href="osnovy-abap/oop/dekorator-decorator-wrapper/index.htm#comment-17853">Декоратор (Decorator, Wrapper)</a></span><span class="comment-excerpt">Привет! Можно и так, однако конкретный компонент может иметь более широкий интерфейс, нежели тот, что нужен в декораторах. Тут скорее пример не совсем удачный, декорируемое поведение лучше вынести в отдельный интерфейс, реализуемый как компонентом, так и декораторами. </span></div></li><li><div class="comment"><span class="comment-author">Александр</span><span class="comment-date"> 04.10.2021 в 12:51</span><span class="comment-link"> на <a href="osnovy-abap/oop/dekorator-decorator-wrapper/index.htm#comment-17850">Декоратор (Decorator, Wrapper)</a></span><span class="comment-excerpt">А какую роль играет базовый класс декоратора lcl_decorator? Что мешает конкретные декораторы наследовать от компонента lcl_concrete_component? Клиентский код и логика выполнения не поменяется. </span></div></li></ul></div>					</aside>
238											</div>
239				</div>
240			</div>
241
242						<div id="primary" class="content-area col-lg-9" itemprop="mainContentOfPage" style="">
243						<div id="content" class="site-content" role="main">
244		
245						<article itemscope="" itemtype="http://schema.org/Article" id="post-6675" class="post-6675 post type-post status-publish format-standard sticky hentry category-bez-rubriki">
246	<header class="entry-header">
247		<h2 class="entry-title" itemprop="name">
248			<a itemprop="url" href="bez-rubriki/gruppa-v-telegram/index.htm" title="Постоянная ссылка: ABAP в Телеграм" rel="bookmark">ABAP в Телеграм</a>
249		</h2>
250							<div class="entry-meta"><span class="entry-date"><a href="bez-rubriki/gruppa-v-telegram/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-03-10T20:25:45+04:00" itemprop="datepublished">10.03.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="bez-rubriki/gruppa-v-telegram/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
251			</header>
252								<div class="entry-content" itemprop="articleBody">
253						<p>Добавил канал в <a href="https://t.me/abapblog">Telegram</a>, присоединяйтесь, там будет чуть больше материалов чем на сайте &#x1f60a;&#x1f44d;</p>
254								</div>
255			</article>
256					<article itemscope="" itemtype="http://schema.org/Article" id="post-7880" class="post-7880 post type-post status-publish format-standard hentry category-abap-cloud">
257	<header class="entry-header">
258		<h2 class="entry-title" itemprop="name">
259			<a itemprop="url" href="abap-cloud/introduction-to-abap-in-the-cloud/index.htm" title="Постоянная ссылка: Introduction to ABAP in the Cloud" rel="bookmark">Introduction to ABAP in the Cloud</a>
260		</h2>
261							<div class="entry-meta"><span class="entry-date"><a href="abap-cloud/introduction-to-abap-in-the-cloud/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-08-18T07:57:16+04:00" itemprop="datepublished">18.08.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="abap-cloud/introduction-to-abap-in-the-cloud/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
262			</header>
263								<div class="entry-content" itemprop="articleBody">
264						<p>На OpenSAP с 15 сентября станет доступен обзорный курс по ABAP в облаке, записаться можно по <a href="courses/abap1.html" target="_blank" rel="nofollow noopener">ссылке</a>.</p>
265<p>Содержимое:</p>
266<ul>
267<li>Unit 1: Basic components of SAP Business Technology Platform</li>
268<li>Unit 2: Introduction to SAP BTP, ABAP environment</li>
269<li>Unit 3: ABAP RESTful Programming Model</li>
270<li>Unit 4: SAP Extension Suite and development efficiency</li>
271<li>Unit 5: Extensibility in SAP S/4HANA</li>
272<li>Unit 6: How to do side-by-side extensions</li>
273</ul>
274								</div>
275			</article>
276					<article itemscope="" itemtype="http://schema.org/Article" id="post-7636" class="post-7636 post type-post status-publish format-standard hentry category-abap-cloud">
277	<header class="entry-header">
278		<h2 class="entry-title" itemprop="name">
279			<a itemprop="url" href="abap-cloud/sap-business-technology-platform-in-a-nutshell/index.htm" title="Постоянная ссылка: SAP Business Technology Platform in a Nutshell" rel="bookmark">SAP Business Technology Platform in a Nutshell</a>
280		</h2>
281							<div class="entry-meta"><span class="entry-date"><a href="abap-cloud/sap-business-technology-platform-in-a-nutshell/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-05-27T17:03:54+04:00" itemprop="datepublished">27.05.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="abap-cloud/sap-business-technology-platform-in-a-nutshell/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
282			</header>
283								<div class="entry-content" itemprop="articleBody">
284						<p>На OpenSAP в скором времени стартует обзорный курс по BTP. записаться можно по <a href="courses/btp1.html" rel="nofollow ">ссылке</a>.</p>
285<p>Содержимое:</p>
286<ul>
287<li>Unit 1: SAP Business Technology Platform: strategy and offering</li>
288<li>Unit 2: Integration: connecting processes, data, and experiences</li>
289<li>Unit 3: Data to value: enabling customers to improve with confidence</li>
290<li>Unit 4: Extensibility: enhancing and customizing the business processes</li>
291<li>Unit 5: Key takeaways: SAP Business Technology Platform in a nutshell</li>
292</ul>
293<p>Хороший обзор на тему BTP можно почитать <a href="2021/05/26/btp-scp-cap-rap...-omg/index.htm" rel="nofollow ">тут</a>.</p>
294								</div>
295			</article>
296					<article itemscope="" itemtype="http://schema.org/Article" id="post-7628" class="post-7628 post type-post status-publish format-standard hentry category-osnovy-abap">
297	<header class="entry-header">
298		<h2 class="entry-title" itemprop="name">
299			<a itemprop="url" href="osnovy-abap/vebinar-na-temu-clean-code/index.htm" title="Постоянная ссылка: Вебинар на тему Clean Code" rel="bookmark">Вебинар на тему Clean Code</a>
300		</h2>
301							<div class="entry-meta"><span class="entry-date"><a href="osnovy-abap/vebinar-na-temu-clean-code/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-05-25T20:30:00+04:00" itemprop="datepublished">25.05.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="osnovy-abap/vebinar-na-temu-clean-code/index.htm#comments" itemprop="discussionUrl">3 комментария</a></span></div>
302			</header>
303								<div class="entry-content" itemprop="articleBody">
304						<p><a href="wp-content/uploads/2021/05/CleanCode.png" data-slb-active="1" data-slb-asset="687084886" data-slb-internal="0" data-slb-group="7628"><img loading="lazy" class="alignnone size-full wp-image-7629" src="wp-content/uploads/2021/05/CleanCode.png" alt="" width="1346" height="319" srcset="wp-content/uploads/2021/05/CleanCode.png 1346w, wp-content/uploads/2021/05/CleanCode
304-300x71.png 300w, wp-content/uploads/2021/05/CleanCode-1024x243.png 1024w, wp-content/uploads/2021/05/CleanCode-768x182.png 768w" sizes="(max-width: 1346px) 100vw, 1346px"></a></p>
305<p>Регистрация <a href="https://t.co/9GheNVjAo4?amp=1" target="_blank" rel="noopener">по ссылке</a>.</p>
306								</div>
307			</article>
308					<article itemscope="" itemtype="http://schema.org/Article" id="post-7264" class="post-7264 post type-post status-publish format-standard hentry category-hana">
309	<header class="entry-header">
310		<h2 class="entry-title" itemprop="name">
311			<a itemprop="url" href="hana/hana-fuzzy-search/index.htm" title="Постоянная ссылка: Оценка похожести строк через Fuzzy Search" rel="bookmark">Оценка похожести строк через Fuzzy Search</a>
312		</h2>
313							<div class="entry-meta"><span class="entry-date"><a href="hana/hana-fuzzy-search/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-26T17:05:19+04:00" itemprop="datepublished">26.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="hana/hana-fuzzy-search/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
314			</header>
315								<div class="entry-content" itemprop="articleBody">
316						<p><a href="wp-content/uploads/2021/04/database-search-2361-2.png" data-slb-active="1" data-slb-asset="1141208983" data-slb-internal="0" data-slb-group="7264"><img loading="lazy" class="wp-image-7274 alignright" src="wp-content/uploads/2021/04/database-search-2361-2.png" alt="" width="255" height="255" srcset="wp-content/uploads/2021/04/database-search-2361-2.png 512w, wp-content/uploads/2021/04/database-search-2361-2-300x300.png 300w, wp-content/uploads/2021/04/database-search-2361-2-150x150.png 150w" sizes="(max-width: 255px) 100vw, 255px"></a>Использование функционала поиска в HANA довольно обширная тема, которой посвящена <a href="viewer/691cb949c1034198800afde3e5be6570/2.0.05/en-US/ce86ef2fd97610149eaaaa0244ca4d36.html" target="_blank" rel="noopener">отдельный гайд в документации</a>.</p>
317<p>В данной же статье хотелось бы рассмотреть её небольшую часть, а именно нечёткий поиск или <a href="viewer/691cb949c1034198800afde3e5be6570/2.0.05/en-US/cc602780bb5710148aa2bf6cab3c015b.html" target="_blank" rel="noopener"><strong>Fuzzy Search</strong></a> для оценки похожести строк.</p>
318<p>В целом нечёткий поиск может быть использован в разных сценариях, например:</p>
319<ul>
320<li>Для облегчения поиска пользователя, когда заранее может быть неизвестно точное наименование материала или номера документа.</li>
321<li>Для поиска по заранее определённым столбцам, когда пользователь ищет некоторый адрес вводя индекс или часть названия улицы.</li>
322<li>Для сопоставления распознанных данных в каком-нибудь OCR движке (который может иногда выдавать не 100% результат) с тем что лежит в системе.</li>
323</ul>
324<p><a class="btn btn-default btn-sm" href="hana/hana-fuzzy-search/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
325								</div>
326			</article>
327					<article itemscope="" itemtype="http://schema.org/Article" id="post-7234" class="post-7234 post type-post status-publish format-standard hentry category-others">
328	<header class="entry-header">
329		<h2 class="entry-title" itemprop="name">
330			<a itemprop="url" href="others/sxpg_framework/index.htm" title="Постоянная ссылка: SXPG Framework" rel="bookmark">SXPG Framework</a>
331		</h2>
332							<div class="entry-meta"><span class="entry-date"><a href="others/sxpg_framework/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-25T13:23:40+04:00" itemprop="datepublished">25.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="others/sxpg_framework/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
333			</header>
334								<div class="entry-content" itemprop="articleBody">
335						<p><a href="wp-content/uploads/2021/04/bash_36261.png" data-slb-active="1" data-slb-asset="2118356864" data-slb-internal="0" data-slb-group="7234"><img loading="lazy" class="wp-image-7237 alignleft" src="wp-content/uploads/2021/04/bash_36261.png" alt="" width="285" height="285" srcset="wp-content/uploads/2021/04/bash_36261.png 512w, wp-content/uploads/2021/04/bash_36261-300x300.png 300w, wp-content/uploads/2021/04/bash_36261-150x150.png 150w" sizes="(max-width: 285px) 100v
335w, 285px"></a></p>
336<p>Некоторые задачи невозможно или очень сложно решить только средствами языка ABAP (работа с архивами, криптографией и т.п.), в таких случаях мы можем воспользоваться внешними программами либо через их вызов на сервере представления, либо на сервере приложений.</p>
337<p><a href="osnovy-abap/frontend/index.htm" target="_blank" rel="noopener">Взаимодействие с сервером представления</a> уже было ранее описано в блоге. В данной статье рассмотрим возможности вызова команд на стороне сервера приложений.</p>
338<p>Существует как минимум три возможности вызова команд на сервере приложений:</p>
339<ul>
340<li>Использование дополнения <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abapopen_dataset_os_addition.htm" target="_blank" rel="noopener">FILTER</a> в OPEN DATASET</li>
341<li>Использование команды <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abapcall-.htm" target="_blank" rel="noopener">CALL &#8216;SYSTEM&#8217;</a></li>
342<li>Вызов команд через <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abenabap_system_commands_appl_sxpg.htm" target="_blank" rel="noopener">SXPG</a> фреймворк</li>
343</ul>
344<p>Первые два способа официально <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abenabap_system_commands_appl_depr.htm" target="_blank" rel="noopener">не рекомендуется использовать</a>, по следующим причинам:</p>
345<ul>
346<li>Нет централизованной проверки полномочий</li>
347<li>Платформенная зависимость должна быть обработана на уровне ABAP кода</li>
348<li>Отсутствие возможности обработки исключительных ситуаций</li>
349<li>Возможны <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abensys_comm_injections_scrty.htm" target="_blank" rel="noopener">вредоносные внедрения системных команд</a></li>
350</ul>
351<p>Рассмотрим третий вариант.</p>
352<p><a class="btn btn-default btn-sm" href="others/sxpg_framework/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
353								</div>
354			</article>
355					<article itemscope="" itemtype="http://schema.org/Article" id="post-7192" class="post-7192 post type-post status-publish format-standard hentry category-sap-dynpro category-osnovy-abap">
356	<header class="entry-header">
357		<h2 class="entry-title" itemprop="name">
358			<a itemprop="url" href="osnovy-abap/call_transaction_se91_documentation/index.htm" title="Постоянная ссылка: Запуск транзакций из сообщений" rel="bookmark">Запуск транзакций из сообщений</a>
359		</h2>
360							<div class="entry-meta"><span class="entry-date"><a href="osnovy-abap/call_transaction_se91_documentation/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-22T13:17:05+04:00" itemprop="datepublished">22.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="osnovy-abap/call_transaction_se91_documentation/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
361			</header>
362								<div class="entry-content" itemprop="articleBody">
363						<p>В подробных текстах сообщений (тр. <strong>SE91</strong>) или в документации (тр. <strong>SO10</strong>) мы кроме непосредственно описания можем так же вставлять ссылки на транзакции или отчёты для их запуска, что позволяет упростить жизнь пользователям.</p>
364<p><a href="wp-content/uploads/2021/04/run_report.png" data-slb-active="1" data-slb-asset="2072421264" data-slb-internal="0" data-slb-group="7192"><img loading="lazy" class="alignnone size-full wp-image-7224" src="wp-content/uploads/2021/04/run_report.png" alt="" width="424" height="179" srcset="wp-content/uploads/2021/04/run_report.png 424w, wp-content/uploads/2021/04/run_report-300x127.png 300w" sizes="(max-width: 424px) 100vw, 424px"></a></p>
365<p>Однако у стандартной реализации данного механизма есть ряд ограничений:</p>
366<ul>
367<li>Длинна ссылки ограничена, из-за чего передать все необходимые параметры для запуска транзакции может не получиться.</li>
368<li>Нет возможности вставки интернет-ссылок более 70 символов (ограничение стандарта).</li>
369<li>Нет возможности запуска отчёта с параметрами (только запуск с вариантом).</li>
370</ul>
371<p>В статье рассмотрим каким образом можно расширить стандартные возможности чтобы избежать вышеуказанных ограничений.</p>
372<p><a class="btn btn-default btn-sm" href="osnovy-abap/call_transaction_se91_documentation/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
373								</div>
374			</article>
375					<article itemscope="" itemtype="http://schema.org/Article" id="post-7156" class="post-7156 post type-post status-publish format-standard hentry category-osnovy-abap">
376	<header class="entry-header">
377		<h2 class="entry-title" itemprop="name">
378			<a itemprop="url" href="osnovy-abap/call_transaction_sbwp/index.htm" title="Постоянная ссылка: Запуск транзакций из SBWP" rel="bookmark">Запуск транзакций из SBWP</a>
379		</h2>
380							<div class="entry-meta"><span class="entry-date"><a href="osnovy-abap/call_transaction_sbwp/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-21T08:48:16+04:00" itemprop="datepublished">21.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="osnovy-abap/call_transaction_sbwp/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
381			</header>
382								<div class="entry-content" itemprop="articleBody">
383						<p>Иногда нам необходимо оповестить пользователя о каком-либо событии по внутренней почте, с возможностью его перехода к заданной транзакции и с учётом контекста оповещения, т.е. с заполнением параметров актуальных для данного оповещения.</p>
384<p>Во внутренней почте мы можем сформировать ссылку на бизнес объект (транзакция <strong>SWO1</strong>), а уже у бизнес объекта реализовать метод <strong>display</strong> для запуска нужной нам транзакции.</p>
385<p>Давайте разберёмся как это сделать.</p>
386<p><a class="btn btn-default btn-sm" href="osnovy-abap/call_transaction_sbwp/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
387								</div>
388			</article>
389					<article itemscope="" itemtype="http://schema.org/Article" id="post-7180" class="post-7180 post type-post status-publish format-standard hentry category-ui5fiori category-network">
390	<header class="entry-header">
391		<h2 class="entry-title" itemprop="name">
392			<a itemprop="url" href="network/developing-and-extending-sap-fiori-elements-apps/index.htm" title="Постоянная ссылка: Developing and Extending SAP Fiori Elements Apps" rel="bookmark">Developing and Extending SAP Fiori Elements Apps</a>
393		</h2>
394							<div class="entry-meta"><span class="entry-date"><a href="network/developing-and-extending-sap-fiori-elements-apps/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-20T21:54:59+04:00" itemprop="datepublished">20.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="network/developing-and-extending-sap-fiori-elements-apps/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
395			</header>
396								<div class="entry-content" itemprop="articleBody">
397						<p>На OpenSAP анонсировали <a href="courses/fiori-ea1.html" target="_blank" rel="noopener">курс</a> посвящённый разработке и расширению приложений на базе Fiori Elements, темы курса:</p>
398<ul>
399<li>Week 1: Introducing SAP Fiori Elements</li>
400<li>Week 2: Building Your First SAP Fiori Elements App</li>
401<li>Week 3: Using More SAP Fiori Elements Capabilities</li>
402<li>Week 4: Extending a Standard SAP Fiori App</li>
403<li>Week 5: Final Exam</li>
404</ul>
405								</div>
406			</article>
407					<article itemscope="" itemtype="http://schema.org/Article" id="post-7127" class="post-7127 post type-post status-publish format-standard hentry category-osnovy-abap category-database-work">
408	<header class="entry-header">
409		<h2 class="entry-title" itemprop="name">
410			<a itemprop="url" href="osnovy-abap/internal-table-as-data-source-select/index.htm" title="Постоянная ссылка: Внутренние таблицы как источник в SQL запросах" rel="bookmark">Внутренние таблицы как источник в SQL запросах</a>
411		</h2>
412							<div class="entry-meta"><span class="entry-date"><a href="osnovy-abap/internal-table-as-data-source-select/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-13T21:58:58+04:00" itemprop="datepublished">13.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="osnovy-abap/internal-table-as-data-source-select/index.htm#comments" itemprop="discussionUrl">1 комментарий</a></span></div>
413			</header>
414								<div class="entry-content" itemprop="articleBody">
415						<p>В релизе ABAP 7.52 стало возможным использование внутренних таблиц как <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abapselect_itab.htm" target="_blank" rel="noopener">источника данных</a> в ABAP SQL:</p><!-- Urvanov Syntax Highlighter v2.8.22 -->
416
417		<div id="urvanov-syntax-highlighter-618a041c25f59094988609" class="urvanov-syntax-highlighter-syntax crayon-theme-abapblog-syntax urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-bottom: 12px; clear: none; font-size: 12px !important; line-height: 15px !important;">
418		
419			<div class="urvanov-syntax-highlighter-plain-wrap"></div>
420			<div class="urvanov-syntax-highlighter-main" style="">
421				<table class="crayon-table">
422					<tr class="urvanov-syntax-highlighter-row">
423				<td class="crayon-nums " data-settings="show">
424					<div class="urvanov-syntax-highlighter-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-618a041c25f59094988609-1">1</div></div>
425				</td>
426						<td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-618a041c25f59094988609-1"><span class="crayon-st">SELECT</span><span class="crayon-h"> </span><span class="crayon-st">FROM</span><span class="crayon-h"> </span><span class="crayon-o">.</span><span class="crayon-o">.</span><span class="crayon-o">.</span><span class="crayon-sy">@</span>itab<span class="crayon-h"> </span><span class="crayon-st">AS</span><span class="crayon-h"> </span>
426table<span class="crayon-sy">_</span>alias<span class="crayon-o">.</span><span class="crayon-o">.</span><span class="crayon-o">.</span></div></div></td>
427					</tr>
428				</table>
429			</div>
430		</div>
431<!-- [Format Time: 0.0010 seconds] -->
432<p>Существует два сценария выполнения таких запросов:</p>
433<ul>
434<li>Для выполнения SQL запроса не требуется переноса содержимого внутренней таблицы на уровень СУБД. В таком случае обработка запроса осуществляется непосредственно на сервере приложений, по аналогии с табличным буфером.</li>
435<li>Для выполнения SQL запроса требуется перенести содержимое внутренней таблицы во временную таблицу на уровень СУБД. Этот сценарий поддерживается не всеми СУБД и чтобы статический анализ кода не ругался, следует использовать прагму: <strong>##itab_db_select</strong>. При отсутствии поддержки система выдаст исключение в runtime &#8212; CX_SY_SQL_UNSUPPORTED_FEATURE.</li>
436</ul>
437<p>Разберём текущие особенности использования этих сценариев.</p>
438<p><a class="btn btn-default btn-sm" href="osnovy-abap/internal-table-as-data-source-select/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
439								</div>
440			</article>
441					<article itemscope="" itemtype="http://schema.org/Article" id="post-7082" class="post-7082 post type-post status-publish format-standard hentry category-osnovy-abap">
442	<header class="entry-header">
443		<h2 class="entry-title" itemprop="name">
444			<a itemprop="url" href="osnovy-abap/dinamicheskie-zhurnalnye-tochki/index.htm" title="Постоянная ссылка: Динамические журнальные точки" rel="bookmark">Динамические журнальные точки</a>
445		</h2>
446							<div class="entry-meta"><span class="entry-date"><a href="osnovy-abap/dinamicheskie-zhurnalnye-tochki/index.htm" rel="bookmark"><time class="entry-date published" datetime="2021-04-08T17:52:18+04:00" itemprop="datepublished">08.04.2021</time></a></span> от <span class="author vcard" itemscope="" itemprop="author" itemtype="http://schema.org/Person"><a class="url fn n" href="author/admin/index.htm" rel="author" itemprop="url"><span itemprop="name">Astrafox</span></a></span><span class="sep">&middot;</span><span class="comments-link"><a href="osnovy-abap/dinamicheskie-zhurnalnye-tochki/index.htm#respond" itemprop="discussionUrl">Нет комментариев</a></span></div>
447			</header>
448								<div class="entry-content" itemprop="articleBody">
449						<p>В ABAP довольно таки давно существует функционал журнальных точек, который позволяет активировать запись в журнал (в тр. SAAB) определённых данных из программы. Для этого необходимо завести ключ (ID группы контрольных точек) и в коде использовать оператор <a href="https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abaplog-point.htm" target="_blank" rel="noopener">LOG-POINT.</a></p>
450<p>Но что если необходимо поместить в журнал некоторые данные при выполнении программы, а менять код нельзя? Или необходимо понять откуда конкретно вызывается анализируемый код?</p>
451<p>Для этих целей начиная с ABAP 7.5 ввели так называемые динамические журнальные точки, которые позволяют:</p>
452<ul>
453<li>Сохранять значения переменных по определённым условиям</li>
454<li>Записывать стек вызовов, чтобы понять откуда происходит вызов того или иного кода</li>
455<li>Выполнять анализ выполнения отдельного SQL выражения</li>
456<li>Активировать запись SQL трассировки для заданного выражения оп указанному условию</li>
457<li>Активировать трассировку использования табличного буфера заданного SQL выражения для анализа потребляемой памяти</li>
458</ul>
459<p>Создавать или модифицировать журнальные точки можно либо через ADT (Eclipse), либо через транзакцию <strong>SDLP</strong>.</p>
460<p>Далее на простых примерах рассмотрим вариант использования.</p>
461<p><a class="btn btn-default btn-sm" href="osnovy-abap/dinamicheskie-zhurnalnye-tochki/index.htm">Читать далее <i class="fa fa-angle-double-right"></i></a></p>
462								</div>
463			</article>
464				
465	<nav class="navigation pagination" role="navigation" aria-label="Записи">
466		<h2 class="screen-reader-text">Навигация по записям</h2>
467		<div class="nav-links"><span aria-current="page" class="page-numbers current">1</span>
468<a class="page-numbers" href="page/2/index.htm">2</a>
469<span class="page-numbers dots">&hellip;</span>
470<a class="page-numbers" href="page/26/index.htm">26</a>
471<a class="next page-numbers" href="page/2/index.htm"><i class="fa fa-chevron-right"></i></a></div>
472	</nav>	
473			</div>
474								</div>
475					</div>
476	</div>
477</div>
478<script type='text/javascript' id='contact-form-7-js-extra'>
479/* <![CDATA[ */
480var wpcf7 = {"api":{"root":"https:\/\/abap-blog.ru\/wp-json\/","namespace":"contact-form-7\/v1"}};
481/* ]]> */
482</script>
vendor: 1 bytes, line 482
482
483<script src='wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.5.1' id='contact-form-7-js'></script>
vendor: 1 bytes, line 483
483
484<script src='wp-includes/js/jquery/ui/effect.min.js?ver=1.12.1' id='jquery-effects-core-js'></script>
vendor: 1 bytes, line 484
484
485<script src='wp-includes/js/jquery/ui/effect-slide.min.js?ver=1.12.1' id='jquery-effects-slide-js'></script>
vendor: 1 bytes, line 485
485
486<script src='wp-includes/js/jquery/ui/effect-highlight.min.js?ver=1.12.1' id='jquery-effects-highlight-js'></script>
vendor: 1 bytes, line 486
486
487<script src='wp-includes/js/jquery/ui/effect-fold.min.js?ver=1.12.1' id='jquery-effects-fold-js'></script>
vendor: 1 bytes, line 487
487
488<script src='wp-includes/js/jquery/ui/effect-blind.min.js?ver=1.12.1' id='jquery-effects-blind-js'></script>
vendor: 1 bytes, line 488
488
489<script src='wp-content/plugins/show-hidecollapse-expand/assets/js/bg-show-hide.js?ver=5.8.1' id='bg-show-hide-script-js'></script>
vendor: 1 bytes, line 489
489
490<script src='wp-content/plugins/dynamic-to-top/js/libs/jquery.easing.js?ver=1.3' id='jquery-easing-js'></script>
vendor: 1 bytes, line 490
490
491<script type='text/javascript' id='dynamic-to-top-js-extra'>
492/* <![CDATA[ */
493var mv_dynamic_to_top = {"text":"To Top","version":"0","min":"300","speed":"1100","easing":"easeInExpo","margin":"20"};
494/* ]]> */
495</script>
vendor: 1 bytes, line 495
495
496<script src='wp-content/plugins/dynamic-to-top/js/dynamic.to.top.min.js?ver=3.5' id='dynamic-to-top-js'></script>
vendor: 1 bytes, line 496
496
497<script src='recaptcha/api.js?render=6LdA3s4UAAAAADBjYG-YFAEz4zKS3lKp1CB_BHMC&#038;ver=3.0' id='google-recaptcha-js'></script>
vendor: 1 bytes, line 497
497
498<script type='text/javascript' id='wpcf7-recaptcha-js-extra'>
499/* <![CDATA[ */
500var wpcf7_recaptcha = {"sitekey":"6LdA3s4UAAAAADBjYG-YFAEz4zKS3lKp1CB_BHMC","actions":{"homepage":"homepage","contactform":"contactform"}};
501/* ]]> */
502</script>
vendor: 1 bytes, line 502
502
503<script src='wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=5.5.1' id='wpcf7-recaptcha-js'></script>
vendor: 1 bytes, line 503
503
504<script src='wp-includes/js/wp-embed.min.js?ver=5.8.1' id='wp-embed-js'></script>
vendor: 1 bytes, line 504
504
505<script src='wp-content/plugins/simple-lightbox/client/js/prod/lib.core.js?ver=2.8.1' id='slb_core-js'></script>
vendor: 1 bytes, line 505
505
506<script src='wp-content/plugins/simple-lightbox/client/js/prod/lib.view.js?ver=2.8.1' id='slb_view-js'></script>
vendor: 1 bytes, line 506
506
507<script src='wp-content/plugins/simple-lightbox/themes/baseline/js/prod/client.js?ver=2.8.1' id='slb-asset-slb_baseline-base-js'></script>
vendor: 1 bytes, line 507
507
508<script src='wp-content/plugins/simple-lightbox/themes/default/js/prod/client.js?ver=2.8.1' id='slb-asset-slb_default-base-js'></script>
vendor: 1 bytes, line 508
508
509<script src='wp-content/plugins/simple-lightbox/template-tags/item/js/prod/tag.item.js?ver=2.8.1' id='slb-asset-item-base-js'></script>
vendor: 1 bytes, line 509
509
510<script src='wp-content/plugins/simple-lightbox/template-tags/ui/js/prod/tag.ui.js?ver=2.8.1' id='slb-asset-ui-base-js'></script>
vendor: 1 bytes, line 510
510
511<script src='wp-content/plugins/simple-lightbox/content-handlers/image/js/prod/handler.image.js?ver=2.8.1' id='slb-asset-image-base-js'></script>
vendor: 1 bytes, line 511
511
512<script type="text/javascript" id="slb_footer">/* <![CDATA[ */if ( !!window.jQuery ) {(function($){$(document).ready(function(){if ( !!window.SLB && SLB.has_child('View.init') ) { SLB.View.init({"ui_autofit":true,"ui_animate":true,"slideshow_autostart":false,"slideshow_duration":"6","group_loop":true,"ui_overlay_opacity":"0.8","ui_title_default":false,"theme_default":"slb_default","ui_labels":{"loading":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","nav_next":"\u0412\u043f\u0435\u0440\u0435\u0434","nav_prev":"\u041d\u0430\u0437\u0430\u0434","slideshow_start":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0430\u0439\u0434\u0448\u043e\u0443","slideshow_stop":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043b\u0430\u0439\u0434\u0448\u043e\u0443","group_status":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 %current%  \u0438\u0437 %total%"}}); }
513if ( !!window.SLB && SLB.has_child('View.assets') ) { {$.extend(SLB.View.assets, {"687084886":{"id":7629,"type":"image","internal":true,"source":"https:\/\/abap-blog.ru\/wp-content\/uploads\/2021\/05\/CleanCode.png","title":"CleanCode","caption":"","description":""},"1141208983":{"id":7274,"type":"image","internal":true,"source":"https:\/\/abap-blog.ru\/wp-content\/uploads\/2021\/04\/database-search-2361-2.png","title":"database-search-2361 (2)","caption":"","description":""},"2118356864":{"id":7237,"type":"image","internal":true,"source":"https:\/\/abap-blog.ru\/wp-content\/uploads\/2021\/04\/bash_36261.png","title":"bash_36261","caption":"","description":""},"2072421264":{"id":7224,"type":"image","internal":true,"source":"https:\/\/abap-blog.ru\/wp-content\/uploads\/2021\/04\/run_report.png","title":"run_report","caption":"","description":""}});} }
514/* THM */
515if ( !!window.SLB && SLB.has_child('View.extend_theme') ) { SLB.View.extend_theme('slb_baseline',{"name":"\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043b\u0438\u043d\u0438\u044f","parent":"","styles":[{"handle":"base","uri":"https:\/\/abap-blog.ru\/wp-content\/plugins\/simple-lightbox\/themes\/baseline\/css\/style.css","deps":[]}],"layout_raw":"<div class=\"slb_container\"><div class=\"slb_content\">{{item.content}}<div class=\"slb_nav\"><span class=\"slb_prev\">{{ui.nav_prev}}<\/span><span class=\"slb_next\">{{ui.nav_next}}<\/span><\/div><div class=\"slb_controls\"><span class=\"slb_close\">{{ui.close}}<\/span><span class=\"slb_slideshow\">{{ui.slideshow_control}}<\/span><\/div><div class=\"slb_loading\">{{ui.loading}}<\/div><\/div><div class=\"slb_details\"><div class=\"inner\"><div class=\"slb_data\"><div class=\"slb_data_content\"><span class=\"slb_data_title\">{{item.title}}<\/span><span class=\"slb_group_status\">{{ui.group_status}}<\/span><div class=\"slb_data_desc\">{{item.description}}<\/div><\/div><\/div><div class=\"slb_nav\"><span class=\"slb_prev\">{{ui.nav_prev}}<\/span><span class=\"slb_next\">{{ui.nav_next}}<\/span><\/div><\/div><\/div><\/div>"}); }if ( !!window.SLB && SLB.has_child('View.extend_theme') ) { SLB.View.extend_theme('slb_default',{"name":"\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0441\u0432\u0435\u0442\u043b\u044b\u0439)","parent":"slb_baseline","styles":[{"handle":"base","uri":"https:\/\/abap-blog.ru\/wp-content\/plugins\/simple-lightbox\/themes\/default\/css\/style.css","deps":[]}]}); }})})(jQuery);}/* ]]> */</script>
vendor: 1 bytes, line 515
515
516<script type="text/javascript" id="slb_context">/* <![CDATA[ */if ( !!window.jQuery ) {(function($){$(document).ready(function(){if ( !!window.SLB ) { {$.extend(SLB, {"context":["public","user_guest"]});} }})})(jQuery);}/* ]]> */</script>
516
517</body>
518</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.