Привет!
Хочу рассказать вам забавную вещь.
Знаете ли вы, что метод в Java может иметь 255 параметров?
Достаточно много, неправда ли?
Ограничение в 255 параметров определено в спецификации JVM.
Для тех, кто не хочет залезать в спецификацию, можно прочитать разъяснение здесь.
«Постойте, скажете вы. Неужели я ошибся блогом? При чем здесь Java?».
Хорошо, оставим Java и вернемся к нашему ламповому ABAP’у.
Хотите узнать сколько параметров можно передать в метод в ABAP’е?
Что ж, не знаю как вы, а я был слегка удивлен, когда узнал, что в ABAP’е нет ограничения на количество параметров метода.
В ABAP есть ограничение на длину команды, которое равно 28672 байта. В 16-тиричной системе счисления это 0x7000.
Это означает, что от начала команды и до точки должно быть не больше 28672 символов. Таким образом, число параметров в методе ограничено только этим.
Почему именно 28672 (0x7000) я, к сожалению, не нашел. Есть только такая нота: 635318 — Open SQL: Size restrictions for commands.
Если кто-нибудь знает больше, напишите в комментариях, будет интересно.
А если кто хочет проверить это ограничение на практике, то можете скопировать класс с методом отсюда.
У метода 2000 параметров и надо cказать это не предел. Каков предел на самом деле, в этой статье я не сказал. Напишите свой результат в комментариях, а пока, будем считать этот вопрос открытым. Также, можете написать, как обстоят дела в других языках.
Разумеется, практической пользы от метода с таким большим количеством параметров абсолютно нет. Это всего лишь любопытный факт.
На этом все!
Не болейте и подписывайтесь на канал в Telegram. :^)