├── .abapgit.xml ├── LICENSE ├── README.rst ├── docs ├── Makefile ├── _build │ ├── doctrees │ │ ├── environment.pickle │ │ └── index.doctree │ └── html │ │ ├── _sources │ │ └── index.rst.txt │ │ ├── _static │ │ ├── ajax-loader.gif │ │ ├── alabaster.css │ │ ├── basic.css │ │ ├── comment-bright.png │ │ ├── comment-close.png │ │ ├── comment.png │ │ ├── custom.css │ │ ├── doctools.js │ │ ├── documentation_options.js │ │ ├── down-pressed.png │ │ ├── down.png │ │ ├── file.png │ │ ├── jquery-3.2.1.js │ │ ├── jquery.js │ │ ├── minus.png │ │ ├── plus.png │ │ ├── pygments.css │ │ ├── searchtools.js │ │ ├── underscore-1.3.1.js │ │ ├── underscore.js │ │ ├── up-pressed.png │ │ ├── up.png │ │ └── websupport.js │ │ ├── genindex.html │ │ ├── index.html │ │ ├── objects.inv │ │ ├── search.html │ │ └── searchindex.js ├── conf.py ├── index.rst ├── locales.rst ├── locales │ └── .dummy ├── make.bat ├── providers.rst └── providers │ └── .dummy └── src ├── package.devc.xml ├── provider ├── address │ ├── package.devc.xml │ ├── zcl_faker_address_de_de.clas.abap │ ├── zcl_faker_address_de_de.clas.xml │ ├── zcl_faker_address_default.clas.abap │ ├── zcl_faker_address_default.clas.xml │ ├── zcl_faker_address_en_us.clas.abap │ ├── zcl_faker_address_en_us.clas.xml │ ├── zcl_faker_address_pt_br.clas.abap │ ├── zcl_faker_address_pt_br.clas.xml │ ├── zcl_faker_provider_address.clas.abap │ └── zcl_faker_provider_address.clas.xml ├── company │ ├── package.devc.xml │ ├── zcl_faker_company_de_de.clas.abap │ ├── zcl_faker_company_de_de.clas.xml │ ├── zcl_faker_company_default.clas.abap │ ├── zcl_faker_company_default.clas.xml │ ├── zcl_faker_company_en_us.clas.abap │ ├── zcl_faker_company_en_us.clas.xml │ ├── zcl_faker_company_pt_br.clas.abap │ ├── zcl_faker_company_pt_br.clas.xml │ ├── zcl_faker_provider_company.clas.abap │ └── zcl_faker_provider_company.clas.xml ├── date │ ├── package.devc.xml │ ├── zcl_faker_date_de_de.clas.abap │ ├── zcl_faker_date_de_de.clas.xml │ ├── zcl_faker_date_default.clas.abap │ ├── zcl_faker_date_default.clas.xml │ ├── zcl_faker_date_en_us.clas.abap │ ├── zcl_faker_date_en_us.clas.xml │ ├── zcl_faker_provider_date.clas.abap │ └── zcl_faker_provider_date.clas.xml ├── job │ ├── package.devc.xml │ ├── zcl_faker_job_de_de.clas.abap │ ├── zcl_faker_job_de_de.clas.xml │ ├── zcl_faker_job_default.clas.abap │ ├── zcl_faker_job_default.clas.xml │ ├── zcl_faker_job_en_us.clas.abap │ ├── zcl_faker_job_en_us.clas.xml │ ├── zcl_faker_job_pt_br.clas.abap │ ├── zcl_faker_job_pt_br.clas.xml │ ├── zcl_faker_provider_job.clas.abap │ └── zcl_faker_provider_job.clas.xml ├── package.devc.xml ├── person │ ├── package.devc.xml │ ├── zcl_faker_person_de_de.clas.abap │ ├── zcl_faker_person_de_de.clas.xml │ ├── zcl_faker_person_default.clas.abap │ ├── zcl_faker_person_default.clas.xml │ ├── zcl_faker_person_en_us.clas.abap │ ├── zcl_faker_person_en_us.clas.xml │ ├── zcl_faker_person_pt_br.clas.abap │ ├── zcl_faker_person_pt_br.clas.xml │ ├── zcl_faker_provider_person.clas.abap │ └── zcl_faker_provider_person.clas.xml ├── phone │ ├── package.devc.xml │ ├── zcl_faker_phone_de_de.clas.abap │ ├── zcl_faker_phone_de_de.clas.xml │ ├── zcl_faker_phone_default.clas.abap │ ├── zcl_faker_phone_default.clas.xml │ ├── zcl_faker_phone_en_us.clas.abap │ ├── zcl_faker_phone_en_us.clas.xml │ ├── zcl_faker_phone_pt_br.clas.abap │ ├── zcl_faker_phone_pt_br.clas.xml │ ├── zcl_faker_provider_phone.clas.abap │ └── zcl_faker_provider_phone.clas.xml ├── zcl_faker_provider.clas.abap └── zcl_faker_provider.clas.xml ├── z_abap_faker_demo.prog.abap ├── z_abap_faker_demo.prog.xml ├── zcl_faker.clas.abap ├── zcl_faker.clas.xml ├── zcl_faker_generator.clas.abap └── zcl_faker_generator.clas.xml /.abapgit.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | E 6 | /src/ 7 | PREFIX 8 | 9 | /.gitignore 10 | /LICENSE 11 | /README.md 12 | /package.json 13 | /.travis.yml 14 | /README.rst 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Uwe Fetzer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | *abapFaker* is an ABAP package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you. 2 | 3 | Design inspired by https://github.com/joke2k/faker. 4 | 5 | ---- 6 | 7 | :: 8 | 9 | _|_|_|_| _| 10 | _| _|_|_| _| _| _|_| _| _|_| 11 | _|_|_| _| _| _|_| _|_|_|_| _|_| 12 | _| _| _| _| _| _| _| 13 | _| _|_|_| _| _| _|_|_| _| 14 | 15 | |docs| |license| 16 | 17 | For more details, see the `extended docs`_. 18 | 19 | Installation 20 | ----------- 21 | This project is supported by `ABAPGit Project`_. Download ZIP file or integrate this project to him. 22 | 23 | Basic Usage 24 | ----------- 25 | See also demo report `Z_ABAP_FAKER_DEMO`_. 26 | 27 | Providers 28 | ----------- 29 | Each of the generator properties (like name, address...) are called "fake". A faker generator has many of them, packaged in "providers". 30 | 31 | :: 32 | 33 | DATA(faker) = NEW zcl_faker( ). 34 | cl_demo_output=>display( |{ faker->person->first_name( ) } { faker->person->last_name( ) }| ). 35 | 36 | Check the `extended docs`_ for a list of `providers`_. 37 | 38 | Localization 39 | ----------- 40 | zcl_faker's class constructor can take a locale as an argument, to return localized data. If no localized provider is found, the constructor falls back to the default en_US locale. 41 | 42 | :: 43 | 44 | METHOD constructor. 45 | 46 | _locale = SWITCH #( i_locale 47 | WHEN `` THEN get_locale( ) 48 | ELSE i_locale 49 | ). 50 | ... 51 | 52 | You can check available abapFaker locales in the source code, under the providers package. The localization of abapFaker is an ongoing process, for which we need your help. Please don't hesitate to create a localized provider for your own locale and submit a Pull Request (PR). 53 | 54 | Included localized providers: 55 | 56 | - `de\_DE `__ - German 57 | - `en\_US `__ - English (United States) 58 | - `pt\_BR `__ - Portuguese (Brazil) 59 | 60 | License 61 | ----------- 62 | abapFaker is released under the MIT License. See the bundled `LICENSE`_ file for details. 63 | 64 | .. _extended docs: https://abapfaker.readthedocs.io/en/latest/ 65 | .. _ABAPGit Project: https://github.com/larshp/abapGit 66 | .. _Z_ABAP_FAKER_DEMO: https://raw.githubusercontent.com/se38/abapFaker/master/src/z_abap_faker_demo.prog.abap 67 | .. _providers: https://abapfaker.readthedocs.io/en/latest/ 68 | .. _LICENSE: https://github.com/se38/abapFaker/blob/master/LICENSE 69 | 70 | .. |docs| image:: https://readthedocs.org/projects/abapfaker/badge/?version=latest 71 | :target: https://abapfaker.readthedocs.io/en/latest/?badge=latest 72 | :alt: Documentation Status 73 | .. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square 74 | :target: https://raw.githubusercontent.com/se38/abapfaker/master/LICENSE 75 | :alt: Package license 76 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = . 8 | BUILDDIR = _build 9 | 10 | # Put it first so that "make" without argument is like "make help". 11 | help: 12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 13 | 14 | .PHONY: help Makefile 15 | 16 | # Catch-all target: route all unknown targets to Sphinx using the new 17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 18 | %: Makefile 19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /docs/_build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/_build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/doctrees/index.doctree -------------------------------------------------------------------------------- /docs/_build/html/_sources/index.rst.txt: -------------------------------------------------------------------------------- 1 | .. abapFaker documentation master file, created by 2 | sphinx-quickstart on Wed Dec 5 12:28:54 2018. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to abapFaker's documentation! 7 | ===================================== 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | :caption: Contents: 12 | 13 | 14 | 15 | Indices and tables 16 | ================== 17 | 18 | * :ref:`genindex` 19 | * :ref:`modindex` 20 | * :ref:`search` 21 | -------------------------------------------------------------------------------- /docs/_build/html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /docs/_build/html/_static/alabaster.css: -------------------------------------------------------------------------------- 1 | @import url("basic.css"); 2 | 3 | /* -- page layout ----------------------------------------------------------- */ 4 | 5 | body { 6 | font-family: Georgia, serif; 7 | font-size: 17px; 8 | background-color: #fff; 9 | color: #000; 10 | margin: 0; 11 | padding: 0; 12 | } 13 | 14 | 15 | div.document { 16 | width: 940px; 17 | margin: 30px auto 0 auto; 18 | } 19 | 20 | div.documentwrapper { 21 | float: left; 22 | width: 100%; 23 | } 24 | 25 | div.bodywrapper { 26 | margin: 0 0 0 220px; 27 | } 28 | 29 | div.sphinxsidebar { 30 | width: 220px; 31 | font-size: 14px; 32 | line-height: 1.5; 33 | } 34 | 35 | hr { 36 | border: 1px solid #B1B4B6; 37 | } 38 | 39 | div.body { 40 | background-color: #fff; 41 | color: #3E4349; 42 | padding: 0 30px 0 30px; 43 | } 44 | 45 | div.body > .section { 46 | text-align: left; 47 | } 48 | 49 | div.footer { 50 | width: 940px; 51 | margin: 20px auto 30px auto; 52 | font-size: 14px; 53 | color: #888; 54 | text-align: right; 55 | } 56 | 57 | div.footer a { 58 | color: #888; 59 | } 60 | 61 | p.caption { 62 | font-family: inherit; 63 | font-size: inherit; 64 | } 65 | 66 | 67 | div.relations { 68 | display: none; 69 | } 70 | 71 | 72 | div.sphinxsidebar a { 73 | color: #444; 74 | text-decoration: none; 75 | border-bottom: 1px dotted #999; 76 | } 77 | 78 | div.sphinxsidebar a:hover { 79 | border-bottom: 1px solid #999; 80 | } 81 | 82 | div.sphinxsidebarwrapper { 83 | padding: 18px 10px; 84 | } 85 | 86 | div.sphinxsidebarwrapper p.logo { 87 | padding: 0; 88 | margin: -10px 0 0 0px; 89 | text-align: center; 90 | } 91 | 92 | div.sphinxsidebarwrapper h1.logo { 93 | margin-top: -10px; 94 | text-align: center; 95 | margin-bottom: 5px; 96 | text-align: left; 97 | } 98 | 99 | div.sphinxsidebarwrapper h1.logo-name { 100 | margin-top: 0px; 101 | } 102 | 103 | div.sphinxsidebarwrapper p.blurb { 104 | margin-top: 0; 105 | font-style: normal; 106 | } 107 | 108 | div.sphinxsidebar h3, 109 | div.sphinxsidebar h4 { 110 | font-family: Georgia, serif; 111 | color: #444; 112 | font-size: 24px; 113 | font-weight: normal; 114 | margin: 0 0 5px 0; 115 | padding: 0; 116 | } 117 | 118 | div.sphinxsidebar h4 { 119 | font-size: 20px; 120 | } 121 | 122 | div.sphinxsidebar h3 a { 123 | color: #444; 124 | } 125 | 126 | div.sphinxsidebar p.logo a, 127 | div.sphinxsidebar h3 a, 128 | div.sphinxsidebar p.logo a:hover, 129 | div.sphinxsidebar h3 a:hover { 130 | border: none; 131 | } 132 | 133 | div.sphinxsidebar p { 134 | color: #555; 135 | margin: 10px 0; 136 | } 137 | 138 | div.sphinxsidebar ul { 139 | margin: 10px 0; 140 | padding: 0; 141 | color: #000; 142 | } 143 | 144 | div.sphinxsidebar ul li.toctree-l1 > a { 145 | font-size: 120%; 146 | } 147 | 148 | div.sphinxsidebar ul li.toctree-l2 > a { 149 | font-size: 110%; 150 | } 151 | 152 | div.sphinxsidebar input { 153 | border: 1px solid #CCC; 154 | font-family: Georgia, serif; 155 | font-size: 1em; 156 | } 157 | 158 | div.sphinxsidebar hr { 159 | border: none; 160 | height: 1px; 161 | color: #AAA; 162 | background: #AAA; 163 | 164 | text-align: left; 165 | margin-left: 0; 166 | width: 50%; 167 | } 168 | 169 | div.sphinxsidebar .badge { 170 | border-bottom: none; 171 | } 172 | 173 | div.sphinxsidebar .badge:hover { 174 | border-bottom: none; 175 | } 176 | 177 | /* To address an issue with donation coming after search */ 178 | div.sphinxsidebar h3.donation { 179 | margin-top: 10px; 180 | } 181 | 182 | /* -- body styles ----------------------------------------------------------- */ 183 | 184 | a { 185 | color: #004B6B; 186 | text-decoration: underline; 187 | } 188 | 189 | a:hover { 190 | color: #6D4100; 191 | text-decoration: underline; 192 | } 193 | 194 | div.body h1, 195 | div.body h2, 196 | div.body h3, 197 | div.body h4, 198 | div.body h5, 199 | div.body h6 { 200 | font-family: Georgia, serif; 201 | font-weight: normal; 202 | margin: 30px 0px 10px 0px; 203 | padding: 0; 204 | } 205 | 206 | div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } 207 | div.body h2 { font-size: 180%; } 208 | div.body h3 { font-size: 150%; } 209 | div.body h4 { font-size: 130%; } 210 | div.body h5 { font-size: 100%; } 211 | div.body h6 { font-size: 100%; } 212 | 213 | a.headerlink { 214 | color: #DDD; 215 | padding: 0 4px; 216 | text-decoration: none; 217 | } 218 | 219 | a.headerlink:hover { 220 | color: #444; 221 | background: #EAEAEA; 222 | } 223 | 224 | div.body p, div.body dd, div.body li { 225 | line-height: 1.4em; 226 | } 227 | 228 | div.admonition { 229 | margin: 20px 0px; 230 | padding: 10px 30px; 231 | background-color: #EEE; 232 | border: 1px solid #CCC; 233 | } 234 | 235 | div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { 236 | background-color: #FBFBFB; 237 | border-bottom: 1px solid #fafafa; 238 | } 239 | 240 | div.admonition p.admonition-title { 241 | font-family: Georgia, serif; 242 | font-weight: normal; 243 | font-size: 24px; 244 | margin: 0 0 10px 0; 245 | padding: 0; 246 | line-height: 1; 247 | } 248 | 249 | div.admonition p.last { 250 | margin-bottom: 0; 251 | } 252 | 253 | div.highlight { 254 | background-color: #fff; 255 | } 256 | 257 | dt:target, .highlight { 258 | background: #FAF3E8; 259 | } 260 | 261 | div.warning { 262 | background-color: #FCC; 263 | border: 1px solid #FAA; 264 | } 265 | 266 | div.danger { 267 | background-color: #FCC; 268 | border: 1px solid #FAA; 269 | -moz-box-shadow: 2px 2px 4px #D52C2C; 270 | -webkit-box-shadow: 2px 2px 4px #D52C2C; 271 | box-shadow: 2px 2px 4px #D52C2C; 272 | } 273 | 274 | div.error { 275 | background-color: #FCC; 276 | border: 1px solid #FAA; 277 | -moz-box-shadow: 2px 2px 4px #D52C2C; 278 | -webkit-box-shadow: 2px 2px 4px #D52C2C; 279 | box-shadow: 2px 2px 4px #D52C2C; 280 | } 281 | 282 | div.caution { 283 | background-color: #FCC; 284 | border: 1px solid #FAA; 285 | } 286 | 287 | div.attention { 288 | background-color: #FCC; 289 | border: 1px solid #FAA; 290 | } 291 | 292 | div.important { 293 | background-color: #EEE; 294 | border: 1px solid #CCC; 295 | } 296 | 297 | div.note { 298 | background-color: #EEE; 299 | border: 1px solid #CCC; 300 | } 301 | 302 | div.tip { 303 | background-color: #EEE; 304 | border: 1px solid #CCC; 305 | } 306 | 307 | div.hint { 308 | background-color: #EEE; 309 | border: 1px solid #CCC; 310 | } 311 | 312 | div.seealso { 313 | background-color: #EEE; 314 | border: 1px solid #CCC; 315 | } 316 | 317 | div.topic { 318 | background-color: #EEE; 319 | } 320 | 321 | p.admonition-title { 322 | display: inline; 323 | } 324 | 325 | p.admonition-title:after { 326 | content: ":"; 327 | } 328 | 329 | pre, tt, code { 330 | font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; 331 | font-size: 0.9em; 332 | } 333 | 334 | .hll { 335 | background-color: #FFC; 336 | margin: 0 -12px; 337 | padding: 0 12px; 338 | display: block; 339 | } 340 | 341 | img.screenshot { 342 | } 343 | 344 | tt.descname, tt.descclassname, code.descname, code.descclassname { 345 | font-size: 0.95em; 346 | } 347 | 348 | tt.descname, code.descname { 349 | padding-right: 0.08em; 350 | } 351 | 352 | img.screenshot { 353 | -moz-box-shadow: 2px 2px 4px #EEE; 354 | -webkit-box-shadow: 2px 2px 4px #EEE; 355 | box-shadow: 2px 2px 4px #EEE; 356 | } 357 | 358 | table.docutils { 359 | border: 1px solid #888; 360 | -moz-box-shadow: 2px 2px 4px #EEE; 361 | -webkit-box-shadow: 2px 2px 4px #EEE; 362 | box-shadow: 2px 2px 4px #EEE; 363 | } 364 | 365 | table.docutils td, table.docutils th { 366 | border: 1px solid #888; 367 | padding: 0.25em 0.7em; 368 | } 369 | 370 | table.field-list, table.footnote { 371 | border: none; 372 | -moz-box-shadow: none; 373 | -webkit-box-shadow: none; 374 | box-shadow: none; 375 | } 376 | 377 | table.footnote { 378 | margin: 15px 0; 379 | width: 100%; 380 | border: 1px solid #EEE; 381 | background: #FDFDFD; 382 | font-size: 0.9em; 383 | } 384 | 385 | table.footnote + table.footnote { 386 | margin-top: -15px; 387 | border-top: none; 388 | } 389 | 390 | table.field-list th { 391 | padding: 0 0.8em 0 0; 392 | } 393 | 394 | table.field-list td { 395 | padding: 0; 396 | } 397 | 398 | table.field-list p { 399 | margin-bottom: 0.8em; 400 | } 401 | 402 | /* Cloned from 403 | * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 404 | */ 405 | .field-name { 406 | -moz-hyphens: manual; 407 | -ms-hyphens: manual; 408 | -webkit-hyphens: manual; 409 | hyphens: manual; 410 | } 411 | 412 | table.footnote td.label { 413 | width: .1px; 414 | padding: 0.3em 0 0.3em 0.5em; 415 | } 416 | 417 | table.footnote td { 418 | padding: 0.3em 0.5em; 419 | } 420 | 421 | dl { 422 | margin: 0; 423 | padding: 0; 424 | } 425 | 426 | dl dd { 427 | margin-left: 30px; 428 | } 429 | 430 | blockquote { 431 | margin: 0 0 0 30px; 432 | padding: 0; 433 | } 434 | 435 | ul, ol { 436 | /* Matches the 30px from the narrow-screen "li > ul" selector below */ 437 | margin: 10px 0 10px 30px; 438 | padding: 0; 439 | } 440 | 441 | pre { 442 | background: #EEE; 443 | padding: 7px 30px; 444 | margin: 15px 0px; 445 | line-height: 1.3em; 446 | } 447 | 448 | div.viewcode-block:target { 449 | background: #ffd; 450 | } 451 | 452 | dl pre, blockquote pre, li pre { 453 | margin-left: 0; 454 | padding-left: 30px; 455 | } 456 | 457 | tt, code { 458 | background-color: #ecf0f3; 459 | color: #222; 460 | /* padding: 1px 2px; */ 461 | } 462 | 463 | tt.xref, code.xref, a tt { 464 | background-color: #FBFBFB; 465 | border-bottom: 1px solid #fff; 466 | } 467 | 468 | a.reference { 469 | text-decoration: none; 470 | border-bottom: 1px dotted #004B6B; 471 | } 472 | 473 | /* Don't put an underline on images */ 474 | a.image-reference, a.image-reference:hover { 475 | border-bottom: none; 476 | } 477 | 478 | a.reference:hover { 479 | border-bottom: 1px solid #6D4100; 480 | } 481 | 482 | a.footnote-reference { 483 | text-decoration: none; 484 | font-size: 0.7em; 485 | vertical-align: top; 486 | border-bottom: 1px dotted #004B6B; 487 | } 488 | 489 | a.footnote-reference:hover { 490 | border-bottom: 1px solid #6D4100; 491 | } 492 | 493 | a:hover tt, a:hover code { 494 | background: #EEE; 495 | } 496 | 497 | 498 | @media screen and (max-width: 870px) { 499 | 500 | div.sphinxsidebar { 501 | display: none; 502 | } 503 | 504 | div.document { 505 | width: 100%; 506 | 507 | } 508 | 509 | div.documentwrapper { 510 | margin-left: 0; 511 | margin-top: 0; 512 | margin-right: 0; 513 | margin-bottom: 0; 514 | } 515 | 516 | div.bodywrapper { 517 | margin-top: 0; 518 | margin-right: 0; 519 | margin-bottom: 0; 520 | margin-left: 0; 521 | } 522 | 523 | ul { 524 | margin-left: 0; 525 | } 526 | 527 | li > ul { 528 | /* Matches the 30px from the "ul, ol" selector above */ 529 | margin-left: 30px; 530 | } 531 | 532 | .document { 533 | width: auto; 534 | } 535 | 536 | .footer { 537 | width: auto; 538 | } 539 | 540 | .bodywrapper { 541 | margin: 0; 542 | } 543 | 544 | .footer { 545 | width: auto; 546 | } 547 | 548 | .github { 549 | display: none; 550 | } 551 | 552 | 553 | 554 | } 555 | 556 | 557 | 558 | @media screen and (max-width: 875px) { 559 | 560 | body { 561 | margin: 0; 562 | padding: 20px 30px; 563 | } 564 | 565 | div.documentwrapper { 566 | float: none; 567 | background: #fff; 568 | } 569 | 570 | div.sphinxsidebar { 571 | display: block; 572 | float: none; 573 | width: 102.5%; 574 | margin: 50px -30px -20px -30px; 575 | padding: 10px 20px; 576 | background: #333; 577 | color: #FFF; 578 | } 579 | 580 | div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, 581 | div.sphinxsidebar h3 a { 582 | color: #fff; 583 | } 584 | 585 | div.sphinxsidebar a { 586 | color: #AAA; 587 | } 588 | 589 | div.sphinxsidebar p.logo { 590 | display: none; 591 | } 592 | 593 | div.document { 594 | width: 100%; 595 | margin: 0; 596 | } 597 | 598 | div.footer { 599 | display: none; 600 | } 601 | 602 | div.bodywrapper { 603 | margin: 0; 604 | } 605 | 606 | div.body { 607 | min-height: 0; 608 | padding: 0; 609 | } 610 | 611 | .rtd_doc_footer { 612 | display: none; 613 | } 614 | 615 | .document { 616 | width: auto; 617 | } 618 | 619 | .footer { 620 | width: auto; 621 | } 622 | 623 | .footer { 624 | width: auto; 625 | } 626 | 627 | .github { 628 | display: none; 629 | } 630 | } 631 | 632 | 633 | /* misc. */ 634 | 635 | .revsys-inline { 636 | display: none!important; 637 | } 638 | 639 | /* Make nested-list/multi-paragraph items look better in Releases changelog 640 | * pages. Without this, docutils' magical list fuckery causes inconsistent 641 | * formatting between different release sub-lists. 642 | */ 643 | div#changelog > div.section > ul > li > p:only-child { 644 | margin-bottom: 0; 645 | } 646 | 647 | /* Hide fugly table cell borders in ..bibliography:: directive output */ 648 | table.docutils.citation, table.docutils.citation td, table.docutils.citation th { 649 | border: none; 650 | /* Below needed in some edge cases; if not applied, bottom shadows appear */ 651 | -moz-box-shadow: none; 652 | -webkit-box-shadow: none; 653 | box-shadow: none; 654 | } 655 | 656 | 657 | /* relbar */ 658 | 659 | .related { 660 | line-height: 30px; 661 | width: 100%; 662 | font-size: 0.9rem; 663 | } 664 | 665 | .related.top { 666 | border-bottom: 1px solid #EEE; 667 | margin-bottom: 20px; 668 | } 669 | 670 | .related.bottom { 671 | border-top: 1px solid #EEE; 672 | } 673 | 674 | .related ul { 675 | padding: 0; 676 | margin: 0; 677 | list-style: none; 678 | } 679 | 680 | .related li { 681 | display: inline; 682 | } 683 | 684 | nav#rellinks { 685 | float: right; 686 | } 687 | 688 | nav#rellinks li+li:before { 689 | content: "|"; 690 | } 691 | 692 | nav#breadcrumbs li+li:before { 693 | content: "\00BB"; 694 | } 695 | 696 | /* Hide certain items when printing */ 697 | @media print { 698 | div.related { 699 | display: none; 700 | } 701 | } -------------------------------------------------------------------------------- /docs/_build/html/_static/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * basic.css 3 | * ~~~~~~~~~ 4 | * 5 | * Sphinx stylesheet -- basic theme. 6 | * 7 | * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /* -- main layout ----------------------------------------------------------- */ 13 | 14 | div.clearer { 15 | clear: both; 16 | } 17 | 18 | /* -- relbar ---------------------------------------------------------------- */ 19 | 20 | div.related { 21 | width: 100%; 22 | font-size: 90%; 23 | } 24 | 25 | div.related h3 { 26 | display: none; 27 | } 28 | 29 | div.related ul { 30 | margin: 0; 31 | padding: 0 0 0 10px; 32 | list-style: none; 33 | } 34 | 35 | div.related li { 36 | display: inline; 37 | } 38 | 39 | div.related li.right { 40 | float: right; 41 | margin-right: 5px; 42 | } 43 | 44 | /* -- sidebar --------------------------------------------------------------- */ 45 | 46 | div.sphinxsidebarwrapper { 47 | padding: 10px 5px 0 10px; 48 | } 49 | 50 | div.sphinxsidebar { 51 | float: left; 52 | width: 230px; 53 | margin-left: -100%; 54 | font-size: 90%; 55 | word-wrap: break-word; 56 | overflow-wrap : break-word; 57 | } 58 | 59 | div.sphinxsidebar ul { 60 | list-style: none; 61 | } 62 | 63 | div.sphinxsidebar ul ul, 64 | div.sphinxsidebar ul.want-points { 65 | margin-left: 20px; 66 | list-style: square; 67 | } 68 | 69 | div.sphinxsidebar ul ul { 70 | margin-top: 0; 71 | margin-bottom: 0; 72 | } 73 | 74 | div.sphinxsidebar form { 75 | margin-top: 10px; 76 | } 77 | 78 | div.sphinxsidebar input { 79 | border: 1px solid #98dbcc; 80 | font-family: sans-serif; 81 | font-size: 1em; 82 | } 83 | 84 | div.sphinxsidebar #searchbox form.search { 85 | overflow: hidden; 86 | } 87 | 88 | div.sphinxsidebar #searchbox input[type="text"] { 89 | float: left; 90 | width: 80%; 91 | padding: 0.25em; 92 | box-sizing: border-box; 93 | } 94 | 95 | div.sphinxsidebar #searchbox input[type="submit"] { 96 | float: left; 97 | width: 20%; 98 | border-left: none; 99 | padding: 0.25em; 100 | box-sizing: border-box; 101 | } 102 | 103 | 104 | img { 105 | border: 0; 106 | max-width: 100%; 107 | } 108 | 109 | /* -- search page ----------------------------------------------------------- */ 110 | 111 | ul.search { 112 | margin: 10px 0 0 20px; 113 | padding: 0; 114 | } 115 | 116 | ul.search li { 117 | padding: 5px 0 5px 20px; 118 | background-image: url(file.png); 119 | background-repeat: no-repeat; 120 | background-position: 0 7px; 121 | } 122 | 123 | ul.search li a { 124 | font-weight: bold; 125 | } 126 | 127 | ul.search li div.context { 128 | color: #888; 129 | margin: 2px 0 0 30px; 130 | text-align: left; 131 | } 132 | 133 | ul.keywordmatches li.goodmatch a { 134 | font-weight: bold; 135 | } 136 | 137 | /* -- index page ------------------------------------------------------------ */ 138 | 139 | table.contentstable { 140 | width: 90%; 141 | margin-left: auto; 142 | margin-right: auto; 143 | } 144 | 145 | table.contentstable p.biglink { 146 | line-height: 150%; 147 | } 148 | 149 | a.biglink { 150 | font-size: 1.3em; 151 | } 152 | 153 | span.linkdescr { 154 | font-style: italic; 155 | padding-top: 5px; 156 | font-size: 90%; 157 | } 158 | 159 | /* -- general index --------------------------------------------------------- */ 160 | 161 | table.indextable { 162 | width: 100%; 163 | } 164 | 165 | table.indextable td { 166 | text-align: left; 167 | vertical-align: top; 168 | } 169 | 170 | table.indextable ul { 171 | margin-top: 0; 172 | margin-bottom: 0; 173 | list-style-type: none; 174 | } 175 | 176 | table.indextable > tbody > tr > td > ul { 177 | padding-left: 0em; 178 | } 179 | 180 | table.indextable tr.pcap { 181 | height: 10px; 182 | } 183 | 184 | table.indextable tr.cap { 185 | margin-top: 10px; 186 | background-color: #f2f2f2; 187 | } 188 | 189 | img.toggler { 190 | margin-right: 3px; 191 | margin-top: 3px; 192 | cursor: pointer; 193 | } 194 | 195 | div.modindex-jumpbox { 196 | border-top: 1px solid #ddd; 197 | border-bottom: 1px solid #ddd; 198 | margin: 1em 0 1em 0; 199 | padding: 0.4em; 200 | } 201 | 202 | div.genindex-jumpbox { 203 | border-top: 1px solid #ddd; 204 | border-bottom: 1px solid #ddd; 205 | margin: 1em 0 1em 0; 206 | padding: 0.4em; 207 | } 208 | 209 | /* -- domain module index --------------------------------------------------- */ 210 | 211 | table.modindextable td { 212 | padding: 2px; 213 | border-collapse: collapse; 214 | } 215 | 216 | /* -- general body styles --------------------------------------------------- */ 217 | 218 | div.body { 219 | min-width: 450px; 220 | max-width: 800px; 221 | } 222 | 223 | div.body p, div.body dd, div.body li, div.body blockquote { 224 | -moz-hyphens: auto; 225 | -ms-hyphens: auto; 226 | -webkit-hyphens: auto; 227 | hyphens: auto; 228 | } 229 | 230 | a.headerlink { 231 | visibility: hidden; 232 | } 233 | 234 | h1:hover > a.headerlink, 235 | h2:hover > a.headerlink, 236 | h3:hover > a.headerlink, 237 | h4:hover > a.headerlink, 238 | h5:hover > a.headerlink, 239 | h6:hover > a.headerlink, 240 | dt:hover > a.headerlink, 241 | caption:hover > a.headerlink, 242 | p.caption:hover > a.headerlink, 243 | div.code-block-caption:hover > a.headerlink { 244 | visibility: visible; 245 | } 246 | 247 | div.body p.caption { 248 | text-align: inherit; 249 | } 250 | 251 | div.body td { 252 | text-align: left; 253 | } 254 | 255 | .first { 256 | margin-top: 0 !important; 257 | } 258 | 259 | p.rubric { 260 | margin-top: 30px; 261 | font-weight: bold; 262 | } 263 | 264 | img.align-left, .figure.align-left, object.align-left { 265 | clear: left; 266 | float: left; 267 | margin-right: 1em; 268 | } 269 | 270 | img.align-right, .figure.align-right, object.align-right { 271 | clear: right; 272 | float: right; 273 | margin-left: 1em; 274 | } 275 | 276 | img.align-center, .figure.align-center, object.align-center { 277 | display: block; 278 | margin-left: auto; 279 | margin-right: auto; 280 | } 281 | 282 | .align-left { 283 | text-align: left; 284 | } 285 | 286 | .align-center { 287 | text-align: center; 288 | } 289 | 290 | .align-right { 291 | text-align: right; 292 | } 293 | 294 | /* -- sidebars -------------------------------------------------------------- */ 295 | 296 | div.sidebar { 297 | margin: 0 0 0.5em 1em; 298 | border: 1px solid #ddb; 299 | padding: 7px 7px 0 7px; 300 | background-color: #ffe; 301 | width: 40%; 302 | float: right; 303 | } 304 | 305 | p.sidebar-title { 306 | font-weight: bold; 307 | } 308 | 309 | /* -- topics ---------------------------------------------------------------- */ 310 | 311 | div.topic { 312 | border: 1px solid #ccc; 313 | padding: 7px 7px 0 7px; 314 | margin: 10px 0 10px 0; 315 | } 316 | 317 | p.topic-title { 318 | font-size: 1.1em; 319 | font-weight: bold; 320 | margin-top: 10px; 321 | } 322 | 323 | /* -- admonitions ----------------------------------------------------------- */ 324 | 325 | div.admonition { 326 | margin-top: 10px; 327 | margin-bottom: 10px; 328 | padding: 7px; 329 | } 330 | 331 | div.admonition dt { 332 | font-weight: bold; 333 | } 334 | 335 | div.admonition dl { 336 | margin-bottom: 0; 337 | } 338 | 339 | p.admonition-title { 340 | margin: 0px 10px 5px 0px; 341 | font-weight: bold; 342 | } 343 | 344 | div.body p.centered { 345 | text-align: center; 346 | margin-top: 25px; 347 | } 348 | 349 | /* -- tables ---------------------------------------------------------------- */ 350 | 351 | table.docutils { 352 | border: 0; 353 | border-collapse: collapse; 354 | } 355 | 356 | table.align-center { 357 | margin-left: auto; 358 | margin-right: auto; 359 | } 360 | 361 | table caption span.caption-number { 362 | font-style: italic; 363 | } 364 | 365 | table caption span.caption-text { 366 | } 367 | 368 | table.docutils td, table.docutils th { 369 | padding: 1px 8px 1px 5px; 370 | border-top: 0; 371 | border-left: 0; 372 | border-right: 0; 373 | border-bottom: 1px solid #aaa; 374 | } 375 | 376 | table.footnote td, table.footnote th { 377 | border: 0 !important; 378 | } 379 | 380 | th { 381 | text-align: left; 382 | padding-right: 5px; 383 | } 384 | 385 | table.citation { 386 | border-left: solid 1px gray; 387 | margin-left: 1px; 388 | } 389 | 390 | table.citation td { 391 | border-bottom: none; 392 | } 393 | 394 | /* -- figures --------------------------------------------------------------- */ 395 | 396 | div.figure { 397 | margin: 0.5em; 398 | padding: 0.5em; 399 | } 400 | 401 | div.figure p.caption { 402 | padding: 0.3em; 403 | } 404 | 405 | div.figure p.caption span.caption-number { 406 | font-style: italic; 407 | } 408 | 409 | div.figure p.caption span.caption-text { 410 | } 411 | 412 | /* -- field list styles ----------------------------------------------------- */ 413 | 414 | table.field-list td, table.field-list th { 415 | border: 0 !important; 416 | } 417 | 418 | .field-list ul { 419 | margin: 0; 420 | padding-left: 1em; 421 | } 422 | 423 | .field-list p { 424 | margin: 0; 425 | } 426 | 427 | .field-name { 428 | -moz-hyphens: manual; 429 | -ms-hyphens: manual; 430 | -webkit-hyphens: manual; 431 | hyphens: manual; 432 | } 433 | 434 | /* -- hlist styles ---------------------------------------------------------- */ 435 | 436 | table.hlist td { 437 | vertical-align: top; 438 | } 439 | 440 | 441 | /* -- other body styles ----------------------------------------------------- */ 442 | 443 | ol.arabic { 444 | list-style: decimal; 445 | } 446 | 447 | ol.loweralpha { 448 | list-style: lower-alpha; 449 | } 450 | 451 | ol.upperalpha { 452 | list-style: upper-alpha; 453 | } 454 | 455 | ol.lowerroman { 456 | list-style: lower-roman; 457 | } 458 | 459 | ol.upperroman { 460 | list-style: upper-roman; 461 | } 462 | 463 | dl { 464 | margin-bottom: 15px; 465 | } 466 | 467 | dd p { 468 | margin-top: 0px; 469 | } 470 | 471 | dd ul, dd table { 472 | margin-bottom: 10px; 473 | } 474 | 475 | dd { 476 | margin-top: 3px; 477 | margin-bottom: 10px; 478 | margin-left: 30px; 479 | } 480 | 481 | dt:target, span.highlighted { 482 | background-color: #fbe54e; 483 | } 484 | 485 | rect.highlighted { 486 | fill: #fbe54e; 487 | } 488 | 489 | dl.glossary dt { 490 | font-weight: bold; 491 | font-size: 1.1em; 492 | } 493 | 494 | .optional { 495 | font-size: 1.3em; 496 | } 497 | 498 | .sig-paren { 499 | font-size: larger; 500 | } 501 | 502 | .versionmodified { 503 | font-style: italic; 504 | } 505 | 506 | .system-message { 507 | background-color: #fda; 508 | padding: 5px; 509 | border: 3px solid red; 510 | } 511 | 512 | .footnote:target { 513 | background-color: #ffa; 514 | } 515 | 516 | .line-block { 517 | display: block; 518 | margin-top: 1em; 519 | margin-bottom: 1em; 520 | } 521 | 522 | .line-block .line-block { 523 | margin-top: 0; 524 | margin-bottom: 0; 525 | margin-left: 1.5em; 526 | } 527 | 528 | .guilabel, .menuselection { 529 | font-family: sans-serif; 530 | } 531 | 532 | .accelerator { 533 | text-decoration: underline; 534 | } 535 | 536 | .classifier { 537 | font-style: oblique; 538 | } 539 | 540 | abbr, acronym { 541 | border-bottom: dotted 1px; 542 | cursor: help; 543 | } 544 | 545 | /* -- code displays --------------------------------------------------------- */ 546 | 547 | pre { 548 | overflow: auto; 549 | overflow-y: hidden; /* fixes display issues on Chrome browsers */ 550 | } 551 | 552 | span.pre { 553 | -moz-hyphens: none; 554 | -ms-hyphens: none; 555 | -webkit-hyphens: none; 556 | hyphens: none; 557 | } 558 | 559 | td.linenos pre { 560 | padding: 5px 0px; 561 | border: 0; 562 | background-color: transparent; 563 | color: #aaa; 564 | } 565 | 566 | table.highlighttable { 567 | margin-left: 0.5em; 568 | } 569 | 570 | table.highlighttable td { 571 | padding: 0 0.5em 0 0.5em; 572 | } 573 | 574 | div.code-block-caption { 575 | padding: 2px 5px; 576 | font-size: small; 577 | } 578 | 579 | div.code-block-caption code { 580 | background-color: transparent; 581 | } 582 | 583 | div.code-block-caption + div > div.highlight > pre { 584 | margin-top: 0; 585 | } 586 | 587 | div.code-block-caption span.caption-number { 588 | padding: 0.1em 0.3em; 589 | font-style: italic; 590 | } 591 | 592 | div.code-block-caption span.caption-text { 593 | } 594 | 595 | div.literal-block-wrapper { 596 | padding: 1em 1em 0; 597 | } 598 | 599 | div.literal-block-wrapper div.highlight { 600 | margin: 0; 601 | } 602 | 603 | code.descname { 604 | background-color: transparent; 605 | font-weight: bold; 606 | font-size: 1.2em; 607 | } 608 | 609 | code.descclassname { 610 | background-color: transparent; 611 | } 612 | 613 | code.xref, a code { 614 | background-color: transparent; 615 | font-weight: bold; 616 | } 617 | 618 | h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { 619 | background-color: transparent; 620 | } 621 | 622 | .viewcode-link { 623 | float: right; 624 | } 625 | 626 | .viewcode-back { 627 | float: right; 628 | font-family: sans-serif; 629 | } 630 | 631 | div.viewcode-block:target { 632 | margin: -1px -10px; 633 | padding: 0 10px; 634 | } 635 | 636 | /* -- math display ---------------------------------------------------------- */ 637 | 638 | img.math { 639 | vertical-align: middle; 640 | } 641 | 642 | div.body div.math p { 643 | text-align: center; 644 | } 645 | 646 | span.eqno { 647 | float: right; 648 | } 649 | 650 | span.eqno a.headerlink { 651 | position: relative; 652 | left: 0px; 653 | z-index: 1; 654 | } 655 | 656 | div.math:hover a.headerlink { 657 | visibility: visible; 658 | } 659 | 660 | /* -- printout stylesheet --------------------------------------------------- */ 661 | 662 | @media print { 663 | div.document, 664 | div.documentwrapper, 665 | div.bodywrapper { 666 | margin: 0 !important; 667 | width: 100%; 668 | } 669 | 670 | div.sphinxsidebar, 671 | div.related, 672 | div.footer, 673 | #top-link { 674 | display: none; 675 | } 676 | } -------------------------------------------------------------------------------- /docs/_build/html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/comment-bright.png -------------------------------------------------------------------------------- /docs/_build/html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/comment-close.png -------------------------------------------------------------------------------- /docs/_build/html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/comment.png -------------------------------------------------------------------------------- /docs/_build/html/_static/custom.css: -------------------------------------------------------------------------------- 1 | /* This file intentionally left blank. */ 2 | -------------------------------------------------------------------------------- /docs/_build/html/_static/doctools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * doctools.js 3 | * ~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilities for all documentation. 6 | * 7 | * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * select a different prefix for underscore 14 | */ 15 | $u = _.noConflict(); 16 | 17 | /** 18 | * make the code below compatible with browsers without 19 | * an installed firebug like debugger 20 | if (!window.console || !console.firebug) { 21 | var names = ["log", "debug", "info", "warn", "error", "assert", "dir", 22 | "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", 23 | "profile", "profileEnd"]; 24 | window.console = {}; 25 | for (var i = 0; i < names.length; ++i) 26 | window.console[names[i]] = function() {}; 27 | } 28 | */ 29 | 30 | /** 31 | * small helper function to urldecode strings 32 | */ 33 | jQuery.urldecode = function(x) { 34 | return decodeURIComponent(x).replace(/\+/g, ' '); 35 | }; 36 | 37 | /** 38 | * small helper function to urlencode strings 39 | */ 40 | jQuery.urlencode = encodeURIComponent; 41 | 42 | /** 43 | * This function returns the parsed url parameters of the 44 | * current request. Multiple values per key are supported, 45 | * it will always return arrays of strings for the value parts. 46 | */ 47 | jQuery.getQueryParameters = function(s) { 48 | if (typeof s === 'undefined') 49 | s = document.location.search; 50 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 51 | var result = {}; 52 | for (var i = 0; i < parts.length; i++) { 53 | var tmp = parts[i].split('=', 2); 54 | var key = jQuery.urldecode(tmp[0]); 55 | var value = jQuery.urldecode(tmp[1]); 56 | if (key in result) 57 | result[key].push(value); 58 | else 59 | result[key] = [value]; 60 | } 61 | return result; 62 | }; 63 | 64 | /** 65 | * highlight a given string on a jquery object by wrapping it in 66 | * span elements with the given class name. 67 | */ 68 | jQuery.fn.highlightText = function(text, className) { 69 | function highlight(node, addItems) { 70 | if (node.nodeType === 3) { 71 | var val = node.nodeValue; 72 | var pos = val.toLowerCase().indexOf(text); 73 | if (pos >= 0 && 74 | !jQuery(node.parentNode).hasClass(className) && 75 | !jQuery(node.parentNode).hasClass("nohighlight")) { 76 | var span; 77 | var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); 78 | if (isInSVG) { 79 | span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); 80 | } else { 81 | span = document.createElement("span"); 82 | span.className = className; 83 | } 84 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 85 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 86 | document.createTextNode(val.substr(pos + text.length)), 87 | node.nextSibling)); 88 | node.nodeValue = val.substr(0, pos); 89 | if (isInSVG) { 90 | var bbox = span.getBBox(); 91 | var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); 92 | rect.x.baseVal.value = bbox.x; 93 | rect.y.baseVal.value = bbox.y; 94 | rect.width.baseVal.value = bbox.width; 95 | rect.height.baseVal.value = bbox.height; 96 | rect.setAttribute('class', className); 97 | var parentOfText = node.parentNode.parentNode; 98 | addItems.push({ 99 | "parent": node.parentNode, 100 | "target": rect}); 101 | } 102 | } 103 | } 104 | else if (!jQuery(node).is("button, select, textarea")) { 105 | jQuery.each(node.childNodes, function() { 106 | highlight(this, addItems); 107 | }); 108 | } 109 | } 110 | var addItems = []; 111 | var result = this.each(function() { 112 | highlight(this, addItems); 113 | }); 114 | for (var i = 0; i < addItems.length; ++i) { 115 | jQuery(addItems[i].parent).before(addItems[i].target); 116 | } 117 | return result; 118 | }; 119 | 120 | /* 121 | * backward compatibility for jQuery.browser 122 | * This will be supported until firefox bug is fixed. 123 | */ 124 | if (!jQuery.browser) { 125 | jQuery.uaMatch = function(ua) { 126 | ua = ua.toLowerCase(); 127 | 128 | var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || 129 | /(webkit)[ \/]([\w.]+)/.exec(ua) || 130 | /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || 131 | /(msie) ([\w.]+)/.exec(ua) || 132 | ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || 133 | []; 134 | 135 | return { 136 | browser: match[ 1 ] || "", 137 | version: match[ 2 ] || "0" 138 | }; 139 | }; 140 | jQuery.browser = {}; 141 | jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; 142 | } 143 | 144 | /** 145 | * Small JavaScript module for the documentation. 146 | */ 147 | var Documentation = { 148 | 149 | init : function() { 150 | this.fixFirefoxAnchorBug(); 151 | this.highlightSearchWords(); 152 | this.initIndexTable(); 153 | if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { 154 | this.initOnKeyListeners(); 155 | } 156 | }, 157 | 158 | /** 159 | * i18n support 160 | */ 161 | TRANSLATIONS : {}, 162 | PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, 163 | LOCALE : 'unknown', 164 | 165 | // gettext and ngettext don't access this so that the functions 166 | // can safely bound to a different name (_ = Documentation.gettext) 167 | gettext : function(string) { 168 | var translated = Documentation.TRANSLATIONS[string]; 169 | if (typeof translated === 'undefined') 170 | return string; 171 | return (typeof translated === 'string') ? translated : translated[0]; 172 | }, 173 | 174 | ngettext : function(singular, plural, n) { 175 | var translated = Documentation.TRANSLATIONS[singular]; 176 | if (typeof translated === 'undefined') 177 | return (n == 1) ? singular : plural; 178 | return translated[Documentation.PLURALEXPR(n)]; 179 | }, 180 | 181 | addTranslations : function(catalog) { 182 | for (var key in catalog.messages) 183 | this.TRANSLATIONS[key] = catalog.messages[key]; 184 | this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); 185 | this.LOCALE = catalog.locale; 186 | }, 187 | 188 | /** 189 | * add context elements like header anchor links 190 | */ 191 | addContextElements : function() { 192 | $('div[id] > :header:first').each(function() { 193 | $('\u00B6'). 194 | attr('href', '#' + this.id). 195 | attr('title', _('Permalink to this headline')). 196 | appendTo(this); 197 | }); 198 | $('dt[id]').each(function() { 199 | $('\u00B6'). 200 | attr('href', '#' + this.id). 201 | attr('title', _('Permalink to this definition')). 202 | appendTo(this); 203 | }); 204 | }, 205 | 206 | /** 207 | * workaround a firefox stupidity 208 | * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 209 | */ 210 | fixFirefoxAnchorBug : function() { 211 | if (document.location.hash && $.browser.mozilla) 212 | window.setTimeout(function() { 213 | document.location.href += ''; 214 | }, 10); 215 | }, 216 | 217 | /** 218 | * highlight the search words provided in the url in the text 219 | */ 220 | highlightSearchWords : function() { 221 | var params = $.getQueryParameters(); 222 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; 223 | if (terms.length) { 224 | var body = $('div.body'); 225 | if (!body.length) { 226 | body = $('body'); 227 | } 228 | window.setTimeout(function() { 229 | $.each(terms, function() { 230 | body.highlightText(this.toLowerCase(), 'highlighted'); 231 | }); 232 | }, 10); 233 | $('') 235 | .appendTo($('#searchbox')); 236 | } 237 | }, 238 | 239 | /** 240 | * init the domain index toggle buttons 241 | */ 242 | initIndexTable : function() { 243 | var togglers = $('img.toggler').click(function() { 244 | var src = $(this).attr('src'); 245 | var idnum = $(this).attr('id').substr(7); 246 | $('tr.cg-' + idnum).toggle(); 247 | if (src.substr(-9) === 'minus.png') 248 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 249 | else 250 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 251 | }).css('display', ''); 252 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 253 | togglers.click(); 254 | } 255 | }, 256 | 257 | /** 258 | * helper function to hide the search marks again 259 | */ 260 | hideSearchWords : function() { 261 | $('#searchbox .highlight-link').fadeOut(300); 262 | $('span.highlighted').removeClass('highlighted'); 263 | }, 264 | 265 | /** 266 | * make the url absolute 267 | */ 268 | makeURL : function(relativeURL) { 269 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 270 | }, 271 | 272 | /** 273 | * get the current relative url 274 | */ 275 | getCurrentURL : function() { 276 | var path = document.location.pathname; 277 | var parts = path.split(/\//); 278 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 279 | if (this === '..') 280 | parts.pop(); 281 | }); 282 | var url = parts.join('/'); 283 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 284 | }, 285 | 286 | initOnKeyListeners: function() { 287 | $(document).keyup(function(event) { 288 | var activeElementType = document.activeElement.tagName; 289 | // don't navigate when in search box or textarea 290 | if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { 291 | switch (event.keyCode) { 292 | case 37: // left 293 | var prevHref = $('link[rel="prev"]').prop('href'); 294 | if (prevHref) { 295 | window.location.href = prevHref; 296 | return false; 297 | } 298 | case 39: // right 299 | var nextHref = $('link[rel="next"]').prop('href'); 300 | if (nextHref) { 301 | window.location.href = nextHref; 302 | return false; 303 | } 304 | } 305 | } 306 | }); 307 | } 308 | }; 309 | 310 | // quick alias for translations 311 | _ = Documentation.gettext; 312 | 313 | $(document).ready(function() { 314 | Documentation.init(); 315 | }); 316 | -------------------------------------------------------------------------------- /docs/_build/html/_static/documentation_options.js: -------------------------------------------------------------------------------- 1 | var DOCUMENTATION_OPTIONS = { 2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), 3 | VERSION: 'lastest', 4 | LANGUAGE: 'None', 5 | COLLAPSE_INDEX: false, 6 | FILE_SUFFIX: '.html', 7 | HAS_SOURCE: true, 8 | SOURCELINK_SUFFIX: '.txt', 9 | NAVIGATION_WITH_KEYS: false, 10 | SEARCH_LANGUAGE_STOP_WORDS: ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"] 11 | }; 12 | 13 | 14 | 15 | /* Non-minified version JS is _stemmer.js if file is provided */ 16 | /** 17 | * Porter Stemmer 18 | */ 19 | var Stemmer = function() { 20 | 21 | var step2list = { 22 | ational: 'ate', 23 | tional: 'tion', 24 | enci: 'ence', 25 | anci: 'ance', 26 | izer: 'ize', 27 | bli: 'ble', 28 | alli: 'al', 29 | entli: 'ent', 30 | eli: 'e', 31 | ousli: 'ous', 32 | ization: 'ize', 33 | ation: 'ate', 34 | ator: 'ate', 35 | alism: 'al', 36 | iveness: 'ive', 37 | fulness: 'ful', 38 | ousness: 'ous', 39 | aliti: 'al', 40 | iviti: 'ive', 41 | biliti: 'ble', 42 | logi: 'log' 43 | }; 44 | 45 | var step3list = { 46 | icate: 'ic', 47 | ative: '', 48 | alize: 'al', 49 | iciti: 'ic', 50 | ical: 'ic', 51 | ful: '', 52 | ness: '' 53 | }; 54 | 55 | var c = "[^aeiou]"; // consonant 56 | var v = "[aeiouy]"; // vowel 57 | var C = c + "[^aeiouy]*"; // consonant sequence 58 | var V = v + "[aeiou]*"; // vowel sequence 59 | 60 | var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 61 | var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 62 | var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 63 | var s_v = "^(" + C + ")?" + v; // vowel in stem 64 | 65 | this.stemWord = function (w) { 66 | var stem; 67 | var suffix; 68 | var firstch; 69 | var origword = w; 70 | 71 | if (w.length < 3) 72 | return w; 73 | 74 | var re; 75 | var re2; 76 | var re3; 77 | var re4; 78 | 79 | firstch = w.substr(0,1); 80 | if (firstch == "y") 81 | w = firstch.toUpperCase() + w.substr(1); 82 | 83 | // Step 1a 84 | re = /^(.+?)(ss|i)es$/; 85 | re2 = /^(.+?)([^s])s$/; 86 | 87 | if (re.test(w)) 88 | w = w.replace(re,"$1$2"); 89 | else if (re2.test(w)) 90 | w = w.replace(re2,"$1$2"); 91 | 92 | // Step 1b 93 | re = /^(.+?)eed$/; 94 | re2 = /^(.+?)(ed|ing)$/; 95 | if (re.test(w)) { 96 | var fp = re.exec(w); 97 | re = new RegExp(mgr0); 98 | if (re.test(fp[1])) { 99 | re = /.$/; 100 | w = w.replace(re,""); 101 | } 102 | } 103 | else if (re2.test(w)) { 104 | var fp = re2.exec(w); 105 | stem = fp[1]; 106 | re2 = new RegExp(s_v); 107 | if (re2.test(stem)) { 108 | w = stem; 109 | re2 = /(at|bl|iz)$/; 110 | re3 = new RegExp("([^aeiouylsz])\\1$"); 111 | re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 112 | if (re2.test(w)) 113 | w = w + "e"; 114 | else if (re3.test(w)) { 115 | re = /.$/; 116 | w = w.replace(re,""); 117 | } 118 | else if (re4.test(w)) 119 | w = w + "e"; 120 | } 121 | } 122 | 123 | // Step 1c 124 | re = /^(.+?)y$/; 125 | if (re.test(w)) { 126 | var fp = re.exec(w); 127 | stem = fp[1]; 128 | re = new RegExp(s_v); 129 | if (re.test(stem)) 130 | w = stem + "i"; 131 | } 132 | 133 | // Step 2 134 | re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; 135 | if (re.test(w)) { 136 | var fp = re.exec(w); 137 | stem = fp[1]; 138 | suffix = fp[2]; 139 | re = new RegExp(mgr0); 140 | if (re.test(stem)) 141 | w = stem + step2list[suffix]; 142 | } 143 | 144 | // Step 3 145 | re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; 146 | if (re.test(w)) { 147 | var fp = re.exec(w); 148 | stem = fp[1]; 149 | suffix = fp[2]; 150 | re = new RegExp(mgr0); 151 | if (re.test(stem)) 152 | w = stem + step3list[suffix]; 153 | } 154 | 155 | // Step 4 156 | re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; 157 | re2 = /^(.+?)(s|t)(ion)$/; 158 | if (re.test(w)) { 159 | var fp = re.exec(w); 160 | stem = fp[1]; 161 | re = new RegExp(mgr1); 162 | if (re.test(stem)) 163 | w = stem; 164 | } 165 | else if (re2.test(w)) { 166 | var fp = re2.exec(w); 167 | stem = fp[1] + fp[2]; 168 | re2 = new RegExp(mgr1); 169 | if (re2.test(stem)) 170 | w = stem; 171 | } 172 | 173 | // Step 5 174 | re = /^(.+?)e$/; 175 | if (re.test(w)) { 176 | var fp = re.exec(w); 177 | stem = fp[1]; 178 | re = new RegExp(mgr1); 179 | re2 = new RegExp(meq1); 180 | re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 181 | if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) 182 | w = stem; 183 | } 184 | re = /ll$/; 185 | re2 = new RegExp(mgr1); 186 | if (re.test(w) && re2.test(w)) { 187 | re = /.$/; 188 | w = w.replace(re,""); 189 | } 190 | 191 | // and turn initial Y back to y 192 | if (firstch == "y") 193 | w = firstch.toLowerCase() + w.substr(1); 194 | return w; 195 | } 196 | } 197 | 198 | 199 | 200 | 201 | 202 | var splitChars = (function() { 203 | var result = {}; 204 | var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, 205 | 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, 206 | 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, 207 | 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, 208 | 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, 209 | 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, 210 | 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, 211 | 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, 212 | 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, 213 | 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; 214 | var i, j, start, end; 215 | for (i = 0; i < singles.length; i++) { 216 | result[singles[i]] = true; 217 | } 218 | var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], 219 | [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], 220 | [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], 221 | [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], 222 | [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], 223 | [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], 224 | [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], 225 | [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], 226 | [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], 227 | [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], 228 | [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], 229 | [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], 230 | [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], 231 | [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], 232 | [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], 233 | [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], 234 | [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], 235 | [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], 236 | [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], 237 | [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], 238 | [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], 239 | [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], 240 | [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], 241 | [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], 242 | [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], 243 | [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], 244 | [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], 245 | [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], 246 | [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], 247 | [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], 248 | [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], 249 | [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], 250 | [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], 251 | [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], 252 | [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], 253 | [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], 254 | [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], 255 | [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], 256 | [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], 257 | [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], 258 | [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], 259 | [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], 260 | [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], 261 | [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], 262 | [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], 263 | [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], 264 | [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], 265 | [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], 266 | [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; 267 | for (i = 0; i < ranges.length; i++) { 268 | start = ranges[i][0]; 269 | end = ranges[i][1]; 270 | for (j = start; j <= end; j++) { 271 | result[j] = true; 272 | } 273 | } 274 | return result; 275 | })(); 276 | 277 | function splitQuery(query) { 278 | var result = []; 279 | var start = -1; 280 | for (var i = 0; i < query.length; i++) { 281 | if (splitChars[query.charCodeAt(i)]) { 282 | if (start !== -1) { 283 | result.push(query.slice(start, i)); 284 | start = -1; 285 | } 286 | } else if (start === -1) { 287 | start = i; 288 | } 289 | } 290 | if (start !== -1) { 291 | result.push(query.slice(start)); 292 | } 293 | return result; 294 | } 295 | 296 | 297 | -------------------------------------------------------------------------------- /docs/_build/html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/down-pressed.png -------------------------------------------------------------------------------- /docs/_build/html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/down.png -------------------------------------------------------------------------------- /docs/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/file.png -------------------------------------------------------------------------------- /docs/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/minus.png -------------------------------------------------------------------------------- /docs/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/plus.png -------------------------------------------------------------------------------- /docs/_build/html/_static/pygments.css: -------------------------------------------------------------------------------- 1 | .highlight .hll { background-color: #ffffcc } 2 | .highlight { background: #f8f8f8; } 3 | .highlight .c { color: #8f5902; font-style: italic } /* Comment */ 4 | .highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ 5 | .highlight .g { color: #000000 } /* Generic */ 6 | .highlight .k { color: #004461; font-weight: bold } /* Keyword */ 7 | .highlight .l { color: #000000 } /* Literal */ 8 | .highlight .n { color: #000000 } /* Name */ 9 | .highlight .o { color: #582800 } /* Operator */ 10 | .highlight .x { color: #000000 } /* Other */ 11 | .highlight .p { color: #000000; font-weight: bold } /* Punctuation */ 12 | .highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ 13 | .highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ 14 | .highlight .cp { color: #8f5902 } /* Comment.Preproc */ 15 | .highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ 16 | .highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ 17 | .highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ 18 | .highlight .gd { color: #a40000 } /* Generic.Deleted */ 19 | .highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ 20 | .highlight .gr { color: #ef2929 } /* Generic.Error */ 21 | .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ 22 | .highlight .gi { color: #00A000 } /* Generic.Inserted */ 23 | .highlight .go { color: #888888 } /* Generic.Output */ 24 | .highlight .gp { color: #745334 } /* Generic.Prompt */ 25 | .highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ 26 | .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ 27 | .highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ 28 | .highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */ 29 | .highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */ 30 | .highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */ 31 | .highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */ 32 | .highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */ 33 | .highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */ 34 | .highlight .ld { color: #000000 } /* Literal.Date */ 35 | .highlight .m { color: #990000 } /* Literal.Number */ 36 | .highlight .s { color: #4e9a06 } /* Literal.String */ 37 | .highlight .na { color: #c4a000 } /* Name.Attribute */ 38 | .highlight .nb { color: #004461 } /* Name.Builtin */ 39 | .highlight .nc { color: #000000 } /* Name.Class */ 40 | .highlight .no { color: #000000 } /* Name.Constant */ 41 | .highlight .nd { color: #888888 } /* Name.Decorator */ 42 | .highlight .ni { color: #ce5c00 } /* Name.Entity */ 43 | .highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ 44 | .highlight .nf { color: #000000 } /* Name.Function */ 45 | .highlight .nl { color: #f57900 } /* Name.Label */ 46 | .highlight .nn { color: #000000 } /* Name.Namespace */ 47 | .highlight .nx { color: #000000 } /* Name.Other */ 48 | .highlight .py { color: #000000 } /* Name.Property */ 49 | .highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ 50 | .highlight .nv { color: #000000 } /* Name.Variable */ 51 | .highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ 52 | .highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */ 53 | .highlight .mb { color: #990000 } /* Literal.Number.Bin */ 54 | .highlight .mf { color: #990000 } /* Literal.Number.Float */ 55 | .highlight .mh { color: #990000 } /* Literal.Number.Hex */ 56 | .highlight .mi { color: #990000 } /* Literal.Number.Integer */ 57 | .highlight .mo { color: #990000 } /* Literal.Number.Oct */ 58 | .highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ 59 | .highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ 60 | .highlight .sc { color: #4e9a06 } /* Literal.String.Char */ 61 | .highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ 62 | .highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ 63 | .highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ 64 | .highlight .se { color: #4e9a06 } /* Literal.String.Escape */ 65 | .highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ 66 | .highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ 67 | .highlight .sx { color: #4e9a06 } /* Literal.String.Other */ 68 | .highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ 69 | .highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ 70 | .highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ 71 | .highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ 72 | .highlight .fm { color: #000000 } /* Name.Function.Magic */ 73 | .highlight .vc { color: #000000 } /* Name.Variable.Class */ 74 | .highlight .vg { color: #000000 } /* Name.Variable.Global */ 75 | .highlight .vi { color: #000000 } /* Name.Variable.Instance */ 76 | .highlight .vm { color: #000000 } /* Name.Variable.Magic */ 77 | .highlight .il { color: #990000 } /* Literal.Number.Integer.Long */ -------------------------------------------------------------------------------- /docs/_build/html/_static/underscore.js: -------------------------------------------------------------------------------- 1 | // Underscore.js 1.3.1 2 | // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. 3 | // Underscore is freely distributable under the MIT license. 4 | // Portions of Underscore are inspired or borrowed from Prototype, 5 | // Oliver Steele's Functional, and John Resig's Micro-Templating. 6 | // For all details and documentation: 7 | // http://documentcloud.github.com/underscore 8 | (function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== 9 | c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, 10 | h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= 11 | b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e2;a== 12 | null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= 13 | function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= 14 | e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= 15 | function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, 17 | c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}}; 24 | b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, 25 | 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; 26 | b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; 27 | b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), 28 | function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ 29 | u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= 30 | function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= 31 | true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); 32 | -------------------------------------------------------------------------------- /docs/_build/html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/up-pressed.png -------------------------------------------------------------------------------- /docs/_build/html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/_static/up.png -------------------------------------------------------------------------------- /docs/_build/html/genindex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | Index — abapFaker lastest documentation 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |
31 | 32 | 33 |
34 | 35 | 36 |

Index

37 | 38 |
39 | 40 |
41 | 42 | 43 |
44 | 45 |
46 |
47 | 89 |
90 |
91 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /docs/_build/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | Welcome to abapFaker’s documentation! — abapFaker lastest documentation 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |
30 | 31 | 32 |
33 | 34 |
35 |

Welcome to abapFaker’s documentation!

36 |
37 |
38 |
39 |
40 |

Indices and tables

41 | 46 |
47 | 48 | 49 |
50 | 51 |
52 |
53 | 95 |
96 |
97 | 108 | 109 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /docs/_build/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/se38/abapFaker/87685158c9116f4e072f6e021b00118e22b71bdd/docs/_build/html/objects.inv -------------------------------------------------------------------------------- /docs/_build/html/search.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | Search — abapFaker lastest documentation 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
37 |
38 |
39 | 40 | 41 |
42 | 43 |

Search

44 |
45 | 46 |

47 | Please activate JavaScript to enable the search 48 | functionality. 49 |

50 |
51 |

52 | From here you can search these documents. Enter your search 53 | words into the box below and click "search". Note that the search 54 | function will automatically search for all of the words. Pages 55 | containing fewer words won't appear in the result list. 56 |

57 |
58 | 59 | 60 | 61 |
62 | 63 |
64 | 65 |
66 | 67 |
68 | 69 |
70 |
71 | 101 |
102 |
103 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /docs/_build/html/searchindex.js: -------------------------------------------------------------------------------- 1 | Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:55},filenames:["index.rst"],objects:{},objnames:{},objtypes:{},terms:{index:0,modul:0,page:0,search:0},titles:["Welcome to abapFaker\u2019s documentation!"],titleterms:{abapfak:0,document:0,indic:0,tabl:0,welcom:0}}) -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Configuration file for the Sphinx documentation builder. 4 | # 5 | # This file does only contain a selection of the most common options. For a 6 | # full list see the documentation: 7 | # http://www.sphinx-doc.org/en/master/config 8 | 9 | # -- Path setup -------------------------------------------------------------- 10 | 11 | # If extensions (or modules to document with autodoc) are in another directory, 12 | # add these directories to sys.path here. If the directory is relative to the 13 | # documentation root, use os.path.abspath to make it absolute, like shown here. 14 | # 15 | # import os 16 | # import sys 17 | # sys.path.insert(0, os.path.abspath('.')) 18 | 19 | 20 | # -- Project information ----------------------------------------------------- 21 | 22 | project = 'abapFaker' 23 | copyright = '2018, @pacheco7' 24 | author = '@pacheco7' 25 | 26 | # The short X.Y version 27 | version = '' 28 | # The full version, including alpha/beta/rc tags 29 | release = 'lastest' 30 | 31 | 32 | # -- General configuration --------------------------------------------------- 33 | 34 | # If your documentation needs a minimal Sphinx version, state it here. 35 | # 36 | # needs_sphinx = '1.0' 37 | 38 | # Add any Sphinx extension module names here, as strings. They can be 39 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 40 | # ones. 41 | extensions = [ 42 | ] 43 | 44 | # Add any paths that contain templates here, relative to this directory. 45 | templates_path = ['_templates'] 46 | 47 | # The suffix(es) of source filenames. 48 | # You can specify multiple suffix as a list of string: 49 | # 50 | # source_suffix = ['.rst', '.md'] 51 | source_suffix = '.rst' 52 | 53 | # The master toctree document. 54 | master_doc = 'index' 55 | 56 | # The language for content autogenerated by Sphinx. Refer to documentation 57 | # for a list of supported languages. 58 | # 59 | # This is also used if you do content translation via gettext catalogs. 60 | # Usually you set "language" from the command line for these cases. 61 | language = None 62 | 63 | # List of patterns, relative to source directory, that match files and 64 | # directories to ignore when looking for source files. 65 | # This pattern also affects html_static_path and html_extra_path. 66 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 67 | 68 | # The name of the Pygments (syntax highlighting) style to use. 69 | pygments_style = 'sphinx' 70 | 71 | 72 | # -- Options for HTML output ------------------------------------------------- 73 | 74 | # The theme to use for HTML and HTML Help pages. See the documentation for 75 | # a list of builtin themes. 76 | # 77 | html_theme = 'default' 78 | 79 | # Theme options are theme-specific and customize the look and feel of a theme 80 | # further. For a list of options available for each theme, see the 81 | # documentation. 82 | # 83 | # html_theme_options = {} 84 | 85 | # Add any paths that contain custom static files (such as style sheets) here, 86 | # relative to this directory. They are copied after the builtin static files, 87 | # so a file named "default.css" will overwrite the builtin "default.css". 88 | html_static_path = ['_static'] 89 | 90 | # Custom sidebar templates, must be a dictionary that maps document names 91 | # to template names. 92 | # 93 | # The default sidebars (for documents that don't match any pattern) are 94 | # defined by theme itself. Builtin themes are using these templates by 95 | # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', 96 | # 'searchbox.html']``. 97 | # 98 | # html_sidebars = {} 99 | 100 | 101 | # -- Options for HTMLHelp output --------------------------------------------- 102 | 103 | # Output file base name for HTML help builder. 104 | htmlhelp_basename = 'abapFakerdoc' 105 | 106 | 107 | # -- Options for LaTeX output ------------------------------------------------ 108 | 109 | latex_elements = { 110 | # The paper size ('letterpaper' or 'a4paper'). 111 | # 112 | # 'papersize': 'letterpaper', 113 | 114 | # The font size ('10pt', '11pt' or '12pt'). 115 | # 116 | # 'pointsize': '10pt', 117 | 118 | # Additional stuff for the LaTeX preamble. 119 | # 120 | # 'preamble': '', 121 | 122 | # Latex figure (float) alignment 123 | # 124 | # 'figure_align': 'htbp', 125 | } 126 | 127 | # Grouping the document tree into LaTeX files. List of tuples 128 | # (source start file, target name, title, 129 | # author, documentclass [howto, manual, or own class]). 130 | latex_documents = [ 131 | (master_doc, 'abapFaker.tex', 'abapFaker Documentation', 132 | '@pacheco7', 'manual'), 133 | ] 134 | 135 | 136 | # -- Options for manual page output ------------------------------------------ 137 | 138 | # One entry per manual page. List of tuples 139 | # (source start file, name, description, authors, manual section). 140 | man_pages = [ 141 | (master_doc, 'abapfaker', 'abapFaker Documentation', 142 | [author], 1) 143 | ] 144 | 145 | 146 | # -- Options for Texinfo output ---------------------------------------------- 147 | 148 | # Grouping the document tree into Texinfo files. List of tuples 149 | # (source start file, target name, title, author, 150 | # dir menu entry, description, category) 151 | texinfo_documents = [ 152 | (master_doc, 'abapFaker', 'abapFaker Documentation', 153 | author, 'abapFaker', 'One line description of project.', 154 | 'Miscellaneous'), 155 | ] 156 | 157 | 158 | # -- Options for Epub output ------------------------------------------------- 159 | 160 | # Bibliographic Dublin Core info. 161 | epub_title = project 162 | 163 | # The unique identifier of the text. This can be a ISBN number 164 | # or the project homepage. 165 | # 166 | # epub_identifier = '' 167 | 168 | # A unique identification for the text. 169 | # 170 | # epub_uid = '' 171 | 172 | # A list of files that should not be packed into the epub file. 173 | epub_exclude_files = ['search.html'] 174 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. abapFaker documentation master file, created by 2 | sphinx-quickstart on Wed Dec 5 12:28:54 2018. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to abapFaker's documentation! 7 | ===================================== 8 | 9 | .. include:: ../README.rst 10 | 11 | Contents 12 | -------- 13 | 14 | .. toctree:: 15 | :maxdepth: 2 16 | 17 | providers 18 | locales 19 | 20 | Indices and tables 21 | ================== 22 | 23 | * :ref:`genindex` 24 | * :ref:`modindex` 25 | * :ref:`search` 26 | -------------------------------------------------------------------------------- /docs/locales.rst: -------------------------------------------------------------------------------- 1 | .. abapFaker documentation master file, created by 2 | sphinx-quickstart on Wed Dec 5 12:28:54 2018. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Locales 7 | ===================================== -------------------------------------------------------------------------------- /docs/locales/.dummy: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/providers.rst: -------------------------------------------------------------------------------- 1 | .. abapFaker documentation master file, created by 2 | sphinx-quickstart on Wed Dec 5 12:28:54 2018. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Providers 7 | ===================================== -------------------------------------------------------------------------------- /docs/providers/.dummy: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/address/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Address 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_de_de.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_address_de_de DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_address_default 30 | FINAL 31 | CREATE PUBLIC . 32 | 33 | PUBLIC SECTION. 34 | METHODS constructor 35 | IMPORTING i_faker TYPE REF TO zcl_faker. 36 | 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_address_de_de IMPLEMENTATION. 43 | 44 | METHOD constructor. 45 | 46 | super->constructor( i_faker ). 47 | 48 | _street_name_formats = VALUE #( 49 | ( `{{person-first_name}}-{{person-last_name}}-{{address-street_suffix_long}}` ) 50 | ( `{{person-last_name}}{{address-street_suffix_short}}` ) 51 | ). 52 | 53 | _street_address_formats = VALUE #( 54 | ( `{{address-street_name}} {{address-building_number}}` ) 55 | ). 56 | 57 | _street_suffixes_long = VALUE #( 58 | ( |Gasse| ) 59 | ( |Platz| ) 60 | ( |Ring| ) 61 | ( |Straße| ) 62 | ( |Weg| ) 63 | ( |Allee| ) 64 | ). 65 | 66 | _street_suffixes_short = VALUE #( 67 | ( |gasse| ) 68 | ( |platz| ) 69 | ( |ring| ) 70 | ( |straße| ) 71 | ( |str.| ) 72 | ( |weg| ) 73 | ( |allee| ) 74 | ). 75 | 76 | _city_names = VALUE #( 77 | ( |Aachen| ) ( |Ahaus| ) ( |Altentreptow| ) ( |Altötting| ) ( |Amberg| ) ( |Angermünde| ) 78 | ( |Anklam| ) ( |Ansbach| ) ( |Apolda| ) ( |Arnstadt| ) ( |Artern| ) ( |Aschaffenburg| ) 79 | ( |Aue| ) ( |Auerbach| ) ( |Augsburg| ) ( |Aurich| ) ( |Backnang| ) ( |Bad Brückenau| ) 80 | ( |Bad Freienwalde| ) ( |Bad Kissingen| ) ( |Bad Kreuznach| ) ( |Bad Langensalza| ) 81 | ( |Bad Liebenwerda| ) ( |Bad Mergentheim| ) ( |Badalzungen| ) ( |Badibling| ) 82 | ( |Badoberan| ) ( |Bamberg| ) ( |Bautzen| ) ( |Bayreuth| ) ( |Beeskow| ) ( |Beilngries| ) 83 | ( |Belzig| ) ( |Berchtesgaden| ) ( |Bergzabern| ) ( |Berlin| ) ( |Bernburg| ) 84 | ( |Bersenbrück| ) ( |Biedenkopf| ) ( |Bischofswerda| ) ( |Bitterfeld| ) ( |Bogen| ) 85 | ( |Borken| ) ( |Borna| ) ( |Brand| ) ( |Brandenburg| ) ( |Bremen| ) ( |Bremervörde| ) 86 | ( |Brilon| ) ( |Bruchsal| ) ( |Burg| ) ( |Burgdorf| ) ( |Burglengenfeld| ) 87 | ( |Böblingen| ) ( |Büsingenm Hochrhein| ) ( |Bützow| ) ( |Calau| ) ( |Calw| ) ( |Celle| ) 88 | ( |Chemnitz| ) ( |Cloppenburg| ) ( |Coburg| ) ( |Cottbus| ) ( |Crailsheim| ) 89 | ( |Cuxhaven| ) ( |Dachau| ) ( |Darmstadt| ) ( |Deggendorf| ) ( |Delitzsch| ) ( |Demmin| ) 90 | ( |Dessau| ) ( |Dieburg| ) ( |Diepholz| ) ( |Dinkelsbühl| ) ( |Dinslaken| ) 91 | ( |Donaueschingen| ) ( |Dresden| ) ( |Duderstadt| ) ( |Döbeln| ) ( |Düren| ) 92 | ( |Ebermannstadt| ) ( |Ebern| ) ( |Ebersberg| ) ( |Eberswalde| ) ( |Eckernförde| ) 93 | ( |Eggenfelden| ) ( |Eichstätt| ) ( |Eichstätt| ) ( |Eilenburg| ) ( |Einbeck| ) 94 | ( |Eisenach| ) ( |Eisenberg| ) ( |Eisenhüttenstadt| ) ( |Eisleben| ) ( |Emmendingen| ) 95 | ( |Erbisdorf| ) ( |Erding| ) ( |Erfurt| ) ( |Erkelenz| ) ( |Euskirchen| ) ( |Eutin| ) 96 | ( |Fallingbostel| ) ( |Feuchtwangen| ) ( |Finsterwalde| ) ( |Flöha| ) ( |Forchheim| ) 97 | ( |Forst| ) ( |Freising| ) ( |Freital| ) ( |Freudenstadt| ) ( |Fulda| ) 98 | ( |Fürstenfeldbruck| ) ( |Fürstenwalde| ) ( |Füssen| ) ( |Gadebusch| ) 99 | ( |Gardelegen| ) ( |Garmisch-Partenkirchen| ) ( |Geithain| ) ( |Geldern| ) 100 | ( |Gelnhausen| ) ( |Genthin| ) ( |Gera| ) ( |Germersheim| ) ( |Gerolzhofen| ) 101 | ( |Gießen| ) ( |Gifhorn| ) ( |Goslar| ) ( |Gotha| ) ( |Grafenau| ) ( |Gransee| ) 102 | ( |Greifswald| ) ( |Greiz| ) ( |Grevenbroich| ) ( |Grevesmühlen| ) 103 | ( |Griesbach Rottal| ) ( |Grimma| ) ( |Grimmen| ) ( |Groß-Gerau| ) ( |Großenhain| ) 104 | ( |Gräfenhainichen| ) ( |Guben| ) ( |Gunzenhausen| ) ( |Göppingen| ) ( |Görlitz| ) 105 | ( |Göttingen| ) ( |Günzburg| ) ( |Güstrow| ) ( |Gütersloh| ) ( |Hagenow| ) 106 | ( |Hainichen| ) ( |Halberstadt| ) ( |Haldensleben| ) ( |Hamburg| ) ( |Hammelburg| ) 107 | ( |Hannover| ) ( |Hannoversch Münden| ) ( |Hansestadttralsund| ) ( |Havelberg| ) 108 | ( |Hechingen| ) ( |Heiligenstadt| ) ( |Heinsberg| ) ( |Helmstedt| ) ( |Herford| ) 109 | ( |Hersbruck| ) ( |Herzberg| ) ( |Hettstedt| ) ( |Hildburghausen| ) ( |Hildesheim| ) 110 | ( |Hofgeismar| ) ( |Hohenmölsen| ) ( |Hohenstein-Ernstthal| ) ( |Holzminden| ) 111 | ( |Hoyerswerda| ) ( |Husum| ) ( |Höxter| ) ( |Hünfeld| ) ( |Illertissen| ) ( |Ilmenau| ) 112 | ( |Ingolstadt| ) ( |Iserlohn| ) ( |Jena| ) ( |Jessen| ) ( |Jülich| ) ( |Jüterbog| ) 113 | ( |Kaiserslautern| ) ( |Kamenz| ) ( |Karlsruhe| ) ( |Kassel| ) ( |Kehl| ) ( |Kelheim| ) 114 | ( |Kemnath| ) ( |Kitzingen| ) ( |Kleve| ) ( |Klötze| ) ( |Koblenz| ) ( |Konstanz| ) 115 | ( |Kronach| ) ( |Kulmbach| ) ( |Kusel| ) ( |Kyritz| ) ( |Königs Wusterhausen| ) 116 | ( |Kötzting| ) ( |Leipziger Land| ) ( |Lemgo| ) ( |Lichtenfels| ) ( |Lippstadt| ) 117 | ( |Lobenstein| ) ( |Luckau| ) ( |Luckenwalde| ) ( |Ludwigsburg| ) ( |Ludwigslust| ) 118 | ( |Lörrach| ) ( |Lübben| ) ( |Lübeck| ) ( |Lübz| ) ( |Lüdenscheid| ) ( |Lüdinghausen| ) 119 | ( |Lüneburg| ) ( |Magdeburg| ) ( |Main-Höchst)| ) ( |Mainburg| ) ( |Malchin| ) 120 | ( |Mallersdorf| ) ( |Marienberg| ) ( |Marktheidenfeld| ) ( |Mayen| ) ( |Meiningen| ) 121 | ( |Meißen| ) ( |Melle| ) ( |Mellrichstadt| ) ( |Melsungen| ) ( |Meppen| ) ( |Merseburg| ) 122 | ( |Mettmann| ) ( |Miesbach| ) ( |Miltenberg| ) ( |Mittweida| ) ( |Moers| ) ( |Monschau| ) 123 | ( |Mühldorfm Inn| ) ( |Mühlhausen| ) ( |München| ) ( |Nabburg| ) ( |Naila| ) ( |Nauen| ) 124 | ( |Neu-Ulm| ) ( |Neubrandenburg| ) ( |Neunburg vorm Wald| ) ( |Neuruppin| ) 125 | ( |Neuss| ) ( |Neustadtm Rübenberge| ) ( |Neustadtner Waldnaab| ) ( |Neustrelitz| ) 126 | ( |Niesky| ) ( |Norden| ) ( |Nordhausen| ) ( |Northeim| ) ( |Nördlingen| ) 127 | ( |Nürtingen| ) ( |Oberviechtach| ) ( |Ochsenfurt| ) ( |Olpe| ) ( |Oranienburg| ) 128 | ( |Oschatz| ) ( |Osterburg| ) ( |Osterodem Harz| ) ( |Paderborn| ) ( |Parchim| ) 129 | ( |Parsberg| ) ( |Pasewalk| ) ( |Passau| ) ( |Pegnitz| ) ( |Peine| ) ( |Perleberg| ) 130 | ( |Pfaffenhofenner Ilm| ) ( |Pinneberg| ) ( |Pirmasens| ) ( |Plauen| ) ( |Potsdam| ) 131 | ( |Prenzlau| ) ( |Pritzwalk| ) ( |Pößneck| ) ( |Quedlinburg| ) ( |Querfurt| ) 132 | ( |Rastatt| ) ( |Rathenow| ) ( |Ravensburg| ) ( |Recklinghausen| ) ( |Regen| ) 133 | ( |Regensburg| ) ( |Rehau| ) ( |Reutlingen| ) ( |Ribnitz-Damgarten| ) ( |Riesa| ) 134 | ( |Rochlitz| ) ( |Rockenhausen| ) ( |Roding| ) ( |Rosenheim| ) ( |Rostock| ) ( |Roth| ) 135 | ( |Rothenburg oberauber| ) ( |Rottweil| ) ( |Rudolstadt| ) ( |Saarbrücken| ) 136 | ( |Saarlouis| ) ( |Sangerhausen| ) ( |Sankt Goar| ) ( |Sankt Goarshausen| ) 137 | ( |Saulgau| ) ( |Scheinfeld| ) ( |Schleiz| ) ( |Schlüchtern| ) ( |Schmölln| ) 138 | ( |Schongau| ) ( |Schrobenhausen| ) ( |Schwabmünchen| ) ( |Schwandorf| ) 139 | ( |Schwarzenberg| ) ( |Schweinfurt| ) ( |Schwerin| ) ( |Schwäbisch Gmünd| ) 140 | ( |Schwäbisch Hall| ) ( |Sebnitz| ) ( |Seelow| ) ( |Senftenberg| ) ( |Siegen| ) 141 | ( |Sigmaringen| ) ( |Soest| ) ( |Soltau| ) ( |Soltau| ) ( |Sondershausen| ) 142 | ( |Sonneberg| ) ( |Spremberg| ) ( |Stade| ) ( |Stade| ) ( |Stadtroda| ) 143 | ( |Stadtsteinach| ) ( |Staffelstein| ) ( |Starnberg| ) ( |Staßfurt| ) ( |Steinfurt| ) 144 | ( |Stendal| ) ( |Sternberg| ) ( |Stollberg| ) ( |Strasburg| ) ( |Strausberg| ) 145 | ( |Stuttgart| ) ( |Suhl| ) ( |Sulzbach-Rosenberg| ) ( |Säckingen| ) ( |Sömmerda| ) 146 | ( |Tecklenburg| ) ( |Teterow| ) ( |Tirschenreuth| ) ( |Torgau| ) ( |Tuttlingen| ) 147 | ( |Tübingen| ) ( |Ueckermünde| ) ( |Uelzen| ) ( |Uffenheim| ) ( |Vechta| ) 148 | ( |Viechtach| ) ( |Viersen| ) ( |Vilsbiburg| ) ( |Vohenstrauß| ) ( |Waldmünchen| ) 149 | ( |Wanzleben| ) ( |Waren| ) ( |Warendorf| ) ( |Weimar| ) ( |Weißenfels| ) 150 | ( |Weißwasser| ) ( |Werdau| ) ( |Wernigerode| ) ( |Wertingen| ) ( |Wesel| ) ( |Wetzlar| ) 151 | ( |Wiedenbrück| ) ( |Wismar| ) ( |Wittenberg| ) ( |Wittmund| ) ( |Wittstock| ) 152 | ( |Witzenhausen| ) ( |Wolfach| ) ( |Wolfenbüttel| ) ( |Wolfratshausen| ) ( |Wolgast| ) 153 | ( |Wolmirstedt| ) ( |Worbis| ) ( |Wunsiedel| ) ( |Wurzen| ) ( |Zerbst| ) ( |Zeulenroda| ) 154 | ( |Zossen| ) ( |Zschopau| ) 155 | ). 156 | 157 | ENDMETHOD. 158 | 159 | ENDCLASS. 160 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_ADDRESS_DE_DE 7 | E 8 | ABAP Faker Provider Address de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_default.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_address_default DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_provider_address 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PRIVATE SECTION. 37 | ENDCLASS. 38 | 39 | 40 | 41 | CLASS zcl_faker_address_default IMPLEMENTATION. 42 | 43 | METHOD constructor. 44 | 45 | super->constructor( i_faker ). 46 | 47 | _street_name_formats = VALUE #( 48 | ( `{{person-first_name}}-{{person-last_name}}-Street` ) 49 | ). 50 | 51 | _street_address_formats = VALUE #( 52 | ( `{{address-building_number}} {{address-street_name}}` ) 53 | ). 54 | 55 | _postcode_formats = VALUE #( 56 | ( |#####| ) 57 | ). 58 | 59 | _building_number_formats = VALUE #( 60 | ( |%##| ) 61 | ( |%#| ) 62 | ( |%| ) 63 | ). 64 | 65 | _city_names = VALUE #( 66 | ( |Ducktown| ) ). 67 | 68 | _city_formats = VALUE #( 69 | ( `{{address-city_name}}` ) 70 | ). 71 | 72 | _city_address_formats = VALUE #( 73 | ( `{{address-postcode}} {{address-city}}` ) 74 | ). 75 | 76 | ENDMETHOD. 77 | 78 | ENDCLASS. 79 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_ADDRESS_DEFAULT 7 | E 8 | ABAP Faker Provider Address Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_en_us.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_address_en_us DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_address_default 30 | FINAL 31 | CREATE PUBLIC . 32 | 33 | PUBLIC SECTION. 34 | METHODS constructor 35 | IMPORTING i_faker TYPE REF TO zcl_faker. 36 | 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_address_en_us IMPLEMENTATION. 43 | 44 | METHOD constructor. 45 | 46 | super->constructor( i_faker ). 47 | 48 | _street_name_formats = VALUE #( 49 | ( `{{person-first_name}} {{address-street_suffix_long}}` ) 50 | ( `{{person-last_name}} {{address-street_suffix_long}}` ) 51 | ). 52 | 53 | _street_suffixes_long = VALUE #( 54 | ( |Alley| ) 55 | ( |Avenue| ) 56 | ( |Branch| ) 57 | ( |Bridge| ) 58 | ( |Brook| ) 59 | ( |Brooks| ) 60 | ( |Burg| ) 61 | ( |Burgs| ) 62 | ( |Bypass| ) 63 | ( |Camp| ) 64 | ( |Canyon| ) 65 | ( |Cape| ) 66 | ( |Causeway| ) 67 | ( |Center| ) 68 | ( |Centers| ) 69 | ( |Circle| ) 70 | ( |Circles| ) 71 | ( |Cliff| ) 72 | ( |Cliffs| ) 73 | ( |Club| ) 74 | ( |Common| ) 75 | ( |Corner| ) 76 | ( |Corners| ) 77 | ( |Course| ) 78 | ( |Court| ) 79 | ( |Courts| ) 80 | ( |Cove| ) 81 | ( |Coves| ) 82 | ( |Creek| ) 83 | ( |Crescent| ) 84 | ( |Crest| ) 85 | ( |Crossing| ) 86 | ( |Crossroad| ) 87 | ( |Curve| ) 88 | ( |Dale| ) 89 | ( |Dam| ) 90 | ( |Divide| ) 91 | ( |Drive| ) 92 | ( |Drive| ) 93 | ( |Drives| ) 94 | ( |Estate| ) 95 | ( |Estates| ) 96 | ( |Expressway| ) 97 | ( |Extension| ) 98 | ( |Extensions| ) 99 | ( |Fall| ) 100 | ( |Falls| ) 101 | ( |Ferry| ) 102 | ( |Field| ) 103 | ( |Fields| ) 104 | ( |Flat| ) 105 | ( |Flats| ) 106 | ( |Ford| ) 107 | ( |Fords| ) 108 | ( |Forest| ) 109 | ( |Forge| ) 110 | ( |Forges| ) 111 | ( |Fork| ) 112 | ( |Forks| ) 113 | ( |Fort| ) 114 | ( |Freeway| ) 115 | ( |Garden| ) 116 | ( |Gardens| ) 117 | ( |Gateway| ) 118 | ( |Glen| ) 119 | ( |Glens| ) 120 | ( |Green| ) 121 | ( |Greens| ) 122 | ( |Grove| ) 123 | ( |Groves| ) 124 | ( |Harbor| ) 125 | ( |Harbors| ) 126 | ( |Haven| ) 127 | ( |Heights| ) 128 | ( |Highway| ) 129 | ( |Hill| ) 130 | ( |Hills| ) 131 | ( |Hollow| ) 132 | ( |Inlet| ) 133 | ( |Inlet| ) 134 | ( |Island| ) 135 | ( |Island| ) 136 | ( |Islands| ) 137 | ( |Islands| ) 138 | ( |Isle| ) 139 | ( |Isle| ) 140 | ( |Junction| ) 141 | ( |Junctions| ) 142 | ( |Key| ) 143 | ( |Keys| ) 144 | ( |Knoll| ) 145 | ( |Knolls| ) 146 | ( |Lake| ) 147 | ( |Lakes| ) 148 | ( |Land| ) 149 | ( |Landing| ) 150 | ( |Lane| ) 151 | ( |Light| ) 152 | ( |Lights| ) 153 | ( |Loaf| ) 154 | ( |Lock| ) 155 | ( |Locks| ) 156 | ( |Locks| ) 157 | ( |Lodge| ) 158 | ( |Lodge| ) 159 | ( |Loop| ) 160 | ( |Mall| ) 161 | ( |Manor| ) 162 | ( |Manors| ) 163 | ( |Meadow| ) 164 | ( |Meadows| ) 165 | ( |Mews| ) 166 | ( |Mill| ) 167 | ( |Mills| ) 168 | ( |Mission| ) 169 | ( |Mission| ) 170 | ( |Motorway| ) 171 | ( |Mount| ) 172 | ( |Mountain| ) 173 | ( |Mountain| ) 174 | ( |Mountains| ) 175 | ( |Mountains| ) 176 | ( |Neck| ) 177 | ( |Orchard| ) 178 | ( |Oval| ) 179 | ( |Overpass| ) 180 | ( |Park| ) 181 | ( |Parks| ) 182 | ( |Parkway| ) 183 | ( |Parkways| ) 184 | ( |Pass| ) 185 | ( |Passage| ) 186 | ( |Path| ) 187 | ( |Pike| ) 188 | ( |Pine| ) 189 | ( |Pines| ) 190 | ( |Place| ) 191 | ( |Plain| ) 192 | ( |Plains| ) 193 | ( |Plains| ) 194 | ( |Plaza| ) 195 | ( |Plaza| ) 196 | ( |Point| ) 197 | ( |Points| ) 198 | ( |Port| ) 199 | ( |Port| ) 200 | ( |Ports| ) 201 | ( |Ports| ) 202 | ( |Prairie| ) 203 | ( |Prairie| ) 204 | ( |Radial| ) 205 | ( |Ramp| ) 206 | ( |Ranch| ) 207 | ( |Rapid| ) 208 | ( |Rapids| ) 209 | ( |Rest| ) 210 | ( |Ridge| ) 211 | ( |Ridges| ) 212 | ( |River| ) 213 | ( |Road| ) 214 | ( |Road| ) 215 | ( |Roads| ) 216 | ( |Roads| ) 217 | ( |Route| ) 218 | ( |Row| ) 219 | ( |Rue| ) 220 | ( |Run| ) 221 | ( |Shoal| ) 222 | ( |Shoals| ) 223 | ( |Shore| ) 224 | ( |Shores| ) 225 | ( |Skyway| ) 226 | ( |Spring| ) 227 | ( |Springs| ) 228 | ( |Springs| ) 229 | ( |Spur| ) 230 | ( |Spurs| ) 231 | ( |Square| ) 232 | ( |Square| ) 233 | ( |Squares| ) 234 | ( |Squares| ) 235 | ( |Station| ) 236 | ( |Station| ) 237 | ( |Stravenue| ) 238 | ( |Stravenue| ) 239 | ( |Stream| ) 240 | ( |Stream| ) 241 | ( |Street| ) 242 | ( |Street| ) 243 | ( |Streets| ) 244 | ( |Summit| ) 245 | ( |Summit| ) 246 | ( |Terrace| ) 247 | ( |Throughway| ) 248 | ( |Trace| ) 249 | ( |Track| ) 250 | ( |Trafficway| ) 251 | ( |Trail| ) 252 | ( |Trail| ) 253 | ( |Tunnel| ) 254 | ( |Tunnel| ) 255 | ( |Turnpike| ) 256 | ( |Turnpike| ) 257 | ( |Underpass| ) 258 | ( |Union| ) 259 | ( |Unions| ) 260 | ( |Valley| ) 261 | ( |Valleys| ) 262 | ( |Via| ) 263 | ( |Viaduct| ) 264 | ( |View| ) 265 | ( |Views| ) 266 | ( |Village| ) 267 | ( |Village| ) 268 | ( |Villages| ) 269 | ( |Ville| ) 270 | ( |Vista| ) 271 | ( |Vista| ) 272 | ( |Walk| ) 273 | ( |Walks| ) 274 | ( |Wall| ) 275 | ( |Way| ) 276 | ( |Ways| ) 277 | ( |Well| ) 278 | ( |Wells| ) 279 | ). 280 | 281 | _postcode_formats = VALUE #( 282 | ( |#####| ) 283 | ( |#####-####| ) 284 | ). 285 | 286 | _building_number_formats = VALUE #( 287 | ( |%####| ) 288 | ( |%###| ) 289 | ( |%##| ) 290 | ). 291 | 292 | _city_prefixes = VALUE #( 293 | ( |North| ) 294 | ( |East| ) 295 | ( |West| ) 296 | ( |South| ) 297 | ( |New| ) 298 | ( |Lake| ) 299 | ( |Port| ) 300 | ). 301 | 302 | _city_suffixes = VALUE #( 303 | ( |town| ) 304 | ( |ton| ) 305 | ( |land| ) 306 | ( |ville| ) 307 | ( |berg| ) 308 | ( |burgh| ) 309 | ( |borough| ) 310 | ( |bury| ) 311 | ( |view| ) 312 | ( |port| ) 313 | ( |mouth| ) 314 | ( |stad| ) 315 | ( |furt| ) 316 | ( |chester| ) 317 | ( |mouth| ) 318 | ( |fort| ) 319 | ( |haven| ) 320 | ( |side| ) 321 | ( |shire| ) 322 | ). 323 | 324 | _city_formats = value #( 325 | ( `{{address-city_prefix}} {{person-first_name}}{{address-city_suffix}}` ) 326 | ( `{{person-first_name}}{{address-city_suffix}}` ) 327 | ( `{{address-city_prefix}} {{person-first_name}}` ) 328 | ( `{{person-first_name}}{{address-city_suffix}}` ) 329 | ( `{{person-last_name}}{{address-city_suffix}}` ) 330 | ). 331 | 332 | _states_abbr = value #( 333 | ( |AL| ) ( |AK| ) ( |AS| ) ( |AZ| ) ( |AR| ) ( |CA| ) ( |CO| ) ( |CT| ) ( |DE| ) ( |DC| ) ( |FM| ) ( |FL| ) 334 | ( |GA| ) ( |GU| ) ( |HI| ) ( |ID| ) ( |IL| ) ( |IN| ) ( |IA| ) ( |KS| ) ( |KY| ) ( |LA| ) ( |ME| ) ( |MH| ) 335 | ( |MD| ) ( |MA| ) ( |MI| ) ( |MN| ) ( |MS| ) ( |MO| ) ( |MT| ) ( |NE| ) ( |NV| ) ( |NH| ) ( |NJ| ) ( |NM| ) 336 | ( |NY| ) ( |NC| ) ( |ND| ) ( |MP| ) ( |OH| ) ( |OK| ) ( |OR| ) ( |PW| ) ( |PA| ) ( |PR| ) ( |RI| ) ( |SC| ) 337 | ( |SD| ) ( |TN| ) ( |TX| ) ( |UT| ) ( |VT| ) ( |VI| ) ( |VA| ) ( |WA| ) ( |WV| ) ( |WI| ) ( |WY| ) 338 | ). 339 | _city_address_formats = VALUE #( 340 | ( `{{address-city}}, {{address-state_abbr}} {{address-postcode}}` ) 341 | ). 342 | 343 | ENDMETHOD. 344 | 345 | ENDCLASS. 346 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_ADDRESS_EN_US 7 | E 8 | ABAP Faker Provider Address en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_pt_br.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_address_pt_br DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_address_default 30 | FINAL 31 | CREATE PUBLIC . 32 | 33 | PUBLIC SECTION. 34 | METHODS constructor 35 | IMPORTING i_faker TYPE REF TO zcl_faker. 36 | 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | CLASS zcl_faker_address_pt_br IMPLEMENTATION. 41 | 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | _street_name_formats = VALUE #( 47 | ( `{{address-street_suffix_long}} {{person-first_name}}` ) 48 | ( `{{address-street_suffix_long}} {{person-last_name}}` ) 49 | ). 50 | 51 | _street_address_formats = VALUE #( 52 | ( `{{address-street_name}}, {{address-building_number}}` ) 53 | ). 54 | 55 | 56 | _street_suffixes_long = VALUE #( 57 | ( |Alameda| ) ( |Avenida| ) ( |Beco| ) ( |Boulevard| ) ( |Caminho| ) 58 | ( |Cais| ) ( |Campo| ) ( |Escada| ) ( |Estrada| ) ( |Favela| ) 59 | ( |Fazenda| ) ( |Floresta| ) ( |Ilha| ) ( |Jardim| ) ( |Ladeira| ) 60 | ( |Largo| ) ( |Loteamento| ) ( |Lugar| ) ( |Morro| ) ( |Parque| ) 61 | ( |Passeio| ) ( |Praia| ) ( |Praça| ) ( |Recanto| ) ( |Rodovia| ) 62 | ( |Rua| ) ( |Servidao| ) ( |Travessa| ) ( |Via| ) ( |Vila| ) 63 | ). 64 | 65 | _street_suffixes_short = VALUE #( 66 | ( |Alm| ) ( |Avn| ) ( |Bec| ) ( |Blv| ) ( |Cam| ) 67 | ( |Cas| ) ( |Cmp| ) ( |Esc| ) ( |Etr| ) ( |Fav| ) 68 | ( |Faz| ) ( |Flt| ) ( |Ilh| ) ( |Jrd| ) ( |Lad| ) 69 | ( |Lrg| ) ( |Ltm| ) ( |Lug| ) ( |Mrr| ) ( |Pqe| ) 70 | ( |Pas| ) ( |Pra| ) ( |Prc| ) ( |Rec| ) ( |Rod| ) 71 | ( |R| ) ( |Srv| ) ( |Trv| ) ( |Via| ) ( |Vil| ) 72 | ). 73 | 74 | _postcode_formats = VALUE #( 75 | ( |#####-###| ) 76 | ). 77 | 78 | _building_number_formats = VALUE #( 79 | ( |%####| ) 80 | ( |%###| ) 81 | ( |%##| ) 82 | ). 83 | 84 | _city_names = VALUE #( 85 | ( |Aracaju| ) 86 | ( |Belém| ) 87 | ( |Belo Horizonte| ) 88 | ( |Boa Vista| ) 89 | ( |Brasília| ) 90 | ( |Campo Grande| ) 91 | ( |Cuiabá| ) 92 | ( |Curitiba| ) 93 | ( |Florianópolis| ) 94 | ( |Fortaleza| ) 95 | ( |Goiânia| ) 96 | ( |João Pessoa| ) 97 | ( |Macapá| ) 98 | ( |Maceió| ) 99 | ( |Manaus| ) 100 | ( |Natal| ) 101 | ( |Palmas| ) 102 | ( |Porto Alegre| ) 103 | ( |Porto Velho| ) 104 | ( |Recife| ) 105 | ( |Rio Branco| ) 106 | ( |Rio de Janeiro| ) 107 | ( |Salvador| ) 108 | ( |São Luís| ) 109 | ( |São Paulo| ) 110 | ( |Teresina| ) 111 | ( |Vitória| ) 112 | ). 113 | 114 | _states_abbr = VALUE #( 115 | ( |AC| ) ( |AL| ) ( |AP| ) 116 | ( |AM| ) ( |BA| ) ( |CE| ) 117 | ( |DF| ) ( |ES| ) ( |GO| ) 118 | ( |MA| ) ( |MT| ) ( |MS| ) 119 | ( |MG| ) ( |PA| ) ( |PB| ) 120 | ( |PR| ) ( |PE| ) ( |PI| ) 121 | ( |RJ| ) ( |RN| ) ( |RS| ) 122 | ( |RO| ) ( |RR| ) ( |SC| ) 123 | ( |SP| ) ( |SE| ) ( |TO| ) 124 | ). 125 | 126 | _city_address_formats = VALUE #( 127 | ( `{{address-city}} - {{address-state_abbr}} {{address-postcode}}` ) 128 | ). 129 | 130 | ENDMETHOD. 131 | 132 | ENDCLASS. 133 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_address_pt_br.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_ADDRESS_PT_BR 7 | E 8 | ABAP Faker Provider Address en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_provider_address.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_provider_address DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider 29 | ABSTRACT . 30 | 31 | PUBLIC SECTION. 32 | METHODS street_name 33 | RETURNING VALUE(r_result) TYPE string. 34 | METHODS street_address 35 | RETURNING VALUE(r_result) TYPE string. 36 | METHODS street_suffix_long 37 | RETURNING VALUE(r_result) TYPE string. 38 | METHODS street_suffix_short 39 | RETURNING VALUE(r_result) TYPE string. 40 | METHODS postcode 41 | RETURNING VALUE(r_result) TYPE string. 42 | METHODS building_number 43 | RETURNING VALUE(r_result) TYPE string. 44 | METHODS city_prefix 45 | RETURNING VALUE(r_result) TYPE string. 46 | METHODS city_suffix 47 | RETURNING VALUE(r_result) TYPE string. 48 | METHODS city_name 49 | RETURNING VALUE(r_result) TYPE string. 50 | METHODS city 51 | RETURNING VALUE(r_result) TYPE string. 52 | METHODS city_address 53 | RETURNING VALUE(r_result) TYPE string. 54 | METHODS state_abbr 55 | RETURNING VALUE(r_result) TYPE string. 56 | 57 | PROTECTED SECTION. 58 | DATA _street_name_formats TYPE string_table. 59 | DATA _street_address_formats TYPE string_table. 60 | DATA _street_suffixes_long TYPE string_table. 61 | DATA _street_suffixes_short TYPE string_table. 62 | DATA _building_number_formats TYPE string_table. 63 | DATA _postcode_formats TYPE string_table. 64 | DATA _city_prefixes TYPE string_table. 65 | DATA _city_suffixes TYPE string_table. 66 | DATA _city_names TYPE string_table. 67 | DATA _city_formats TYPE string_table. 68 | DATA _city_address_formats TYPE string_table. 69 | DATA _states_abbr TYPE string_table. 70 | 71 | PRIVATE SECTION. 72 | ENDCLASS. 73 | 74 | 75 | 76 | CLASS zcl_faker_provider_address IMPLEMENTATION. 77 | 78 | METHOD street_name. 79 | r_result = formatter( _street_name_formats[ random( lines( _street_name_formats ) ) ] ). 80 | ENDMETHOD. 81 | 82 | METHOD street_suffix_long. 83 | r_result = _street_suffixes_long[ random( lines( _street_suffixes_long ) ) ]. 84 | ENDMETHOD. 85 | 86 | METHOD street_suffix_short. 87 | r_result = _street_suffixes_short[ random( lines( _street_suffixes_short ) ) ]. 88 | ENDMETHOD. 89 | 90 | METHOD postcode. 91 | r_result = numerify( _postcode_formats[ random( lines( _postcode_formats ) ) ] ). 92 | ENDMETHOD. 93 | 94 | METHOD building_number. 95 | r_result = numerify( _building_number_formats[ random( lines( _building_number_formats ) ) ] ). 96 | ENDMETHOD. 97 | 98 | METHOD city_prefix. 99 | r_result = _city_prefixes[ random( lines( _city_prefixes ) ) ]. 100 | ENDMETHOD. 101 | 102 | METHOD city_suffix. 103 | r_result = _city_suffixes[ random( lines( _city_suffixes ) ) ]. 104 | ENDMETHOD. 105 | 106 | METHOD city_name. 107 | r_result = _city_names[ random( lines( _city_names ) ) ]. 108 | ENDMETHOD. 109 | 110 | METHOD city. 111 | r_result = formatter( _city_formats[ random( lines( _city_formats ) ) ] ). 112 | ENDMETHOD. 113 | 114 | METHOD street_address. 115 | r_result = formatter( _street_address_formats[ random( lines( _street_address_formats ) ) ] ). 116 | ENDMETHOD. 117 | 118 | METHOD city_address. 119 | r_result = formatter( _city_address_formats[ random( lines( _city_address_formats ) ) ] ). 120 | ENDMETHOD. 121 | 122 | METHOD state_abbr. 123 | r_result = _states_abbr[ random( lines( _states_abbr ) ) ]. 124 | ENDMETHOD. 125 | 126 | ENDCLASS. 127 | -------------------------------------------------------------------------------- /src/provider/address/zcl_faker_provider_address.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_ADDRESS 7 | E 8 | ABAP Faker Provider Address 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/company/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Company 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_de_de.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_company_de_de DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_company_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PRIVATE SECTION. 37 | ENDCLASS. 38 | 39 | 40 | 41 | CLASS zcl_faker_company_de_de IMPLEMENTATION. 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | _formats = VALUE #( 47 | ( `{{person-last_name}} {{company-company_suffix}}` ) 48 | ( `{{person-last_name}}-{{person-last_name}} {{company-company_suffix}}` ) 49 | ). 50 | 51 | _company_suffixes = VALUE #( 52 | ( |AG| ) ( |AG| ) ( |AG| ) ( |AG| ) ( |AG & Co. KG| ) ( |AG & Co. KGaA| ) ( |AG & Co. OHG| ) 53 | ( |GbR| ) ( |GbR| ) ( |GmbH| ) ( |GmbH| ) ( |GmbH| ) ( |GmbH| ) ( |GmbH & Co. KG| ) 54 | ( |GmbH & Co. KG| ) ( |GmbH & Co. KGaA| ) ( |GmbH & Co. OHG| ) ( |KG| ) ( |KG| ) ( |KG| ) 55 | ( |KGaA| ) ( |OHG mbH| ) ( |Stiftung & Co. KG| ) ( |Stiftung & Co. KGaA| ) ( |e.G.| ) 56 | ( |e.V.| ) 57 | ). 58 | 59 | ENDMETHOD. 60 | 61 | ENDCLASS. 62 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_COMPANY_DE_DE 7 | E 8 | ABAP Faker Provider Company de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_COMPANY_DEFAULT 7 | E 8 | ABAP Faker Provider Company Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_en_us.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_company_en_us DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_company_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PRIVATE SECTION. 37 | ENDCLASS. 38 | 39 | 40 | 41 | CLASS zcl_faker_company_en_us IMPLEMENTATION. 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | ENDMETHOD. 47 | 48 | ENDCLASS. 49 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_COMPANY_EN_US 7 | E 8 | ABAP Faker Provider Company en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_pt_br.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_company_pt_br DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_company_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PRIVATE SECTION. 37 | ENDCLASS. 38 | 39 | 40 | 41 | CLASS zcl_faker_company_pt_br IMPLEMENTATION. 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | _company_suffixes = VALUE #( ( |S/A| ) ( |S.A.| ) ( |Ltda.| ) ( |- ME| ) ( |- EI| ) ( |e Filhos| ) ). 47 | 48 | _catch_phrase_words_part_1 = VALUE #( 49 | ( |a segurança| ) 50 | ( |o prazer| ) 51 | ( |o conforto| ) 52 | ( |a simplicidade| ) 53 | ( |a certeza| ) 54 | ( |a arte| ) 55 | ( |o poder| ) 56 | ( |o direito| ) 57 | ( |a possibilidade| ) 58 | ( |a vantagem| ) 59 | ( |a liberdade| ) 60 | ). 61 | 62 | _catch_phrase_words_part_2 = VALUE #( 63 | ( |de conseguir| ) 64 | ( |de avançar| ) 65 | ( |de evoluir| ) 66 | ( |de mudar| ) 67 | ( |de inovar| ) 68 | ( |de ganhar| ) 69 | ( |de atingir seus objetivos| ) 70 | ( |de concretizar seus projetos| ) 71 | ( |de realizar seus sonhos | ) 72 | ). 73 | 74 | _catch_phrase_words_part_3 = VALUE #( 75 | ( |de maneira eficaz| ) 76 | ( |mais rapidamente| ) 77 | ( |mais facilmente| ) 78 | ( |simplesmente| ) 79 | ( |com toda a tranquilidade| ) 80 | ( |antes de tudo| ) 81 | ( |naturalmente| ) 82 | ( |sem preocupação| ) 83 | ( |em estado puro| ) 84 | ( |com força total| ) 85 | ( |direto da fonte| ) 86 | ( |com confiança| ) 87 | ). 88 | 89 | ENDMETHOD. 90 | 91 | ENDCLASS. 92 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_company_pt_br.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_COMPANY_PT_BR 7 | E 8 | ABAP Faker Provider Company en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_provider_company.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_provider_company DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider 29 | ABSTRACT . 30 | 31 | PUBLIC SECTION. 32 | METHODS company_name 33 | RETURNING VALUE(r_result) TYPE string. 34 | METHODS company_claim 35 | RETURNING VALUE(r_result) TYPE string. 36 | METHODS company_suffix 37 | RETURNING VALUE(r_result) TYPE string. 38 | METHODS catch_phrase_words_part_1 39 | RETURNING VALUE(r_result) TYPE string. 40 | METHODS catch_phrase_words_part_2 41 | RETURNING VALUE(r_result) TYPE string. 42 | METHODS catch_phrase_words_part_3 43 | RETURNING VALUE(r_result) TYPE string. 44 | METHODS bs_words_part_1 45 | RETURNING VALUE(r_result) TYPE string. 46 | METHODS bs_words_part_2 47 | RETURNING VALUE(r_result) TYPE string. 48 | METHODS bs_words_part_3 49 | RETURNING VALUE(r_result) TYPE string. 50 | 51 | PROTECTED SECTION. 52 | DATA _formats TYPE string_table. 53 | data _claim_formats TYPE string_table. 54 | DATA _company_suffixes TYPE string_table. 55 | DATA _catch_phrase_words_part_1 TYPE string_table. 56 | DATA _catch_phrase_words_part_2 TYPE string_table. 57 | DATA _catch_phrase_words_part_3 TYPE string_table. 58 | DATA _bs_words_part_1 TYPE string_table. 59 | DATA _bs_words_part_2 TYPE string_table. 60 | DATA _bs_words_part_3 TYPE string_table. 61 | 62 | 63 | PRIVATE SECTION. 64 | ENDCLASS. 65 | 66 | 67 | 68 | CLASS zcl_faker_provider_company IMPLEMENTATION. 69 | 70 | METHOD company_name. 71 | r_result = formatter( _formats[ random( lines( _formats ) ) ] ). 72 | ENDMETHOD. 73 | 74 | METHOD bs_words_part_1. 75 | r_result = _bs_words_part_1[ random( lines( _bs_words_part_1 ) ) ]. 76 | ENDMETHOD. 77 | 78 | METHOD bs_words_part_2. 79 | r_result = _bs_words_part_2[ random( lines( _bs_words_part_2 ) ) ]. 80 | ENDMETHOD. 81 | 82 | METHOD bs_words_part_3. 83 | r_result = _bs_words_part_3[ random( lines( _bs_words_part_3 ) ) ]. 84 | ENDMETHOD. 85 | 86 | METHOD catch_phrase_words_part_1. 87 | r_result = _catch_phrase_words_part_1[ random( lines( _catch_phrase_words_part_1 ) ) ]. 88 | ENDMETHOD. 89 | 90 | METHOD catch_phrase_words_part_2. 91 | r_result = _catch_phrase_words_part_2[ random( lines( _catch_phrase_words_part_2 ) ) ]. 92 | ENDMETHOD. 93 | 94 | METHOD catch_phrase_words_part_3. 95 | r_result = _catch_phrase_words_part_3[ random( lines( _catch_phrase_words_part_3 ) ) ]. 96 | ENDMETHOD. 97 | 98 | METHOD company_suffix. 99 | r_result = _company_suffixes[ random( lines( _company_suffixes ) ) ]. 100 | ENDMETHOD. 101 | 102 | METHOD company_claim. 103 | r_result = formatter( _claim_formats[ random( lines( _claim_formats ) ) ] ). 104 | ENDMETHOD. 105 | 106 | ENDCLASS. 107 | -------------------------------------------------------------------------------- /src/provider/company/zcl_faker_provider_company.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_COMPANY 7 | E 8 | ABAP Faker Provider Company 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/date/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Provider Date 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_de_de.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_date_de_de DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider_date 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PROTECTED SECTION. 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_date_de_de IMPLEMENTATION. 43 | 44 | METHOD constructor. 45 | super->constructor( i_faker ). 46 | 47 | _format = |DD.MM.YYYY|. 48 | 49 | ENDMETHOD. 50 | 51 | ENDCLASS. 52 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_DATE_DE_DE 7 | E 8 | ABAP Faker Provider Date de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_default.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_date_default DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider_date 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PROTECTED SECTION. 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_date_default IMPLEMENTATION. 43 | 44 | METHOD constructor. 45 | super->constructor( i_faker ). 46 | 47 | _format = |YYYY-MM-DD|. 48 | 49 | ENDMETHOD. 50 | 51 | ENDCLASS. 52 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_DATE_DEFAULT 7 | E 8 | ABAP Faker Provider Date Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_en_us.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_date_en_us DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider_date 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PROTECTED SECTION. 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_date_en_us IMPLEMENTATION. 43 | 44 | METHOD constructor. 45 | super->constructor( i_faker ). 46 | 47 | _format = |YYYY/DD/MM|. 48 | 49 | ENDMETHOD. 50 | 51 | ENDCLASS. 52 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_date_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_DATE_EN_US 7 | E 8 | ABAP Faker Provider Date en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_provider_date.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_provider_date DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider 29 | CREATE PUBLIC . 30 | 31 | PUBLIC SECTION. 32 | METHODS date 33 | IMPORTING i_min_years TYPE i OPTIONAL 34 | i_max_years TYPE i DEFAULT 500 35 | i_future TYPE boolean OPTIONAL 36 | RETURNING VALUE(r_result) TYPE string. 37 | METHODS today 38 | RETURNING VALUE(r_result) TYPE string. 39 | METHODS tomorrow 40 | RETURNING VALUE(r_result) TYPE string. 41 | METHODS yesterday 42 | RETURNING VALUE(r_result) TYPE string. 43 | METHODS date_of_birth 44 | RETURNING VALUE(r_result) TYPE string. 45 | METHODS date_of_birth_adult 46 | RETURNING VALUE(r_result) TYPE string. 47 | 48 | PROTECTED SECTION. 49 | DATA _format TYPE string. 50 | 51 | PRIVATE SECTION. 52 | METHODS get_date 53 | IMPORTING i_min_years TYPE i OPTIONAL 54 | i_max_years TYPE i DEFAULT 500 55 | i_future TYPE boolean OPTIONAL 56 | RETURNING VALUE(r_result) TYPE d. 57 | METHODS format 58 | IMPORTING i_date TYPE d 59 | RETURNING VALUE(r_result) TYPE string. 60 | 61 | ENDCLASS. 62 | 63 | 64 | 65 | CLASS zcl_faker_provider_date IMPLEMENTATION. 66 | 67 | METHOD date. 68 | r_result = format( get_date( 69 | i_min_years = i_min_years 70 | i_max_years = i_max_years 71 | i_future = i_future ) 72 | ). 73 | 74 | ENDMETHOD. 75 | 76 | METHOD date_of_birth. 77 | r_result = format( get_date( 78 | i_max_years = 100 79 | ) 80 | ). 81 | ENDMETHOD. 82 | 83 | METHOD date_of_birth_adult. 84 | r_result = format( get_date( 85 | i_min_years = 18 86 | i_max_years = 100 87 | ) 88 | ). 89 | ENDMETHOD. 90 | 91 | METHOD today. 92 | r_result = format( sy-datum ). 93 | ENDMETHOD. 94 | 95 | METHOD tomorrow. 96 | r_result = format( CONV d( sy-datum + 1 ) ). 97 | ENDMETHOD. 98 | 99 | METHOD yesterday. 100 | r_result = format( CONV d( sy-datum - 1 ) ). 101 | ENDMETHOD. 102 | 103 | METHOD get_date. 104 | 105 | DATA(max_days) = i_max_years * 365. 106 | DATA(min_days) = i_min_years * 365. 107 | 108 | DATA(days) = random( 109 | i_from = min_days 110 | i_to = max_days 111 | ). 112 | 113 | r_result = SWITCH #( i_future 114 | WHEN abap_true THEN sy-datum + days 115 | WHEN abap_false THEN sy-datum - days ). 116 | 117 | ENDMETHOD. 118 | 119 | METHOD format. 120 | 121 | r_result = _format. 122 | REPLACE 'YYYY' IN r_result WITH i_date(4). 123 | REPLACE 'MM' IN r_result WITH i_date+4(2). 124 | REPLACE 'DD' IN r_result WITH i_date+6(2). 125 | 126 | ENDMETHOD. 127 | 128 | ENDCLASS. 129 | -------------------------------------------------------------------------------- /src/provider/date/zcl_faker_provider_date.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_DATE 7 | E 8 | ABAP Faker Provider Date 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/job/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Provider Job 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_job_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_JOB_DE_DE 7 | E 8 | ABAP Faker Provider Job de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_job_default.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_job_default DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider_job 29 | CREATE PUBLIC . 30 | 31 | PUBLIC SECTION. 32 | METHODS constructor 33 | IMPORTING i_faker TYPE REF TO zcl_faker. 34 | 35 | PRIVATE SECTION. 36 | ENDCLASS. 37 | 38 | 39 | 40 | CLASS zcl_faker_job_default IMPLEMENTATION. 41 | METHOD constructor. 42 | 43 | super->constructor( i_faker ). 44 | 45 | _job_titles = VALUE #( 46 | ( |Developer| ) 47 | ( |Engineer| ) 48 | ( |Administrator| ) 49 | ). 50 | 51 | ENDMETHOD. 52 | 53 | ENDCLASS. 54 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_job_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_JOB_DEFAULT 7 | E 8 | ABAP Faker Provider Job Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_job_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_JOB_EN_US 7 | E 8 | ABAP Faker Provider Job en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_job_pt_br.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_JOB_PT_BR 7 | E 8 | ABAP Faker Provider Job en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_provider_job.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_provider_job DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider 29 | ABSTRACT . 30 | 31 | PUBLIC SECTION. 32 | METHODS job_title 33 | RETURNING VALUE(r_result) TYPE string. 34 | 35 | PROTECTED SECTION. 36 | DATA _job_titles TYPE string_table. 37 | 38 | PRIVATE SECTION. 39 | ENDCLASS. 40 | 41 | 42 | 43 | CLASS zcl_faker_provider_job IMPLEMENTATION. 44 | 45 | METHOD job_title. 46 | r_result = _job_titles[ random( lines( _job_titles ) ) ]. 47 | ENDMETHOD. 48 | 49 | ENDCLASS. 50 | -------------------------------------------------------------------------------- /src/provider/job/zcl_faker_provider_job.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_JOB 7 | E 8 | ABAP Faker Provider Job 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Provider 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/person/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Provider Person 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PERSON_DE_DE 7 | E 8 | ABAP Faker Provider Person de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_default.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_person_default DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_provider_person 29 | CREATE PUBLIC . 30 | 31 | PUBLIC SECTION. 32 | METHODS constructor 33 | IMPORTING i_faker TYPE REF TO zcl_faker. 34 | 35 | PRIVATE SECTION. 36 | ENDCLASS. 37 | 38 | 39 | 40 | CLASS zcl_faker_person_default IMPLEMENTATION. 41 | 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | _first_names_male = VALUE #( 47 | ( |Mickey| ) 48 | ). 49 | 50 | _first_names_female = VALUE #( 51 | ( |Minnie| ) 52 | ). 53 | 54 | _last_names = VALUE #( 55 | ( |Mouse| ) 56 | ). 57 | 58 | _name_formats = value #( 59 | ( `{{person-first_name}} {{person-last_name}}` ) 60 | ). 61 | 62 | ENDMETHOD. 63 | 64 | ENDCLASS. 65 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PERSON_DEFAULT 7 | E 8 | ABAP Faker Provider Person Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PERSON_EN_US 7 | E 8 | ABAP Faker Provider Person en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_pt_br.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_person_pt_br DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_person_default 30 | FINAL 31 | CREATE PUBLIC . 32 | 33 | PUBLIC SECTION. 34 | METHODS constructor 35 | IMPORTING i_faker TYPE REF TO zcl_faker. 36 | 37 | PRIVATE SECTION. 38 | ENDCLASS. 39 | 40 | 41 | 42 | CLASS zcl_faker_person_pt_br IMPLEMENTATION. 43 | METHOD constructor. 44 | 45 | super->constructor( i_faker ). 46 | 47 | _first_names_male = VALUE #( 48 | ( |Alexandre| ) ( |André| ) ( |Anthony| ) ( |Antônio| ) ( |Arthur| ) ( |Augusto| ) 49 | ( |Benjamin| ) ( |Benício| ) ( |Bernardo| ) ( |Breno| ) ( |Bruno| ) ( |Bryan| ) ( |Caio| ) 50 | ( |Calebe| ) ( |Carlos Eduardo| ) ( |Cauã| ) ( |Cauê| ) ( |Daniel| ) ( |Danilo| ) 51 | ( |Davi Lucas| ) ( |Davi Lucca| ) ( |Davi Luiz| ) ( |Davi| ) ( |Diego| ) ( |Diogo| ) 52 | ( |Eduardo| ) ( |Emanuel| ) ( |Enrico| ) ( |Enzo Gabriel| ) ( |Enzo| ) ( |Erick| ) 53 | ( |Felipe| ) ( |Fernando| ) ( |Francisco| ) ( |Gabriel| ) ( |Guilherme| ) 54 | ( |Gustavo Henrique| ) ( |Gustavo| ) ( |Heitor| ) ( |Henrique| ) ( |Ian| ) ( |Igor| ) 55 | ( |Isaac| ) ( |Joaquim| ) ( |João Felipe| ) ( |João Gabriel| ) ( |João Guilherme| ) 56 | ( |João Lucas| ) ( |João Miguel| ) ( |João Pedro| ) ( |João Vitor| ) ( |João| ) 57 | ( |Juan| ) ( |Kaique| ) ( |Kevin| ) ( |Leandro| ) ( |Leonardo| ) ( |Levi| ) ( |Lorenzo| ) 58 | ( |Lucas Gabriel| ) ( |Lucas| ) ( |Lucca| ) ( |Luigi| ) ( |Luiz Felipe| ) 59 | ( |Luiz Fernando| ) ( |Luiz Gustavo| ) ( |Luiz Henrique| ) ( |Luiz Miguel| ) 60 | ( |Luiz Otávio| ) ( |Marcelo| ) ( |Marcos Vinicius| ) ( |Matheus| ) ( |Miguel| ) 61 | ( |Murilo| ) ( |Nathan| ) ( |Nicolas| ) ( |Noah| ) ( |Otávio| ) ( |Paulo| ) 62 | ( |Pedro Henrique| ) ( |Pedro Lucas| ) ( |Pedro Miguel| ) ( |Pedro| ) ( |Pietro| ) 63 | ( |Rafael| ) ( |Raphael| ) ( |Raul| ) ( |Renan| ) ( |Rodrigo| ) ( |Ryan| ) ( |Samuel| ) ( |Thales| ) 64 | ( |Theo| ) ( |Thiago| ) ( |Thomas| ) ( |Vicente| ) ( |Vinicius| ) ( |Vitor Gabriel| ) 65 | ( |Vitor Hugo| ) ( |Vitor| ) ( |Yago| ) ( |Yuri| ) 66 | ). 67 | 68 | _first_names_female = VALUE #( 69 | ( |Agatha| ) ( |Alana| ) ( |Alexia| ) ( |Alice| ) ( |Alícia| ) ( |Amanda| ) 70 | ( |Ana Beatriz| ) ( |Ana Carolina| ) ( |Ana Clara| ) ( |Ana Julia| ) ( |Ana Júlia| ) 71 | ( |Ana Laura| ) ( |Ana Luiza| ) ( |Ana Lívia| ) ( |Ana Sophia| ) ( |Ana Vitória| ) 72 | ( |Ana| ) ( |Beatriz| ) ( |Bianca| ) ( |Brenda| ) ( |Bruna| ) ( |Bárbara| ) ( |Camila| ) 73 | ( |Carolina| ) ( |Caroline| ) ( |Catarina| ) ( |Cecília| ) ( |Clara| ) ( |Clarice| ) 74 | ( |Daniela| ) ( |Eduarda| ) ( |Elisa| ) ( |Eloah| ) ( |Emanuella| ) ( |Emanuelly| ) 75 | ( |Emilly| ) ( |Esther| ) ( |Evelyn| ) ( |Fernanda| ) ( |Gabriela| ) ( |Gabrielly| ) 76 | ( |Giovanna| ) ( |Helena| ) ( |Heloísa| ) ( |Isabel| ) ( |Isabella| ) ( |Isabelly| ) 77 | ( |Isadora| ) ( |Isis| ) ( |Joana| ) ( |Julia| ) ( |Juliana| ) ( |Júlia| ) ( |Kamilly| ) 78 | ( |Lara| ) ( |Larissa| ) ( |Laura| ) ( |Lavínia| ) ( |Laís| ) ( |Letícia| ) ( |Lorena| ) 79 | ( |Luana| ) ( |Luiza| ) ( |Luna| ) ( |Lívia| ) ( |Maitê| ) ( |Manuela| ) ( |Marcela| ) 80 | ( |Maria Alice| ) ( |Maria Cecília| ) ( |Maria Clara| ) ( |Maria Eduarda| ) 81 | ( |Maria Fernanda| ) ( |Maria Julia| ) ( |Maria Luiza| ) ( |Maria Sophia| ) 82 | ( |Maria Vitória| ) ( |Maria| ) ( |Mariana| ) ( |Mariane| ) ( |Marina| ) ( |Maysa| ) 83 | ( |Melissa| ) ( |Milena| ) ( |Mirella| ) ( |Natália| ) ( |Nicole| ) ( |Nina| ) ( |Olivia| ) 84 | ( |Pietra| ) ( |Rafaela| ) ( |Raphaela| ) ( |Raquel| ) ( |Rebeca| ) ( |Sabrina| ) ( |Sarah| ) 85 | ( |Sofia| ) ( |Sophia| ) ( |Sophie| ) ( |Stella| ) ( |Stephany| ) ( |Valentina| ) ( |Vitória| ) 86 | ( |Yasmin| ) 87 | ). 88 | 89 | _last_names = VALUE #( 90 | ( |Almeida| ) ( |Alves| ) ( |Aragão| ) ( |Araújo| ) ( |Azevedo| ) ( |Barbosa| ) ( |Barros| ) 91 | ( |Caldeira| ) ( |Campos| ) ( |Cardoso| ) ( |Cardoso| ) ( |Carvalho| ) ( |Castro| ) 92 | ( |Cavalcanti| ) ( |Correia| ) ( |Costa| ) ( |Costela| ) ( |Cunha| ) ( |da Conceição| ) 93 | ( |da Costa| ) ( |da Cruz| ) ( |da Cunha| ) ( |da Luz| ) ( |da Mata| ) ( |da Mota| ) 94 | ( |da Paz| ) ( |da Rocha| ) ( |da Rosa| ) ( |das Neves| ) ( |Dias| ) ( |Duarte| ) 95 | ( |Farias| ) ( |Fernandes| ) ( |Ferreira| ) ( |Fogaça| ) ( |Freitas| ) ( |Gomes| ) 96 | ( |Gonçalves| ) ( |Jesus| ) ( |Lima| ) ( |Lopes| ) ( |Martins| ) ( |Melo| ) ( |Mendes| ) 97 | ( |Monteiro| ) ( |Moraes| ) ( |Moreira| ) ( |Moura| ) ( |Nascimento| ) ( |Nogueira| ) 98 | ( |Novaes| ) ( |Nunes| ) ( |Oliveira| ) ( |Peixoto| ) ( |Pereira| ) ( |Pinto| ) ( |Pires| ) 99 | ( |Porto| ) ( |Ramos| ) ( |Rezende| ) ( |Ribeiro| ) ( |Rocha| ) ( |Rodrigues| ) ( |Sales| ) 100 | ( |Santos| ) ( |Silva| ) ( |Silveira| ) ( |Souza| ) ( |Teixeira| ) ( |Viana| ) ( |Vieira| ) 101 | ). 102 | 103 | * _prefixes_female = VALUE #( ( |Srta.| ) ( |Sra.| ) ( |Dra.| ) ). 104 | * 105 | * _prefixes_male = VALUE #( ( |Sr.| ) ( |Dr.| ) ). 106 | 107 | _name_formats = value #( 108 | ( `{{person-first_name}} {{person-last_name}}` ) 109 | ( `{{person-first_name}} {{person-last_name}}` ) 110 | ). 111 | 112 | ENDMETHOD. 113 | 114 | ENDCLASS. 115 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_person_pt_br.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PERSON_PT_BR 7 | E 8 | ABAP Faker Provider Person en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_provider_person.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_provider_person DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_provider 30 | ABSTRACT. 31 | 32 | PUBLIC SECTION. 33 | METHODS first_name_female 34 | RETURNING VALUE(r_result) TYPE string. 35 | METHODS first_name_male 36 | RETURNING VALUE(r_result) TYPE string. 37 | METHODS first_name 38 | RETURNING VALUE(r_result) TYPE string. 39 | METHODS last_name 40 | RETURNING VALUE(r_result) TYPE string. 41 | METHODS initial 42 | RETURNING VALUE(r_result) TYPE string. 43 | METHODS name 44 | RETURNING VALUE(r_result) TYPE string. 45 | 46 | PROTECTED SECTION. 47 | DATA _first_names_male TYPE string_table. 48 | DATA _first_names_female TYPE string_table. 49 | DATA _last_names TYPE string_table. 50 | DATA _name_formats TYPE string_table. 51 | 52 | PRIVATE SECTION. 53 | 54 | 55 | ENDCLASS. 56 | 57 | 58 | 59 | CLASS zcl_faker_provider_person IMPLEMENTATION. 60 | 61 | METHOD name. 62 | r_result = formatter( _name_formats[ random( lines( _name_formats ) ) ] ). 63 | ENDMETHOD. 64 | 65 | METHOD first_name. 66 | r_result = SWITCH #( 67 | random( 2 ) 68 | WHEN 1 THEN first_name_female( ) 69 | WHEN 2 THEN first_name_male( ) 70 | ). 71 | ENDMETHOD. 72 | 73 | METHOD first_name_male. 74 | r_result = _first_names_male[ random( lines( _first_names_male ) ) ]. 75 | ENDMETHOD. 76 | 77 | METHOD first_name_female. 78 | r_result = _first_names_female[ random( lines( _first_names_female ) ) ]. 79 | ENDMETHOD. 80 | 81 | METHOD last_name. 82 | r_result = _last_names[ random( lines( _last_names ) ) ]. 83 | ENDMETHOD. 84 | 85 | METHOD initial. 86 | r_result = random_letter( ). 87 | ENDMETHOD. 88 | 89 | ENDCLASS. 90 | -------------------------------------------------------------------------------- /src/provider/person/zcl_faker_provider_person.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_PERSON 7 | E 8 | ABAP Faker Provider Person 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/phone/package.devc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP Faker Phone numbers 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_de_de.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_phone_de_de DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_phone_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | ENDCLASS. 37 | 38 | 39 | 40 | CLASS zcl_faker_phone_de_de IMPLEMENTATION. 41 | METHOD constructor. 42 | 43 | super->constructor( i_faker ). 44 | 45 | _label = COND #( WHEN _label IS INITIAL THEN |Telefon| ELSE _label ). "shorttext not found in super constructor for this language 46 | 47 | _formats = VALUE #( 48 | ( |+49(0)##########| ) 49 | ( |+49(0)#### ######| ) 50 | ( |+49 (0) #### ######| ) 51 | ( |+49(0) #########| ) 52 | ( |+49(0)#### #####| ) 53 | ( |0##########| ) 54 | ( |0#########| ) 55 | ( |0#### ######| ) 56 | ( |0#### #####| ) 57 | ( |(0####) ######| ) 58 | ( |(0####) #####| ) 59 | ). 60 | 61 | ENDMETHOD. 62 | 63 | ENDCLASS. 64 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_de_de.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PHONE_DE_DE 7 | E 8 | ABAP Faker Provider Phone de_DE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_default.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_phone_default DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_provider_phone 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | PRIVATE SECTION. 37 | ENDCLASS. 38 | 39 | 40 | 41 | CLASS zcl_faker_phone_default IMPLEMENTATION. 42 | METHOD constructor. 43 | 44 | super->constructor( i_faker ). 45 | 46 | _label = COND #( WHEN _label IS INITIAL THEN |Phone| ELSE _label ). "shorttext not found in super constructor for this language 47 | 48 | _formats = VALUE #( 49 | ( |+1 555-%####| ) 50 | ). 51 | 52 | ENDMETHOD. 53 | 54 | ENDCLASS. 55 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_default.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PHONE_DEFAULT 7 | E 8 | ABAP Faker Provider Phone Default 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_en_us.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_phone_en_us DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_phone_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | ENDCLASS. 37 | 38 | 39 | 40 | CLASS zcl_faker_phone_en_us IMPLEMENTATION. 41 | METHOD constructor. 42 | 43 | super->constructor( i_faker ). 44 | 45 | _label = COND #( WHEN _label IS INITIAL THEN |Phone| ELSE _label ). "shorttext not found in super constructor for this language 46 | 47 | _formats = VALUE #( 48 | ( |+##(#)##########| ) 49 | ( |+##(#)##########| ) 50 | ( |0##########| ) 51 | ( |0##########| ) 52 | ( |###-###-####| ) 53 | ( |(###)###-####| ) 54 | ( |1-###-###-####| ) 55 | ( |###.###.####| ) 56 | ( |###-###-####| ) 57 | ( |(###)###-####| ) 58 | ( |1-###-###-####| ) 59 | ( |###.###.####| ) 60 | ( |###-###-####x###| ) 61 | ( |(###)###-####x###| ) 62 | ( |1-###-###-####x###| ) 63 | ( |###.###.####x###| ) 64 | ( |###-###-####x####| ) 65 | ( |(###)###-####x####| ) 66 | ( |1-###-###-####x####| ) 67 | ( |###.###.####x####| ) 68 | ( |###-###-####x#####| ) 69 | ( |(###)###-####x#####| ) 70 | ( |1-###-###-####x#####| ) 71 | ( |###.###.####x#####| ) 72 | ). 73 | 74 | ENDMETHOD. 75 | 76 | ENDCLASS. 77 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_en_us.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PHONE_EN_US 7 | E 8 | ABAP Faker Provider Phone en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_pt_br.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | ******************************************************************************** 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2018 abapFaker Contributors 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | ******************************************************************************** 25 | 26 | CLASS zcl_faker_phone_pt_br DEFINITION 27 | PUBLIC 28 | INHERITING FROM zcl_faker_phone_default 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | 36 | ENDCLASS. 37 | 38 | 39 | 40 | CLASS zcl_faker_phone_pt_br IMPLEMENTATION. 41 | METHOD constructor. 42 | 43 | super->constructor( i_faker ). 44 | 45 | _label = COND #( WHEN _label IS INITIAL THEN |Telefone| ELSE _label ). "shorttext not found in super constructor for this language 46 | 47 | _formats = VALUE #( 48 | ( |+55(##)########| ) 49 | ( |+55(##)####-####| ) 50 | ( |0##########| ) 51 | ( |0######-####| ) 52 | ( |(##)########| ) 53 | ( |(##)####-####| ) 54 | ( |+55(##)#########| ) 55 | ( |+55(##)#####-####| ) 56 | ( |0###########| ) 57 | ( |0#######-####| ) 58 | ( |(##)#########| ) 59 | ( |(##)#####-####| ) 60 | ). 61 | 62 | ENDMETHOD. 63 | 64 | ENDCLASS. 65 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_phone_pt_br.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PHONE_PT_BR 7 | E 8 | ABAP Faker Provider Phone en_US 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_provider_phone.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_provider_phone DEFINITION 28 | PUBLIC 29 | INHERITING FROM zcl_faker_provider 30 | ABSTRACT . 31 | 32 | PUBLIC SECTION. 33 | METHODS constructor 34 | IMPORTING i_faker TYPE REF TO zcl_faker. 35 | METHODS number 36 | RETURNING VALUE(r_result) TYPE string. 37 | METHODS label 38 | RETURNING VALUE(r_result) TYPE string. 39 | 40 | PROTECTED SECTION. 41 | DATA _formats TYPE string_table. 42 | DATA _label TYPE string. 43 | 44 | PRIVATE SECTION. 45 | METHODS get_label 46 | RETURNING 47 | value(r_result) TYPE string. 48 | 49 | ENDCLASS. 50 | 51 | 52 | 53 | CLASS zcl_faker_provider_phone IMPLEMENTATION. 54 | 55 | METHOD number. 56 | r_result = numerify( _formats[ random( lines( _formats ) ) ] ). 57 | ENDMETHOD. 58 | 59 | METHOD label. 60 | r_result = _label. 61 | ENDMETHOD. 62 | 63 | METHOD constructor. 64 | 65 | super->constructor( i_faker ). 66 | _label = get_label( ). 67 | 68 | ENDMETHOD. 69 | 70 | 71 | METHOD get_label. 72 | 73 | DATA(language) = _faker->get_language( ). 74 | 75 | SELECT scrtext_s 76 | INTO @r_result 77 | UP TO 1 ROWS 78 | FROM dd04t 79 | WHERE rollname = 'AD_TLNMBR1' ##no_text 80 | AND ddlanguage = @language. 81 | ENDSELECT. 82 | 83 | ENDMETHOD. 84 | 85 | ENDCLASS. 86 | -------------------------------------------------------------------------------- /src/provider/phone/zcl_faker_provider_phone.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER_PHONE 7 | E 8 | ABAP Faker Provider Phone 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/provider/zcl_faker_provider.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_provider DEFINITION 28 | PUBLIC 29 | ABSTRACT . 30 | 31 | PUBLIC SECTION. 32 | METHODS constructor 33 | IMPORTING i_faker TYPE REF TO zcl_faker. 34 | 35 | PROTECTED SECTION. 36 | DATA _seed TYPE t. 37 | DATA _faker TYPE REF TO zcl_faker. 38 | 39 | METHODS formatter 40 | IMPORTING i_format TYPE string 41 | RETURNING VALUE(r_result) TYPE string. 42 | 43 | METHODS random 44 | IMPORTING i_from TYPE i DEFAULT 1 45 | i_to TYPE i 46 | RETURNING VALUE(r_result) TYPE i. 47 | 48 | "! Replaces all placeholders in given text with randomized values, 49 | "! replacing: all hash sign ('#') occurrences with a random digit 50 | "! (from 0 to 9); all percentage sign ('%') occurrences with a 51 | "! random non-zero digit (from 1 to 9); all exclamation mark ('!') 52 | "! occurrences with a random digit (from 0 to 9) or an empty string; 53 | "! and all "at"-symbol occurrences with a random non-zero digit 54 | "! (from 1 to 9) or an empty string. 55 | "! 56 | "! @parameter i_text | text with placeholders 57 | "! @parameter r_result | result 58 | METHODS numerify 59 | IMPORTING i_text TYPE string DEFAULT '###' 60 | RETURNING VALUE(r_result) TYPE string. 61 | 62 | METHODS random_letter 63 | IMPORTING i_upper TYPE boolean DEFAULT abap_true 64 | i_lower TYPE boolean DEFAULT abap_false 65 | RETURNING VALUE(r_result) TYPE char01. 66 | 67 | PRIVATE SECTION. 68 | 69 | 70 | ENDCLASS. 71 | 72 | 73 | 74 | CLASS zcl_faker_provider IMPLEMENTATION. 75 | 76 | METHOD constructor. 77 | _faker = i_faker. 78 | ENDMETHOD. 79 | 80 | METHOD random. 81 | 82 | GET TIME. 83 | IF _seed IS INITIAL. 84 | _seed = sy-timlo. 85 | ELSE. 86 | _seed = _seed + 1. 87 | ENDIF. 88 | 89 | TRY. 90 | r_result = cl_abap_random_int=>create( 91 | seed = CONV #( _seed ) 92 | min = i_from 93 | max = i_to 94 | )->get_next( ). 95 | CATCH cx_abap_random ##no_handler. 96 | ENDTRY. 97 | 98 | ENDMETHOD. 99 | 100 | METHOD numerify. 101 | 102 | r_result = i_text. 103 | 104 | DO. 105 | DATA(found) = abap_false. 106 | 107 | DATA(digit) = |{ random( i_from = 0 i_to = 9 ) WIDTH = 1 }|. 108 | 109 | REPLACE '#' WITH digit INTO r_result. 110 | IF sy-subrc = 0. 111 | found = abap_true. 112 | ENDIF. 113 | 114 | digit = |{ random( i_from = 1 i_to = 9 ) WIDTH = 1 }|. 115 | 116 | REPLACE '%' WITH digit INTO r_result. 117 | IF sy-subrc = 0. 118 | found = abap_true. 119 | ENDIF. 120 | 121 | DATA(number) = random( i_from = 0 i_to = 10 ). 122 | IF number = 10. 123 | digit = ` `. 124 | ELSE. 125 | digit = |{ number WIDTH = 1 }|. 126 | ENDIF. 127 | 128 | REPLACE '!' WITH digit INTO r_result. 129 | IF sy-subrc = 0. 130 | found = abap_true. 131 | ENDIF. 132 | 133 | number = random( i_from = 1 i_to = 10 ). 134 | IF number = 10. 135 | digit = ` `. 136 | ELSE. 137 | digit = |{ number WIDTH = 1 }|. 138 | ENDIF. 139 | 140 | REPLACE '@' WITH digit INTO r_result. 141 | IF sy-subrc = 0. 142 | found = abap_true. 143 | ENDIF. 144 | 145 | IF found = abap_false. 146 | EXIT. 147 | ENDIF. 148 | 149 | ENDDO. 150 | 151 | ENDMETHOD. 152 | 153 | METHOD formatter. 154 | 155 | r_result = i_format. 156 | 157 | 158 | DO. 159 | FIND REGEX '\{\{(\w+)-(\w+)\}\}' IN r_result SUBMATCHES DATA(provider_name) DATA(method). 160 | IF sy-subrc <> 0. 161 | EXIT. 162 | ENDIF. 163 | 164 | DATA value TYPE string. 165 | CLEAR value. 166 | 167 | DATA provider TYPE REF TO zcl_faker_provider. 168 | CASE provider_name. 169 | WHEN 'person'. 170 | provider ?= _faker->person. 171 | WHEN 'phone'. 172 | provider ?= _faker->phone. 173 | WHEN 'address'. 174 | provider ?= _faker->address. 175 | WHEN 'company'. 176 | provider ?= _faker->company. 177 | ENDCASE. 178 | 179 | IF provider IS BOUND. 180 | method = to_upper( method ). 181 | TRY. 182 | CALL METHOD provider->(method) 183 | RECEIVING 184 | r_result = value. 185 | CATCH cx_sy_dyn_call_illegal_method. 186 | value = |Not found: { provider_name }->{ method }|. 187 | ENDTRY. 188 | ELSE. 189 | value = |Provider for type { provider_name } not bound|. 190 | ENDIF. 191 | 192 | REPLACE REGEX '\{\{(\w+)-(\w+)\}\}' IN r_result WITH value. 193 | ENDDO. 194 | 195 | ENDMETHOD. 196 | 197 | METHOD random_letter. 198 | 199 | DATA(offset) = random( strlen( sy-abcde ) ) - 1. 200 | r_result = sy-abcde+offset(1). 201 | 202 | IF i_upper = abap_false 203 | AND i_lower = abap_true. 204 | "lower chars only 205 | r_result = to_lower( r_result ). 206 | ELSEIF i_upper = abap_true 207 | AND i_lower = abap_true. 208 | "random lower and upper chars 209 | IF random( 2 ) = 2. 210 | r_result = to_lower( r_result ). 211 | ENDIF. 212 | ENDIF. 213 | 214 | ENDMETHOD. 215 | 216 | ENDCLASS. 217 | -------------------------------------------------------------------------------- /src/provider/zcl_faker_provider.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_PROVIDER 7 | E 8 | ABAP Faker Provider 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/z_abap_faker_demo.prog.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | REPORT z_abap_faker_demo. 28 | 29 | CLASS app DEFINITION CREATE PUBLIC. 30 | 31 | PUBLIC SECTION. 32 | METHODS main. 33 | 34 | ENDCLASS. 35 | 36 | PARAMETERS: p_langu TYPE languageiso, 37 | p_cntry TYPE char2. 38 | 39 | NEW app( )->main( ). 40 | 41 | CLASS app IMPLEMENTATION. 42 | 43 | METHOD main. 44 | 45 | DATA(locale) = COND string( WHEN p_langu IS INITIAL OR p_cntry IS INITIAL THEN space 46 | ELSE |{ to_lower( p_langu ) }_{ p_cntry }| ). 47 | 48 | cl_demo_output=>new( )->begin_section( |ABAP Faker| 49 | )->write( VALUE stringtab( LET faker = NEW zcl_faker( locale ) 50 | IN FOR i = 1 UNTIL i > 10 51 | ( |{ faker->person->name( ) }\n| && 52 | |{ faker->address->street_address( ) }\n| && 53 | |{ faker->address->city_address( ) }\n\n| && 54 | |{ faker->phone->label( ) } { faker->phone->number( ) }\n| && 55 | |{ faker->company->company_name( ) }\n| && 56 | |{ faker->job->job_title( ) }\n| && 57 | |{ faker->date->date_of_birth_adult( ) }\n| && 58 | |{ sy-uline }| ) ) 59 | )->display( ). 60 | ENDMETHOD. 61 | 62 | ENDCLASS. 63 | -------------------------------------------------------------------------------- /src/z_abap_faker_demo.prog.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Z_ABAP_FAKER_DEMO 7 | 1 8 | D 9 | X 10 | X 11 | 12 | 13 | 14 | R 15 | abapFaker Demo 16 | 14 17 | 18 | 19 | 20 | 21 | D 22 | 23 | 24 | R 25 | Report for several tests 26 | 24 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/zcl_faker.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | 28 | "!

ABAP Faker

29 | "! Inspired by https://github.com/joke2k/faker 30 | CLASS zcl_faker DEFINITION 31 | PUBLIC 32 | FINAL 33 | CREATE PUBLIC . 34 | 35 | PUBLIC SECTION. 36 | DATA person TYPE REF TO zcl_faker_provider_person. 37 | DATA phone TYPE REF TO zcl_faker_provider_phone. 38 | DATA address TYPE REF TO zcl_faker_provider_address. 39 | DATA company TYPE REF TO zcl_faker_provider_company. 40 | DATA job TYPE REF TO zcl_faker_provider_job. 41 | DATA date TYPE REF TO zcl_faker_provider_date. 42 | 43 | METHODS constructor 44 | IMPORTING i_locale TYPE string OPTIONAL. 45 | METHODS get_language 46 | RETURNING VALUE(r_result) TYPE syst_langu. 47 | 48 | PRIVATE SECTION. 49 | DATA _locale TYPE string. 50 | 51 | METHODS get_locale 52 | RETURNING VALUE(r_result) TYPE string. 53 | 54 | ENDCLASS. 55 | 56 | 57 | 58 | CLASS zcl_faker IMPLEMENTATION. 59 | METHOD constructor. 60 | 61 | _locale = SWITCH #( i_locale 62 | WHEN `` THEN get_locale( ) 63 | ELSE i_locale 64 | ). 65 | 66 | person ?= zcl_faker_generator=>create( 67 | i_type = 'PERSON' 68 | i_locale = _locale 69 | i_faker = me 70 | ). 71 | 72 | phone ?= zcl_faker_generator=>create( 73 | i_type = 'PHONE' 74 | i_locale = _locale 75 | i_faker = me 76 | ). 77 | 78 | address ?= zcl_faker_generator=>create( 79 | i_type = 'ADDRESS' 80 | i_locale = _locale 81 | i_faker = me 82 | ). 83 | 84 | company ?= zcl_faker_generator=>create( 85 | i_type = 'COMPANY' 86 | i_locale = _locale 87 | i_faker = me 88 | ). 89 | 90 | job ?= zcl_faker_generator=>create( 91 | i_type = 'JOB' 92 | i_locale = _locale 93 | i_faker = me 94 | ). 95 | 96 | date ?= zcl_faker_generator=>create( 97 | i_type = 'DATE' 98 | i_locale = _locale 99 | i_faker = me 100 | ). 101 | 102 | ENDMETHOD. 103 | 104 | METHOD get_locale. 105 | 106 | DATA user_address TYPE addr3_val. 107 | 108 | CALL FUNCTION 'SUSR_USER_ADDRESS_READ' 109 | EXPORTING 110 | user_name = sy-uname " User Name 111 | IMPORTING 112 | user_address = user_address " Address data in CAM structure 113 | EXCEPTIONS 114 | OTHERS = 0. 115 | 116 | DATA language TYPE c LENGTH 2. 117 | WRITE user_address-langu TO language. 118 | 119 | IF language IS INITIAL 120 | OR user_address-country IS INITIAL. 121 | r_result = zcl_faker_generator=>__locale_default. 122 | ENDIF. 123 | 124 | r_result = |{ language CASE = LOWER }_{ user_address-country }|. 125 | ENDMETHOD. 126 | 127 | METHOD get_language. 128 | 129 | CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT' 130 | EXPORTING 131 | input = CONV char2( _locale ) 132 | IMPORTING 133 | output = r_result 134 | EXCEPTIONS 135 | OTHERS = 0. 136 | 137 | ENDMETHOD. 138 | 139 | ENDCLASS. 140 | -------------------------------------------------------------------------------- /src/zcl_faker.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER 7 | E 8 | ABAP Faker 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/zcl_faker_generator.clas.abap: -------------------------------------------------------------------------------- 1 | * See https://github.com/se38/abapFaker 2 | 3 | ******************************************************************************** 4 | * The MIT License (MIT) 5 | * 6 | * Copyright (c) 2018 abapFaker Contributors 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | ******************************************************************************** 26 | 27 | CLASS zcl_faker_generator DEFINITION 28 | PUBLIC 29 | FINAL 30 | CREATE PUBLIC . 31 | 32 | PUBLIC SECTION. 33 | CONSTANTS __locale_default TYPE string VALUE 'DEFAULT'. 34 | 35 | CLASS-METHODS create 36 | IMPORTING i_type TYPE string 37 | i_locale TYPE string 38 | i_faker TYPE REF TO zcl_faker 39 | RETURNING VALUE(r_result) TYPE REF TO zcl_faker_provider. 40 | 41 | ENDCLASS. 42 | 43 | 44 | 45 | CLASS zcl_faker_generator IMPLEMENTATION. 46 | METHOD create. 47 | DATA(class_name) = |ZCL_FAKER_{ i_type }_{ i_locale CASE = UPPER }|. 48 | 49 | TRY. 50 | CREATE OBJECT r_result TYPE (class_name) 51 | EXPORTING i_faker = i_faker. 52 | CATCH cx_sy_create_object_error. 53 | class_name = |ZCL_FAKER_{ i_type }_{ __locale_default CASE = UPPER }|. 54 | CREATE OBJECT r_result TYPE (class_name) 55 | EXPORTING i_faker = i_faker. 56 | ENDTRY. 57 | 58 | ENDMETHOD. 59 | 60 | ENDCLASS. 61 | -------------------------------------------------------------------------------- /src/zcl_faker_generator.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_FAKER_GENERATOR 7 | E 8 | ABAP Faker Generator 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | 17 | --------------------------------------------------------------------------------