1. Куча / Говнокод #17302

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    " Подсчёт количества документов
    
      DEFINE incr.
        add 1 to ls_summary-c_&1.
      END-OF-DEFINITION.
    
      CASE ls_s08_doc-status.
        WHEN `01`. incr vvr.
        WHEN `02`. incr vvr. incr vpz.
        WHEN `03`. incr prz.
        WHEN `04`. incr prz. incr nnp. incr otk.
        WHEN `05`.
        WHEN `06`. incr prz. incr nnp.
        WHEN `07`. incr prz. incr nnp. incr sgl.
        WHEN `ПД`. incr prz. incr nnp. incr v12.
        WHEN `ПП`.
        WHEN `ПС`. incr prz. incr nnp. incr pns.
        WHEN `НП`.
        WHEN `СФ`. incr prz. incr nnp. incr v12.
        WHEN `ТП`. incr vvr. incr vpz.
        WHEN `ОК`. incr prz. incr nnp. incr v12. incr o12.
        WHEN OTHERS.
      ENDCASE.

    В ABAP нет инкремента. Зато есть макросы, в которые подставляется «что написано» в точности так как написано ^_^

    Запостил: Yaruson, 12 Декабря 2014

    Комментарии (4) RSS

    • Если специально придираться, распространенное сокращение для инкремента - INC, хардкод значений и WHEN OTHERS пустая, соответственно, эту строчку можно было опустить ). В остальном очень даже интересно.
      Ответить
      • О, я сокращу до INC, пожалуй ;-) спасибо!
        На WHEN OTHERS вроде ругается анализатор? Или это фирменный только...
        Ответить
    • ругается или нет, точно не помню, надо будет проверить. В любом случае данная строка получается необязательной.
      Ответить
    • И тесты нужны.
      Ответить

    Добавить комментарий