Блог пользователя kenzhemax

нормальная, красивая и правильная кнопка на селективном экране

Собственно, нормальная, красивая и правильная кнопка на селективном экране:

  1. SELECTION-SCREEN PUSHBUTTON /1(20) utab_txt USER-COMMAND UTAB.
  2.  
  3. move 'Настроечная таблица' to utab_txt.

кнопка на селективном экране

Собственно кнопка на селективном экране.

  1. BUKRS LIKE BSEG-BUKRS DEFAULT '11',
  2. DATUM LIKE sy-datum DEFAULT sy-datum." no INTERVALS no-EXTENSION.
  3.  
  4. TABLES sscrfields.
  5.  
  6. sscrfields-functxt_01 = 'Отобразить лог санкционеров выгрузки'.
  7.  
  8. at selection-screen.
  9. if sscrfields-ucomm = 'FC01'.
  10. submit ZMY_PROGRAM and RETURN.

Адаптирование таблиц

Расширил стандартную таблицу BNKA, потом понадобилось уменьшить одно поле, после чего система ругается на противоречия.
Clipboard01.png
лечится адаптированием таблицы, с помощью транзакции SE14.

загрузка файла на сервер SAP

Программа для загрузки файла на сервер SAP. аналог транзакции CG3Y, CG3Z, только с возможностью создать файл. посмотреть загруженный файл можно в транзакции AL11.

  1. PARAMETERS: p_file TYPE rlgrap-filename.
  2. PARAMETERS: sap_file(250) TYPE c.
  3.  
  4. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  5. CALL FUNCTION 'F4_FILENAME'
  6. EXPORTING
  7. field_name = 'P_FILE'
  8. IMPORTING
  9. file_name = p_file.
  10.  
  11.  
  12. TYPES: BEGIN OF txt_line,
  13. data(8192) TYPE c,
  14. END OF txt_line.
  15.  
  16. DATA: txt_table TYPE TABLE OF txt_line WITH HEADER LINE,
  17. txt_tablesize TYPE i.
  18. DATA: s_file TYPE string.
  19.  
  20. s_file = p_file.
  21.  
  22. CALL FUNCTION 'GUI_UPLOAD'
  23. EXPORTING
  24. filename = s_file
  25. filetype = 'ASC'
  26. read_by_line = 'X'
  27. IMPORTING
  28. filelength = txt_tablesize
  29. data_tab = txt_table
  30. EXCEPTIONS
  31. OTHERS = 11.
  32.  
  33. OPEN DATASET sap_file FOR OUTPUT IN TEXT MODE ENCODING UTF-8.
  34. LOOP AT txt_table .
  35. TRANSFER txt_table TO sap_file.
  36. CLOSE DATASET sap_file.

Таймштамп

Таймштамп, удобно записывать в таблицу БД, например с логами, помещается в поле чар размером 20, или num. Есть 2 варианта, доли секунды с 5 знаками после запятой, и с 7-ю, в зависимости от типа данных timestampl и timestamps.

  1. DATA: BEGIN OF wa,
  2. ...
  3. time_stamp TYPE timestampl,
  4. ...
  5. END OF wa.
  6. ...
  7. GET TIME STAMP FIELD wa-time_stamp.
  8. INSERT dbtab FROM wa.

XML парсер

Пример ABAP парсера XML файла следующего вида:

  1. <?xml version="1.0" encoding="windows-1251"?>
  2. <MSG FORMAT="SAP_FORMAT" SENDER="SYSTEM1" RECIPIENT="SAP">
  3. <INS
  4. CODE="TESTXXXXXX"
  5. FROMDATE="25.07.12"
  6. LONGNAME="TESTER 25"
  7. CUST_NAME="TESTER 25"
  8. CITY="ROME"
  9. TYPECODE="0"
  10. </MSG>

убил на него целый день, на будущее пригодится:

Страницы

Подписка на RSS - Блог пользователя kenzhemax