Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

wodnicki
Community profile wodnicki MVP
Application Architect
Torrance
31 BADGES
MVP

MVP

Learn more
Joined the community 06-11-2017 7:09:55 PM
Online
Top badges earned by wodnicki
Customize the badges you want to showcase on your profile
Re: Help with simple SQL activity script
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Use a 'JavaScript code' activity in a workflow. Return value will be in the Audit tab of the workflow:logInfo(sqlGetString('select ...')) Thanks,-Jon

Views

204

Likes

0

Replies

3
Re: process missing from the processlist in external data...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Try setting session max_execution_time to 0 in External Account's PostConnect script? Thanks,-Jon

Views

149

Like

1

Replies

0
Re: Compute Delivery Code from TargetData
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Follow these steps, assuming nms:recipient is recipient table:Alter nms:broadLogRcp, adding sql field 'variableX'Alter target mapping mapRecipient, adding variableX to storage. Source field is [targetData/variableX]In future campaign workflows add condition 'broadlogrcp does not exist such as variableX=y' Thanks,-Jon

Views

147

Like

1

Replies

0
Re: New 32bit PK attribute (that references NmsBroadLogId...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
You can leave existing cols in place and just set the sqlNames for the two. Or use sql rename commands. Should be its own sequence, no reason to use up broadlogrcp's.

Views

200

Likes

0

Replies

0
Re: New 32bit PK attribute (that references NmsBroadLogId...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
-

Views

261

Likes

0

Replies

0
Re: How to reference a webapp internal name inside a webapp
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, If it's client-side js can just get it from (window.location + '').replace(/.*\//, '').Server-side doesn't have any info about the webapp afaik. Thanks,-Jon

Views

172

Like

1

Replies

0
Re: New 32bit PK attribute (that references NmsBroadLogId...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, The nms:broadLogEventHisto/@id col is populated by mcSynch_local workflow, which sets it to:$int64(vars/@CELL_OFFSET)*$long(vars/@cellId) + @IDvars/@CELL_OFFSET = '72057594037927936' (string since js doesn't go up that high, 2**52)vars/@cellId = xtk:option NmsExecutionInstanceId@ID= nms:broadLogRtEvent/@id If you only have 1 exec instance, set its execution id to 0 in Deployment wizard, it'll get rid of the offset, no further work needed. If you have >1 exec instances, you'll need the offset...

Views

281

Likes

0

Replies

5
Re: Is it possible to find out what is the filtering dime...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
There's xtk.workflow.get(instance.id), which also returns wppObject. Would have to use queryDef or sqlGetString for the data clob (or specifically [activities/query] for queryDef) and run it through new XML(). Cheaper to iterate over the wppObject in hand.

Views

190

Likes

0

Replies

0
Re: Is it possible to find out what is the filtering dime...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Nah it's not going to work, instance is 'wppObject' not XML. Have to do it the hard way: function getPriorActivityByType(activityType) { for each (var priorActivity in instance.activities[activityType]) { for each (var transition in priorActivity.transitions) { if (transition.target === activity.name) return priorActivity; } } } var priorActivity = getPriorActivityByType('query'); if (priorActivity) logInfo(priorActivity.schema);

Views

222

Likes

0

Replies

0
Re: Workflow command '' is not valid
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Adobe Campaign Classic doesn't ship with a REST API or an xtk:workflow#ProcessCommand action.Maybe custom development? GET method that returns trigger URL? Thanks,-Jon

Views

161

Like

1

Replies

0
Re: Does not work "delivery.variables._var [0] .stringVal...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Everything you have there is correct (though it can be reduced to <%= formatDate(new Date(), "%Y") %> ;).You can preview 'without' sending by sending the delivery with confirmation/approvals enabled.Once sent, the executed delivery can be opened and previewed against target population/vars before confirm button is pressed. Thanks,-Jon

Views

229

Likes

0

Replies

2
Re: Currency in French Format
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, It's missing in my postgres db; funcList.xml only shows a definition for SQL Server, which you have.Check db if it's available?sql server - Query to list all stored procedures - Stack Overflow Thanks,-Jon

Views

169

Likes

0

Replies

0
Re: Database Cleanup Issue
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Looks like Campaign's db functions got lost somehow.Easy way to reinstall them is to add your db as an external account and use the FDA conf to deploy (snapshot db before doing this):https://experienceleague.adobe.com/docs/campaign-classic/using/installing-campaign-classic/accessing-external-database/connecting-to-database.html?lang=en#creating-a-shared-connection Thanks,-Jon

Views

195

Likes

2

Replies

1
Re: Delivery to Table / Database
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, The broadLog table *is* the destination in this context. You can use any of the external-routed channels (direct mail, phone, external email delivery) to load entries into it.From there the log can be copied into another table as desired, your statement in reverse. Thanks,-Jon

Views

171

Likes

2

Replies

0
Re: How to add custom attribute that will compute a scrip...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Those fields are all hardcoded to render jssp tags somehow.If you're rolling your own you'll have to use a control typology rule to do something like this (*ducks*):if (field.match(/^<%=/)) field = eval(field.replace/^<%=/, '').replace(/%>$/, '')); Thanks,-Jon

Views

213

Likes

0

Replies

1
Re: Export to PDF functionality not working in Campaign C...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Try switching htmlToPdf mode to wkhtmltopdf in instance conf:The server configuration file | Adobe Campaign Thanks,-Jon

Views

240

Like

1

Replies

1
Re: Prevent or detect bot email clicks
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, They get deduped in the [indicators/@recipientClick] (key is tracking broadlog id) and [indicators/@personClick] (key is tracking source id) delivery fields.You can have the ootb 'deliveryIndicators' workflow delete duplicates from the trackingLog table after aggregating them (or 'tracking' workflow for before) if they're causing problems. Thanks,-Jon

Views

195

Like

1

Replies

0
Re: Personalization or Count Failed
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, The error message is complaining about W2.sVin not being in the destination table.Look over workflow to make sure queries and enrichments are working as expected wrt the @vin field. Thanks,-Jon

Views

169

Like

1

Replies

0
Re: Best way to pass variables or parameters to a sub-wor...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, AFAIK it's just instance.vars available to sub-workflow, though can also use xtk:option with get/setOption().Set a diff parameter for each path? Thanks,-Jon

Views

193

Likes

2

Replies

0
Re: Is it possible to find out what is the filtering dime...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, It's not stored to vars, no.Crude approach is to search the workflow's xml, looking for query transition target = your activity, then retrieve [query/where/@filteringSchema] from it.This can be done in 1 line using E4X filtering, doc here:Processing XML with E4X - Archive of obsolete content | MDN (mozilla.org) Thanks,-Jon

Views

270

Like

1

Replies

4
Re: Workflow and roles controls
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Per previous thread: Users will have to use buttons at the top right of console.This is due to a bug in the xtk:workflow form or console application. Probably possible to fix the form to make the buttons work correctly either way, though I wouldn't mess with it. Thanks,-Jon

Views

193

Like

1

Replies

0
Re: Several deliveries appear as 'to submit' in the tasks...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
The numbers are the internal names of the deliveries, pencil icon is showing their status as 'Being edited'. The screenshot shows deliveries, not tasks? Deliveries attached to a campaign get duplicated with the campaign- that's configured in the 'owncopy' integrity attribute at the link(s) between nms:operation and nms:delivery. Best to leave that as-is, instead consider templates instead of duplication?

Views

230

Likes

0

Replies

0
Re: How to add additional field in targetdata using script
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Target schema can be altered with js but it's not for the faint of heart. Easier to prepopulate workflow template with query that has mapped field.If the data doesn't vary by recipient, does it need to be in broadLog? Thanks,-Jon

Views

240

Likes

2

Replies

2
Re: Update auto generated primary key with custom primary...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Find the highest ID in the table:select max(itrackinglogid) from nmstrackinglogrcp; Then update sequence to start 1 higher:alter sequence NmsTrackingLogId restart with 9000; Thanks,-Jon

Views

179

Like

1

Replies

0
Re: Separated right for workflow edit and execution
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, One role which can only edit the workflow but can not execute itYes, remove WORKFLOW right from the user or group(s) the user's in. the other is can only execute but no right to editYes, set workflow folder to read only for the user or group(s). Users will have to use buttons at the top right of console UI. Thanks,-Jon

Views

260

Likes

2

Replies

1
Re: Several deliveries appear as 'to submit' in the tasks...
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Can you post a screenshot of the tasks, expanded (client info redacted)? Thanks,-Jon

Views

265

Likes

0

Replies

4
Re: AC on premise installation issue
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, Check that SQL Server version is supported here:Compatibility matrix | Adobe CampaignAlso may want to redact client name/login details in screenshot. Thanks,-Jon

Views

181

Likes

0

Replies

0
Re: How to get values from jssp into input form context?
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, They made a special input type called audiencePicker for AAM integration that can be (ab)used.Look at the way nms:validatePicker.jssp works, it's several specially named hidden 's and window.location being set to return type, either xtk:segmentPost or xtk:closePost.NB this is undocumented and looks hacked together, so may be refactored in a future release in a breaking change to your code. Thanks,-Jon

Views

185

Like

1

Replies

0
Re: netreport
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, It should be available on your client support portal page, if not file a support ticket. Thanks,-Jon

Views

201

Like

1

Replies

0
Re: Permission denied for table when querying in WebApp
Avatar
Establish
MVP
wodnicki
MVP

Likes

958 likes

Total Posts

1,079 posts

Correct Reply

506 solutions
Top badges earned
Establish
Affirm 500
Contributor
Shape 1
Give Back 100
View profile
wodnicki
- Adobe Campaign Classic
Hi, The error is coming from postgres there.Check that Campaign's db user has read access to the vbpromocodes table. Thanks,-Jon

Views

287

Likes

2

Replies

3