阅读更多
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 andcall 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
>
<
NAME
>
DOCUMENT_OUTPUT_INFO
NAME
>
<
TYPENAME
>
SSFCRESPD
TYPENAME
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
JOB_OUTPUT_INFO
NAME
>
<
TYPENAME
>
SSFCRESCL
TYPENAME
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
JOB_OUTPUT_OPTIONS
NAME
>
<
TYPENAME
>
SSFCRESOP
TYPENAME
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
ARCHIVE_INDEX
NAME
>
<
TYPENAME
>
TOA_DARA
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
ARCHIVE_INDEX_TAB
NAME
>
<
TYPENAME
>
TSFDARA
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
ARCHIVE_PARAMETERS
NAME
>
<
TYPENAME
>
ARC_PARAMS
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
CONTROL_PARAMETERS
NAME
>
<
TYPENAME
>
SSFCTRLOP
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
MAIL_APPL_OBJ
NAME
>
<
TYPENAME
>
SWOTOBJID
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
MAIL_RECIPIENT
NAME
>
<
TYPENAME
>
SWOTOBJID
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
MAIL_SENDER
NAME
>
<
TYPENAME
>
SWOTOBJID
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
OUTPUT_OPTIONS
NAME
>
<
TYPENAME
>
SSFCOMPOP
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
NAME
>
USER_SETTINGS
NAME
>
<
TYPENAME
>
TDBOOL
TYPENAME
>
<
OPTIONAL
>
X
OPTIONAL
>
<
DEFAULTVAL
>
'X'
DEFAULTVAL
>
<
STANDARD
>
X
STANDARD
>
item
>
-
<
item
>
<
TYPENAME
>
I
TYPENAME
>
item
>
-
<
item
>
<
TYPENAME
>
C
TYPENAME
>
item
>
-
<
item
>
<
NAME
>
FORMATTING_ERROR
NAME
>
Global site tag (gtag.js) - Google Analytics