more on OFX data and bank codes

"Andreas Köhler" andi5.py at gmx.net
Thu Jul 24 12:58:49 EDT 2008


Hi David,

David Reiser <dbreiser at earthlink.net> wrote:
> On Jul 23, 2008, at 11:10 PM, David Reiser wrote:
> > In AO_Provider__ProcessImporterContext from src/plugins/backends/
> > aqofxconnect/plugin/provider.c, Martin handles the case of null
> > bankcode in the OFX data stream by looking up the bankcode associated
> > with the user in the aqbanking settings.conf data.
> >
> > So it looks to me like OFX needs special handling beyond a one-size-
> > fits-all gnc_ab_accinfo_to_gnc_acc.
> 
> I figure that by the time we get here, there should be zero chance  
> that the data stream will  be missing both a bank code and an account  
> number. Borrowing from Martin's provider.c in the ofx backend, the  
> following works for me:
> 
> Index: src/import-export/aqbanking/gnc-ab-utils.c
> ===================================================================
> --- src/import-export/aqbanking/gnc-ab-utils.c	(revision 17400)
> +++ src/import-export/aqbanking/gnc-ab-utils.c	(working copy)
> @@ -430,12 +430,17 @@
>   {
>       gchar *online_id;
>       Account *gnc_acc;
> +    const char *sBankCode;
> +    const char *sAccountNumber;
> 
>       g_return_val_if_fail(acc_info, NULL);
> 
> -    online_id =  
> g_strconcat(AB_ImExporterAccountInfo_GetBankCode(acc_info),
> -                             
> AB_ImExporterAccountInfo_GetAccountNumber(acc_info),
> -                            (gchar*)NULL);
> +    sBankCode=AB_ImExporterAccountInfo_GetBankCode(acc_info);
> +    if (sBankCode==0)
> +      sBankCode="";
> +    sAccountNumber=AB_ImExporterAccountInfo_GetAccountNumber(acc_info);
> +
> +    online_id = g_strconcat(sBankCode, sAccountNumber, (gchar*)NULL);
>       gnc_acc = gnc_import_select_account(
>           NULL, online_id, 1,  
> AB_ImExporterAccountInfo_GetAccountName(acc_info),
>           NULL, ACCT_TYPE_NONE, NULL, NULL);
> 
> 
> In case it isn't obvious, I don't know the variable declaration and  
> assignment rules, so additional clean-up is probably a good idea.
> 
> The above does work for ofxdirectconnect sessions with either credit  
> cards (no bankcode) or my bank (sends both bank code and account  
> number).
> 
> It might be worth considering adding a space between the bankcode and  
> account number in online_id to make it more readable in the account  
> list.

Thanks a lot for this mail.  I had not read the previous one carefully enough (yet).
Finally, I understand the real problem :-)
This will definitely go in, once I am back home.

Ciao,
-- andi5

-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/wasistshortview.php?mc=sv_ext_mf@gmx


More information about the gnucash-devel mailing list