mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 06:16:14 +08:00

Allow inheritance to support testing of modified classes w/o having to change the original or to allow customer-specific variations Changed objects: ZCL_EXCEL_READER_2007: Added try-catch block to allow reading excelsheets with textfields ( ignore textfields - just read the rest ) ZCL_EXCEL_READER_2007: Added support of reading hyperlinks ZCL_EXCEL_WRITER_2007: Corrected method CREATE_XL_SHEET_RELS to not look at internal hyperlinks ZCL_EXCEL: Allow inheritance to test changes on subobjects w/o changing original ( needed for issue 343 for class ZCL_EXCEL_WORKSHEET ) ZCL_EXCEL_WORKSHEET: Allow inheritance, Changed row-dimensions to hashtable, added tabletype for this, changed method GET_ROW_DIMENSION to use hashtable ZCL_EXCEL_WRITER_XLSM: Allow inheritance ZDEMO_EXCEL_OUTPUTOPT_INCL: Changed default to "Display", Allow using any writerclass that inherits from ZCL_EXCEL_WRITER_2007 ZDEMO_EXCEL37: Allow passthrough of .xlsm files as well. Allow using any reader or writerclass that inherits from the ZCL_EXCEL_READER_2007 or ZCL_EXCEL_WRITER_2007 ZDEMO_EXCEL41: Test inheritance - demo for inherited ZCL_EXCEL or ZCL_EXCEL_WORKSHEET
387 lines
24 KiB
XML
387 lines
24 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<PROG NAME="ZDEMO_EXCEL41" VARCL="X" SUBC="1" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" UCCHECK="X">
|
|
<textPool>
|
|
<language SPRAS="E">
|
|
<textElement ID="I" KEY="BL1" ENTRY="Output options" LENGTH="60 "/>
|
|
<textElement ID="I" KEY="BLI" ENTRY="Various examples for inheritance" LENGTH="60 "/>
|
|
<textElement ID="R" ENTRY="aasdf" LENGTH="5 "/>
|
|
<textElement ID="S" KEY="RBI_1" ENTRY=" ZCL_EXCEL" LENGTH="17 "/>
|
|
<textElement ID="S" KEY="RBI_2" ENTRY=" ZCL_EXCEL_WORKSHEET" LENGTH="27 "/>
|
|
</language>
|
|
</textPool>
|
|
<dynpros>
|
|
<dynpro PROG="ZDEMO_EXCEL41" DNUM="9000" FNUM="9000" BZMX="27 " BZBR="120 " MILI="192 " MICO="37 " MALI="0 " MACO="0 " NOLI="27 " NOCO="120 " VALP="0 " CUAN="G" SPRA="E" DTEXT="9000">
|
|
<dynprofield FNAM="CC_9000" DIDX="001B" FLG1="00" FLG2="00" FLG3="00" FILL="U" FMB1="30" FMB2="00" LENG="78" LINE="01" COLN="02" LANF="00" LBLK="00" LREP="00" AUTH="101" AGLT="01" ADEZ="01"/>
|
|
<dynprofield FNAM="OK_CODE" DIDX="0000" FLG1="80" FLG2="10" FLG3="00" FMB1="00" FMB2="00" LENG="14" LINE="FF" COLN="01" LTYP="O" LANF="00" LBLK="00" LREP="00" TYPE="CHAR" AGLT="00" ADEZ="00" STXT="____________________"/>
|
|
<dynproflowsource>PROCESS BEFORE OUTPUT.
|
|
MODULE STATUS_9000.
|
|
|
|
PROCESS AFTER INPUT.
|
|
MODULE USER_COMMAND_9000 AT EXIT-COMMAND.
|
|
MODULE USER_COMMAND_9000.</dynproflowsource>
|
|
</dynpro>
|
|
</dynpros>
|
|
<pfstatus>
|
|
<pfstatus_sta CODE="9000" MODAL="D" ACTCODE="000006" PFKCODE="000006" BUTCODE="0001" INT_NOTE="9000"/>
|
|
<pfstatus_sta CODE="TEST" MODAL="D" ACTCODE="000005" PFKCODE="000005" BUTCODE="0001" INT_NOTE="test"/>
|
|
<pfstatus_fun CODE="%EX" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Exit" PATH="X"/>
|
|
<pfstatus_fun CODE="%PC" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="File..." PATH="F"/>
|
|
<pfstatus_fun CODE="%PRI" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_PRINT" ICON_ID="@0X@" FUN_TEXT="Print"/>
|
|
<pfstatus_fun CODE="%SC" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SEARCH" ICON_ID="@13@" FUN_TEXT="Find..." PATH="F"/>
|
|
<pfstatus_fun CODE="%SC" TEXTNO="002" TEXT_TYPE="S" TEXT_NAME="ICON_SEARCH" ICON_ID="@13@" FUN_TEXT="Find" PATH="S"/>
|
|
<pfstatus_fun CODE="%SC+" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SEARCH_NEXT" ICON_ID="@4E@" FUN_TEXT="Find next" PATH="X"/>
|
|
<pfstatus_fun CODE="%SL" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Office" PATH="E"/>
|
|
<pfstatus_fun CODE="%ST" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Report tree" PATH="R"/>
|
|
<pfstatus_fun CODE="ABBR" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_CANCEL" ICON_ID="@0W@" FUN_TEXT="Cancel"/>
|
|
<pfstatus_fun CODE="ASDF" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Asdf"/>
|
|
<pfstatus_fun CODE="BACK" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_OKAY" ICON_ID="@0V@" FUN_TEXT="Back" PATH="B"/>
|
|
<pfstatus_fun CODE="ENTER" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_OKAY" ICON_ID="@0V@" FUN_TEXT="Enter" ICON_TEXT="Enter"/>
|
|
<pfstatus_fun CODE="ENTER2" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Enter2"/>
|
|
<pfstatus_fun CODE="EXIT" TEXTNO="001" TYPE="E" TEXT_TYPE="S" FUN_TEXT="Exit"/>
|
|
<pfstatus_fun CODE="HUGO" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Hugp"/>
|
|
<pfstatus_fun CODE="OKAY" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_OKAY" ICON_ID="@0V@" FUN_TEXT="Okay" ICON_TEXT="OKAY"/>
|
|
<pfstatus_fun CODE="P+" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Next page"/>
|
|
<pfstatus_fun CODE="P++" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Last Page"/>
|
|
<pfstatus_fun CODE="P-" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Previous Page"/>
|
|
<pfstatus_fun CODE="P--" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="First Page"/>
|
|
<pfstatus_fun CODE="PICK" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SELECT_DETAIL" ICON_ID="@16@" FUN_TEXT="Choose" PATH="S"/>
|
|
<pfstatus_fun CODE="PRI" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_PRINT" ICON_ID="@0X@" FUN_TEXT="Print" PATH="P"/>
|
|
<pfstatus_fun CODE="RW" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_CANCEL" ICON_ID="@0W@" FUN_TEXT="Cancel" PATH="A"/>
|
|
<pfstatus_men CODE="000001" NO="01" REF_TYPE="F" REF_CODE="PRI" REF_NO="001"/>
|
|
<pfstatus_men CODE="000001" NO="02" REF_TYPE="M" REF_CODE="000002"/>
|
|
<pfstatus_men CODE="000001" NO="03" REF_TYPE="F" REF_CODE="%EX" REF_NO="001"/>
|
|
<pfstatus_men CODE="000002" NO="01" REF_TYPE="F" REF_CODE="%SL" REF_NO="001"/>
|
|
<pfstatus_men CODE="000002" NO="02" REF_TYPE="F" REF_CODE="%ST" REF_NO="001"/>
|
|
<pfstatus_men CODE="000002" NO="03" REF_TYPE="F" REF_CODE="%PC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000003" NO="01" REF_TYPE="F" REF_CODE="PICK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000003" NO="02" REF_TYPE="F" REF_CODE="%SC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000003" NO="03" REF_TYPE="F" REF_CODE="%SC+" REF_NO="001"/>
|
|
<pfstatus_men CODE="000003" NO="04" REF_TYPE="F" REF_CODE="RW" REF_NO="001"/>
|
|
<pfstatus_men CODE="000004" NO="01" REF_TYPE="F" REF_CODE="BACK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000005" NO="01" REF_TYPE="F" REF_CODE="PRI" REF_NO="001"/>
|
|
<pfstatus_men CODE="000005" NO="02" REF_TYPE="M" REF_CODE="000006"/>
|
|
<pfstatus_men CODE="000005" NO="03" REF_TYPE="F" REF_CODE="%EX" REF_NO="001"/>
|
|
<pfstatus_men CODE="000006" NO="01" REF_TYPE="F" REF_CODE="%SL" REF_NO="001"/>
|
|
<pfstatus_men CODE="000006" NO="02" REF_TYPE="F" REF_CODE="%ST" REF_NO="001"/>
|
|
<pfstatus_men CODE="000006" NO="03" REF_TYPE="F" REF_CODE="%PC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000007" NO="01" REF_TYPE="F" REF_CODE="PICK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000007" NO="02" REF_TYPE="F" REF_CODE="%SC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000007" NO="03" REF_TYPE="F" REF_CODE="%SC+" REF_NO="001"/>
|
|
<pfstatus_men CODE="000007" NO="04" REF_TYPE="F" REF_CODE="RW" REF_NO="001"/>
|
|
<pfstatus_men CODE="000008" NO="01" REF_TYPE="F" REF_CODE="BACK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000009" NO="01" REF_TYPE="F" REF_CODE="PRI" REF_NO="001"/>
|
|
<pfstatus_men CODE="000009" NO="02" REF_TYPE="M" REF_CODE="000010"/>
|
|
<pfstatus_men CODE="000009" NO="03" REF_TYPE="F" REF_CODE="%EX" REF_NO="001"/>
|
|
<pfstatus_men CODE="000010" NO="01" REF_TYPE="F" REF_CODE="%SL" REF_NO="001"/>
|
|
<pfstatus_men CODE="000010" NO="02" REF_TYPE="F" REF_CODE="%ST" REF_NO="001"/>
|
|
<pfstatus_men CODE="000010" NO="03" REF_TYPE="F" REF_CODE="%PC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000011" NO="01" REF_TYPE="F" REF_CODE="PICK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000011" NO="02" REF_TYPE="F" REF_CODE="%SC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000011" NO="03" REF_TYPE="F" REF_CODE="%SC+" REF_NO="001"/>
|
|
<pfstatus_men CODE="000011" NO="04" REF_TYPE="F" REF_CODE="RW" REF_NO="001"/>
|
|
<pfstatus_men CODE="000012" NO="01" REF_TYPE="F" REF_CODE="BACK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000013" NO="01" REF_TYPE="F" REF_CODE="PRI" REF_NO="001"/>
|
|
<pfstatus_men CODE="000013" NO="02" REF_TYPE="M" REF_CODE="000014"/>
|
|
<pfstatus_men CODE="000013" NO="03" REF_TYPE="F" REF_CODE="%EX" REF_NO="001"/>
|
|
<pfstatus_men CODE="000014" NO="01" REF_TYPE="F" REF_CODE="%SL" REF_NO="001"/>
|
|
<pfstatus_men CODE="000014" NO="02" REF_TYPE="F" REF_CODE="%ST" REF_NO="001"/>
|
|
<pfstatus_men CODE="000014" NO="03" REF_TYPE="F" REF_CODE="%PC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000015" NO="01" REF_TYPE="F" REF_CODE="PICK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000015" NO="02" REF_TYPE="F" REF_CODE="%SC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000015" NO="03" REF_TYPE="F" REF_CODE="%SC+" REF_NO="001"/>
|
|
<pfstatus_men CODE="000015" NO="04" REF_TYPE="F" REF_CODE="RW" REF_NO="001"/>
|
|
<pfstatus_men CODE="000016" NO="01" REF_TYPE="F" REF_CODE="BACK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000017" NO="01" REF_TYPE="F" REF_CODE="PRI" REF_NO="001"/>
|
|
<pfstatus_men CODE="000017" NO="02" REF_TYPE="M" REF_CODE="000018"/>
|
|
<pfstatus_men CODE="000017" NO="03" REF_TYPE="F" REF_CODE="%EX" REF_NO="001"/>
|
|
<pfstatus_men CODE="000018" NO="01" REF_TYPE="F" REF_CODE="%SL" REF_NO="001"/>
|
|
<pfstatus_men CODE="000018" NO="02" REF_TYPE="F" REF_CODE="%ST" REF_NO="001"/>
|
|
<pfstatus_men CODE="000018" NO="03" REF_TYPE="F" REF_CODE="%PC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000019" NO="01" REF_TYPE="F" REF_CODE="PICK" REF_NO="001"/>
|
|
<pfstatus_men CODE="000019" NO="02" REF_TYPE="F" REF_CODE="%SC" REF_NO="001"/>
|
|
<pfstatus_men CODE="000019" NO="03" REF_TYPE="F" REF_CODE="%SC+" REF_NO="001"/>
|
|
<pfstatus_men CODE="000019" NO="04" REF_TYPE="F" REF_CODE="RW" REF_NO="001"/>
|
|
<pfstatus_men CODE="000020" NO="01" REF_TYPE="F" REF_CODE="BACK" REF_NO="001"/>
|
|
<pfstatus_mtx CODE="000001" TEXT_TYPE="S" TEXT="List" PATH="L"/>
|
|
<pfstatus_mtx CODE="000002" TEXT_TYPE="S" TEXT="Save/Send" PATH="S"/>
|
|
<pfstatus_mtx CODE="000003" TEXT_TYPE="S" TEXT="Edit" PATH="E"/>
|
|
<pfstatus_mtx CODE="000004" TEXT_TYPE="S" TEXT="Goto" PATH="G"/>
|
|
<pfstatus_mtx CODE="000005" TEXT_TYPE="S" TEXT="List" PATH="L"/>
|
|
<pfstatus_mtx CODE="000006" TEXT_TYPE="S" TEXT="Save/Send" PATH="S"/>
|
|
<pfstatus_mtx CODE="000007" TEXT_TYPE="S" TEXT="Edit" PATH="E"/>
|
|
<pfstatus_mtx CODE="000008" TEXT_TYPE="S" TEXT="Goto" PATH="G"/>
|
|
<pfstatus_mtx CODE="000009" TEXT_TYPE="S" TEXT="List" PATH="L"/>
|
|
<pfstatus_mtx CODE="000010" TEXT_TYPE="S" TEXT="Save/Send" PATH="S"/>
|
|
<pfstatus_mtx CODE="000011" TEXT_TYPE="S" TEXT="Edit" PATH="E"/>
|
|
<pfstatus_mtx CODE="000012" TEXT_TYPE="S" TEXT="Goto" PATH="G"/>
|
|
<pfstatus_mtx CODE="000013" TEXT_TYPE="S" TEXT="List" PATH="L"/>
|
|
<pfstatus_mtx CODE="000014" TEXT_TYPE="S" TEXT="Save/Send" PATH="S"/>
|
|
<pfstatus_mtx CODE="000015" TEXT_TYPE="S" TEXT="Edit" PATH="E"/>
|
|
<pfstatus_mtx CODE="000016" TEXT_TYPE="S" TEXT="Goto" PATH="G"/>
|
|
<pfstatus_mtx CODE="000017" TEXT_TYPE="S" TEXT="List" PATH="L"/>
|
|
<pfstatus_mtx CODE="000018" TEXT_TYPE="S" TEXT="Save/Send" PATH="S"/>
|
|
<pfstatus_mtx CODE="000019" TEXT_TYPE="S" TEXT="Edit" PATH="E"/>
|
|
<pfstatus_mtx CODE="000020" TEXT_TYPE="S" TEXT="Goto" PATH="G"/>
|
|
<pfstatus_act CODE="000001" NO="01" MENUCODE="000001"/>
|
|
<pfstatus_act CODE="000001" NO="02" MENUCODE="000003"/>
|
|
<pfstatus_act CODE="000001" NO="03" MENUCODE="000004"/>
|
|
<pfstatus_act CODE="000002" NO="01" MENUCODE="000005"/>
|
|
<pfstatus_act CODE="000002" NO="02" MENUCODE="000007"/>
|
|
<pfstatus_act CODE="000002" NO="03" MENUCODE="000008"/>
|
|
<pfstatus_act CODE="000003" NO="01" MENUCODE="000009"/>
|
|
<pfstatus_act CODE="000003" NO="02" MENUCODE="000011"/>
|
|
<pfstatus_act CODE="000003" NO="03" MENUCODE="000012"/>
|
|
<pfstatus_act CODE="000004" NO="01" MENUCODE="000013"/>
|
|
<pfstatus_act CODE="000004" NO="02" MENUCODE="000015"/>
|
|
<pfstatus_act CODE="000004" NO="03" MENUCODE="000016"/>
|
|
<pfstatus_act CODE="000005" NO="01" MENUCODE="000017"/>
|
|
<pfstatus_act CODE="000005" NO="02" MENUCODE="000019"/>
|
|
<pfstatus_act CODE="000005" NO="03" MENUCODE="000020"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="01" PFNO="02"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="02" PFNO="86"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="03" PFNO="71"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="04" PFNO="84"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="05" PFNO="12"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="06" PFNO="06"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="07" PFNO="03"/>
|
|
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="08" PFNO="05"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="01" PFNO="02"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="02" PFNO="86"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="03" PFNO="71"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="04" PFNO="84"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="05" PFNO="12"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="06" PFNO="05"/>
|
|
<pfstatus_but PFK_CODE="000002" CODE="0001" NO="07" PFNO="00"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="01" PFNO="02"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="02" PFNO="86"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="03" PFNO="71"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="04" PFNO="84"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="05" PFNO="12"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="06" PFNO="00"/>
|
|
<pfstatus_but PFK_CODE="000003" CODE="0001" NO="07" PFNO="05"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="01" PFNO="02"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="02" PFNO="86"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="03" PFNO="71"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="04" PFNO="84"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="05" PFNO="12"/>
|
|
<pfstatus_but PFK_CODE="000004" CODE="0001" NO="06" PFNO="05"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="01" PFNO="02"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="02" PFNO="86"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="03" PFNO="71"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="04" PFNO="84"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="05" PFNO="12"/>
|
|
<pfstatus_but PFK_CODE="000005" CODE="0001" NO="15" PFNO="13"/>
|
|
<pfstatus_but PFK_CODE="000006" CODE="0001" NO="01" PFNO="13"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="00" FUNCODE="ENTER" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="02" FUNCODE="PICK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="05" FUNCODE="ENTER" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="06" FUNCODE="ENTER2" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="12" FUNCODE="RW" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="15" FUNCODE="%EX" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="71" FUNCODE="%SC" FUNNO="002"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000001" PFNO="86" FUNCODE="%PRI" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="00" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="02" FUNCODE="PICK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="05" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="12" FUNCODE="RW" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="15" FUNCODE="%EX" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="71" FUNCODE="%SC" FUNNO="002"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000002" PFNO="86" FUNCODE="%PRI" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="00" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="02" FUNCODE="PICK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="05" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="12" FUNCODE="RW" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="15" FUNCODE="%EX" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="71" FUNCODE="%SC" FUNNO="002"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000003" PFNO="86" FUNCODE="%PRI" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="00" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="02" FUNCODE="PICK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="05" FUNCODE="OKAY" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="12" FUNCODE="RW" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="15" FUNCODE="%EX" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="71" FUNCODE="%SC" FUNNO="002"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000004" PFNO="86" FUNCODE="%PRI" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="00" FUNCODE="HUGO" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="02" FUNCODE="PICK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="12" FUNCODE="RW" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="13" FUNCODE="HUGO" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="15" FUNCODE="%EX" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="71" FUNCODE="%SC" FUNNO="002"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000005" PFNO="86" FUNCODE="%PRI" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000006" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000006" PFNO="12" FUNCODE="ABBR" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000006" PFNO="13" FUNCODE="ASDF" FUNNO="001"/>
|
|
<pfstatus_pfk CODE="000006" PFNO="15" FUNCODE="EXIT" FUNNO="001"/>
|
|
<pfstatus_set STATUS="9000" FUNCTION="ABBR"/>
|
|
<pfstatus_set STATUS="9000" FUNCTION="ASDF"/>
|
|
<pfstatus_set STATUS="9000" FUNCTION="BACK"/>
|
|
<pfstatus_set STATUS="9000" FUNCTION="EXIT"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%EX"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%PC"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%PRI"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%PRN"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%SC"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%SC+"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%SL"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="%ST"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="BACK"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="HUGO"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="P+"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="P++"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="P-"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="P--"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="PICK"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="PRI"/>
|
|
<pfstatus_set STATUS="TEST" FUNCTION="RW"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000001" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000001" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000001" SUB_CODE="0001" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000002" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000002" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000002" SUB_CODE="0001" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000003" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000003" MODAL="D" INT_NOTE="jhg"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000003" SUB_CODE="0001" MODAL="D" INT_NOTE="jhg"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000004" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000004" MODAL="D" INT_NOTE="okay"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000004" SUB_CODE="0001" MODAL="D" INT_NOTE="okay"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000005" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000005" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000005" SUB_CODE="0001" MODAL="D" INT_NOTE="Line Selection List"/>
|
|
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000006" MODAL="D" INT_NOTE="9000"/>
|
|
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000006" MODAL="D" INT_NOTE="9000"/>
|
|
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000006" SUB_CODE="0001" MODAL="D" INT_NOTE="9000"/>
|
|
</pfstatus>
|
|
<source>REPORT.
|
|
|
|
CONSTANTS: gc_save_file_name TYPE string VALUE 'ABAP2XLSX Inheritance.xlsx'.
|
|
|
|
*--------------------------------------------------------------------*
|
|
* Demo inheritance ZCL_EXCEL1
|
|
* Variation of ZCL_EXCEL that creates numerous sheets
|
|
*--------------------------------------------------------------------*
|
|
CLASS lcl_my_zcl_excel1 DEFINITION INHERITING FROM zcl_excel.
|
|
PUBLIC SECTION.
|
|
METHODS: constructor IMPORTING iv_sheetcount TYPE i DEFAULT 5.
|
|
ENDCLASS.
|
|
|
|
CLASS lcl_my_zcl_excel1 IMPLEMENTATION.
|
|
METHOD constructor.
|
|
DATA: lv_sheets_to_create TYPE i.
|
|
super->constructor( ).
|
|
lv_sheets_to_create = iv_sheetcount - 1. " one gets created by standard class
|
|
DO lv_sheets_to_create TIMES.
|
|
TRY.
|
|
me->add_new_worksheet( ).
|
|
CATCH zcx_excel.
|
|
ENDTRY.
|
|
ENDDO.
|
|
me->set_active_sheet_index( 1 ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|
|
|
|
*--------------------------------------------------------------------*
|
|
* Demo inheritance ZCL_EXCEL_WORKSHEET
|
|
* Variation of ZCL_EXCEL_WORKSHEET ( and ZCL_EXCEL that calls the new type of worksheet )
|
|
* that sets a fixed title
|
|
*--------------------------------------------------------------------*
|
|
CLASS lcl_my_zcl_excel2 DEFINITION INHERITING FROM zcl_excel.
|
|
PUBLIC SECTION.
|
|
METHODS: constructor.
|
|
ENDCLASS.
|
|
|
|
CLASS lcl_my_zcl_excel_worksheet DEFINITION INHERITING FROM zcl_excel_worksheet.
|
|
PUBLIC SECTION.
|
|
METHODS: constructor IMPORTING ip_excel TYPE REF TO zcl_excel
|
|
ip_title TYPE zexcel_sheet_title OPTIONAL " Will be ignored - keep parameter for demonstration purpose
|
|
RAISING zcx_excel.
|
|
ENDCLASS.
|
|
|
|
CLASS lcl_my_zcl_excel2 IMPLEMENTATION.
|
|
METHOD constructor.
|
|
|
|
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
|
|
|
super->constructor( ).
|
|
|
|
* To use own worksheet we have to remove the standard worksheet
|
|
lo_worksheet = get_active_worksheet( ).
|
|
me->worksheets->remove( lo_worksheet ).
|
|
* and replace it with own version
|
|
CREATE OBJECT lo_worksheet TYPE lcl_my_zcl_excel_worksheet
|
|
EXPORTING
|
|
ip_excel = me
|
|
ip_title = 'This title will be ignored'.
|
|
me->worksheets->add( lo_worksheet ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|
|
|
|
CLASS lcl_my_zcl_excel_worksheet IMPLEMENTATION.
|
|
METHOD constructor.
|
|
super->constructor( ip_excel = ip_excel
|
|
ip_title = 'Inherited Worksheet' ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|
|
|
|
DATA: go_excel1 TYPE REF TO lcl_my_zcl_excel1.
|
|
DATA: go_excel2 TYPE REF TO lcl_my_zcl_excel2.
|
|
|
|
|
|
SELECTION-SCREEN BEGIN OF BLOCK bli WITH FRAME TITLE text-bli.
|
|
PARAMETERS: rbi_1 RADIOBUTTON GROUP rbi DEFAULT 'X' , " Simple inheritance
|
|
rbi_2 RADIOBUTTON GROUP rbi.
|
|
SELECTION-SCREEN END OF BLOCK bli.
|
|
|
|
INCLUDE zdemo_excel_outputopt_incl.
|
|
|
|
END-OF-SELECTION.
|
|
|
|
CASE 'X'.
|
|
|
|
WHEN rbi_1. " Simple inheritance of zcl_excel, object created directly
|
|
CREATE OBJECT go_excel1
|
|
EXPORTING
|
|
iv_sheetcount = 5.
|
|
lcl_output=>output( go_excel1 ).
|
|
|
|
WHEN rbi_2. " Inheritance of zcl_excel_worksheet, inheritance of zcl_excel needed to allow this
|
|
CREATE OBJECT go_excel2.
|
|
lcl_output=>output( go_excel2 ).
|
|
|
|
|
|
ENDCASE.</source>
|
|
</PROG>
|