| Import Notes with Goldbox | |
Posted: Thu Jul 05, 2012 1:30 pm |
Points: 0 |
|
jli1668 |
n00b |
|
|
Joined: 05 Jul 2012 |
Posts: 4 |
|
|
|
|
|
|
|
|
I have a list of contact records in a csv file which I've converted to dbase. Bob Tylor was kinda enough to point me to the right direction of checking the plug-in tab.
I am now able to import notes, however, some of the records that doesn't have notes are also getting a note timestamp with no notes in it.
Can you someone please tell me what expression I can included to avoid this problem?
I tried .NOT.Empty(Import1->notes) but received an error data type mismatch, expect memo.
Please help
System Environment:
GoldMine 9.0 PE
GoldBox 9 |
|
|
|
|
| | |
Posted: Thu Jul 05, 2012 7:09 pm |
Points: 0 |
|
BobTaylor |
GoldBox Guru |
|
|
Joined: 07 Sep 2007 |
Posts: 1216 |
Location: Jacksonville, FL |
|
|
|
|
|
|
|
Because I can't test this, I'm going to refer it to Paul Laufer. You may be able to use an expression to choose the single character that determines whether a PlugIn record is added; I'm just no sure in the case of Notes. But I don't think you'd refer to
Contac1->Notes. More likely to GXI or maybe Source. |
|
_________________ Bob Taylor
Bob Taylor Consulting
(904)646-9861
www.goldboxbob.com
Consulting with GoldBox and GoldMine since 1997. |
|
|
|
| | |
Posted: Fri Jul 06, 2012 7:31 am |
Points: 0 |
|
Paul Laufer |
GoldBox Guru |
|
|
Joined: 27 Oct 2008 |
Posts: 125 |
|
|
|
|
|
|
|
|
Presumably those ones that get the timestamp had some invisible character, such as a tab or carriage return... though you would think those wouldn't sneak in via a TXT file.
Note on the notes plugin, there's two fields that have a red Y in the REQD column. Theoretically, those are REQUIRED entries, and if either of them are empty the note will not be added. Assuming the name of your incoming file is FILE.DBF, and the fieldname that contains the notes is NOTES, you might try this expression in your notes field map instead of directly mapping the field.
iif(empty(ALLTRIM(FILE->NOTES)), "", FILE->NOTES)
That will ensure that if the incoming notes field is empty, the note will not pass through.
If this doesn't fix your issue, and you have any followup questions, please post your import's LIFERING in your response. To get the LIFERING, go to the import setup screen of your import, right mouse click and select "Save, LIFE RING Document." That will give us the particulars of your setup. You can copy/paste it into your reply. (I don't believe Doug allows file attachments here) |
|
|
|
|
| | |
Posted: Fri Jul 06, 2012 9:03 am |
Points: 0 |
|
DougCastell |
GoldMine Guru |
|
|
Joined: 15 Jun 2006 |
Posts: 1639 |
Location: Los Angeles, CA |
|
|
|
|
|
|
|
Quote: |
I don't believe Doug allows file attachments here |
Yeah, sorry about that, but I can't. I already have thousands of zombie user accounts on the board that sign up via automated script relentlessly... I allowed avatars for a while and that was immediately abused by bots as well. Until I get around to upgrading my website's software, I'm afraid this is just gonna have to be the policy. |
|
|
|
|
| | |
Posted: Sat Jul 07, 2012 7:54 pm |
Points: 0 |
|
jli1668 |
n00b |
|
|
Joined: 05 Jul 2012 |
Posts: 4 |
|
|
|
|
|
|
|
|
Hi Paul,
I appreaciate your help on this. I included the suggested expression and the was the result. below is the lifering file.
WINDOWS System: Windows NT version 6.01
FREE DiskSpace: 9,631.494 Megabytes
B D E Version: 5.2.0.2
Folder: C:\Program Files (x86)\Borland\Common Files\BDE\IDAPI32.CFG
GOLDMINE Exe: c:\progra~2\goldmine
DATABASE Main: GXGOLDMINE
Premium Edit'n: YES
9.0x or 8.5x: YES
User: MASTER
Sync: ON
GX9 Version: 11H.1
Folder: c:\goldbox9
OPERATION: IMPORT / UPDATE
Category: UPD-MAIN/NU
Description: Imp Note
Launch ID: IGTEST1.DBF
SQL CONVERT:
TEXT CONVERT:
SOURCE FILTER:
SOURCE TABLE: c:\goldbox9\process\import1.dbf
START AT RECD: 1
QTY TO IMPORT: ALL
PARK AND STOP: NO
TARGET TABLE: GXGOLDMINE
INDEXED MATCH:
CUSTOM MATCH: alltrim(Tgt->Phone1)+alltrim(PullEmail('MAIN'))+alltrim(Tgt->Uor
gname)+alltrim(Tgt->Contact)
INCLUDE FILTER:
ADD NO-MATCHES: YES
GX-VU/QUIK-DEL: NO
MULT MATCH UPD: NO
BYPASS MATCHES: YES
DIRECT DELETE: NO
LOG FLD CHANGE: NO
TAB PLUGIN OFF: NO
DETAIL NAME:
DETL SRCH FLD:
PARENT INDEX:
PARENT CUSTOM:
SOURCE EXPRN:
SOURCE Table: IMPORT1.DBF Fields: 45 Records: 2256
1 INSOURCE C 20 0
2 PREFIX C 20 0
3 LASTNAME C 15 0
4 SECR C 20 0
5 FNAME C 20 0
6 MNAME C 20 0
7 NICKNAME C 20 0
8 UTITLE C 50 0
9 UORGNAME C 250 0
10 UDEPT C 100 0
11 ADDRESS1 C 40 0
12 ADDRESS2 C 40 0
13 UPADDRESS C 40 0
14 PZIP C 15 0
15 CITY C 35 0
16 STATE C 10 0
17 ZIP C 10 0
18 PHONE1 C 20 0
19 PHONE3 C 20 0
20 PHONE2 C 20 0
21 PHONE4 C 20 0
22 FAX C 20 0
23 EMAIL C 100 0
24 EMAIL2 C 100 0
25 EMAIL3 C 100 0
26 EMAIL4 C 100 0
27 UREGCOUNTY C 50 0
28 UDEAR C 100 0
29 NOTES C 40 0
30 EVENT1 C 20 0
31 EVENT2 C 20 0
32 EVENT3 C 20 0
33 EVENT4 C 20 0
34 GRPNAME C 20 0
35 GRPOWNER C 10 0
36 GRPREF C 30 0
37 ACCOUNTNO C 20 0
38 NICKRECID C 15 0
39 EM2RECID C 15 0
40 EM3RECID C 15 0
41 EM4RECID C 15 0
42 EVNT1ID C 15 0
43 EVNT2ID C 15 0
44 EVNT3ID C 15 0
45 EVNT4ID C 15 0
FIELD-NAME T LEN D DESCRIPTION FIELD-1 FIELD-2 SHD Case WB RQ
---------- - --- - -------------------- ---------- ---------- --- ---- -- --
CONTACT C 40 Contact e
PARK EXPN: alltrim(Import1->Fname)+" "+alltrim(Import1->Lastname)
LASTNAME C 15 Last LASTNAME
SECR C 20 Asst SECR
PHONE_FMT C 1 Phone Format U=USA e
PARK EXPN: 'U'
PHONE1 C 25 Phone1 e
PARK EXPN: FmtPhoneToUSA(Import1->Phone1)
PHONE2 C 25 Phone2 PHONE2
PARK EXPN: FmtPhoneToUSA(Import1->Phone2)
PHONE3 C 25 Phone3 e
PARK EXPN: FmtPhoneToUSA(Import1->Phone3)
FAX C 25 FAX e
PARK EXPN: FmtPhoneToUSA(Import1->Fax)
ADDRESS1 C 40 Address ADDRESS1
ADDRESS2 C 40 Address2 ADDRESS2
CITY C 30 City CITY
STATE C 20 State STATE
ZIP C 10 Zip ZIP
SOURCE C 20 Source PREFIX
KEY1 C 20 Record Type e
PARK EXPN: "Contact"
MAIN_EMAIL C 75 E-MAIL ADDRESS EMAIL
CURTAIN_CD C 1 CURTAIN Cd (0,1,2,3) e
PARK EXPN: '0'
UTITLE C 100 Title UTITLE
UREGCOUNTY C 50 County UREGCOUNTY
USOURCE C 100 Input Source INSOURCE
USERDEF06 C 10 Competitor GRPNAME
USERDEF08 C 10 Account Type GRPOWNER
USERDEF09 C 10 No. of Users GRPREF
USERDEF10 C 10 Userdef10 e
PARK EXPN: dtoc(date())
UDEAR C 100 Dear UDEAR
UORGNAME C 250 Organization UORGNAME
UDEPT C 100 Department UDEPT
UPADDRESS C 50 Physical Address UPADDRESS
UPZIP C 10 Zip PZIP
*SOURCE* 0 ACCOUNTNO Write-Back WB
UPD. EXPN: GXI->Accountno
N_0PLUGIN C 1 * * * NOTE w/Upd e
PARK EXPN: "Y"
N_0USERID C 8 GoldMine User Name e RQ
PARK EXPN: vUserName
N_0NOTE M 10 NOTE Entry NOTES RQ
PARK EXPN: iif(empty(ALLTRIM(import1->NOTES)), "", import1->NOTES)
(END OF LISTING) Created 07/07/2012 09:48:20 PM |
|
|
|
|
| | |
Posted: Mon Jul 09, 2012 8:13 am |
Points: 0 |
|
Paul Laufer |
GoldBox Guru |
|
|
Joined: 27 Oct 2008 |
Posts: 125 |
|
|
|
|
|
|
|
|
jli1668 wrote: |
Hi Paul,
I appreaciate your help on this. I included the suggested expression and the was the result. below is the lifering file.
CUSTOM MATCH: alltrim(Tgt->Phone1)+alltrim(PullEmail('MAIN'))+alltrim(Tgt->Uor
gname)+alltrim(Tgt->Contact)
|
I'm a bit confused as to what I'm looking for. You said "the" was the result. What does that mean? Did you run the import? Did it still create empty notes?
I quoted back your matching expression also because you are using alltrim() in there. GoldBox builds an index using that expression, and I've always been told that variable length expressions in an index are to be avoided. You can have up to 100 bytes to match on, but it needs to use left(), subs() or just the field alone with no alltrim.
It may work... what you have... I just know that I've always been taught to not do it that way. |
|
|
|
|
| | |
Posted: Mon Jul 09, 2012 2:32 pm |
Points: 0 |
|
jli1668 |
n00b |
|
|
Joined: 05 Jul 2012 |
Posts: 4 |
|
|
|
|
|
|
|
|
Sorry Paul,
I meant to say that the result was the same. Goldbox treated the emply notes field as if they contain data and added a timestamp in the notes field with no notes. |
|
|
|
|
Posted: Mon Jul 09, 2012 5:30 pm |
Points: 0 |
|
Paul Laufer |
GoldBox Guru |
|
|
Joined: 27 Oct 2008 |
Posts: 125 |
|
|
|
|
|
|
|
|
In that case I would do the same thing on the "GoldMine user name" field.
iif(empty(import1->notes), vUserName, "")
That way the other "required" field will be empty, and it should then bypass the note because there's no username. |
|
|
|
|
Posted: Mon Jul 09, 2012 7:08 pm |
Points: 0 |
|
Paul Laufer |
GoldBox Guru |
|
|
Joined: 27 Oct 2008 |
Posts: 125 |
|
|
|
|
|
|
|
|
Whoops... I had my expression backwards...
iif(empty(import1->notes), "", vUserName) |
|
|
|
|
Posted: Tue Jul 10, 2012 5:45 am |
Points: 0 |
|
jli1668 |
n00b |
|
|
Joined: 05 Jul 2012 |
Posts: 4 |
|
|
|
|
|
|
|
|
Paul, that worked beautifully. Thank you!
If for some reasons I need to add another line of notes (with a separate recid), would there be a better way to do that other than cloning the same process but map the additional notes column to the notes fields and run the process again. |
|
|
|
|
Posted: Tue Jul 10, 2012 12:34 pm |
Points: 0 |
|
Paul Laufer |
GoldBox Guru |
|
|
Joined: 27 Oct 2008 |
Posts: 125 |
|
|
|
|
|
|
|
|
If your "other" note is in the same file as the first note, and it's contained within a different field, I would do exactly as you suggest. Import twice from that file, getting one note and then the other.
It may be possible to do two separate note plugins on the same import, but I've never tried that before. |
|
|
|
|
ContactReview Forum Index » GoldBox
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT - 7 Hours
Page 1 of 1
|
|
|
Brought to you by Castell Computers, Doug Castell, Admin
Powered by phpBB © 2001-2004 phpBB Group Theme created by Vjacheslav Trushkin
|