ABAP如何在SMARTFORMS里动态打印背景颜色

 

Situation:

Our outputs have some background colors for important fields to have better visibility. This works fine for the normal printout. But, when send a SmartForm Output as a FAX, output comes with a BLACK background wherever we have the background color. And this makes the output unreadable (BLACK font with BLACK background).

Possible ways to handle the problem:

  • Don't send a FAX: This is not feasible, as some customers would like to have there forms as FAX
  • Create a clone of the existing forms and remove the background color and call them whenever we have to send as FAX: This doesn't make sense because this will lead to more maintenance; change to the primary form leads the change to the clone form.
  • Find out some way to remove the background color dynamically: This seems to be the best choice, but next question is how to do it.

Solution:

I had debugged the SmartForm function modules over and over to get the point where it sets the background color, borders etc to the output and what I found, there is only main internal table, with deep structure, which handles everything to generate the layout for the output.

I have started with creating a test Smartform. I created some tables lines with background colors. Than I made a coding node in the SmartForm and tried to change the internal table, which holds the entire layout related information, with help of field-symbols to remove the background color and BINGO - I got the background color removed.

With Background Color:

  



Without Background Color:


 

SmartForm:

Download the uploadable .XML Save this file as ZTEST_NP_DYN_BGCOL.XML. To Upload, go to tcode SMARTFORMS and upload this file from Utilities > Upload Form.

The Main logic which handles the dyanmic coloring is inside the Smartform under window DUMMY.

  <?xml version="1.0" encoding="utf-8" ?>
- <sf:SMARTFORM xmlns:sf="urn:sap-com:SmartForms:2000:internal-structure" xmlns="urn:sap-com:sdixml-ifr:2000" sf:language="EN">
- <HEADER>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <CAPTION>New Form</CAPTION>
  <MASTERLANG>E</MASTERLANG>
  <LANGVECTOR>*</LANGVECTOR>
  <DEVCLASS>$TMP</DEVCLASS>
  <VERSION>00001</VERSION>
  <FIRSTUSER>NPATEL</FIRSTUSER>
  <FIRSTDATE>2007-08-07</FIRSTDATE>
  <FIRSTTIME>16:40:57</FIRSTTIME>
  <LASTUSER>NPATEL</LASTUSER>
  <LASTDATE>2008-05-29</LASTDATE>
  <LASTTIME>13:39:48</LASTTIME>
  </HEADER>
- <INTERFACE>
- <item>
  <IOTYPE>E</IOTYPE>
  <NAME>DOCUMENT_OUTPUT_INFO</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SSFCRESPD</TYPENAME>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>E</IOTYPE>
  <NAME>JOB_OUTPUT_INFO</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SSFCRESCL</TYPENAME>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>E</IOTYPE>
  <NAME>JOB_OUTPUT_OPTIONS</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SSFCRESOP</TYPENAME>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>ARCHIVE_INDEX</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>TOA_DARA</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>ARCHIVE_INDEX_TAB</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>TSFDARA</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>ARCHIVE_PARAMETERS</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>ARC_PARAMS</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>CONTROL_PARAMETERS</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SSFCTRLOP</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>MAIL_APPL_OBJ</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SWOTOBJID</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>MAIL_RECIPIENT</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SWOTOBJID</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>MAIL_SENDER</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SWOTOBJID</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>OUTPUT_OPTIONS</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>SSFCOMPOP</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>USER_SETTINGS</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>TDBOOL</TYPENAME>
  <OPTIONAL>X</OPTIONAL>
  <BYVALUE>X</BYVALUE>
  <DEFAULTVAL>'X'</DEFAULTVAL>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>NO_ITEM</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>I</TYPENAME>
  </item>
- <item>
  <IOTYPE>I</IOTYPE>
  <NAME>I_DYN_BG</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>C</TYPENAME>
  </item>
- <item>
  <IOTYPE>X</IOTYPE>
  <NAME>FORMATTING_ERROR</NAME>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>X</IOTYPE>
  <NAME>INTERNAL_ERROR</NAME>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>X</IOTYPE>
  <NAME>SEND_ERROR</NAME>
  <STANDARD>X</STANDARD>
  </item>
- <item>
  <IOTYPE>X</IOTYPE>
  <NAME>USER_CANCELED</NAME>
  <STANDARD>X</STANDARD>
  </item>
  </INTERFACE>
- <GTYPES>
  <item>types: begin of ty_tab,</item>
  <item>abcde like sy-abcde,</item>
  <item>end of ty_tab.</item>
  <item />
  <item>types: t_Tab type table of ty_tab.</item>
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  </GTYPES>
- <GDATA>
- <item>
  <NAME>ITAB</NAME>
  <TYPING>TYPE TABLE OF</TYPING>
  <TYPENAME>TY_TAB</TYPENAME>
  </item>
- <item>
  <NAME>WA_ITAB</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>TY_TAB</TYPENAME>
  </item>
- <item>
  <NAME>W_NO_ITEM</NAME>
  <TYPING>TYPE</TYPING>
  <TYPENAME>I</TYPENAME>
  </item>
  </GDATA>
- <GPLIST>
- <item>
  <OPD>ITAB</OPD>
  <OUTIN>I</OUTIN>
  </item>
- <item>
  <OPD>NO_ITEM</OPD>
  <OUTIN>I</OUTIN>
  </item>
- <item>
  <OPD>W_NO_ITEM</OPD>
  <OUTIN>I</OUTIN>
  </item>
  </GPLIST>
- <GCODING>
  <item />
  <item>* Fill the test internal table</item>
  <item>perform fill_Table tables itab</item>
  <item>using no_item</item>
  <item>changing w_no_item.</item>
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  <item />
  </GCODING>
- <FCODING>
  <item>*&---------------------------------------------------------------------*</item>
  <item>*& Form FILL_TABLE</item>
  <item>*&---------------------------------------------------------------------*</item>
  <item>* text</item>
  <item>*----------------------------------------------------------------------*</item>
  <item>* -->I_TAB text</item>
  <item>* -->I_NO text</item>
  <item>* <--E_NO text</item>
  <item>*----------------------------------------------------------------------*</item>
  <item>FORM FILL_TABLE TABLES I_TAB TYPE T_TAB</item>
  <item>USING I_NO TYPE I</item>
  <item>CHANGING E_NO TYPE I.</item>
  <item />
  <item>E_NO = I_NO.</item>
  <item />
  <item>* if input is less than 5 than make it 5</item>
  <item>IF E_NO < 5.</item>
  <item>E_NO = 5.</item>
  <item>ENDIF.</item>
  <item />
  <item>* fill the table</item>
  <item>DO E_NO TIMES.</item>
  <item>I_TAB-ABCDE = SY-ABCDE.</item>
  <item>APPEND I_TAB.</item>
  <item>CLEAR I_TAB.</item>
  <item>ENDDO.</item>
  <item />
  <item>ENDFORM. "fill_Table</item>
  <item />
  <item />
  </FCODING>
- <sf:VARHEADER>
- <sf:item>
  <PAGEFORMAT>DINA4</PAGEFORMAT>
  <CPI>10.00</CPI>
  <LPI>6.00</LPI>
  <STDSTYLE>SYSTEM</STDSTYLE>
- <sf:PAGETREE>
- <sf:NODE>
  <NODETYPE>RP</NODETYPE>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>PA</NODETYPE>
- <sf:OBJ>
- <sf:PAGE>
- <NAME>
  <INAME>FIRST</INAME>
  </NAME>
  <CAPTION>First Page</CAPTION>
- <NEXTPAGE>
  <INAME>FIRST</INAME>
  </NEXTPAGE>
  <NUMB_MODE>I</NUMB_MODE>
  <NUMB_TYPE>A</NUMB_TYPE>
  <PAGEORTN>P</PAGEORTN>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>PA</OBJTYPE>
  <INAME>FIRST</INAME>
  <CAPTION>First Page</CAPTION>
  </item>
  </T_CAPTION>
- <sf:BACKGROUND>
- <sf:GRAPHIC>
- <NAME>
  <INAME>%GRAPHIC1</INAME>
  </NAME>
  <CAPTION>Background Picture</CAPTION>
  <GTYPE>B</GTYPE>
- <GKEYBDS>
  <BTYPE>BCOL</BTYPE>
  </GKEYBDS>
  <APPMODE>B</APPMODE>
  <U_SB>CM</U_SB>
  <U_SA>CM</U_SA>
  <RELMODE>S</RELMODE>
  <ALIGNMENT>L</ALIGNMENT>
  <U_MARGIN>CM</U_MARGIN>
- <BGR_EXT>
  <ALIGN_H>C</ALIGN_H>
  <MARGINH>0.00</MARGINH>
  <ALIGN_V>C</ALIGN_V>
  <MARGINV>0.00</MARGINV>
  <PRINTOUT>X</PRINTOUT>
  </BGR_EXT>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>GR</OBJTYPE>
  <INAME>%GRAPHIC1</INAME>
  <CAPTION>Background Picture</CAPTION>
  </item>
  </T_CAPTION>
  </sf:GRAPHIC>
  </sf:BACKGROUND>
  </sf:PAGE>
  </sf:OBJ>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>WI</NODETYPE>
- <sf:OBJ>
- <sf:WINDOW ID="2800">
- <NAME>
  <INAME>DUMMY</INAME>
  </NAME>
  <CAPTION>Dummy window</CAPTION>
  <WTYPE>T</WTYPE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>WI</OBJTYPE>
  <INAME>DUMMY</INAME>
  <CAPTION>Dummy window</CAPTION>
  </item>
  </T_CAPTION>
- <sf:PROC_CTRL>
- <sf:NODE ID="2824">
  <NODETYPE>RC</NODETYPE>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>CO</NODETYPE>
- <sf:OBJ>
- <sf:CODE>
- <NAME>
  <INAME>CHANGE_BG_COLOR</INAME>
  </NAME>
  <CAPTION>Change Background Color</CAPTION>
- <PLIST>
- <item>
  <OUTIN>I</OUTIN>
  </item>
  </PLIST>
- <CODE>
  <item>* In line type TYPE1 under the MAIN_TABLE, we have two columns.</item>
  <item>* Column 1 with RED background and border</item>
  <item>* Column 2 with no background color and BLUE border</item>
  <item />
  <item>* This piece of code will remove the RED Background color when the total</item>
  <item>* number of entry will greater than 5.</item>
  <item />
  <item />
  <item />
  <item>FIELD-SYMBOLS: <F_TAB> TYPE TSFTABDEF. " Table - Actual SF definitions</item>
  <item />
  <item>DATA: L_TABDEF TYPE SSFTABDEF, " Work Area for the Table</item>
  <item />
  <item>T_LTYPES TYPE TSFLTYPE, " Table - Line types</item>
  <item>L_LTYPES TYPE SSFLTYPE, " Work Area for the table</item>
  <item />
  <item>T_COLINFO TYPE TSFCOLINFO, " Table - Columns</item>
  <item>L_COLINFO TYPE SSFCOLINFO, " Work area for the table</item>
  <item />
  <item>T_BORDER TYPE TSFCTABA, " Tables - Borders</item>
  <item>L_BORDER TYPE SSFCTABA. " Work Area for the border</item>
  <item />
  <item />
  <item>* Assign the table definition to the table field symbol</item>
  <item>* Assiging by '(Program)Tablename' will give as the actual table</item>
  <item>* which contains the defination of the Smartform. We will change</item>
  <item>* respective table background color.</item>
  <item />
  <item>ASSIGN ('(SAPLSTXBC)TABDEFS') TO <F_TAB>.</item>
  <item />
  <item>* Table definition table</item>
  <item>LOOP AT <F_TAB> INTO L_TABDEF.</item>
  <item />
  <item>* Table line Types</item>
  <item>* Line type TYPE1 from the table MAIN_TABLE</item>
  <item>LOOP AT L_TABDEF-TLTYPE INTO L_LTYPES.</item>
  <item />
  <item>* Coloum information</item>
  <item>* Column1 (cell) of the TYPE1</item>
  <item>LOOP AT L_LTYPES-TCOLINFO INTO L_COLINFO.</item>
  <item />
  <item>* Borders</item>
  <item>* Background color and borders for that cell</item>
  <item>LOOP AT L_COLINFO-BORDERS INTO L_BORDER.</item>
  <item />
  <item>* Clearing the color parameters for the cell</item>
  <item>CLEAR: L_BORDER-INTENSITY, " Intensity</item>
  <item>L_BORDER-FILLCOLOR-RED, " Red</item>
  <item>L_BORDER-FILLCOLOR-USED, " Color Used</item>
  <item>L_BORDER-CFILLCOLOR-COLOR, " Red color in Hexa</item>
  <item>L_BORDER-CFILLCOLOR-XRED. " Color used in Hexa</item>
  <item />
  <item>MODIFY L_COLINFO-BORDERS FROM L_BORDER.</item>
  <item>ENDLOOP.</item>
  <item />
  <item>MODIFY L_LTYPES-TCOLINFO FROM L_COLINFO.</item>
  <item>ENDLOOP.</item>
  <item />
  <item>MODIFY L_TABDEF-TLTYPE FROM L_LTYPES.</item>
  <item>ENDLOOP.</item>
  <item />
  <item>MODIFY <F_TAB> FROM L_TABDEF.</item>
  <item>ENDLOOP.</item>
  <item />
  <item />
  <item />
  </CODE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>CO</OBJTYPE>
  <INAME>CHANGE_BG_COLOR</INAME>
  <CAPTION>Change Background Color</CAPTION>
  </item>
  </T_CAPTION>
  </sf:CODE>
  </sf:OBJ>
- <sf:COND>
- <sf:CONDITION>
- <NAME>
  <INAME>%CONDITION3</INAME>
  </NAME>
  <CAPTION>New Alternative 3</CAPTION>
- <COND>
- <item>
  <COP>EQ</COP>
  <OP1>I_DYN_BG</OP1>
  <OP2>INITIAL</OP2>
  <ICON>@20/QSelect: Equal to@</ICON>
  </item>
  </COND>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>CD</OBJTYPE>
  <INAME>%CONDITION3</INAME>
  <CAPTION>New Alternative 3</CAPTION>
  </item>
  </T_CAPTION>
  </sf:CONDITION>
  </sf:COND>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:PROC_CTRL>
  </sf:WINDOW>
  </sf:OBJ>
- <sf:OUTATTR>
- <sf:OUTATTR>
- <NAME>
  <INAME>%OUTATTRIB2</INAME>
  </NAME>
  <U_WFRAME>PT</U_WFRAME>
  <U_WBOXV>CM</U_WBOXV>
  <U_WBOXH>CM</U_WBOXH>
  <U_WLEFT>CM</U_WLEFT>
  <WWIDTH>2.00</WWIDTH>
  <U_WWIDTH>CM</U_WWIDTH>
  <U_WTOP>CM</U_WTOP>
  <WHEIGHT>2.00</WHEIGHT>
  <U_WHEIGHT>CM</U_WHEIGHT>
- <BORDER>
- <LEFTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </LEFTATTR>
- <TOPATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </TOPATTR>
- <RIGHTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </RIGHTATTR>
- <BOTTOMATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </BOTTOMATTR>
  </BORDER>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>OA</OBJTYPE>
  <INAME>%OUTATTRIB2</INAME>
  </item>
  </T_CAPTION>
  </sf:OUTATTR>
  </sf:OUTATTR>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
- <sf:item>
- <sf:NODE>
  <NODETYPE>WI</NODETYPE>
- <sf:OBJ>
- <sf:WINDOW ID="3121">
- <NAME>
  <INAME>MAIN</INAME>
  </NAME>
  <CAPTION>Main Window</CAPTION>
  <WTYPE>M</WTYPE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>WI</OBJTYPE>
  <INAME>MAIN</INAME>
  <CAPTION>Main Window</CAPTION>
  </item>
  </T_CAPTION>
- <sf:PROC_CTRL>
- <sf:NODE ID="3145">
  <NODETYPE>RC</NODETYPE>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>SE</NODETYPE>
- <sf:OBJ>
- <sf:SECTION>
- <NAME>
  <INAME>MAIN_TABLE</INAME>
  </NAME>
  <CAPTION>New Table 1</CAPTION>
  <SECTTYPE>C</SECTTYPE>
  <DATATYPE>L</DATATYPE>
  <TABNAME>ITAB</TABNAME>
  <TABHTYPE>I</TABHTYPE>
  <TABHEADER>WA_ITAB</TABHEADER>
  <OTABTYPE>D</OTABTYPE>
  <OTABHEADER>A</OTABHEADER>
  <OTABFOOTER>A</OTABFOOTER>
  <FHEIGHT>1.00</FHEIGHT>
  <U_FHEIGHT>CM</U_FHEIGHT>
- <PATTERN>
  <PATTNUM>0000</PATTNUM>
  <FRAME>0.00</FRAME>
  <U_FRAME>PT</U_FRAME>
  </PATTERN>
  <USEBORDER>X</USEBORDER>
  <WIDTH>14.00</WIDTH>
  <U_WIDTH>CM</U_WIDTH>
  <APPMODE>L</APPMODE>
  <U_LEFT>CM</U_LEFT>
  <U_TOP>CM</U_TOP>
  <U_SB>CM</U_SB>
  <U_SA>CM</U_SA>
- <DYNLINES>
- <item>
  <NAME>TYPE1</NAME>
  <DEFAULTVAL>X</DEFAULTVAL>
  <SHADING>000</SHADING>
  </item>
  </DYNLINES>
- <CELLS>
- <item>
  <NAME>TYPE1</NAME>
  <COLUMNNR>001</COLUMNNR>
  <CWIDTH>7.00</CWIDTH>
  <U_CWIDTH>CM</U_CWIDTH>
  <SHADING>000</SHADING>
- <BORDERS>
- <item>
  <IDX>001</IDX>
  <INTENSITY>100</INTENSITY>
  <LLEFT>0.00</LLEFT>
  <LLEFT_U>MM</LLEFT_U>
  <LTOP>0.00</LTOP>
  <LTOP_U>MM</LTOP_U>
  <LRIGHT>15.00</LRIGHT>
  <LRIGHT_U>TW</LRIGHT_U>
  <LBOTTOM>0.00</LBOTTOM>
  <LBOTTOM_U>MM</LBOTTOM_U>
- <FILLCOLOR>
  <RED>255</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <USED>X</USED>
  </FILLCOLOR>
- <CLEFT>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  </CLEFT>
- <CTOP>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  </CTOP>
- <CRIGHT>
  <RED>021</RED>
  <GREEN>027</GREEN>
  <BLUE>141</BLUE>
  <USED>X</USED>
  </CRIGHT>
- <CBOTTOM>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  </CBOTTOM>
  </item>
  </BORDERS>
  </item>
- <item>
  <NAME>TYPE1</NAME>
  <COLUMNNR>002</COLUMNNR>
  <CWIDTH>7.00</CWIDTH>
  <U_CWIDTH>CM</U_CWIDTH>
  <SHADING>000</SHADING>
- <BORDERS>
- <item>
  <IDX>001</IDX>
  <INTENSITY>000</INTENSITY>
  <LLEFT>15.00</LLEFT>
  <LLEFT_U>TW</LLEFT_U>
  <LTOP>15.00</LTOP>
  <LTOP_U>TW</LTOP_U>
  <LRIGHT>15.00</LRIGHT>
  <LRIGHT_U>TW</LRIGHT_U>
  <LBOTTOM>15.00</LBOTTOM>
  <LBOTTOM_U>TW</LBOTTOM_U>
- <FILLCOLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  </FILLCOLOR>
- <CLEFT>
  <RED>021</RED>
  <GREEN>027</GREEN>
  <BLUE>141</BLUE>
  <USED>X</USED>
  </CLEFT>
- <CTOP>
  <RED>021</RED>
  <GREEN>027</GREEN>
  <BLUE>141</BLUE>
  <USED>X</USED>
  </CTOP>
- <CRIGHT>
  <RED>021</RED>
  <GREEN>027</GREEN>
  <BLUE>141</BLUE>
  <USED>X</USED>
  </CRIGHT>
- <CBOTTOM>
  <RED>021</RED>
  <GREEN>027</GREEN>
  <BLUE>141</BLUE>
  <USED>X</USED>
  </CBOTTOM>
  </item>
  </BORDERS>
  </item>
  </CELLS>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>SE</OBJTYPE>
  <INAME>MAIN_TABLE</INAME>
  <CAPTION>New Table 1</CAPTION>
  </item>
  </T_CAPTION>
  </sf:SECTION>
  </sf:OBJ>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>EV</NODETYPE>
- <sf:OBJ>
- <sf:EVENT>
- <NAME>
  <INAME>%EVENT1</INAME>
  </NAME>
  <CAPTION>Header</CAPTION>
  <EVTYPE>H</EVTYPE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>EV</OBJTYPE>
  <INAME>%EVENT1</INAME>
  <CAPTION>Header</CAPTION>
  </item>
  </T_CAPTION>
  </sf:EVENT>
  </sf:OBJ>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
- <sf:item>
- <sf:NODE>
  <NODETYPE>EV</NODETYPE>
- <sf:OBJ>
- <sf:EVENT>
- <NAME>
  <INAME>%EVENT2</INAME>
  </NAME>
  <CAPTION>Main Area</CAPTION>
  <EVTYPE>B</EVTYPE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>EV</OBJTYPE>
  <INAME>%EVENT2</INAME>
  <CAPTION>Main Area</CAPTION>
  </item>
  </T_CAPTION>
  </sf:EVENT>
  </sf:OBJ>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>SE</NODETYPE>
- <sf:OBJ>
- <sf:SECTION>
- <NAME>
  <INAME>MAIN_ROW</INAME>
  </NAME>
  <CAPTION>New Line 1</CAPTION>
  <SECTTYPE>R</SECTTYPE>
  <U_FHEIGHT>CM</U_FHEIGHT>
- <PATTERN>
  <PATTNUM>0000</PATTNUM>
  <FRAME>0.00</FRAME>
  <U_FRAME>PT</U_FRAME>
  </PATTERN>
  <U_WIDTH>CM</U_WIDTH>
  <U_LEFT>CM</U_LEFT>
  <U_TOP>CM</U_TOP>
  <U_SB>CM</U_SB>
  <U_SA>CM</U_SA>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>SE</OBJTYPE>
  <INAME>MAIN_ROW</INAME>
  <CAPTION>New Line 1</CAPTION>
  </item>
  </T_CAPTION>
  </sf:SECTION>
  </sf:OBJ>
- <sf:OUTATTR>
- <sf:OUTATTR>
- <NAME>
  <INAME>%OUTATTRIB3</INAME>
  </NAME>
  <T_LINETYPE>TYPE1</T_LINETYPE>
  <U_WFRAME>PT</U_WFRAME>
  <U_WBOXV>CM</U_WBOXV>
  <U_WBOXH>CM</U_WBOXH>
  <U_WLEFT>CM</U_WLEFT>
  <U_WWIDTH>CM</U_WWIDTH>
  <U_WTOP>CM</U_WTOP>
  <U_WHEIGHT>CM</U_WHEIGHT>
- <BORDER>
- <LEFTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </LEFTATTR>
- <TOPATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </TOPATTR>
- <RIGHTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </RIGHTATTR>
- <BOTTOMATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </BOTTOMATTR>
  </BORDER>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>OA</OBJTYPE>
  <INAME>%OUTATTRIB3</INAME>
  </item>
  </T_CAPTION>
  </sf:OUTATTR>
  </sf:OUTATTR>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>SE</NODETYPE>
- <sf:OBJ>
- <sf:SECTION>
- <NAME>
  <INAME>V_ABCDE</INAME>
  </NAME>
  <CAPTION>New Column 1</CAPTION>
  <SECTTYPE>E</SECTTYPE>
  <U_FHEIGHT>CM</U_FHEIGHT>
- <PATTERN>
  <PATTNUM>0000</PATTNUM>
  <FRAME>0.00</FRAME>
  <U_FRAME>PT</U_FRAME>
  </PATTERN>
  <U_WIDTH>CM</U_WIDTH>
  <U_LEFT>CM</U_LEFT>
  <U_TOP>CM</U_TOP>
  <U_SB>CM</U_SB>
  <U_SA>CM</U_SA>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>SE</OBJTYPE>
  <INAME>V_ABCDE</INAME>
  <CAPTION>New Column 1</CAPTION>
  </item>
  </T_CAPTION>
  </sf:SECTION>
  </sf:OBJ>
- <sf:OUTATTR>
- <sf:OUTATTR>
- <NAME>
  <INAME>%OUTATTRIB4</INAME>
  </NAME>
  <U_WFRAME>PT</U_WFRAME>
  <U_WBOXV>CM</U_WBOXV>
  <U_WBOXH>CM</U_WBOXH>
  <U_WLEFT>CM</U_WLEFT>
  <U_WWIDTH>CM</U_WWIDTH>
  <U_WTOP>CM</U_WTOP>
  <U_WHEIGHT>CM</U_WHEIGHT>
- <BORDER>
- <LEFTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </LEFTATTR>
- <TOPATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </TOPATTR>
- <RIGHTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </RIGHTATTR>
- <BOTTOMATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </BOTTOMATTR>
  </BORDER>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>OA</OBJTYPE>
  <INAME>%OUTATTRIB4</INAME>
  </item>
  </T_CAPTION>
  </sf:OUTATTR>
  </sf:OUTATTR>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>TI</NODETYPE>
- <sf:OBJ>
- <sf:TEXT>
- <NAME>
  <INAME>T_ABCDE</INAME>
  </NAME>
  <CAPTION>New Text</CAPTION>
  <NOLANGUAGE>X</NOLANGUAGE>
  <APPMODE>P</APPMODE>
- <TEXT>
- <item>
  <TDFORMAT>*</TDFORMAT>
  <TDLINE>&wa_itab-abcde&</TDLINE>
  </item>
  </TEXT>
  <STYLE_NAME>SYSTEM</STYLE_NAME>
- <TEXT_AREA>
  <ENABLED>F</ENABLED>
  <NCOLS>0</NCOLS>
  <NROWS>0</NROWS>
  </TEXT_AREA>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>TI</OBJTYPE>
  <INAME>T_ABCDE</INAME>
  <CAPTION>New Text</CAPTION>
  </item>
  </T_CAPTION>
  </sf:TEXT>
  </sf:OBJ>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
- <sf:item>
- <sf:NODE>
  <NODETYPE>SE</NODETYPE>
- <sf:OBJ>
- <sf:SECTION>
- <NAME>
  <INAME>T_TEST</INAME>
  </NAME>
  <CAPTION>New Column 2</CAPTION>
  <SECTTYPE>E</SECTTYPE>
  <U_FHEIGHT>CM</U_FHEIGHT>
- <PATTERN>
  <PATTNUM>0000</PATTNUM>
  <FRAME>0.00</FRAME>
  <U_FRAME>PT</U_FRAME>
  </PATTERN>
  <U_WIDTH>CM</U_WIDTH>
  <U_LEFT>CM</U_LEFT>
  <U_TOP>CM</U_TOP>
  <U_SB>CM</U_SB>
  <U_SA>CM</U_SA>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>SE</OBJTYPE>
  <INAME>T_TEST</INAME>
  <CAPTION>New Column 2</CAPTION>
  </item>
  </T_CAPTION>
  </sf:SECTION>
  </sf:OBJ>
- <sf:OUTATTR>
- <sf:OUTATTR>
- <NAME>
  <INAME>%OUTATTRIB5</INAME>
  </NAME>
  <U_WFRAME>PT</U_WFRAME>
  <U_WBOXV>CM</U_WBOXV>
  <U_WBOXH>CM</U_WBOXH>
  <U_WLEFT>CM</U_WLEFT>
  <U_WWIDTH>CM</U_WWIDTH>
  <U_WTOP>CM</U_WTOP>
  <U_WHEIGHT>CM</U_WHEIGHT>
- <BORDER>
- <LEFTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </LEFTATTR>
- <TOPATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </TOPATTR>
- <RIGHTATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </RIGHTATTR>
- <BOTTOMATTR>
  <THICKNESS>0.00</THICKNESS>
  <THICKNESSU>PT</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </BOTTOMATTR>
  </BORDER>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>OA</OBJTYPE>
  <INAME>%OUTATTRIB5</INAME>
  </item>
  </T_CAPTION>
  </sf:OUTATTR>
  </sf:OUTATTR>
- <sf:SUCC>
- <sf:item>
- <sf:NODE>
  <NODETYPE>TI</NODETYPE>
- <sf:OBJ>
- <sf:TEXT>
- <NAME>
  <INAME>V_TEST</INAME>
  </NAME>
  <CAPTION>New Text 1</CAPTION>
  <APPMODE>P</APPMODE>
- <TEXT>
- <item>
  <TDFORMAT>*</TDFORMAT>
  <TDLINE>Test</TDLINE>
  </item>
  </TEXT>
  <STYLE_NAME>SYSTEM</STYLE_NAME>
- <TEXT_AREA>
  <ENABLED>F</ENABLED>
  <NCOLS>0</NCOLS>
  <NROWS>0</NROWS>
  </TEXT_AREA>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>TI</OBJTYPE>
  <INAME>V_TEST</INAME>
  <CAPTION>New Text 1</CAPTION>
  </item>
  </T_CAPTION>
- <T_TEXT>
- <item>
  <SPRAS>E</SPRAS>
  <TXTYPE>F</TXTYPE>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <INAME>V_TEST</INAME>
  <LINENR>000001</LINENR>
  <TDFORMAT>*</TDFORMAT>
  <TDLINE>Test</TDLINE>
  </item>
  </T_TEXT>
  </sf:TEXT>
  </sf:OBJ>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
- <sf:item>
- <sf:NODE>
  <NODETYPE>EV</NODETYPE>
- <sf:OBJ>
- <sf:EVENT>
- <NAME>
  <INAME>%EVENT3</INAME>
  </NAME>
  <CAPTION>Footer</CAPTION>
  <EVTYPE>F</EVTYPE>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>EV</OBJTYPE>
  <INAME>%EVENT3</INAME>
  <CAPTION>Footer</CAPTION>
  </item>
  </T_CAPTION>
  </sf:EVENT>
  </sf:OBJ>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:PROC_CTRL>
  </sf:WINDOW>
  </sf:OBJ>
- <sf:OUTATTR>
- <sf:OUTATTR>
- <NAME>
  <INAME>%OUTATTRIB1</INAME>
  </NAME>
  <CAPTION>New Display Option</CAPTION>
  <U_WFRAME>PT</U_WFRAME>
  <U_WBOXV>CM</U_WBOXV>
  <U_WBOXH>CM</U_WBOXH>
  <WLEFT>2.00</WLEFT>
  <U_WLEFT>CM</U_WLEFT>
  <WWIDTH>14.00</WWIDTH>
  <U_WWIDTH>CM</U_WWIDTH>
  <WTOP>2.00</WTOP>
  <U_WTOP>CM</U_WTOP>
  <WHEIGHT>15.00</WHEIGHT>
  <U_WHEIGHT>CM</U_WHEIGHT>
- <BORDER>
- <LEFTATTR>
  <THICKNESS>15.00</THICKNESS>
  <THICKNESSU>TW</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </LEFTATTR>
- <TOPATTR>
  <THICKNESS>15.00</THICKNESS>
  <THICKNESSU>TW</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </TOPATTR>
- <RIGHTATTR>
  <THICKNESS>15.00</THICKNESS>
  <THICKNESSU>TW</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </RIGHTATTR>
- <BOTTOMATTR>
  <THICKNESS>15.00</THICKNESS>
  <THICKNESSU>TW</THICKNESSU>
  <DISTANCE>0.00</DISTANCE>
  <DISTANCEU>CM</DISTANCEU>
- <COLOR>
  <RED>000</RED>
  <GREEN>000</GREEN>
  <BLUE>000</BLUE>
  <TRANS>000</TRANS>
  </COLOR>
  </BOTTOMATTR>
  </BORDER>
- <T_CAPTION>
- <item>
  <LANGU>E</LANGU>
  <FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
  <OBJTYPE>OA</OBJTYPE>
  <INAME>%OUTATTRIB1</INAME>
  <CAPTION>New Display Option</CAPTION>
  </item>
  </T_CAPTION>
  </sf:OUTATTR>
  </sf:OUTATTR>
  <sf:SUCC />
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:item>
  </sf:SUCC>
  </sf:NODE>
  </sf:PAGETREE>
  </sf:item>
  </sf:VARHEADER>
  </sf:SMARTFORM>


 

Driver Program

This is the driver program for SmartForm:

*&---------------------------------------------------------------------*
*& Report  ZTEST_NP_SF_DYN
*&
*&---------------------------------------------------------------------*
*& Test Program to test the dynamic background color in the
*&  Smartforms
*&---------------------------------------------------------------------*
REPORT  ZTEST_NP_SF_DYN.
DATA: W_FM_NAME TYPE RS38L_FNAM.
* Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK BLK1 WITH FRAME.
SELECTION-SCREEN: BEGIN OF LINE,
                  COMMENT 1(20) L_SF_NM,
                  POSITION 35.
PARAMETERS:       P_SF_NM TYPE TDSFNAME DEFAULT 'ZTEST_NP_DYN_BGCOL'.
SELECTION-SCREEN: END   OF LINE.
SELECTION-SCREEN: BEGIN OF LINE,
                  COMMENT 1(20) L_ITEM,
                  POSITION 35.
PARAMETERS:       P_ITEM  TYPE I DEFAULT 5.
SELECTION-SCREEN: END   OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       P_BG_COL AS CHECKBOX.
SELECTION-SCREEN: COMMENT 3(35) L_BG,
                  END   OF LINE.
SELECTION-SCREEN: END OF BLOCK BLK1.
* Initialization
INITIALIZATION.
  L_SF_NM = 'Smartform Name'.
  L_ITEM  = 'Number of Item'.
  L_BG    = 'With Background Color'.
* Start of Selection
START-OF-SELECTION.
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME           = P_SF_NM
    IMPORTING
      FM_NAME            = W_FM_NAME
    EXCEPTIONS
      NO_FORM            = 1
      NO_FUNCTION_MODULE = 2
      OTHERS             = 3.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  CALL FUNCTION W_FM_NAME
    EXPORTING
      NO_ITEM          = P_ITEM
      I_DYN_BG         = P_BG_COL
    EXCEPTIONS
      FORMATTING_ERROR = 1
      INTERNAL_ERROR   = 2
      SEND_ERROR       = 3
      USER_CANCELED    = 4
      OTHERS           = 5.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


How to run this program: 


Note: I have tried this on ECC 5.0.

source :https://www.sdn.sap.com/irj/sdn/wiki?path=/display/Snippets/Dynamic+Background+Colors+in+SmartForms

原文地址:https://www.cnblogs.com/xiaomaohai/p/6157048.html