# OH-Jama-0038

### Description

When the user encounters OH-Jama-0038, then the following error message will appear:\
\&#xNAN;**"OH-Jama-0038: File type is not supported. Please contact your system administrator."**

### Cause

For Jama as the target system, if the attachment file name contains **Windows invalid file name characters** (`<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*`), then the file will not be added in Jama. Consequently, the user will encounter a processing failure.

### Solution

* If the attachment file name contains Windows invalid characters (`<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*`), then add advance mapping for attachments to replace special characters with any of the supported characters.
* Refer to the snippet below for a sample advance mapping for attachments in which all of the earlier specified Windows invalid characters are being replaced by an underscore (`_`) in the attachment file name:

  ```xml
  <OHAttachments>
      <xsl:for-each xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="SourceXML/updatedFields/Property/OHAttachments/OHAttachment">
          <xsl:element name="{concat('attachment_',position())}">
              <filename>
                  <xsl:value-of select="translate(fileName, '&lt;&gt;:&quot;/\|?*', '_________')"/>
              </filename>
              <addedByUser>
                  <xsl:value-of select="addedByUser"/>
              </addedByUser>
              <contentLength>
                  <xsl:value-of select="contentLength"/>
              </contentLength>
              <contentType>
                  <xsl:value-of select="contentType"/>
              </contentType>
              <contentBase64>
                  <xsl:value-of select="contentBase64"/>
              </contentBase64>
              <attachmentURI>
                  <xsl:value-of select="attachmentURI"/>
              </attachmentURI>
              <updateTimeStamp>
                  <xsl:value-of select="updateTimeStamp"/>
              </updateTimeStamp>
              <label>
                  <xsl:value-of select="label"/>
              </label>
              <fileComment>
                  <xsl:value-of select="fileComment"/>
              </fileComment>
              <attachmentReferenceType>
                  <xsl:value-of select="attachmentReferenceType"/>
              </attachmentReferenceType>
              <uniqueCode>
                  <xsl:value-of select="uniqueCode"/>
              </uniqueCode>
              <attachmentType>
                  <xsl:variable name="xPathVariable" select="attachmentType"/>
                  <xsl:value-of select="attachmentType"/>
              </attachmentType>
          </xsl:element>
      </xsl:for-each>
  </OHAttachments>
  ```
