SAP ERP 6.0 EHP7 - стандартные электронные документы
Содержание
Общие сведения
Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате xml ФНС. Модуль является составной частью пакета локализации для России.
Транзакции:
- J3RFREGINV - Журнал электронных счетов-фактур.
- J3RFREGTORG - Журнал электронных накладных и актов.
Журнал счетов-фактур
Общие сведения
Журнал электронных счетов-фактур – транзакция, которая отображает список входящих и исходящих счетов-фактур и их электронную версию в системе SAP.
- Меню: Accounting>Finantial Accounting>Accounts Receivable>Reporting>Russia>Invoice Journal.
- Техническое имя меню J3RF-FDMN-REP-RU.
- Техническое имя транзакции J3RFREGINV.
- Техническое имя программы J_3RF_REGINV.
Журнал использует таблицы:
- J_3RF_REGINV_IN – входящие счета-фактуры
- J_3RF_REGINV_OUT – исходящие счета-фактуры
- J_3RF_REGINV_LOG – история статусов счетов-фактур
- J_3RFDI_ARC – архив электронных счетов с XML-данными
Программа J_3RF_REGINV состоит из частей:
- Описание переменных (DATA, TYPES)
- Экран выбора (SELECTION-SCREEN)
- Обработка событий на экране выбора (AT SELECTION-SCREEN)
- Набор данных (START-OF-SELECTION)
- Вывод данных (END-OF-SELECTION)
- Обработка событий на экране вывода (USER-COMMAND)
При запуске программы на экране выбора необходимо выбрать режим:
- показать исходящие счета
- показать входящие счета
- вывести выходную форму журнала
- добавить входящие счета
Список доступных команд на экране вывода (USER-COMMAND):
- Общие
- REFR - refresh list - обновить список
- INSR - insert entry - вставить запись
- COPY - copy entry - скопировать запись
- &EDI - edit entry - редактировать запись
- DELE - delete entry - удалить запись
- DISP - display entry - показать запись
- HIST - Display History of Status Changes - просмотреть историю статусов
- VLOG - View Application Log - просмотреть историю операций
- Для входящих счетов-фактур
- IADD - Register incoming invoices - зарегистрировать входящие счтеа
- EREQ - Create XML Request for Clarification - создать xml запроса на уточнение
- SGNR - Sign/Encrypt XML Request for Clarification - подписать запрос на уточнение
- SNDR - Send XML Request for Clarification - отправить запрос на уточнение
- DREQ - Display Clarification Request - показать запрос на уточнение
- HNDL - Set Status Request for Clarification Handled - установить статус запроса на уточнение
- Для исходящих счетов-фактур
- &RVS - Print Revision for Entry - печать исправленного
- EINV - Create XML Invoice - создать xml счета-фактуры
- SGNI - Sign/Encrypt XML Invoice - подписать счет-фактуру
- SNDI - Send XML Invoice - отправить счет-фактуру
- DXML - Display XML Invoice - показать xml счета-фактуры
- DPDF - Display XML in PDF - показать xml в dpf
Как исходящие документы попадают в журнал
Вариант 1 (....)
Описание краткое описание способа Алгоритм полная последовательность вызовов от начала до конца с кратким описанием каждой функции BADI выделить цветом BADI названия функций - должны быть в алгоритме. описание действия, список входящих параметров описание результата.
Как входящие документы попадают в журнал
Вариант 1 (....)
Описание
Алгоритм
Команда Create XML Invoice
Описание Создает xml для выделенных на экране исходящих счетов-фактур, используя номера документов.
Аргументы Выделенные строки в списке счетов-фактур с содержанием номеров и статусов.
Возвращаемое значение Список счетов-фактур с новыми статусами или сообщение об ошибке.
Результат Заголовок, данные в формате string, xml-данные в формате hex, эл.подпись в формате hex добавлаются в таблицу J_3RFDI_ARC. Изменяется статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_IN, J_3RF_REGINV_LOG.
Алгоритм
- Очистка временной таблицы t_out_list[] со списком счетов-фактур. Таблица используется для передачи в подпрограммы.
- Цикл по строкам временной таблицы out_list[]. Это список счетов-фактур на экране вывода. Обрабатываются только выделенные строки. Если статус счета равен "пусто", "создан", или "подписано", если тип обмена равен "только xml обмен", если индикатор "заархивировано" пустой, если индикатор "удалено" пустой, то строка врем.таблицы out_list[] добавляется во врем. таблицу t_out_list[] для передачи в подпрограммы.
- Если на экране не выделено ни одной строки, то сообщение "Select at least one entry" и выход из обработчика команды.
- Если ни одной строки во внутр. таблицу t_out_list[] не добавлено, то сообщение "Selected entries are not valid, see long text for details" и выход из обработчика команды.
- Запуск подпрограммы set_xml_timestamp. Получение системной даты и времени во врем структуру gv_xml_tmstmp.
- Запуск метода create_xml_invoices из класса cl_j3rf_di_reginv. Аргументы: врем. таблица t_out_list[]. Возвращаемое значение: код ошибки. Подготовка данных и генерация xml.
- Поиск реализации BADI J_3R_REGINV_DIG_BADI, вывод ошибок если не найдена.
- Подготовка данных для генерации xml.
- Цикл по врем.таблице it_out_entries[], переданной в аргументах, в структуру ls_out.
- Если в строке it_out_entries[] тип документа - j3rdx_dxd_type_invoice - счет-фактура.
- Запуск метода get_inv_data из класса CL_J3RF_DI_REGINV. Аргументы: врем. структура ls_out. Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов, lt_inv - врем. таблица с позициями счетов-фактур.
- Запуск метода prepare_xml_invoice из класса CL_J3RF_DI_REGINV. Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
- Запуск метода set_struct_division из класса cl_j3rf_diginv_processor. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись. Генерация эл. подписи.
- Запуск метода UPDATE_INV_XML из BADI J_3R_REGINV_DIG_BADI. Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml. Изменение данных кодом пользователя.
- Добавление врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv[] -
- Если в строке it_out_entries[] тип документа - j3rdx_dxd_type_corr - корректировочный счет-фактура
- Добавление строки в таблицу lt_inv_table[]. Это врем. таблица с данными для генерации xml.
- Генерация xml.
- Проверка что врем. табл. lt_inv_table[] содержит записи.
- Запуск метода process_outgoing из класса cl_j3rf_diginv_processor. Аргументы: lt_inv_table[], индикатор j3rdx_out_create_only. Возвращаемое значение: код ошибки.
- ...
- ...
- заполнение кода ошибки как выходного параметра .
- запуск подпрограммы show_xml_result. Аргументы: количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices. Выводит сообщение: "Х строк выделено, Y строк обработано, Z строк с ошибками".
- Запуск подпрограммы out_inv_select. Аргумент и возвращаемое значение: список счетов-фактур на экране вывода out_list[].
- Обновление экрана вывода
BADI Вызываемые BADI: J_3R_REGINV_DIG_BADI
- Вызываемый метод BADI: UPDATE_INV_XML - modify data for xml-invoice
- Вызываемый метод BADI: UPDATE_CORRINV_XML - modify data for xml-corrective invoice
Журнал накладных и актов
Общие сведения
Журнал электронных накладных и актов – транзакция, которая отображает список входящих и исходящих накладных ТОРГ12 и актов и их электронную версию в системе SAP.
- Техническое имя транзакции J3RFREGTORG.
- Техническое имя программы J_3RF_REGTORG.
Журнал использует таблицы:
- J_3RF_RGTORG_IN - входящие накладные
- J_3RF_RGTORG_OUT - исходящие накладные
- J_3RF_RGTORG_IFS - индекс документов
Программа J_3RF_REGTORG состоит из частей:
- Описание переменных (DATA, TYPES)
- Экран выбора (SELECTION-SCREEN)
- Обработка событий на экране выбора (AT SELECTION-SCREEN)
- Набор данных (START-OF-SELECTION)
- Вывод данных (END-OF-SELECTION)
- Обработка событий на экране вывода (USER-COMMAND)
При запуске программы на экране выбора необходимо выбрать режим:
- показать исходящие документы
- показать входящие документы
Список доступных команд на экране вывода (USER-COMMAND):
- Общие
- DXML - Display XML-File - показать xml
- IAKT_PDF - Print Seller Title in PDF form - напечатать данные продавца в pdf
- ZAKT_PDF - Print Buyer Title in PDF form - напечатать данные покупателя в pdf
- DCLFR - Display Clarification Request - показать запрос на уточнение
- TORG2_PROC - Set Status to Processed - установить статус "обработан"
- HIST - Display Status History - просмотреть историю статусов
- VLOG - View Application Log - просмотреть историю операций
- Исходящие документы
- ETORG - Create XML - создать xml
- SGNI - Sign - подписать документ
- SNDI - Send - отправить документ
Как входящие документы попадают в журнал
Вариант 1 (....)
Описание
Алгоритм
Список доступных команд
Команда 1
Описание
Алгоритм
BADI
Структура таблиц журнала счетов-фактур
J_3RF_REGINV_IN – входящие счета-фактуры
J_3RF_REGINV_OUT – исходящие счета-фактуры
J_3RF_REGINV_LOG – история статусов счетов-фактур
J_3RFDI_ARC – архив электронных счетов с XML-данными
Структура таблиц журнала накладных и актов
J_3RF_RGTORG_IN - входящие накладные
J_3RF_RGTORG_OUT - исходящие накладные
J_3RF_RGTORG_IFS - индекс документов
+структура каждой таблицы