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">
<FORMNAME>ZTEST_NP_DYN_BGCOL</FORMNAME>
<CAPTION>New Form</CAPTION>
<MASTERLANG>E</MASTERLANG>
<LANGVECTOR>*</LANGVECTOR>
<DEVCLASS>$TMP</DEVCLASS>
<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>
<NAME>DOCUMENT_OUTPUT_INFO</NAME>
<TYPENAME>SSFCRESPD</TYPENAME>
</item>
<NAME>JOB_OUTPUT_INFO</NAME>
<TYPENAME>SSFCRESCL</TYPENAME>
</item>
<NAME>JOB_OUTPUT_OPTIONS</NAME>
<TYPENAME>SSFCRESOP</TYPENAME>
</item>
<NAME>ARCHIVE_INDEX</NAME>
<TYPENAME>TOA_DARA</TYPENAME>
</item>
<NAME>ARCHIVE_INDEX_TAB</NAME>
<TYPENAME>TSFDARA</TYPENAME>
</item>
<NAME>ARCHIVE_PARAMETERS</NAME>
<TYPENAME>ARC_PARAMS</TYPENAME>
</item>
<NAME>CONTROL_PARAMETERS</NAME>
<TYPENAME>SSFCTRLOP</TYPENAME>
</item>
<NAME>MAIL_APPL_OBJ</NAME>
<TYPENAME>SWOTOBJID</TYPENAME>
</item>
<NAME>MAIL_RECIPIENT</NAME>
<TYPENAME>SWOTOBJID</TYPENAME>
</item>
<TYPENAME>SWOTOBJID</TYPENAME>
</item>
<NAME>OUTPUT_OPTIONS</NAME>
<TYPENAME>SSFCOMPOP</TYPENAME>
</item>
<NAME>USER_SETTINGS</NAME>
<TYPENAME>TDBOOL</TYPENAME>
<DEFAULTVAL>'X'</DEFAULTVAL>
</item>
<NAME>FORMATTING_ERROR</NAME>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
SMARTFORMS 是 SAP ABAP 开发中一种重要的报表工具,它建立在 SAPScript 的基础上,提供了一种更加直观和高效的报表设计方式。与传统的 SAPScript 相比,SMARTFORMS 具备更强大的功能和灵活性,并且简化了开发过程中...
ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
标题提及的"SmartForms"是SAP ABAP编程中用于创建动态打印输出和电子文档的一种技术。SmartForms结合了图形化的用户界面和编程逻辑,使得开发者可以构建复杂的表单,适用于各种业务报告和文档需求。描述中提到的是...
eclipse-abap-keywordcolors eclipse-abap-关键字颜色
ABAP-培训教材附录 ABAP-培训教材ABAP-培训教材ABAP-培训教材ABAP-培训教材
### ABAP Smartforms 学习操作手册精要 #### SMARTFORMS:新一代报表设计利器 SMARTFORMS,作为SAPScript的升级版,...对于希望在SAP环境中创建高质量打印输出的专业人士来说,熟练掌握SMARTFORMS无疑是至关重要的。
CD260-ABAP-in-Eclipse-开发-CN CD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CNCD260-ABAP-in-Eclipse-开发-CN
本文档是《SAP中文教材全系列之ABAP-BC400_ZH》,为SAP ABAP编程语言的学习提供参考。文档包含了详细的ABAP课程内容,旨在帮助学员理解并掌握ABAP编程的基础知识和高级技能。以下将详细阐释文档所涵盖的知识点。 ...
SAP ABAP Smartforms 是一种用于创建和管理电子表格和表单的SAP工具,它允许用户在SAP系统中定制打印表单,使表单设计更加灵活、高效。它基于ABAP面向对象的编程技术和SAPScript的传统打印表单设计,被广泛应用于...
在ABAP开发中,Smartforms是一种强大的工具,用于创建复杂的业务文档和表单。本教程将深入探讨如何设计和利用Smartforms,以满足SAP系统中的各种打印需求。 首先,让我们了解一下SAP Script,它是Smartforms的基础...
ABAP-ALV进阶是指在SAP系统中使用ABAP语言开发的高级列表查看器(ALV)。ALV是SAP系统中心的列表标准,可以在ABAP程序中进行报表输出。下面是ABAP-ALV进阶的知识点详解: 一、ALV概要 ALV 全称为 ABAP List Viewer...
SAP ABAP 动态内表详解 SAP ABAP 中的动态内表是一种特殊的内表结构,它可以根据实际情况动态地生成和赋值。本文将详细介绍动态内表的创建、赋值和读取显示。 动态内表的创建 动态内表的创建主要分为两步:首先...
为了更好地理解这一过程,你可以参考提供的文档:《用OLE DOI 实现ABAP导出EXCEL表格.docx》和《ABAP-透過OLE操作OFFICE.docx》。同时,《OLE.pdf》可能包含更深入的OLE和DOI技术细节,这对于优化和调试代码会非常有...
ABAP-学习笔记-通用
在SAP ABAP开发中,ALV(Accelerated List Viewer)和SMARTFORMS是两种用于数据展示和报表生成的重要工具。本篇文章将深入探讨这两者,并结合“分页”这一功能,来阐述如何在实际应用中高效地处理大量数据。 ALV是...
SAP-ABAP-Certification-Review.pdf
ABAP-数据类型学习笔记
ABAP-WebDynpro 实例 ABAP-WebDynpro 实例是 SAP 中的一种开发技术,允许开发者创建基于 Web 的应用程序。该技术将 SAP 中开发的程序在 Web 中运行,从而不需要在客户机上安装 SAPGUI。 在本实例中,我们将创建一...
ABAP-OLE开发是SAP系统中的一种技术,它允许ABAP编程语言与外部对象链接和嵌入(OLE)应用程序进行交互。OLE自动化是Windows环境中的一种技术,它使得不同的应用程序可以共享数据和服务,通常用于控制一个应用程序...
在IT领域,特别是针对SAP系统的开发与设计中,SAP SmartForms是一种强大的工具,用于创建复杂的打印格式和用户界面输出。本文档旨在深入解析如何利用Table、Template、Loop以及Command这四大元素,在SAP SmartForms...