Click or drag to resize

clsImportSupportIssue Class

Data holder to import the support issue (ticket) data into the MARIProject database. Additional dimensions (ToToTask, Idea, DevelopmentTask, HRTask) can be handled in addition.

Using the table MARIProjektImportSupportIssue out of the access import database.

Use MPInterface.bImportSupportIssue(clsImportSupportIssue, clsImportBaseeImportMode) to import.

See also the usage in the web service: MARIWebService.MARITicketCreate

Inheritance Hierarchy
SystemObject
  MARIInterfaceclsImportBase
    MARIInterfaceclsImportSupportIssue

Namespace:  MARIInterface
Assembly:  MARIInterface (in MARIInterface.dll) Version: 8.0.0.100
Syntax
public class clsImportSupportIssue : clsImportBase

The clsImportSupportIssue type exposes the following members.

Constructors
  NameDescription
Public methodclsImportSupportIssue
Initializes a new instance of the clsImportSupportIssue class
Top
Properties
  NameDescription
Public propertyBriefDescription
Brief Description of the Issue mandatory field
Public propertyBusinessPartnerCode
Reference for the SAP-Businesspartner. OCRD.CardCode. See Company for the required company id (1,2,3...).
Public propertyChangeAtDate
ChangeAtDate
Public propertyCompany
ID of the SAP-Company. Logical linked to the SBO Database(Schema). Standard=1
Public propertyContactPerson
NVARCHAR(120) ContactPerson. Name of the client contact person source of the issue.
Public propertyContactPerson2ID
ContactPerson2ID ChannelPartner Contact Person
Public propertyContractID
Contrcat for time keeping to the support ticket
Public propertyContractPosition
Contract position for time keeping to the support ticket
Public propertyCustomerProductLinkID
Link to customer support product link = link between a product and a customer.
Public propertyDisableNotificationSettings
Wenn true, Create and update will not send notification emails based on the settings. It will silence the mechanism
Public propertyDueDate
Optional Field Due Date at the Ticket.
Public propertyGroup1
Group1
Public propertyGroup2
Group2
Public propertyGroup3
Group3
Public propertyHotlineClassType
Base dimension of the issue. If the field is ommited, SupportIssue will be default.

The behaviour of each dimension depends on the specific settings you can apply

See clsImportSupportIssueeHotlineClassType for the five dimensions

Public propertyIssueDate
Date of the Issue
Public propertyIssueID
Unique ID for the Import to write the result back to the DTW This value is not stored in the Database. The Value is changed after a successfull import to the correct support ticket id
Public propertyIssueTyp
Typ of the Issue for example Bug. Types can be defined. For default types see clsImportSupportIssueeIssueTyp.
Public propertyMedium
Medium of the Issue for example EMail. List can be defined. For default see clsImportSupportIssueeSupportTicketMedium.
Public propertyParentIssueID
Link to parent ticket. Only used, if ParentType=ChildTicket
Public propertyParentType
Special mode to have one ticket linked to several customers in child tickets
Public propertyPhaseID
Project phase for time keeping to the support ticket. Only in conjunction with the Project property.
Public propertyPriority
Priority of the Issue for example Importend. Prorities can be defined. For default see clsImportSupportIssueeSupportTicketPriority.
Public propertyProductID
Reference for the Product. Mandatory field
Public propertyProductModules
Linked Module(s). List seperated by ";" SELECT ProductModuleID FROM MARISupportProductModules WHERE ProductID=xx
Public propertyProductVersions
Linked version(s). List seperated by ";" SELECT ProductVersionID FROM MARISupportProductVersions WHERE ProductID=xx
Public propertyProject
Project for time keeping to the support ticket
Public propertyReadFlag
Flag to show, if a ticket has been read by a support technician
Public propertyReference
NVARCHAR(120) Reference Text of the Issue
Public propertyRequestText
Main text of the issue. Can be used with limited HTML format
Public propertyResponsible
Public propertyResponsibleType
Public propertySLA_ID
link to a service level agreement definition.
Public propertySolutionApproach
Solution method of the Issue for example Completed. List can be defined. For defaults see clsImportSupportIssueeSupportTicketSolutionApproach.
Public propertySolvedDate
estimated solved date
Public propertyStatus
Status of the Issue for example Open. List of status can be defined. For default status see clsImportSupportIssueeSupportTicketStatus.
Public propertySupportGroupID
Link to a support group handling this request. Can be used in parallel to the Responsible (Linked to employee and still to the support group)
Public propertyUpdateIssueID
(Old mechanism)ID of a existing Support Ticket to change it If this value is 0 -> creation of a new ticket This value is changed after a successfull creation of a ticket (Please use now the update mechanism)
Public propertyVariant
NVARCHAR(50) Variant
Public propertyVisibleInternOnly
Hide this support issue (ticket) from the client
Public propertyWorkFlowID
Link to a ticket workflow. (if 0 will be automatically applied)
Top
Methods
  NameDescription
Public methodbDelete
Public methodbReadFromDB
Reads the support issue data from the database and copies the values to the class
(Overrides clsImportBasebReadFromDB(MPInterface, String).)
Top
Remarks

View: MARISupportIssue: :Table: MPHotlineAnfrage

ClassName changed on V5.0 from clsImportIssue to clsImportSupportIssue
Examples
Import a new ticket via MARIInterface
public MARIInterface.clsImportSupportIssue CreateSupportTicket() {

    MARIInterface.clsImportSupportIssue ticket = new clsImportSupportIssue();
    ticket.BusinessPartnerCode = "10002"; // SELECT CardCode FROM OCRD
    ticket.Company = 1;
    ticket.ProductID = 100000; // SELECT ProductID FROM MARISupportProduct
    ticket.VisibleInternOnly = false;
    ticket.Status = clsImportSupportIssue.eSupportTicketStatus.Open; //SELECT ID FROM MPHotlineSettings WHERE Setting=1
    ticket.Priority = clsImportSupportIssue.eSupportTicketPriority.Important; //SELECT ID FROM MPHotlineSettings WHERE Setting=3
    ticket.ResponsibleType = clsImportSupportIssue.eSupportTicketResponsibleType.Employee;
    ticket.Responsible = "0002"; //Projektleiter, Paula
    ticket.BriefDescription = "Ticket created with MARIInterface";
    ticket.ProductVersions = "100000;100001"; //SELECT ProductVersionID FROM MARISupportProductVersions WHERE ProductID=100000

    if (!oMPInterface.bImportSupportIssue(ticket, MARIInterface.clsImportBase.eImportMode.ValidateAndImport)) {
        throw new Exception(oMPInterface.oErrors.PrintErrors());
    } else {
        return ticket;
    }
}
Update existing ticket via MARIInterface
private clsImportSupportIssue UpdateSupportTicket(int lTicketID) {
    clsImportSupportIssue oUpdate = new clsImportSupportIssue();
    //Mandatory field to load the existing ticket
    oUpdate.IssueID = lTicketID;
    //only set the properties you like to be overwritten
    oUpdate.BriefDescription = "New Descript" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
    oUpdate.Priority = clsImportSupportIssue.eSupportTicketPriority.Block;
    //clsImportBase.eImportMode.Update = enables the update mechanism (load original and patch changed properties)
    if (oMPInterface.bImportSupportIssue(oUpdate, clsImportBase.eImportMode.Update)) {
        return oUpdate; //will return the ticket (header) with all properties
    } else {
        LogFail($"UpdateSupportTicket: {oMPInterface.oErrors.PrintErrors()}");
        return null;
    }
}
Create a new support ticket via MARIWebService
public void CreateSupportTicket() {
    UTMARIWebService.MARIWebService oWebService = oGetWebService();

    UTMARIWebService.SupportTicketInfo ticket = new UTMARIWebService.SupportTicketInfo();
    ticket.CardCode = "10002"; // SELECT CardCode FROM OCRD
    ticket.CompanyCode = 1;
    ticket.ProductID = 100000; // SELECT ProductID FROM MARISupportProduct
    ticket.Internal = false;
    ticket.TicketStatus = 1; //open SELECT ID FROM MPHotlineSettings WHERE Setting=1
    ticket.Priority = 1; //SELECT ID FROM MPHotlineSettings WHERE Setting=3
    ticket.ResponsibleType = UTMARIWebService.eResponsibleType.Employee;
    ticket.Responsible = "0002"; //employee Projektleiter, Paula
    ticket.TicketHead = "Ticket created with WEBService";
    ticket.ProductVersions = "100000;100001"; //SELECT ProductVersionID FROM MARISupportProductVersions WHERE ProductID=100000
    //Create ticket via web service.
    ticket = oWebService.MARITicketCreateChange(clsTestEnvironment.MARIPROJECT_USER, clsTestEnvironment.MARIPROJECT_PWD, ticket);

    if (ticket.TicketCode == 0) {
        Assert.False(true, "oWebService.MARITicketCreateChange failed: Error=" + ticket.TicketHead);
    } else {

        //Add a text note to the ticket.
        UTMARIWebService.SupportTicketAttachInfo oAttach;
        oAttach = oWebService.MARITicketAddAttachment(clsTestEnvironment.MARIPROJECT_USER, clsTestEnvironment.MARIPROJECT_PWD, ticket.TicketCode,
            "test@test.com", "Here is the attachement text", "", "", "", "", "", "");
        if (oAttach.TicketAttachmentCode == 0 && oAttach.ErrorReturn != null) {
            Assert.False(true, "oWebService.MARITicketAddAttachment failed: Error=" + oAttach.ErrorReturn);
        }
    }

}
See Also