Iban и таблица

Автор themax, Червень 24, 2016, 07:10:00 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

themax

Доброго времени суток уважаемые FI-щики.

Я сам не FI-щик, поэтому мне нужна подсказка. Мне нужно знать в какой табличке лежат данные банковских реквизитов кредитора. Смотрел табличку lfbk, но там просто ключ банка привязанный к кредитору. Смотрел табличку tiban, показалось что вроде бы она, но вот в чём загвоздка, в табличке tiban хранятся даже те ключи и номера банковских счетов, которых уже нет у кредитора, т.е. табличка хранит все записи по кредитору даже если они были удалены, при чём ни как не обозначая запись в табличке что она была удалена, а мне нужна таблица, где хранятся актуальные банковские данные, т.е. те что сейчас есть у кредитора, а не все записи которые были когда то внесены и удалены. Может есть такая кто знает?

Uukrul

Цитата: themax від Червень 24, 2016, 07:10:00 ДП
Я сам не FI-щик, поэтому мне нужна подсказка. Мне нужно знать в какой табличке лежат данные банковских реквизитов кредитора. Смотрел табличку lfbk, но там просто ключ банка привязанный к кредитору.
Ну правильно, как только вы удалите банк из основной записи кредитора он будет удален из таблички  LFBK, так что если запись есть в этой таблице банк действителен для кредитора. Так же еще в этой таблице следует обратить внимание на поля KOVON и KOBIS, это дата начала и дата конца действия банка, т.е. иногда банк не удаляют из основной записи кредитора, а ставят срок действия записи.

themax

#2
Доброго времени суток Уважаемые FI-щики.

Возник такой вопрос: как удалить запись с таблицы Tinan?? На этом форуме уже задавался такой вопрос, ответом на который была возможность удаления iban с помощью транзакции fiban, но в этой транзакции видны только те записи где заполнено поле Банковский счёт (tiban-BANKN), если оно пустое, то в этой транзакции этой записи не видно. Испокон веков в основной записи кредитора всегда заполнялось это поле, но года как три юзеры перестали его заполнять. Т.е. есть такие записи где это поле заполнено, а есть те которые не заполнены. Я пытался удалить iban с помощью транзакции fiban. Вроде бы удаляет и в таблице tiban запись исчезает, но что делать с записями которые не содержат что либо в поле tiban-BANKN. Там прописывается что то вроде <IBAN>000000000031 и эти записи не видны в FIBAN
Затем я пытался удалять запись в таблице tiban с помощью функционального модуля CALL FUNCTION 'DELETE_IBAN' "Delete IBAN (For All Applications)
  EXPORTING
    i_banks =                   " tiban-banks   Bank Country Key
    i_bankl =                   " tiban-bankl   Bank Key
    i_bankn =                   " tiban-bankn   Bank Account Number
    i_bkont =                   " tiban-bkont   Bank Control Key
  EXCEPTIONS
    ACTION_CANCELLED = 1        "               Action canceled
    .  "  DELETE_IBAN


пытаюсь в se37 с помощью него удалить запись в таблице tiban, но запись как была так она там и есть. Может кто сталкивался с этим? Может быть я что то не то делаю?

Uukrul

Цитата: themax від Липень 04, 2016, 01:57:43 ПП
Затем я пытался удалять запись в таблице tiban с помощью функционального модуля CALL FUNCTION 'DELETE_IBAN' "Delete IBAN (For All Applications)
  EXPORTING
    i_banks =                   " tiban-banks   Bank Country Key
    i_bankl =                   " tiban-bankl   Bank Key
    i_bankn =                   " tiban-bankn   Bank Account Number
    i_bkont =                   " tiban-bkont   Bank Control Key
  EXCEPTIONS
    ACTION_CANCELLED = 1        "               Action canceled
    .  "  DELETE_IBAN


пытаюсь в se37 с помощью него удалить запись в таблице tiban, но запись как была так она там и есть. Может кто сталкивался с этим? Может быть я что то не то делаю?
Да просто не надо использовать эту функцию. Вы внутри код ее смотрели? Вы там видели удаление БД? Я видел только обновление внутренней таблицы, а там дальше еще надо что-то типа ФМ: POST_IBAN вызвать, хотя до этого надо похоже вызвать ФМ: READ_IBAN, потом ваше ФМ: DELETE_IBAN а потом ФМ: POST_IBAN, ну а потом еще и COMMIT WORK/ после чего будет счастье :-)

themax

Что то я так и не въехал как со всем этим работать. Пытался по отдельности все три ФМ запускать в se37, чтобы посмотреть что он мне возвращает в итоге в каждом из трёх случаев. А ничего оное мне не возвращает.

Uukrul

Цитата: themax від Липень 05, 2016, 07:37:49 ДП
Что то я так и не въехал как со всем этим работать. Пытался по отдельности все три ФМ запускать в se37
Ну исходя из написанного может вам лучше абапера хоть какого-то найти. Ну хоть стажера, он вам программу напишет с этими тремя ФМ. А в SE37 это дурная затея их вызывать. Причины описывать не буду, оно лишнее, просто поверьте на слово.

sapworkdir

А нажати кнопку з великою синьою буквою І і надписом IBAN на екрані "Payment details" основного запису кредитора та почитати, що там написано вже не круто?
Regards
SapWorkDir

themax

Цитата: Uukrul від Липень 05, 2016, 08:12:13 ДП
Ну исходя из написанного может вам лучше абапера хоть какого-то найти. Ну хоть стажера, он вам программу напишет с этими тремя ФМ. А в SE37 это дурная затея их вызывать. Причины описывать не буду, оно лишнее, просто поверьте на слово.

В общем то из меня ABAPer ещё тот, но я попытался наваять программулину, удаляющую ненужные IBAN-ы с таблички TIBAN. использовал только один ФМ POST_IBAN, получилось что то вроде этого.
data: tab1 like table of lfbk with header line,
xtiban like itiban occurs 0 with header line,

selection-screen begin of block bk1 with frame title text-001.
select-options: lifnr for lfbk-lifnr  .
selection-screen end of block bk1.

start-of-selection.

  select * from tiban appending corresponding fields of table xtiban
    where  tabkey in lifnr.

  loop at xtiban.
    select * from lfbk appending corresponding fields of table tab1 where lifnr = xtiban-tabkey and bankl = xtiban-bankl
      and bankn = xtiban-bankn .

*    if sy-subrc = 0.
*      delete xtiban WHERE bankl = tab1-bankl  .


*    endif.
    xtiban-kz = 'D'.
    modify xtiban.



  endloop.

  loop at tab1.

    loop at xtiban where tabkey = tab1-lifnr and bankl = tab1-bankl
      and bankn = tab1-bankn.
      if sy-subrc = 0.
        delete xtiban.
      endif.
    endloop.
  endloop.

call function 'POST_IBAN'
      tables
        itiban = xtiban.

    call function 'BAPI_TRANSACTION_COMMIT'
      exporting
        wait = 'X'.

Спасибо Uukrul за подсказку.