|
|
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пытаюсь получить dataset выполненной транзакции SAP R/3 в Delphi для дальнейшей обработоки. То есть я указываю имя транзакции, входные параметры и получаю набор данных. Подскажите, пожалуйста, как можно такое реализовать, учитавая, что у меня установлен SAP GUI. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 10:08 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Что такое Dataset выполненной транзакции SAP R/3??? Транзакция в SAP имеет другой смысл, чем в СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 12:50 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, поищите в сети информацию по wdtlog.ocx, wdtfunc.ocx... типа такой . Примеры для VBA, но думаю смысл понятен будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 13:04 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
iscrafm, спасибо, поисчу soulsurfer, DataSet (набор данных) - структурированная информация, состояшая из набор полей определенных типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 13:34 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
вы не сможете получить в таком виде результат работы SAP транзакции в таком виде. может быть вам повезет и для вашей задачи будет RFC или BAPI-шка, что-то вроде BAPI_SALESORDER_CREATEFROMDAT2, которую вы сможете вызвать через SAP .net connector. возможно даже что в возвращаемых таблицах найдется нужная вам информация. но это если очень повезет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 15:45 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
ну и что, что получили? говорю же, вы не можете получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2009, 15:50 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Я нашел пример, как используя ActiveX библиотеку sapa можно к нему подключиться http://www.joachim-lentz.homepage.t-online.de/bapi_e.htm Там приводится пример с вызовом BAPI функции RFC_READ_TABLE. Может быть есть похожая BAPI функция, которая бы возвращала данных транзакции (ведь транзкция как вьюшка собирает данные по нескольким таблицам)? Что-то типа RFC_READ_TRANSACTION? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 14:10 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Еще раз (для внимательных) выдержка из курса SAP01: "Транзакции - это прикладные программы, выполняющие бизнес-процессы в SAP-системе." А теперь подумайте, что же все-таки вы хотите получить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 14:46 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
soulsurfer, ну естественно я имею в виду транзакции, которые возвращают набор данных по заданным параметрам, например FBL3N ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 14:59 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
А вы интересовались: куда они их возвращают? Так что вы не туда копаете. Идете в транзакцию BAPI и ищете себе подходящий функциональный модуль для вашей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 15:18 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
soulsurfer, что-то у меня есть подозрение, что sap для вас это всего три английские буквы )) Ибо BAPI это не транзакция, да и в моем случае что BAPI что RFC один хрен. Тем более, я нашел, что есть RFC_CALL_TRANSACTION, которая может мне помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 17:59 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, RFC_CALL_TRANSACTION - нет такого уже довольно давно, есть RFC_CALL_TRANSACTION_USING - для запуска пакетного ввода, передая через таблицы последовательность экранов/полей значения для ввода. получить результат работы транзакции у вас таким образом не получится ЗЫ не нужно переносить идиомы одной среды в другую. в САП транзакция -- как правило что-то делает (создает заказ, потребность, и т.п.). транзакция, которая только показывает (насколько я понял, вы именно такие хотите запускать, va0 3 , xd0 3 , mm0 3 , etc) -- просто readonly версия транзакции на изменение, причем можно переключаться на лету смотреть/менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 22:01 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Может быть, вы сможете посоветовать, как лучше получить данные в моем случае. Кстати, замечу, что в закладке "статус" транзакций va03, xd03, mm03 указано, что это "программа", а fbl1n - "отчет". Возможно, есть отдельный способ получения именно отчетов через ActiveX? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 10:25 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, если вас интересуют проводкИ по главной книге/дебиторов/кредиторов, то посмотрите на FAGL_GET_что_нибудь (например, FAGL_GET_ALL_LEDGERS). более подробно не скажу, не имел дело. но надо учесть: 1. это не RFC, их нельзя вызвать извне. придется написать RFC обертку 2. нет прямого соответствия вывода fblxx и вывода этих функциональных модулей 3. вы должны сами знать, в какой таблице что лежит, как это взаимосвязано и как это интерпретировать 4. вывод очень низкоуровневый, на уровне прямых запросов в базу, никаких бизнес объектов вы не получите 5. на всякий случай уточните что у вас, FAGL или FMGL - это определяет, какие именно таблицы вам придется запрашивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 11:27 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
>есть отдельный способ получения именно отчетов через ActiveX? ответ на такой вопрос мне не известен. но думаю, что никак нельзя получить выход произвольного отчета в программном виде как набор связанных таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 11:44 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Поковырялся и нашел, что есть RFC_READ_REPORT, а имя отчета можно посмотреть в статусе в сапе (например, для FBL1N - SAPLKKBL). Правда пока у меня не удается подключиться к сапу в delphi через activex, но я надеюсь победа близка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 12:10 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
IdaxebrnПоковырялся и нашел, что есть RFC_READ_REPORT, а имя отчета можно посмотреть в статусе в сапе (например, для FBL1N - SAPLKKBL). Правда пока у меня не удается подключиться к сапу в delphi через activex, но я надеюсь победа близка И как? Пробовали запускать этот ФМ? Исходный текст его смотрели? :) Вы хорошо поднимаете настроение с утра :) Ждем новых постов из жизни изобретателей велосипедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 12:35 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
FUNCTION RFC_READ_REPORT. *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(PROGRAM) LIKE SY-REPID *" EXPORTING *" VALUE(SYSTEM) LIKE SY-SYSID *" VALUE(TRDIR) LIKE TRDIR STRUCTURE TRDIR *" TABLES *" QTAB STRUCTURE D022S *"---------------------------------------------------------------------- * REFRESH QTAB. * READ REPORT PROGRAM INTO QTAB. * SELECT SINGLE * FROM TRDIR WHERE NAME = PROGRAM. * SYSTEM = SY-SYSID. ENDFUNCTION. он ничего не делает, все тело модуля закомментировано. а если бы и нет, то вы бы получили текст программы, а не результат работы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 12:52 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
значит не то... ну есть же полюбому какая-то RFC или другой способ, чтобы получить из вне данные ABAP отчета. Вот типа компонента Xtract для SQL Server Integration Sercive http://theobald-software.com/wiki/Xtract_IS_Report_Postprocessing_in_SSIS. Там ведь каким-то образом реализован механизм запуска ABAP отчет по имени с указанием параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 14:19 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, скорее всего эти ребятишки имеют доступ к низкоуровневым подробностям работы SAP GUI. я с такой документацией не встречался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 14:36 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, даже если такого ФМ нет (что не очень верится), он легко пишется - код в пару строк submit <repname> с параметрами.. только надо не забыть сделать этот ФМ релевантным для RFC-вызовов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 14:49 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
ну как-то не логично, не находи, что есть возможность читать таблицы, и нельзя читать отчеты. имхо ничо особенного и неизвестного простым смертным в этом компоненте нет. значит есть подходяший rfc/bapi, надо просто искать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 14:50 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, не ищите в САПе логики. там только деньги, выгодно/не выгодно. а по вашей задаче могу сказать, что способ конечно есть, SAP GUI ведь как-то запускает отчеты и показывает их на экране. но описание API, позволяющего это делать, я в свободном доступе не видел. попробуйте пошукать на тему SAP GUI scripting ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 15:03 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
Idaxebrn, BAPI сразу не нашел, поиском по se37 нашлось самый простой - RZL_SUBMIT посложнее - SUBMIT_REPORT них можно взять за основу (не вижу в них возврата списка вывода) а лучше задайте вопрос на sap forum-e, там могут более точно ответить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 15:08 |
|
||
|
Как получить dataset транзакции SAP в Delphi?
|
|||
|---|---|---|---|
|
#18+
про выгодно/невыгодно: компонент Xtract IS Report, на который вы сослались, входит только в состав Ultimate License, которая стоит всего навсего 7900 евро не включая НДС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=29&startmsg=36032416&tid=1526595]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 404ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...