<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="ABAP" version="2" kateversion="2.3" section="Sources" extensions="*.abap;*.ABAP" mimetype="text/x-abap-src" priority="5" author="Marcos Antonio Alvarez Costales (busgosin@hotmail.com)" license="GPL">
  <highlighting>

    <list name="keywords">
    <!-- compiler directives and structures -->
      <item> ADD </item>
      <item> ADJACENT </item>
      <item> ALL </item>
      <item> AND </item>
      <item> APPEND </item>
      <item> APPENDING </item>
      <item> AS </item>
      <item> ASCENDING </item>
      <item> AT </item>
      <item> BEGIN </item>
      <item> BETWEEN </item>
      <item> BINARY </item>
      <item> BLOCK </item>
      <item> BY </item>
      <item> CASE </item>
      <item> CENTERED </item>
      <item> CHAIN </item>
      <item> CHANGING </item>
      <item> CHECK </item>
      <item> CHECKBOX </item>
      <item> CLEAR </item>
      <item> COL_BACKGROUND </item>
      <item> COL_HEADING </item>
      <item> COL_NORMAL </item>
      <item> COL_TOTAL </item>
      <item> COLOR </item>
      <item> COMMENT </item>
      <item> COMMIT </item>
      <item> COMPARING </item>
      <item> COMPUTE </item>
      <item> CONCATENATE </item>
      <item> CONDENSE </item>
      <item> CONSTANTS </item>
      <item> CONTINUE </item>
      <item> CONTROLS </item>
      <item> COUNTRY </item>
      <item> DATA </item>
      <item> DECIMALS </item>
      <item> DEFAULT </item>
      <item> DELETE </item>
      <item> DELETING </item>
      <item> DESCENDING </item>
      <item> DESCRIBE </item>
      <item> DO </item>
      <item> DUPLICATES </item>
      <item> EDIT </item>
      <item> ELSE </item>
      <item> ELSEIF </item>
      <item> END </item>
      <item> ENDCASE </item>
      <item> ENDCHAIN </item>
      <item> ENDDO </item>
      <item> ENDIF </item>
      <item> ENDLOOP </item>
      <item> ENDMODULE </item>
      <item> ENDSELECT </item>
      <item> ENDWHILE </item>
      <item> ENTRIES </item>
      <item> EQ </item>
      <item> EXCEPTIONS </item>
      <item> EXCLUDING </item>
      <item> EXIT </item>
      <item> EXIT-COMMAND </item>
      <item> EXPORT </item>
      <item> EXPORTING </item>
      <item> FIELD </item>
      <item> FIRST </item>
      <item> FOR </item>
      <item> FORMAT </item>
      <item> FRAME </item>
      <item> FREE </item>
      <item> FROM </item>
      <item> GE </item>
      <item> GROUP </item>
      <item> GT </item>
      <item> HEADER </item>
      <item> HEADING </item>
      <item> HIDE </item>
      <item> HOTSPOT </item>
      <item> ID </item>
      <item> IF </item>
      <item> IMPORT </item>
      <item> IMPORTING </item>
      <item> IN </item>
      <item> INDEX </item>
      <item> INITIAL </item>
      <item> INNER </item>
      <item> INPUT </item>
      <item> INSERT </item>
      <item> INTENSIFIED </item>
      <item> INTERVALS </item>
      <item> INTO </item>
      <item> IS </item>
      <item> JOIN </item>
      <item> KEY </item>
      <item> LE </item>
      <item> LEAVE </item>
      <item> LEFT </item>
      <item> LEFT-JUSTIFIED </item>
      <item> LIKE </item>
      <item> LINE </item>
      <item> LINE-COUNT </item>
      <item> LINES </item>
      <item> LINES  </item>
      <item> LINE-SIZE </item>
      <item> LIST-PROCESSING </item>
      <item> LOOP </item>
      <item> LT </item>
      <item> MASK </item>
      <item> MEMORY </item>
      <item> MESSAGE </item>
      <item> MESSAGE-ID </item>
      <item> MOD </item>
      <item> MODIFY </item>
      <item> MODULE </item>
      <item> MOVE </item>
      <item> MOVE-CORRESPONDING </item>
      <item> NE </item>
      <item> NEW-LINE </item>
      <item> NEW-PAGE </item>
      <item> NO </item>
      <item> NO-EXTENSION </item>
      <item> NO-GAP </item>
      <item> NO-SCROLLING </item>
      <item> NOT </item>
      <item> NO-ZERO </item>
      <item> NUMBER </item>
      <item> OBLIGATORY </item>
      <item> OCCURS </item>
      <item> OF </item>
      <item> OFF </item>
      <item> ON </item>
      <item> OR </item>
      <item> OTHERS </item>
      <item> OUTPUT </item>
      <item> PAGE </item>
      <item> PARAMETER </item>
      <item> PARAMETERS </item>
      <item> PERFORM </item>
      <item> PF-STATUS </item>
      <item> POS_HIGH </item>
      <item> POS_LOW </item>
      <item> POSITION </item>
      <item> PROGRAM </item>
      <item> RADIOBUTTON </item>
      <item> RANGES </item>
      <item> READ </item>
      <item> REFRESH </item>
      <item> REPORT </item>
      <item> RESERVE </item>
      <item> RESET </item>
      <item> RIGHT </item>
      <item> RIGHT-JUSTIFIED </item>
      <item> ROLLBACK </item>
      <item> ROWS </item>
      <item> SCREEN </item>
      <item> SCREEN-GROUP1 </item>
      <item> SCREEN-GROUP2 </item>
      <item> SCREEN-GROUP3 </item>
      <item> SCREEN-GROUP4 </item>
      <item> SCREEN-GROUP5 </item>
      <item> SCREEN-INPUT </item>
      <item> SCREEN-INTENSIFIED </item>
      <item> SEARCH </item>
      <item> SELECT </item>
      <item> SELECTION </item>
      <item> SELECTION-SCREEN </item>
      <item> SELECT-OPTIONS </item>
      <item> SEPARATED </item>
      <item> SET </item>
      <item> SHIFT </item>
      <item> SINGLE </item>
      <item> SKIP </item>
      <item> SORT </item>
      <item> SPACE </item>
      <item> SPLIT </item>
      <item> STANDARD </item>
      <item> STARTING </item>
      <item> STOP </item>
      <item> STRLEN </item>
      <item> STRUCTURE </item>
      <item> SUBTRACT </item>
      <item> SY-CUCOL </item>
      <item> SY-DATUM </item>
      <item> SY-DYNNR </item>
      <item> SY-LINSZ </item>
      <item> SY-LOOPC </item>
      <item> SY-LSIND </item>
      <item> SY-MSGID </item>
      <item> SY-MSGTY </item>
      <item> SY-MSGV1 </item>
      <item> SY-MSGV2 </item>
      <item> SY-MSGV3 </item>
      <item> SY-MSGV4 </item>
      <item> SY-PAGNO </item>
      <item> SY-REPID </item>
      <item> SY-STEPL </item>
      <item> SY-SUBRC </item>
      <item> SY-TABIX </item>
      <item> SY-TCODE </item>
      <item> SY-TMAXL </item>
      <item> SY-UCOMM </item>
      <item> SY-ULINE </item>
      <item> SY-UNAME </item>
      <item> SY-UZEIT </item>
      <item> SY-VLINE </item>
      <item> TABLE </item>
      <item> TABLES </item>
      <item> TABLEVIEW </item>
      <item> TIMES </item>
      <item> TITLE </item>
      <item> TITLEBAR </item>
      <item> TO </item>
      <item> TRAILING </item>
      <item> TRANSPORTING </item>
      <item> TYPE </item>
      <item> TYPE-POOLS </item>
      <item> TYPES </item>
      <item> ULINE </item>
      <item> UP </item>
      <item> UPDATE </item>
      <item> USING </item>
      <item> VALUE </item>
      <item> WHEN </item>
      <item> WHERE </item>
      <item> WHILE </item>
      <item> WITH </item>
      <item> WORK </item>
      <item> WRITE </item>
      <item> AFTER </item>
      <item> BEFORE </item>
      <item> CALL </item>
      <item> DURING </item>
      <item> ENDFORM </item>
      <item> END-OF-SELECTION </item>
      <item> FORM </item>
      <item> FUNCTION </item>
      <item> INCLUDE </item>
      <item> LINE-SELECTION </item>
      <item> PROCESS </item>
      <item> START-OF-SELECTION </item>
      <item> TOP-OF-PAGE </item>
      <item> TRANSACTION </item>
      <item> USER-COMMAND </item>
    </list>

    <contexts>
	    <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
		    <keyword attribute="Keyword" context="#stay" String="keywords"/>
		    <DetectChar attribute="Comment" context="Comment" char="&quot;"/>
		    <DetectChar attribute="Comment" context="Comment" char="*"/>
		    <AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;:=&gt;[]^~"/>
	    </context>
	    <context attribute="Comment" lineEndContext="#pop" name="Comment">
		       <DetectChar attribute="Comment" context="#pop" char="&quot;"/>
		       <DetectChar attribute="Comment" context="#pop" char="*"/>
	    </context>
    </contexts>
    
    <itemDatas>
	    <itemData name="Normal Text" 	defStyleNum="dsNormal"/>
	    <itemData name="Keyword"  		defStyleNum="dsKeyword"/>
	    <itemData name="Comment"  		defStyleNum="dsComment"/>
	    <itemData name="Symbol"  		defStyleNum="dsNormal"/>
    </itemDatas>

  </highlighting>
  
  <general>
    <comments>
      <comment name="singleLine" start="&quot;" />
      <comment name="singleLine" start="*" />
      <comment name="multiLine" start="*" />
    </comments>
    <keywords casesensitive="0" />
  </general>
  
</language>
