Текущее время: Пт, апр 19 2024, 18:27

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Пакетный ввод
СообщениеДобавлено: Пт, сен 10 2004, 12:19 
Гость
Правильно ли все написано почему не отрабатывается пакетный ввод?
*&---------------------------------------------------------------------*
*& Report ZPERORG *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT ZPERORG.
* Описание таблиц:
* data - таблица приема из EXCEL
DATA: BEGIN OF DTAB OCCURS 0,
SHORT LIKE HRP1000-SHORT,
BEGDA LIKE HRP1000-BEGDA,
ENDDA LIKE HRP1000-ENDDA,
STEXT LIKE HRP1000-STEXT,
END OF DTAB.


DATA: BEGIN OF BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: N TYPE I,
CH TYPE I.
*Таблица для INTERN
DATA: BEGIN OF TAB_F OCCURS 0,
ROW TYPE KCD_EX_ROW_N,
COL TYPE KCD_EX_ROW_N,
VALUE TYPE CHAR50,
END OF TAB_F.

PARAMETERS: Filename like rlgrap-filename obligatory
DEFAULT 'C:\PERENOS\NShtatDol.xls'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR Filename.
CALL FUNCTION 'STPB1_GET_FILENAME'
EXPORTING
MODE = 'IMPORT'
IMPORTING
STEP_FILENAME = Filename.


START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = Filename
I_BEGIN_COL = 1
I_BEGIN_ROW = 2
I_END_COL = 4
I_END_ROW = 50000
TABLES
INTERN = TAB_F
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
* IF SY-SUBRC <> 0.
* MESSAGE i000 with Filename.
* ENDIF.

DESCRIBE TABLE TAB_F LINES N.
CH = N / 4.



LOOP AT TAB_F.
CASE TAB_F-COL.
WHEN '1'.

DTAB-SHORT = TAB_F-VALUE.
WHEN '2'.
DTAB-BEGDA = TAB_F-VALUE.
WHEN '3'.
DTAB-ENDDA = TAB_F-VALUE.
WHEN '4'.
DTAB-STEXT = TAB_F-VALUE.
append dtab.
endcase.

ENDLOOP.


DELETE ADJACENT DUPLICATES FROM DTAB COMPARING SHORT.



loop at DTAB.

REFRESH BDCDATA.
CLEAR BDCDATA.

perform bdc_dynpro using 'SAPMH5A0' '5100'.
perform bdc_field using 'BDC_CURSOR'
'PM0D1-SEARK'.
perform bdc_field using 'BDC_OKCODE'
'=INSE'.
perform bdc_field using 'PPHDR-PLVAR'
'01'.
perform bdc_field using 'PM0D1-SEARK'
''.
perform bdc_field using 'PM0D1-TIMR6'
'X'.
perform bdc_field using 'PPHDR-BEGDA'
SY-DATUM.
perform bdc_field using 'PPHDR-ENDDA'
'31.12.9999'.
perform bdc_field using 'MARKFELD(01)'
'X'.
perform bdc_dynpro using 'MP100000' '2000'.
perform bdc_field using 'BDC_CURSOR'
'P1000-STEXT'.
perform bdc_field using 'BDC_OKCODE'
'UPD'.
perform bdc_field using 'P1000-BEGDA'
DTAB-BEGDA.
perform bdc_field using 'P1000-ENDDA'
DTAB-ENDDA.
perform bdc_field using 'P1000-SHORT'
DTAB-SHORT.
perform bdc_field using 'P1000-STEXT'
DTAB-STEXT.
perform bdc_dynpro using 'SAPMH5A0' '5100'.
perform bdc_field using 'BDC_CURSOR'
'PPHDR-PLVAR'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'PPHDR-PLVAR'
'01'.
perform bdc_field using 'PM0D1-SEARK'
'50000692'.

call transaction 'PO13' using BDCDATA MODE 'E' UPDATE 'S'.

ENDLOOP.

*&--------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->PROGRAM text
* -->DYNPRO text
*---------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO

*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:50
Сообщения: 134
Откуда: UA->DE
Пол: Женский
А ты уже пробовал поменять в "call transaction 'PO13' using BDCDATA MODE 'E' UPDATE 'S'." MODE на 'A' и в отладчике посмотреть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:48 
Гость
Если ставим А, то ве работает, помогите


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:53 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Anonymous написал(а):
Если ставим А, то ве работает, помогите

А в чём конкретно то проявляется неработа?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:55 
Гость
Если ставим А, то ве работает, помогите


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 12:57 
Гость
Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:12 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 15:33
Сообщения: 160
Откуда: R/3 4.7
В 4.7 это Enjoy - транзакция.
А с такими использовать call transaction SAP не рекомендует.
Если в твоей версии R/3 это Enjoy транз. то ищи другие пути.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:15 
Гость
Что значит enjoy транзакция, извините может быть дурацкий вопрос


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:17 
Гость
Подскажите как закачать данные через PO13 для инфотипа объект, создать запись.....


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Anonymous написал(а):
Подскажите как закачать данные через PO13 для инфотипа объект, создать запись.....

CALL FUNCTION 'RH_OBJECT_CREATE' ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 13:54 
Гость
ДА ЧТО ВРОДЕ ТОГО КАК ЕГО ПРИКРУТИЬ К МОЕЙ ПРОГРАММЕ


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 14:03 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
Anonymous написал(а):
Что значит enjoy транзакция, извините может быть дурацкий вопрос

Если мне не изменяет память, то это транзакция которая в экранах имеет визуальные элементы которые отрабатываются только на уровне ГУЯ и поэтому в записанном пакетнике не отражаются данные и операции по нему. Хотя это со слов препода с курсов. Сам с ними дела не имел.

А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны. Я так со сбытовскими данными мудохался - когда наш функциональщик записал пакетник на одну группу данных, а потом кричал, что не может ввести другую.

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 14:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:50
Сообщения: 134
Откуда: UA->DE
Пол: Женский
vvvictor написал:
А по поводу отрабатывает - не отрабатывает - из практики скажу, что попадаются транзакции, которые имеют "ветвления". Т.Е. на каком-то этапе в зависиммости от введенных данных уходит в разные экраны.

Еще и появление каких-либо предупреждающих сообщений мешать может.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 10 2004, 15:33 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 15:33
Сообщения: 160
Откуда: R/3 4.7
Anonymous написал(а):
Что значит enjoy транзакция, извините может быть дурацкий вопрос

По логике SAP Enjoy - это вещь. А не Enjoy - ну совсем не Enjoy и все тут. :D
А вообще это транзакции с новым интерфейсом.
Для примера ME21 - не Enjoy, а вот ME21N - полный Enjoy. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, сен 12 2004, 16:25 
Гость
Anonymous написал(а):
Данные не заносятся в в таблицу, такое впечатление что пакетный ввод на отрабатывает


Давайте оперировать фактами, а не впечатлениями, когда это возможно :) Чтобы посмотреть, на что собственоо жалуется пакетник, объявите таблицу для сбора сообщений
DATA: MSG_TAB TYPE TABLE OF BDCMSGCOLL.
и добавьте MESSAGES INTO msg_tab в конец вызова CALL TRANSACTION и посмотрите на улов.
Но вообще-то справедливо замечено, что использование BDC c Enjoy Transactions дело неблагодарное. Попробуйте использовать PP02, которая специально для этого расчитана.


Принять этот ответ
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB