SAP ERP 6.0 EHP7 - стандартные электронные документы

Материал из razgovorov.ru
Версия от 11:39, 1 сентября 2015; Злобин Юрий (обсуждение | вклад) (Команда Create XML Invoice)
Перейти к: навигация, поиск

Общие сведения

Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате 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.

Алгоритм

  1. Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
  2. set_xml_timestamp Получаем системную дату время
  3. CL_J3RF_DI_REGINV->CREATE_XML_INVOICES(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки.
    1. Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка)
    2. Перебираем список фактур и в зависимости от типа фактуры (j3rdx_dxd_type_invoice - обычная / j3rdx_dxd_type_corr корректировочная) запускаем разные методы получения данных из БД:
      1. Для обычной фактуры
        1. CL_J3RF_DI_REGINV->GET_INV_DATA(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
          1. ???вероятно запускается программа печати Z_3RF_INV_A / Z_3RV_INV_A??
        2. CL_J3RF_DI_REGINV->PREPARE_XML_INVOICE По полученным данным собираем структуру специального формата для конвертации в xml из класса . Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
        3. CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись.
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML(ls_hd_inv, lt_txt, lt_inv. ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv.
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv
      2. Для корректировочной фактуры
        1. CL_J3RF_DI_REGINV->GET_CORRINV_DATA - подготавливаем структуру и помещаем в lt_xml_inv аналогично обычной фактуре.
        2. CL_J3RF_DI_REGINV->PREPARE_XML_CORRINV
        3. CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML
        5. Записываем полученную структуру в таблицу врем. табл. lt_inv_table.
    3. CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING(lt_inv_table[], индикатор j3rdx_out_create_only) Формирует xml документ, помещаем его в таблицу ????. Возвращает: код ошибки.
      • заполнение кода ошибки как выходного параметра .
  • запуск подпрограммы SHOW_XML_RESULT. (количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение: "Х строк выделено, Y строк обработано, Z строк с ошибками".
  • Запуск подпрограммы OUT_INV_SELECT. Обновляет список счетов-фактур на экране вывода out_list[].

BADI J_3R_REGINV_DIG_BADI

  • UPDATE_INV_XML - modify data for xml-invoice
  • 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 - индекс документов

+структура каждой таблицы