kenzhemax

Аватар пользователя kenzhemax
Имя: 
Максим
Фамилия: 
Кенжебаев
Компания: 
CBS ERP
Дата рождения: 
воскресенье, января 3, 1988
Twitter: 
kenzhemax
Gtalk: 
kenzhemax@gmail.com
Magent: 
kenzhemax@mail.ru
Google +: 
kenzhemax
Skype: 
kenzhemax
Хабр: 
kenzhemax

Материалы пользователя

загрузка файла на сервер 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>

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

функциональные модули для конвертирования строк

функциональные модули для конвертирования между собой массивов XSTRING, STRING, TEXT, BINARY.

  1. SCMS_FTEXT_TO_BINARY
  2. SCMS_TEXT_TO_BINARY
  3. SCMS_XSTRING_TO_BINARY
  4.  
  5. SCMS_BINARY_TO_FTEXT
  6. SCMS_BINARY_TO_STRING
  7. SCMS_BINARY_TO_TEXT
  8.  
  9. SCMS_FTEXT_TO_STRING
  10. SCMS_FTEXT_TO_TEXT
  11. SCMS_TEXT_TO_FTEXT
  12. SCMS_STRING_TO_FTEXT
  13.  
  14. SCMS_FTEXT_TO_XSTRING
  15. SCMS_TEXT_TO_XSTRING
  16. SCMS_BINARY_TO_XSTRING
  17. SCMS_STRING_TO_XSTRING

таблица со списком кодировок текста

в таблице TCP00A содержится полный перечень текстовых кодировок SAP, вместе с их идентификаторами, для использования в функциональных модулях.

Страницы