Codeunit SegManagement

ID 5051
Namespace: Microsoft.CRM.Segment

Properties

Name Value
Permissions tabledata "Interaction Log Entry" = rimd, tabledata "Interaction Template" = r, tabledata "Inter. Log Entry Comment Line" = rd, tabledata Contact = r

Methods

LogSegment

[InherentPermissions(TableData,5065,r)]
procedure LogSegment(SegmentHeader: Record "Segment Header", Deliver: Boolean, Followup: Boolean)

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
Deliver Boolean
Followup Boolean

LogInteraction

[InherentPermissions(TableData,5065,r)]
procedure LogInteraction(SegmentLine: Record "Segment Line", var AttachmentTemp: Record Attachment, var TempInterLogEntryCommentLine: Record "Inter. Log Entry Comment Line", Deliver: Boolean, Postponed: Boolean): Integer

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
AttachmentTemp Table Microsoft.CRM.Interaction.Attachment
TempInterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"
Deliver Boolean
Postponed Boolean

Returns

Type Description
Integer

LogDocument

procedure LogDocument(DocumentType: Integer, DocumentNo: Code[20], DocNoOccurrence: Integer, VersionNo: Integer, AccountTableNo: Integer, AccountNo: Code[20], SalespersonCode: Code[20], CampaignNo: Code[20], Description: Text[100], OpportunityNo: Code[20]): Integer

Parameters

Name Type Description
DocumentType Integer
DocumentNo Code[20]
DocNoOccurrence Integer
VersionNo Integer
AccountTableNo Integer
AccountNo Code[20]
SalespersonCode Code[20]
CampaignNo Code[20]
Description Text[100]
OpportunityNo Code[20]

Returns

Type Description
Integer

FindInteractionTemplateCode

procedure FindInteractionTemplateCode(DocumentType: Enum "Interaction Log Entry Document Type"): Code[10]

Parameters

Name Type Description
DocumentType Enum Microsoft.CRM.Interaction."Interaction Log Entry Document Type"

Returns

Type Description
Code[10]

CheckSegmentLine

procedure CheckSegmentLine(var SegmentLine: Record "Segment Line", Deliver: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Deliver Boolean

CopyFieldsToCampaignEntry

procedure CopyFieldsToCampaignEntry(var CampaignEntry: Record "Campaign Entry", var SegmentLine: Record "Segment Line")

Parameters

Name Type Description
CampaignEntry Table Microsoft.CRM.Campaign."Campaign Entry"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

CreateCampaignEntryOnSalesInvoicePosting

procedure CreateCampaignEntryOnSalesInvoicePosting(SalesInvoiceHeader: Record "Sales Invoice Header")

Parameters

Name Type Description
SalesInvoiceHeader Table Microsoft.Sales.History."Sales Invoice Header"

InterLogEntryCommentLineInsert

procedure InterLogEntryCommentLineInsert(var TempInterLogEntryCommentLine: Record "Inter. Log Entry Comment Line", InteractionLogEntryNo: Integer)

Parameters

Name Type Description
TempInterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"
InteractionLogEntryNo Integer

Events

OnAfterFindInteractTemplateCode

[IntegrationEvent(False,False)]
local procedure OnAfterFindInteractTemplateCode(DocumentType: Enum "Interaction Log Entry Document Type", InteractionTemplateSetup: Record "Interaction Template Setup", var InteractionTemplateCode: Code[10])

Parameters

Name Type Description
DocumentType Enum Microsoft.CRM.Interaction."Interaction Log Entry Document Type"
InteractionTemplateSetup Table Microsoft.CRM.Interaction."Interaction Template Setup"
InteractionTemplateCode Code[10]

OnAfterFindInteractTmplSetupCaption

[IntegrationEvent(False,False)]
local procedure OnAfterFindInteractTmplSetupCaption(DocumentType: Integer, InteractionTemplateSetup: Record "Interaction Template Setup", var InteractionTemplateCaption: Text[80])

Parameters

Name Type Description
DocumentType Integer
InteractionTemplateSetup Table Microsoft.CRM.Interaction."Interaction Template Setup"
InteractionTemplateCaption Text[80]

OnAfterInsertFollowUpSegment

[IntegrationEvent(False,False)]
local procedure OnAfterInsertFollowUpSegment(var SegmentHeader: Record "Segment Header", LoggedSegment: Record "Logged Segment")

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"

OnAfterHandleAttachmentFile

[IntegrationEvent(False,False)]
local procedure OnAfterHandleAttachmentFile(var SegmentLine: Record "Segment Line", Attachment: Record Attachment, FileExported: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Attachment Table Microsoft.CRM.Interaction.Attachment
FileExported Boolean

OnAfterLogInteraction

[IntegrationEvent(False,False)]
local procedure OnAfterLogInteraction(var SegmentLine: Record "Segment Line", var InteractionLogEntry: Record "Interaction Log Entry", Deliver: Boolean, Postponed: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"
Deliver Boolean
Postponed Boolean

OnAfterLogSegment

[IntegrationEvent(False,False)]
local procedure OnAfterLogSegment(var TempDeliverySorter: Record "Delivery Sorter" temporary, var LoggedSegment: Record "Logged Segment", SegmentHeader: Record "Segment Header", SegmentNo: Code[20], LastInteractLogEntryNo: Integer)

Parameters

Name Type Description
TempDeliverySorter Table Microsoft.CRM.Interaction."Delivery Sorter"
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
SegmentNo Code[20]
LastInteractLogEntryNo Integer

OnBeforeAttachmentInsert

[IntegrationEvent(False,False)]
local procedure OnBeforeAttachmentInsert(SegmentLine: Record "Segment Line", var AttachmentTemp: Record Attachment, var Attachment: Record Attachment)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
AttachmentTemp Table Microsoft.CRM.Interaction.Attachment
Attachment Table Microsoft.CRM.Interaction.Attachment

OnBeforeAssignCorrespondenceTypeForEmail

[IntegrationEvent(False,False)]
local procedure OnBeforeAssignCorrespondenceTypeForEmail(var SegmentLine: Record "Segment Line", Contact: Record Contact, ContactAltAddr: Record "Contact Alt. Address", var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Contact Table Microsoft.CRM.Contact.Contact
ContactAltAddr Table Microsoft.CRM.Contact."Contact Alt. Address"
IsHandled Boolean

OnBeforeCampaignEntryNoModify

[IntegrationEvent(False,False)]
local procedure OnBeforeCampaignEntryNoModify(var SegmentLine: Record "Segment Line")

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnBeforeCheckSalesperson

[IntegrationEvent(False,False)]
local procedure OnBeforeCheckSalesperson(var SegmentLine: Record "Segment Line", var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
IsHandled Boolean

OnBeforeDeliverySorterInsert

[IntegrationEvent(False,False)]
local procedure OnBeforeDeliverySorterInsert(var TempDeliverySorter: Record "Delivery Sorter" temporary, SegmentLine: Record "Segment Line")

Parameters

Name Type Description
TempDeliverySorter Table Microsoft.CRM.Interaction."Delivery Sorter"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnBeforeInteractLogEntryInsert

[IntegrationEvent(False,False)]
local procedure OnBeforeInteractLogEntryInsert(var InteractionLogEntry: Record "Interaction Log Entry", SegmentLine: Record "Segment Line")

Parameters

Name Type Description
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnBeforeLogInteraction

[IntegrationEvent(False,False)]
local procedure OnBeforeLogInteraction(var SegmentLine: Record "Segment Line", var Attachment: Record Attachment, var InterLogEntryCommentLine: Record "Inter. Log Entry Comment Line", var Deliver: Boolean, var Postponed: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Attachment Table Microsoft.CRM.Interaction.Attachment
InterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"
Deliver Boolean
Postponed Boolean

OnBeforeLogSegment

[IntegrationEvent(False,False)]
local procedure OnBeforeLogSegment(SegmentHeader: Record "Segment Header", Deliver: Boolean, Followup: Boolean)

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
Deliver Boolean
Followup Boolean

OnBeforeLoggedSegmentInsert

[IntegrationEvent(False,False)]
local procedure OnBeforeLoggedSegmentInsert(var LoggedSegment: Record "Logged Segment")

Parameters

Name Type Description
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"

OnBeforeTempSegmentLineInsert

[IntegrationEvent(False,False)]
local procedure OnBeforeTempSegmentLineInsert(var TempSegmentLine: Record "Segment Line")

Parameters

Name Type Description
TempSegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnBeforeTestFieldsFromLogInteraction

[IntegrationEvent(False,False)]
local procedure OnBeforeTestFieldsFromLogInteraction(var SegmentLine: Record "Segment Line", Deliver: Boolean, Postponed: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Deliver Boolean
Postponed Boolean
IsHandled Boolean

OnLogDocumentOnAfterFindInteractTmplCode

[IntegrationEvent(False,False)]
local procedure OnLogDocumentOnAfterFindInteractTmplCode(var InteractTmplCode: Code[10], var Attachment: Record Attachment, DocumentType: Integer)

Parameters

Name Type Description
InteractTmplCode Code[10]
Attachment Table Microsoft.CRM.Interaction.Attachment
DocumentType Integer

OnLogDocumentOnCaseElse

[IntegrationEvent(False,False)]
local procedure OnLogDocumentOnCaseElse(AccountTableNo: Integer, AccountNo: Code[20], var ContNo: Code[20])

Parameters

Name Type Description
AccountTableNo Integer
AccountNo Code[20]
ContNo Code[20]

OnLogDocumentOnBeforeTempSegmentLineModify

[IntegrationEvent(False,False)]
local procedure OnLogDocumentOnBeforeTempSegmentLineModify(var TempSegmentLine: Record "Segment Line" temporary, AccountTableNo: Integer, AccountNo: Code[20])

Parameters

Name Type Description
TempSegmentLine Table Microsoft.CRM.Segment."Segment Line"
AccountTableNo Integer
AccountNo Code[20]

OnLogInteractionOnBeforeInteractionLogEntryInsert

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeInteractionLogEntryInsert(var InteractionLogEntry: Record "Interaction Log Entry", Attachment: Record Attachment, SegmentLine: Record "Segment Line")

Parameters

Name Type Description
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"
Attachment Table Microsoft.CRM.Interaction.Attachment
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnLogInteractionOnBeforeInteractionLogEntryModify

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeInteractionLogEntryModify(var InteractionLogEntry: Record "Interaction Log Entry")

Parameters

Name Type Description
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"

OnLogInteractionOnAfterGetInteractLogEntryFromSegmentLine

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnAfterGetInteractLogEntryFromSegmentLine(var InteractionLogEntry: Record "Interaction Log Entry", SegmentLine: Record "Segment Line", Postponed: Boolean)

Parameters

Name Type Description
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Postponed Boolean

OnLogInteractionOnBeforeInterLogEntryCommentLineInsert

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeInterLogEntryCommentLineInsert(var InterLogEntryCommentLine: Record "Inter. Log Entry Comment Line")

Parameters

Name Type Description
InterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"

OnLogInteractionOnBeforeTempDeliverySorterInsert

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeTempDeliverySorterInsert(var DeliverySorter: Record "Delivery Sorter", SegmentLine: Record "Segment Line", InteractionLogEntry: Record "Interaction Log Entry")

Parameters

Name Type Description
DeliverySorter Table Microsoft.CRM.Interaction."Delivery Sorter"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"

OnLogSegmentOnAfterCreateInteractionLogEntries

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnAfterCreateInteractionLogEntries(var SegmentHeader: Record "Segment Header", var LoggedSegment: Record "Logged Segment")

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"

OnLogSegmentOnAfterCalcShowIsNotEmptyError

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnAfterCalcShowIsNotEmptyError(var LoggedSegment: Record "Logged Segment", Deliver: Boolean, var ShowIsNotEmptyError: Boolean)

Parameters

Name Type Description
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"
Deliver Boolean
ShowIsNotEmptyError Boolean

OnLogSegmentOnAfterCalcShouldModifyAttachment

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnAfterCalcShouldModifyAttachment(var Attachment: Record Attachment, SegmentLine: Record "Segment Line", SegmentHeader: Record "Segment Header", var ShouldModifyAttachment: Boolean)

Parameters

Name Type Description
Attachment Table Microsoft.CRM.Interaction.Attachment
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
ShouldModifyAttachment Boolean

OnTestFieldsOnSegmentLineCorrespondenceTypeCaseElse

[IntegrationEvent(False,False)]
local procedure OnTestFieldsOnSegmentLineCorrespondenceTypeCaseElse(var SegmentLine: Record "Segment Line", Contact: Record Contact)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Contact Table Microsoft.CRM.Contact.Contact

OnLogSegmentOnAfterLoggedSegmentInsert

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnAfterLoggedSegmentInsert(var LoggedSegment: Record "Logged Segment", SegmentHeader: Record "Segment Header")

Parameters

Name Type Description
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"

OnLogSegmentOnAfterInteractLogEntryInsert

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnAfterInteractLogEntryInsert(var InteractionLogEntry: Record "Interaction Log Entry", SegmentLine: Record "Segment Line")

Parameters

Name Type Description
InteractionLogEntry Table Microsoft.CRM.Interaction."Interaction Log Entry"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnLogSegmentOnBeforeFollowupSegmentHeaderInsert

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnBeforeFollowupSegmentHeaderInsert(var SegmentHeader: Record "Segment Header", LoggedSegment: Record "Logged Segment")

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
LoggedSegment Table Microsoft.CRM.Segment."Logged Segment"

OnLogDocumentOnBeforeTempSegmentLineInit

[IntegrationEvent(False,False)]
local procedure OnLogDocumentOnBeforeTempSegmentLineInit(AccountTableNo: Integer, AccountNo: Code[20], var ContNo: Code[20], var Result: Integer, var IsHandled: Boolean)

Parameters

Name Type Description
AccountTableNo Integer
AccountNo Code[20]
ContNo Code[20]
Result Integer
IsHandled Boolean

OnLogInteractionOnBeforeCheckAttachmentFileValue

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeCheckAttachmentFileValue(SegmentLine: Record "Segment Line", var AttachmentTemp: Record Attachment, var TempInterLogEntryCommentLine: Record "Inter. Log Entry Comment Line", Deliver: Boolean, Postponed: Boolean, var NextInteractLogEntryNo: Integer, var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
AttachmentTemp Table Microsoft.CRM.Interaction.Attachment
TempInterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"
Deliver Boolean
Postponed Boolean
NextInteractLogEntryNo Integer
IsHandled Boolean

OnLogSegmentOnBeforeInitLoggedSegment

[IntegrationEvent(False,False)]
local procedure OnLogSegmentOnBeforeInitLoggedSegment(SegmentHeader: Record "Segment Header", Deliver: Boolean, Followup: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SegmentHeader Table Microsoft.CRM.Segment."Segment Header"
Deliver Boolean
Followup Boolean
IsHandled Boolean

OnBeforeCheckSegmentLine

[IntegrationEvent(False,False)]
local procedure OnBeforeCheckSegmentLine(var SegmentLine: Record "Segment Line", Deliver: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Deliver Boolean
IsHandled Boolean

OnLogDocumentOnBeforeTestTmplLanguage

[IntegrationEvent(False,False)]
local procedure OnLogDocumentOnBeforeTestTmplLanguage(InteractTmplCode: Code[10], var IsHandled: Boolean)

Parameters

Name Type Description
InteractTmplCode Code[10]
IsHandled Boolean

OnAfterCopyFieldsToCampaignEntry

[IntegrationEvent(False,False)]
local procedure OnAfterCopyFieldsToCampaignEntry(var CampaignEntry: Record "Campaign Entry", var SegmentLine: Record "Segment Line")

Parameters

Name Type Description
CampaignEntry Table Microsoft.CRM.Campaign."Campaign Entry"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"

OnLogInteractionOnAfterInterLogEntryCommentLineInsert

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnAfterInterLogEntryCommentLineInsert(var InterLogEntryCommentLine: Record "Inter. Log Entry Comment Line", SegmentLine: Record "Segment Line", NextInteractLogEntryNo: Integer)

Parameters

Name Type Description
InterLogEntryCommentLine Table Microsoft.CRM.Interaction."Inter. Log Entry Comment Line"
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
NextInteractLogEntryNo Integer

OnLogInteractionOnBeforeInteractLogEntryGet

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeInteractLogEntryGet(var NextInteractLogEntryNo: Integer, SegmentLine: Record "Segment Line", Postponed: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
NextInteractLogEntryNo Integer
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Postponed Boolean
IsHandled Boolean

OnLogInteractionOnBeforeWizSaveAttachment

[IntegrationEvent(False,False)]
local procedure OnLogInteractionOnBeforeWizSaveAttachment(SegmentLine: Record "Segment Line", var AttachmentTemp: Record Attachment, var Attachment: Record Attachment)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
AttachmentTemp Table Microsoft.CRM.Interaction.Attachment
Attachment Table Microsoft.CRM.Interaction.Attachment

OnBeforeExportAttachmentFile

[IntegrationEvent(False,False)]
local procedure OnBeforeExportAttachmentFile(var SegmentLine: Record "Segment Line", Attachment: Record Attachment, var AttachmentTemp: Record Attachment, var FileExported: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SegmentLine Table Microsoft.CRM.Segment."Segment Line"
Attachment Table Microsoft.CRM.Interaction.Attachment
AttachmentTemp Table Microsoft.CRM.Interaction.Attachment
FileExported Boolean
IsHandled Boolean

See also