Tuesday, March 08, 2016

IBM DATA STUDIO DEBUGGER OUT OF SYNC WITH SOURCE

I struggled most of the morning with my IBM Data Studio 4.1 debugger being out of sync with my source as I stepped through it.

The answer seems to be that I was creating string variables that had newlines in them.

Example:
SET PPN_INSERT_STRING = 'INSERT INTO FEDICC.MIG_PARTY_PERSON_NAME (
                   PARTY_PERS_NM_ID,
                   PARTY_ID,
                   PERS_NM_TTL_CD,
                   PERS_NM_SUFX_CD,
                   PERS_NM_TYP_CD,
                   PARTY_PERS_NM_NM_LST,
                   PARTY_PERS_NM_NM_FST,
                   PARTY_PERS_NM_NM_MID,
                   PARTY_PERS_NM_NM_UPCS_SRCH,
                   PARTY_PERS_NM_NM_DISP_DRV,
                   PARTY_PERS_NM_NM_LST_UPCS_SRCH,
                   PARTY_PERS_NM_NM_FST_UPCS_SRCH,
                   PARTY_PERS_NM_NM_MID_UPCS_SRCH,
                   PARTY_PERS_NM_NM_LST_DUP_SRCH,
                   PARTY_PERS_NM_NM_FST_DUP_SRCH,
                   PARTY_PERS_NM_NM_MID_DUP_SRCH,
                   EXTRNL_SYS_ID_VAL_TXT,
                   PARTY_PERS_NM_EFF_DT,
                   PARTY_PERS_NM_END_DT,
                   CNCURNCY_ID,
                   AUDT_USER_CREA_ID,
                   AUDT_USER_CREA_DTM,
                   AUDT_USER_UPDT_ID,
                   AUDT_USER_UPDT_DTM,
                   DEL_IND) VALUES ';

I changed this to be all on one line, and the debugger is no synced with the source.
There must be some defect by which the debugger cannot properly handle statements like the one above.

This works: (Using screen shot since it will just paginate on the blog):


To achieve this, I used Notepad++ with a regular expression search, replacing \r\n with a space, and then replaceing * with a single space.

Happy hunting :)

No comments:

The Database is not accessible after creating Always On Availability Group

 Having created a fully functional SQL Server Always On Availability Group, I connect using SSMS. Upon trying to expand the database, I get ...