/ Forums / Advansys Formativ / Creating Solutions with Formativ / BUG: Retreiving the Subject of CurrentItem / Reply To: BUG: Retreiving the Subject of CurrentItem

#8019
Support 3
Participant

    Unfortunately Token API only return the plain text format of the subject. ItemGetText() token may be working as designed to return the plain text format of the subject, unless Novell decide to update or add another Token API to return RTF format.

    In order to extract the RTF property of the subject, you will need to use the Object API. If you are working with a draft message (which is not yet saved to the message store) then you will need to save the draft message.

    The sample code below save the message to Work-Folder (if the message ID “X00”) then use the Object API to access the RTF property.

      
    Sub Main(Client, GWEvent)
    
      dim iWIPFolderPath
      dim oMsg
      dim iMsgID
      dim iWIPPath
      dim iBreakCount
    
    
      ' Get the message ID
      iMsgID = GroupWise.ItemMessageIDFromView
    
      ' If the draft message then save to WIP otherwise access the message
      if (iMsgID = "X00") then
    
        ' Save the message to WIP
        call GetWIPFolderPath(groupwise.account.workfolder, iWIPPath)
        msgbox "Work In Progress folder path: " & iWIPPath
        Call Groupwise.throwtoken("ItemSaveMessageDraft(""" & iWIPPath & """)", iReturnVal)
    
        iBreakCount = 0
        while (iMsgID = "Token failed execution!") or (iMsgID = "X00")
           Application.ProcessMessages
           utilities.Timer(1)
           Application.ProcessMessages
           iMsgID = GroupWise.ItemMessageIDFromView
           iBreakCount = iBreakCount + 1
           Utilities.Trace iBreakCount & ": " & iMsgID
           if (iBreakCount > 10) then
             exit sub
           end if
        wend
    
        set oMsg = GroupWise.Account.GetMessage(iMsgID)
    
      else
        set oMsg =  Client.clientstate.commandmessage
      end if
    
      msgbox "Subject-Plaintext: " & oMsg.subject.plaintext & vbcrlf &_
      "Subject-RTF: " & oMsg.subject.RTF
    
    End Sub
    

    Hope this helps.

    Regards,
    Advansys Support