Текущее время: Сб, июл 19 2025, 05:18

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Пакетный ввод в транзакции LT01 (СУС)
СообщениеДобавлено: Пт, дек 16 2005, 14:56 
Гость
Уважаемые коллеги !!!

Нужно загрузить пакетным вводом транспортые заказы(LT01), причем общее количество заказа разбивается попозиционно на втором экране транзакции. Количество позиций заказа которые высвечиваются на экране зависят от разрешения экрана. В файле позиций может быть много, поэтому нужна кнопка в транзакции, которая делала бы переход на следующую позицию заказа (и это можно было бы прописать в программе). Не могу найти эту кнопку (если она вообще предусмотрена) или может быть можно это сделать как-то по-другому.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 16 2005, 15:32 
Ассистент
Ассистент

Зарегистрирован:
Ср, авг 18 2004, 08:55
Сообщения: 38
Откуда: Москва
похожая ситуация была при пакетном вводе банковских данных кредитора. Решилось анализом подпрограммы обработки Ф-кода транзакции и нахождения недоступного онлайн ок-кода для вызова экрана добавления новой строки.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Пт, дек 16 2005, 15:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Вообще, есть BAPI-модуль BAPI_WHSE_TO_CREATE_STOCK. Вроде бы для ввода пригодный, но в первых строчках его (4.6С) есть такой код :( :
Цитата:
* function module is still under construction and not ready to use.
clear return.
move: 'Function module is not released for public use!'
to return-message.
append return.
exit.

Прикольно, как говорится, но мало... Может, в более старших версиях что-то изменилось?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 16 2005, 15:48 
Гость
nicky555 написал:
Вообще, есть BAPI-модуль BAPI_WHSE_TO_CREATE_STOCK. Вроде бы для ввода пригодный, но в первых строчках его (4.6С) есть такой код :( :
Цитата:
* function module is still under construction and not ready to use.
clear return.
move: 'Function module is not released for public use!'
to return-message.
append return.
exit.

Прикольно, как говорится, но мало... Может, в более старших версиях что-то изменилось?


в erp2004 полноценный код.

Code:
FUNCTION BAPI_WHSE_TO_CREATE_STOCK.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(WHSENUMBER) LIKE  BAPI2018E-WHSENUMBER
*"     VALUE(WHSEMVMT) LIKE  BAPI2018E-WHSE_MVMT
*"     VALUE(REQNUMBER) LIKE  BAPI2018E-REQ_NUMBER DEFAULT SPACE
*"     VALUE(REQTYPE) LIKE  BAPI2018E-REQ_TYPE DEFAULT SPACE
*"     VALUE(ADDREFNO) LIKE  BAPI2018E-ADD_REF_NO DEFAULT SPACE
*"     VALUE(NOTPRIIND) LIKE  BAPI2018E-NOT_PRI_IND DEFAULT SPACE
*"     VALUE(PRICTLIND) LIKE  BAPI2018E-PRI_CTL_IND DEFAULT SPACE
*"     VALUE(MINWMIND) LIKE  BAPI2018E-MIN_WM_IND DEFAULT SPACE
*"     VALUE(ADDREM) LIKE  BAPI2018E-ADD_REM DEFAULT SPACE
*"  TABLES
*"      IMPORTDATA STRUCTURE  BAPI2018D
*"      CREATEDATA STRUCTURE  BAPICR2018RET
*"      RETURN STRUCTURE  BAPIRET2
*"----------------------------------------------------------------------

data: lt_ltap_creat like ltap_creat occurs 0 with header line.
data: lt_ltak_vb like ltak_vb occurs 0 with header line.
data: lt_ltap_vb like ltap_vb occurs 0 with header line.
data: lv_tanum like ltak-tanum.
data: lv_line_no type i.

* function module is still under construction and not ready to use.
  clear return.
  move: text-001 to return-message.
  append return.
  exit.



* initialization of local data
  refresh: CreateData,
           lt_ltap_creat,
           lt_ltak_vb,
           lt_ltap_vb,
           return.
  clear: CreateData,
         lt_ltap_creat,
         lt_ltak_vb,
         lt_ltap_vb,
         return.

* check if required data are entered
  if WHSENUMBER is initial.
      clear return.
      move: 'LBAPI'      to return-id,
            '010'        to return-number,
            'A'          to return-type,
            'WHSENUMBER' to return-message_v1.
      move: 1            to return-row,
            'WHSENUMBER' to return-field,
            'BAPI2018E'  to return-parameter.
      append return.
*       on error leave fm
      exit.
  endif.

  if WhseMvmt is initial.
      clear return.
      move: 'LBAPI'      to return-id,
            '010'        to return-number,
            'A'          to return-type,
            'WHSE_MOVEMENT'  to return-message_v1.
      move: 1            to return-row,
            'WHSEMVMT'  to return-field,
            'BAPI2018E'  to return-parameter.
      append return.
*       on error leave fm
      exit.
  endif.

* check input data on consistency and authorization
* only existence and authorization for
*   warehouse number and movement type is checked
  call function 'L_2018_INPUT_DATA_CHECK'
      exporting ev_lgnum = whsenumber
                ev_bwlvs = WhseMvmt
      tables    ct_return = return
      exceptions no_authority = 01
                 no_master_data = 02.

  if sy-subrc <> 0.
*   on error no data are returned to caller
    exit.
  endif.

* fill import data into transfer data structure for call of fm
  loop at ImportData.
    clear lt_ltap_creat.
    move ImportData-MATERIAL       to lt_ltap_creat-MATNR.
    move ImportData-PLANT          to lt_ltap_creat-WERKS.
    move ImportData-REQ_QUTY       to lt_ltap_creat-ANFME.
    move ImportData-ALT_UNIT       to lt_ltap_creat-ALTME.
    move ImportData-STGE_LOC       to lt_ltap_creat-LGORT.
    move ImportData-BATCH          to lt_ltap_creat-CHARG.
    move ImportData-STOCK_CAT      to lt_ltap_creat-BESTQ.
    move ImportData-SPEC_STOCK     to lt_ltap_creat-SOBKZ.
*   Special stock number must be in the internal format !!!
    move ImportData-SP_STCK_NO     to lt_ltap_creat-SONUM.
    move ImportData-STO_UNIT_TYPE  to lt_ltap_creat-LETYP.
    move ImportData-GR_RCPT        to lt_ltap_creat-WEMPF.
    move ImportData-D_STGE_TYPE    to lt_ltap_creat-NLTYP.
    move ImportData-D_STGE_AREA    to lt_ltap_creat-NLBER.
    move ImportData-D_STGE_BIN     to lt_ltap_creat-NLPLA.
    move ImportData-D_STGE_BIN_P   to lt_ltap_creat-NPPOS.
    move ImportData-D_STGE_UNIT_NO to lt_ltap_creat-NLENR.
    move ImportData-CONFIRM_IND    to lt_ltap_creat-SQUIT.
    move ImportData-CERTIFIC_NO    to lt_ltap_creat-ZEUGN.
    move ImportData-GR_DATE        to lt_ltap_creat-WDATU.
    move ImportData-S_STGE_TYPE    to lt_ltap_creat-VLTYP.
    move ImportData-S_STGE_BIN     to lt_ltap_creat-VLPLA.
    move ImportData-EXPIRYDATE     to lt_ltap_creat-VFDAT.

* Get unit of measure thru iso code
    IF NOT ImportData-ALT_UNIT_ISO IS INITIAL.
      CALL FUNCTION 'UNIT_OF_MEASURE_ISO_TO_SAP'
         EXPORTING
              ISO_CODE  = ImportData-ALT_UNIT_ISO
         IMPORTING
              SAP_CODE  = lt_ltap_creat-ALTME
         EXCEPTIONS
              NOT_FOUND = 1
              OTHERS    = 2.

      IF SY-SUBRC <> 0.
        clear return.
        move: 'LBAPI'        to return-id,
              '008'          to return-number,
              'E'            to return-type,
              ImportData-ALT_UNIT_ISO to return-message_v1,
              'ALT_UNIT_ISO' to return-message_v2.
        move: sy-tabix       to return-row,
              'ALT_UNIT_ISO' to return-field,
              'BAPI2018D'    to return-parameter.
        append return.
*       on error this line is skipped and no stock is created
        continue.
      ENDIF.
    ENDIF.

*   check if required data are entered
    if ImportData-MATERIAL is initial.
        clear return.
        move: 'LBAPI'     to return-id,
              '010'       to return-number,
              'E'         to return-type,
              'MATERIAL'  to return-message_v1.
        move: sy-tabix    to return-row,
              'MATERIAL'  to return-field,
              'BAPI2018D' to return-parameter.
        append return.
*       on error this line is skipped and no stock is created
        continue.
    endif.
    if ImportData-PLANT is initial.
        clear return.
        move: 'LBAPI'     to return-id,
              '010'       to return-number,
              'E'         to return-type,
              'PLANT'  to return-message_v1.
        move: sy-tabix    to return-row,
              'PLANT'  to return-field,
              'BAPI2018D' to return-parameter.
        append return.
*       on error this line is skipped and no stock is created
        continue.
    endif.
    if ImportData-REQ_QUTY is initial.
        clear return.
        move: 'LBAPI'     to return-id,
              '010'       to return-number,
              'E'         to return-type,
              'REQUESTED_QUANTITY'  to return-message_v1.
        move: sy-tabix    to return-row,
              'REQ_QUTY'  to return-field,
              'BAPI2018D' to return-parameter.
        append return.
*       on error this line is skipped and no stock is created
        continue.
    endif.
    if ImportData-ALT_UNIT is initial.
        clear return.
        move: 'LBAPI'     to return-id,
              '010'       to return-number,
              'E'         to return-type,
              'ALTERNATIV_UNIT'  to return-message_v1.
        move: sy-tabix    to return-row,
              'ALT_UNIT'  to return-field,
              'BAPI2018D' to return-parameter.
        append return.
*       on error this line is skipped and no stock is created
        continue.
    endif.

    append lt_ltap_creat.
  endloop.

* call fm to create transfer orders with quants in the end
* I_COMMIT_WORK always have to be space -> Commit outside fm
  CALL FUNCTION 'L_TO_CREATE_MULTIPLE'
    EXPORTING
      I_LGNUM                      = whsenumber
      I_BWLVS                      = WhseMvmt
      I_BETYP                      = ReqType
      I_BENUM                      = ReqNumber
      I_LZNUM                      = AddRefNo
      I_NIDRU                      = NotPriInd
      I_DRUKZ                      = PriCtlInd
      I_NOSPL                      = 'X'
      I_UPDATE_TASK                = ' '
      I_COMMIT_WORK                = ' '
      I_BNAME                      = SY-UNAME
      I_KOMPL                      = 'X'
      I_SOLEX                      = 0
      I_PERNR                      = 0
      I_MINWM                      = MinWmInd
      I_AUSFB                      = AddRem
    IMPORTING
      E_TANUM                      = lv_tanum
    TABLES
      T_LTAP_CREAT                 = lt_ltap_creat
      T_LTAK                       = lt_ltak_vb
      T_LTAP_VB                    = lt_ltap_vb
    EXCEPTIONS
      NO_TO_CREATED                = 1
      BWLVS_WRONG                  = 2
      BETYP_WRONG                  = 3
      BENUM_MISSING                = 4
      BETYP_MISSING                = 5
      FOREIGN_LOCK                 = 6
      VLTYP_WRONG                  = 7
      VLPLA_WRONG                  = 8
      VLTYP_MISSING                = 9
      NLTYP_WRONG                  = 10
      NLPLA_WRONG                  = 11
      NLTYP_MISSING                = 12
      RLTYP_WRONG                  = 13
      RLPLA_WRONG                  = 14
      RLTYP_MISSING                = 15
      SQUIT_FORBIDDEN              = 16
      MANUAL_TO_FORBIDDEN          = 17
      LETYP_WRONG                  = 18
      VLPLA_MISSING                = 19
      NLPLA_MISSING                = 20
      SOBKZ_WRONG                  = 21
      SOBKZ_MISSING                = 22
      SONUM_MISSING                = 23
      BESTQ_WRONG                  = 24
      LGBER_WRONG                  = 25
      XFELD_WRONG                  = 26
      DATE_WRONG                   = 27
      DRUKZ_WRONG                  = 28
      LDEST_WRONG                  = 29
      UPDATE_WITHOUT_COMMIT        = 30
      NO_AUTHORITY                 = 31
      MATERIAL_NOT_FOUND           = 32
      LENUM_WRONG                  = 33
      MATNR_MISSING                = 34
      WERKS_MISSING                = 35
      ANFME_MISSING                = 36
      ALTME_MISSING                = 37
      LGORT_WRONG_OR_MISSING       = 38
      OTHERS                       = 39
          .
  if sy-subrc <> 0.
    move: sy-msgid to return-id,
          sy-msgno to return-number,
          sy-msgty to return-type,
          sy-msgv1 to return-message_v1,
          sy-msgv2 to return-message_v2,
          sy-msgv3 to return-message_v3,
          sy-msgv4 to return-message_v4.
    append return.
*   on error no data are returned to caller
    exit.
  endif.

* mapping internal to external data format.
  loop at lt_ltap_vb.
    move lt_ltap_vb-lgnum to CreateData-WHSENUMBER.
    move lt_ltap_vb-tanum to CreateData-TRANSFERORDERNO.
    move lt_ltap_vb-tapos to CreateData-TRANSFERORDERPOS.
    move lt_ltap_vb-nltyp to CreateData-STGE_TYPE.
    move lt_ltap_vb-nlpla to CreateData-STGE_BIN.
    move lt_ltap_vb-nppos to CreateData-BIN_POSIT.
    move lt_ltap_vb-nlqnr to CreateData-QUANT.

    append CreateData.
  endloop.

ENDFUNCTION.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 16 2005, 15:58 
Гость
проверено временем и отлично работает:

Code:
  CALL FUNCTION 'L_TO_CREATE_MULTIPLE'
    EXPORTING
      I_LGNUM       = LGNUM
      I_BWLVS       = BWLVS
      I_NIDRU       = 'X'
    IMPORTING
      E_TANUM       = E_TANUM
    TABLES
      T_LTAP_CREAT  = L_LTAP
    EXCEPTIONS
      ERROR_MESSAGE = 1
      OTHERS        = 2.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 16 2005, 17:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
"Гость" явно не посмотрел и не почитал...
В "полноценном коде" как раз и стоит затычка, которую я указал, как раз после объявления переменных :D
А вот тот факт, что 'L_TO_CREATE_MULTIPLE' работает - это хорошо.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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