08-21-2008 11:13 PM
Experts,
To create AP Invoices from flat file data, which one of these options is a better one in terms of performance and maintainability?
BDC/Call Transaction better
or
BAPIs (BAPI_ACC_DOCUMENT_POST or something)
Thanks in adcance
08-22-2008 1:51 AM
If your input to create Invoice with maximum information, it is always advisable to use std. BAPI otherwise use BDC
08-22-2008 1:51 AM
If your input to create Invoice with maximum information, it is always advisable to use std. BAPI otherwise use BDC
08-22-2008 2:00 AM
Hi,
If BAPI_ACC_DOCUMENT_POST can accommodate your need, I suggest you to use this BAPI.
Please only use BDC if you don't have any others choice. Use it as your last option.
Regards,
08-22-2008 2:59 PM
Thank you for your replies. I am keeping this thread open as I am looking fr some strong reasining as to why opt for which ever method. I don't need the pros and cons of BDC/BAPIs but need a strong reason why I must use an option for AP Invoices. Keping in mind potential issues like...
Error handling: BAPIs? or SM35 sessions (using BDCs)?
Regards...
Edited by: NW on Aug 22, 2008 9:04 AM
08-22-2008 3:07 PM
Hello,
There are few points you need to consider to decide what method you need to use.
Using, BAPI, normally it is immediate update, orders will be created immediately.
with BDC, order will be crated when BDC session is processed.
Size of inbound data
System workload
How you want to create orders <immediate / batch>.
BDC can give better control on error processing,
Using BAPI, you have to manipulate data file for error documents.
Do you want to create subsequenet documents based on created sales order the you have to use BAPI trap order number and use it for dependent document processing. Using BDC you can't do that.
I hope this points are sufficient to decide which method do you need.
Regards,
Mahesh
08-22-2008 3:19 PM
Mahesh,
Thank you for your reply. Let me expand on the points you mentioned...
Size of inbound data
Ans. Will not be too big - it is a daily run batch extract + Invoice posting
System workload
?
How you want to create orders <immediate / batch>.
Ans. Batch - Daily Sched
BDC can give better control on error processing, Using BAPI, you have to manipulate data file for error documents.
? Can you add some detail to this please?
Do you want to create subsequenet documents based on created sales order the you have to use BAPI trap order number and use it for dependent document processing. Using BDC you can't do that.
Ans: No
08-22-2008 3:19 PM
It is better to use BAPI, like [BAPI_ACC_INVOICE_RECEIPT_POST|https://www.sdn.sap.com/irj/sdn/advancedsearch?query=bapi_acc_invoice_receipt_post&cat=sdn_all] or [BAPI_INCOMINGINVOICE_SAVE|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=bapi_incominginvoice_save&adv=false&sortby=cm_rnd_rankvalue].
- BAPI are easier, just fill a structure and not field screen per screen (BDCDATA structure, flow of screens).
- BAPI are much easier when managing multiple line/items
- BAPI are less sensible when upgrading version
- BDC does not feel good when it comes to enjoy transaction (in fact in most cases they wont work at all)
- BAPI should consume less ressources,
- On the other side, error are managed in BDC by keeping the file in an error status, when you have to programmatically manage errors in a BAPI
Regards
08-22-2008 3:25 PM
NW,
Looking at your answers, you should use BAPI, provided you put appropriate error handling mechanism.
BDC's are always pain when it comes to upgrade or SAP enjoy transactions. Advantage of BDC's are better control on error handling and huge data load.
Regards,
Mahesh
08-22-2008 3:39 PM