精华内容
下载资源
问答
  • smartform

    2008-07-07 15:29:21
    关于SmartForm和ScriptForm的输出格式设置说明
  • SmartForm

    千次阅读 2008-08-19 19:53:00
    一、SMARTFORM的特征SMARTFORM是在SAPScript的基础之上产生的一种新的FORM制作方式,它完全兼容SAPScript。在做SMARTFORM的过程中基本上不需要多少编程知识,它有一个图形界面来帮助我们完成工作。这个图形界面由三...
    一、 SMARTFORM 的特征
    SMARTFORM 是在 SAPScript 的基础之上产生的一种新的 FORM 制作方式,它完全兼容 SAPScript 。在做 SMARTFORM 的过程中基本上不需要多少编程知识,它有一个图形界面来帮助我们完成工作。这个图形界面由三个部分组成,它们分别是: Form Painter PC Editer Table Painter
    启动 SMARTFORM 设计的事务代码: SMARTFORMS ,进入的界面如下:
    输入你要创建的 SMARTFORM 的名称,然后点击“创建”,进入下面的 Form Builder 界面:
    注:上面另外两个选项 Style Text module 分别是用来定义 FORM 的样式和文本模块的。
    上面的屏幕分为三个部分:
    Form Painter 主要用来设计 SMARTFORM 输出页面的格式,可以在页面上包含窗口和图(最右边)     形,还可以指定它们在页面上的位置以及它们的大小等。在图片左上角的工      
                  具栏有一个按钮 可以用来显示和隐藏这个窗口。
    PC Editer 主要用来初始化文本( TEXT )和域( FIELD ),它包含的功能主要有以下几个方(中间)    面, 1 )输入、删除、选择、
     
    Navigating in the SAP Form Builder 它主要用来显示一个 SMARTFORM 的层次结构。
    (最左边)    当你在层次结构中选择了一个 NODE (结点)后,在上面截屏的中间部分会显示这个 NODE MAINTENANCE 屏幕。
     
     
    二、 在做 FORM 前要了解的几个概念
    1、 FORM 的结构:一个 FORM 往往是由页面 (PAGES) 、输出区域 (OUTPUT AREAS WINDOWS) 、地址栏 (ADRESS) 、图形( GRAPHICS ,比如公司 LOGO )、数据 (DATA) 、以及文本内容 (TEXT) 组成。
    2、 主窗体和子窗体:( MAIN WINDOWSAND SUBWINDOWS )这是页面上两个不同的输出区域,用来输出数据,文本等内容。对于主窗体,你在一个 FORM 中只能定义一个窗体作为主窗体;不同 PAGE 上的主窗体必须宽度相同,但是高度可以不同;一个没有主窗体的 PAGE 指向的下一个页面不能为它自己。对于子窗体,它也可以在多个页面上面显示,但是那些不匹配 SUBWINDOWS 的值,子窗体不会将它们显示出来。
     
     
     
     
     
     
     
    三、 一个小的 SMARTFORM 实例
       
     
    首先给要创建的 SMARTFORM 取名为 ZTEST_HXG_F3 ,点击“创建”按钮,进入下面的页面:
     
    首先看一下这个截图的左上角:
    FORM ATTRIBUTES :主要是这个窗体的一般属性和输出选择。
    FORM INTERFACE :这个属性很重要!它主要用来描述这个 SMARTFORM 的接口属性,比如 IMPORT EXPORT TABLES EXCEPTION 。当我们做好了一个 SMARTFORM 以后,如果想从 ABAP 程序中调用这个 FORM 的话,就会用到这些接口来传递参数,这个将在下面详细说明。
    GLOBAL DEFINITIONS :主要用来定义一些全局的数据,还有 FIELD SYMBOLS 、初始化等。
     
     
     
     
      当我们创建了 ZTEST_HXG_F3 的时候,系统会默认的建立一个页面(也就是刚开始在 PAGES AND WINDOWS 下面的 %PAGE ,它下面是一个 MAIN WINDOWS )。现在我将它的名字改为 FIRST , 描述改为“第一页“。然后在 MAIN WINDOW 上点击右键,如上图创建一个 TABLE
     
    看上图:这就是刚才我们定义的 TABLE MAINTENANCE 屏幕。我们在这个屏幕上可以定义很多的内容,看到 了吗?它是 SMARTFORM 中一个很重要的组成部分哦,我们将要在 FORM 中显示的表格,都是在这里定义的。
    我们可以定义的内容有: TABLE 的宽度,水平线对齐方式。
    上面这个图用来定义 TABLE 的输出格式,比如现在我们定义了 LINE1 ,我们定义了三个列,三个列的宽度分别都是 4CM 。但是请注意,当你制定这些列的宽度的时候,它们三个的列的和不能大于表格的宽度 ,否则系统会报错。当然这里我只定义了一个 LINE TYPE ,你还可以在下面定义很多的 LINE TYPE 。做完了这一步以后我们可以点击 进入这个屏幕看一下我们定义的表格的效果。
     
    看到了吗?我们定义的三列清楚的在上面显示出来了。上图中的 LINE1 表示我们用的是 LINE1 的输出格式(主要是指输出列的宽度和长度)。
     
    我们在屏幕上输出报表的时候,画表格,一般的表格都是由表头,还有内表的填充数据来组成,这里也不例外,比如我们就可以把我们定义的 TABLE 和内表联系起来,只需点击上面的“ TABLE “边上的” DATA “选项卡,进去设置一下就可以了,取内表名为 ITAB 。具体设置如下图所示:
    首先我们来定义表头 HEADER ,也就是各个列的列名:
    首先选中上面这些内容,这样在就会在 TABLE 下面多处一个 HEADER 事件,如图所示:
    这样我们就可以在 HEADER 下面定义各个列的名称了。这里我们以固定列(即三列)来演示!
     
    在它下面首先要建立一个 FOLER 。你必须得为每一列都定义一个 FOLDER ,这里有三列,我们就在 HEADER 下面创建三个 FOLDER FOLDER 结点的作用是用来合并一些相关结点的,并且它帮助我们很好的区分各个层次。建立好 FOLDER 之后,在每个 FOLDER 下面再创建一个 TEXT
    这样就形成了这样一个层次结构。
    要想显示成下面这个样子:
     
     
    我们还得设置一两个地方:如图所示
    选中第一个 FOLDER ,双击它,在右边的窗口中选中如图上面标记的内容,这样做的目的是, NEW LINE 表示我们开始一个新的行,这个行是从 FOLDER1 开始的, LINE TYPE 选择 LINE1 的意思是说,我们这个行的输出格式是以 LINE1 为参照的!那么接下来的两个 FOLDER 的要这样设置,如下图:
    表示接下来的两个 FOLDER 中的内容是和第一个 FOLDER 同处一行,但是是不同的 CELL
     
    接下来的事情就是设置每一列的列名了,注意这里的列名是静态的文本。我以第一列为例子来介绍,其他两列类似,选中 FOLDER1 下的 TEXT1 ,如下图:
    在椭圆选中的地方输入你想要取的列名,比如我这里就是取为:第一列。其他两列的列名类似,这里就不再赘述了。
     
     
      在前面我们已经把这个 SMARTFORM 和内表 ITAB 连接起来了。接下来就看看通过 SMARTFORM 显示动态内容的情况!
     
    首先我们在 FORM INTERFACE 中定义这个表的名字和其他参数,如下图:
     
    然后点击左上角椭圆选中的那个按钮,这样在左下角就会出现这个 SMARTFORM FIELD LIST
     
    注意:这里定义的 ITAB 只有三个字段,刚好跟我们定义的 TABLE 吻合,当然你也可以定义自己的内表。
     
     
    做完了这以步后测试一下,如果没有问题,就进行下一步:
     
       同在 TABLE HEADER 中定义一样,我们还要定义三个 FOLDER 和三个 TEXT ,定义好了图如下:
     
    这几个 FOLDER 的设置和上面 HEADER 一样,唯一不同的就是这里每个 FOLDER 下面的 TEXT 的内容不是我们自己在上面输入“第一列“、”第二列“、”第三列“。而是如上图的箭头所示,从左边那个地方用鼠标按住以后拖到右边的箭头所指的那个地方。这样我们这列对应的数据就会是”动态“的。
     
       做好了这一切以后,测试,没有错误,那么基本上一个简单的 SMARTFORM 就完成了。当一个 SMARTFORM 激活以后,系统就会自动给它分配一个 FUNCTION MODULE 。我们只需要点击“ F8 “直接运行这个 SMARTFORM ,就会进入这个界面:
     
    上面这个 FUNCTION MODULE 就是我们做完了的 SMARTFORM 所对应。你可以在程序中调用这个 SMARTFORM 。下面就介绍一下在程序中如何写代码:
     
    report z_hxg_007 .
    data: itab like alsmex_tabline occurs 0 with header line.
    data fm_name type rs38l_fnam.
    data: num1 type i,
          num2 type i,
          num3 type i.
     
     
    call function 'SSF_FUNCTION_MODULE_NAME'    “这个FUNCTION主要是用来取你要调用的
         exporting                               SMARTFORM 对应的FUNCTION MODULE的
              formname    = 'ZTEST_HXG_F3'      名字然后赋值给FM_NAME,因为SMARTFORM
         importing                               对应的FUNCTION MODULE名字很长,并且
              fm_name           = fm_name        难以记忆
         exceptions
              no_form            = 1
              no_function_module = 2
              others             = 3.
    num1 = 1.
    num2 = 2.
    num3 = 3.
    do 20 times.
     itab-row = num1.
      itab-col = num2.
     itab-value = num3.
     append itab.
     clear itab.
     num1 = num1 + 1.
     num2 = num2 + 1.
     num3 = num3 + 1.
    enddo.
     
     
     
    call function fm_name                    “调用SMARTFORM,很显然这里是以FUNCTION  
    * EXPORTING                               MOUDULE 的方式和SMARTFORM交互
    *   ARCHIVE_INDEX =
    *   ARCHIVE_PARAMETERS =
    *   CONTROL_PARAMETERS =
    *   MAIL_APPL_OBJ =
    *   MAIL_RECIPIENT =
    *   MAIL_SENDER =
    *   OUTPUT_OPTIONS =
    *   USER_SETTINGS = 'X'
    *    G_CARRID = <variable>
    *    G_CONNID = <variable>
    *    G_FLDATE = <variable>
    * IMPORTING
    *   DOCUMENT_OUTPUT_INFO =
    *   JOB_OUTPUT_INFO =
    *   JOB_OUTPUT_OPTIONS =
     tables
        itab = itab                   “把ITAB内表的内容传递到SMARTFORM中去
     exceptions
        formatting_error = 1
        internal_error = 2
        send_error = 3
        user_canceled = 4.
    *    others = 5.
     
    运行程序,到达这个屏幕:
     
     
    系统会提示你输入一个“输出设备”,随便输入一个,然后点击下面的“ PRING PREVIEW ”。
    你就会看到最后的结果!如下图
     
      基本上就介绍这么多,其实 SMARTFORM 可以把 FORM 做的非常好看,我们还可以插入图形, ADRESS 等等很多元素,因为自己还用的不是很熟,也就只能分享这点成果。后续我会关注的问题就是复杂的 SMARTFORM 的建立,以及我们在打印的过程中如何控制 SMARTFORM 的换页等,希望有机会跟你探讨!呵呵 ^_^
    展开全文
  • SMARTFORM

    千次阅读 2006-09-17 15:25:00
    SMARTFORM知识 一、SMARTFORM的特征SMARTFORM是在SAPScript的基础之上产生的一种新的FORM制作方式,它完全兼容SAPScript。在做SMARTFORM的过程中基本上不需要多少编程知识,它有一个图形界面来帮助我们完成工作。这...
      
    
                         SMARTFORM 知识
     
    一、 SMARTFORM 的特征
    SMARTFORM 是在 SAPScript 的基础之上产生的一种新的 FORM 制作方式,它完全兼容 SAPScript 。在做 SMARTFORM 的过程中基本上不需要多少编程知识,它有一个图形界面来帮助我们完成工作。这个图形界面由三个部分组成,它们分别是: Form Painter PC Editer Table Painter
    启动 SMARTFORM 设计的事务代码: SMARTFORMS ,进入的界面如下:
    输入你要创建的 SMARTFORM 的名称,然后点击“创建”,进入下面的 Form Builder 界面:
    注:上面另外两个选项 Style Text module 分别是用来定义 FORM 的样式和文本模块的。
    上面的屏幕分为三个部分:
    Form Painter 主要用来设计 SMARTFORM 输出页面的格式,可以在页面上包含窗口和图(最右边)     形,还可以指定它们在页面上的位置以及它们的大小等。在图片左上角的工      
                  具栏有一个按钮 可以用来显示和隐藏这个窗口。
    PC Editer 主要用来初始化文本( TEXT )和域( FIELD ),它包含的功能主要有以下几个方(中间)    面, 1 )输入、删除、选择、
     
    Navigating in the SAP Form Builder 它主要用来显示一个 SMARTFORM 的层次结构。
    (最左边)    当你在层次结构中选择了一个 NODE (结点)后,在上面截屏的中间部分会显示这个 NODE MAINTENANCE 屏幕。
     
     
    二、 在做 FORM 前要了解的几个概念
    1、 FORM 的结构:一个 FORM 往往是由页面 (PAGES) 、输出区域 (OUTPUT AREAS WINDOWS) 、地址栏 (ADRESS) 、图形( GRAPHICS ,比如公司 LOGO )、数据 (DATA) 、以及文本内容 (TEXT) 组成。
    2、 主窗体和子窗体:( MAIN WINDOWSAND SUBWINDOWS )这是页面上两个不同的输出区域,用来输出数据,文本等内容。对于主窗体,你在一个 FORM 中只能定义一个窗体作为主窗体;不同 PAGE 上的主窗体必须宽度相同,但是高度可以不同;一个没有主窗体的 PAGE 指向的下一个页面不能为它自己。对于子窗体,它也可以在多个页面上面显示,但是那些不匹配 SUBWINDOWS 的值,子窗体不会将它们显示出来。
     
     
     
     
     
     
     
    三、 一个小的 SMARTFORM 实例
       
     
    首先给要创建的 SMARTFORM 取名为 ZTEST_HXG_F3 ,点击“创建”按钮,进入下面的页面:
     
    首先看一下这个截图的左上角:
    FORM ATTRIBUTES :主要是这个窗体的一般属性和输出选择。
    FORM INTERFACE :这个属性很重要!它主要用来描述这个 SMARTFORM 的接口属性,比如 IMPORT EXPORT TABLES EXCEPTION 。当我们做好了一个 SMARTFORM 以后,如果想从 ABAP 程序中调用这个 FORM 的话,就会用到这些接口来传递参数,这个将在下面详细说明。
    GLOBAL DEFINITIONS :主要用来定义一些全局的数据,还有 FIELD SYMBOLS 、初始化等。
     
     
     
     
      当我们创建了 ZTEST_HXG_F3 的时候,系统会默认的建立一个页面(也就是刚开始在 PAGES AND WINDOWS 下面的 %PAGE ,它下面是一个 MAIN WINDOWS )。现在我将它的名字改为 FIRST , 描述改为“第一页“。然后在 MAIN WINDOW 上点击右键,如上图创建一个 TABLE
     
    看上图:这就是刚才我们定义的 TABLE MAINTENANCE 屏幕。我们在这个屏幕上可以定义很多的内容,看到 了吗?它是 SMARTFORM 中一个很重要的组成部分哦,我们将要在 FORM 中显示的表格,都是在这里定义的。
    我们可以定义的内容有: TABLE 的宽度,水平线对齐方式。
    上面这个图用来定义 TABLE 的输出格式,比如现在我们定义了 LINE1 ,我们定义了三个列,三个列的宽度分别都是 4CM 。但是请注意,当你制定这些列的宽度的时候,它们三个的列的和不能大于表格的宽度 ,否则系统会报错。当然这里我只定义了一个 LINE TYPE ,你还可以在下面定义很多的 LINE TYPE 。做完了这一步以后我们可以点击 进入这个屏幕看一下我们定义的表格的效果。
     
    看到了吗?我们定义的三列清楚的在上面显示出来了。上图中的 LINE1 表示我们用的是 LINE1 的输出格式(主要是指输出列的宽度和长度)。
     
    我们在屏幕上输出报表的时候,画表格,一般的表格都是由表头,还有内表的填充数据来组成,这里也不例外,比如我们就可以把我们定义的 TABLE 和内表联系起来,只需点击上面的“ TABLE “边上的” DATA “选项卡,进去设置一下就可以了,取内表名为 ITAB 。具体设置如下图所示:
    首先我们来定义表头 HEADER ,也就是各个列的列名:
    首先选中上面这些内容,这样在就会在 TABLE 下面多处一个 HEADER 事件,如图所示:
    这样我们就可以在 HEADER 下面定义各个列的名称了。这里我们以固定列(即三列)来演示!
     
    在它下面首先要建立一个 FOLER 。你必须得为每一列都定义一个 FOLDER ,这里有三列,我们就在 HEADER 下面创建三个 FOLDER FOLDER 结点的作用是用来合并一些相关结点的,并且它帮助我们很好的区分各个层次。建立好 FOLDER 之后,在每个 FOLDER 下面再创建一个 TEXT
    这样就形成了这样一个层次结构。
    要想显示成下面这个样子:
     
     
    我们还得设置一两个地方:如图所示
    选中第一个 FOLDER ,双击它,在右边的窗口中选中如图上面标记的内容,这样做的目的是, NEW LINE 表示我们开始一个新的行,这个行是从 FOLDER1 开始的, LINE TYPE 选择 LINE1 的意思是说,我们这个行的输出格式是以 LINE1 为参照的!那么接下来的两个 FOLDER 的要这样设置,如下图:
    表示接下来的两个 FOLDER 中的内容是和第一个 FOLDER 同处一行,但是是不同的 CELL
     
    接下来的事情就是设置每一列的列名了,注意这里的列名是静态的文本。我以第一列为例子来介绍,其他两列类似,选中 FOLDER1 下的 TEXT1 ,如下图:
    在椭圆选中的地方输入你想要取的列名,比如我这里就是取为:第一列。其他两列的列名类似,这里就不再赘述了。
     
     
      在前面我们已经把这个 SMARTFORM 和内表 ITAB 连接起来了。接下来就看看通过 SMARTFORM 显示动态内容的情况!
     
    首先我们在 FORM INTERFACE 中定义这个表的名字和其他参数,如下图:
     
    然后点击左上角椭圆选中的那个按钮,这样在左下角就会出现这个 SMARTFORM FIELD LIST
     
    注意:这里定义的 ITAB 只有三个字段,刚好跟我们定义的 TABLE 吻合,当然你也可以定义自己的内表。
     
     
    做完了这以步后测试一下,如果没有问题,就进行下一步:
     
       同在 TABLE HEADER 中定义一样,我们还要定义三个 FOLDER 和三个 TEXT ,定义好了图如下:
     
    这几个 FOLDER 的设置和上面 HEADER 一样,唯一不同的就是这里每个 FOLDER 下面的 TEXT 的内容不是我们自己在上面输入“第一列“、”第二列“、”第三列“。而是如上图的箭头所示,从左边那个地方用鼠标按住以后拖到右边的箭头所指的那个地方。这样我们这列对应的数据就会是”动态“的。
     
       做好了这一切以后,测试,没有错误,那么基本上一个简单的 SMARTFORM 就完成了。当一个 SMARTFORM 激活以后,系统就会自动给它分配一个 FUNCTION MODULE 。我们只需要点击“ F8 “直接运行这个 SMARTFORM ,就会进入这个界面:
     
    上面这个 FUNCTION MODULE 就是我们做完了的 SMARTFORM 所对应。你可以在程序中调用这个 SMARTFORM 。下面就介绍一下在程序中如何写代码:
     
    report z_hxg_007 .
    data: itab like alsmex_tabline occurs 0 with header line.
    data fm_name type rs38l_fnam.
    data: num1 type i,
          num2 type i,
          num3 type i.
     
     
    call function 'SSF_FUNCTION_MODULE_NAME'    “这个FUNCTION主要是用来取你要调用的
         exporting                               SMARTFORM 对应的FUNCTION MODULE的
              formname    = 'ZTEST_HXG_F3'      名字然后赋值给FM_NAME,因为SMARTFORM
         importing                               对应的FUNCTION MODULE名字很长,并且
              fm_name           = fm_name        难以记忆
         exceptions
              no_form            = 1
              no_function_module = 2
              others             = 3.
    num1 = 1.
    num2 = 2.
    num3 = 3.
    do 20 times.
     itab-row = num1.
      itab-col = num2.
     itab-value = num3.
     append itab.
     clear itab.
     num1 = num1 + 1.
     num2 = num2 + 1.
     num3 = num3 + 1.
    enddo.
     
     
     
    call function fm_name                    “调用SMARTFORM,很显然这里是以FUNCTION  
    * EXPORTING                               MOUDULE 的方式和SMARTFORM交互
    *   ARCHIVE_INDEX =
    *   ARCHIVE_PARAMETERS =
    *   CONTROL_PARAMETERS =
    *   MAIL_APPL_OBJ =
    *   MAIL_RECIPIENT =
    *   MAIL_SENDER =
    *   OUTPUT_OPTIONS =
    *   USER_SETTINGS = 'X'
    *    G_CARRID = <variable>
    *    G_CONNID = <variable>
    *    G_FLDATE = <variable>
    * IMPORTING
    *   DOCUMENT_OUTPUT_INFO =
    *   JOB_OUTPUT_INFO =
    *   JOB_OUTPUT_OPTIONS =
     tables
        itab = itab                   “把ITAB内表的内容传递到SMARTFORM中去
     exceptions
        formatting_error = 1
        internal_error = 2
        send_error = 3
        user_canceled = 4.
    *    others = 5.
     
    运行程序,到达这个屏幕:
     
     
    系统会提示你输入一个“输出设备”,随便输入一个,然后点击下面的“ PRING PREVIEW ”。
    你就会看到最后的结果!如下图
     
      基本上就介绍这么多,其实 SMARTFORM 可以把 FORM 做的非常好看,我们还可以插入图形, ADRESS 等等很多元素,因为自己还用的不是很熟,也就只能分享这点成果。后续我会关注的问题就是复杂的 SMARTFORM 的建立,以及我们在打印的过程中如何控制 SMARTFORM 的换页等,希望有机会跟你探讨!呵呵 ^_^
     
    展开全文
  • Smartform

    2009-07-29 10:47:00
    DATA: t_printdata TYPE TABLE OF tb_show, wa_printdata TYPE tb_show. DATA it_print1 TYPE TABLE OF ztraining_wxj WITH HEADER LINE.DATA it_print2 TYPE TABLE OF ztraining_wxj02 WITH HEADER LINE.

    DATA: t_printdata TYPE TABLE OF tb_show,
           wa_printdata TYPE tb_show.

     

    DATA it_print1 TYPE TABLE OF ztraining_wxj WITH HEADER LINE.
    DATA it_print2 TYPE TABLE OF ztraining_wxj02 WITH HEADER LINE.

     

    DATA wa2 TYPE   ztraining_wxj02.


    DATA itab2 LIKE TABLE OF wa2.

     

    DATA fm_name TYPE rs38l_fnam.

     

    DATA: control_parameters TYPE ssfctrlop,
                                      total TYPE i ,
                                        line TYPE i.

     


     

     LOOP AT it_show INTO wa_show WHERE sel = 'X'.
        total = total + 1.
      ENDLOOP .


      LOOP AT it_show INTO wa_show WHERE sel = 'X'.
        line = line + 1 .
        MOVE-CORRESPONDING wa_show TO it_print1 .
        APPEND  it_print1 .
        LOOP AT it_lesson INTO wa_lesson WHERE zpid = wa_show-zpid.
          MOVE-CORRESPONDING wa_lesson TO it_print2.
          APPEND it_print2.
        ENDLOOP.


     

    PERFORM get_control_parameters USING line
                                                                      total
                                                     CHANGING control_parameters.

     

        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname                 = 'ZSMART_TRAIN_WXJ1'
    *      VARIANT                  = ' '
    *      DIRECT_CALL              = ' '
        IMPORTING
          fm_name                  = fm_name
    *    EXCEPTIONS
    *      NO_FORM                  = 1
    *      NO_FUNCTION_MODULE       = 2
    *      OTHERS                   = 3
                  .
        IF sy-subrc <> 0.
        ENDIF.

     

        CALL FUNCTION fm_name
          EXPORTING
    *     ARCHIVE_INDEX              =
    *     ARCHIVE_INDEX_TAB          =
    *     ARCHIVE_PARAMETERS         =
          control_parameters         =  control_parameters
    *     MAIL_APPL_OBJ              =
    *     MAIL_RECIPIENT             =
    *     MAIL_SENDER                =
    *     OUTPUT_OPTIONS             =
    *     USER_SETTINGS              = 'X'
            it_header                = it_print1
    *   IMPORTING
    *     DOCUMENT_OUTPUT_INFO       =
    *     JOB_OUTPUT_INFO            =
    *     JOB_OUTPUT_OPTIONS         =
          TABLES
            it_print                   = it_print2
    *   EXCEPTIONS
    *     FORMATTING_ERROR           = 1
    *     INTERNAL_ERROR             = 2
    *     SEND_ERROR                 = 3
    *     USER_CANCELED              = 4
    *     OTHERS                     = 5
                  .
        IF sy-subrc <> 0.
        ENDIF.
        FREE it_print2.
      ENDLOOP.

     


     

    FORM get_control_parameters  USING    f_line
                                                                    f_total
                                                  CHANGING f_control_parameters TYPE ssfctrlop.
      CASE f_total.
        WHEN 1.
          f_control_parameters-no_open = ''.
          f_control_parameters-no_close = ''.
        WHEN OTHERS.
          CASE f_line.
            WHEN 1.
              f_control_parameters-no_open = ''.
              f_control_parameters-no_close = 'X'.
            WHEN f_total.
              f_control_parameters-no_open = 'X'.
              f_control_parameters-no_close = ''.
            WHEN OTHERS.
              f_control_parameters-no_open = 'X'.
              f_control_parameters-no_close = 'X'.
          ENDCASE.
      ENDCASE.

    ENDFORM.               


     

    表格接口:导入: IT_HEADER LIKE ZTRAINING_WXJ

                      表: IT_PRINT LIKE ZTRAINING_WXJ02 

    在MAIN里面:做循环, LOOP循环: IT_PRINT 转至 IT_PRINT

    展开全文
  • SMARTFORM知识 一、 SMARTFORM的特征 SMARTFORM知识 一、 SMARTFORM的特征 SMARTFORM知识 一、 SMARTFORM的特征
  • SAP SMARTFORM 教程

    2018-09-06 23:33:33
    SAP ABAP SMARTFORM 开发实例,包括表格接口,表头,主窗口,调用方法。
  • Smartform 应用

    2021-01-05 13:59:15
    Smartform主要是SAP针对文件打印的一种工具。 主要由Form、Style,Text module三个组成,事务:SMARTFORMS。 Form是由不同的节点组成,一个form包含一个或多个page,一个form中只可以拥有一个main window且在form...

    Smartform 主要是SAP针对 文件打印的一种工具。

    主要由Form、Style,Text module三个组成,事务:SMARTFORMS。

    Form是由不同的节点组成,一个form包含一个或多个page,一个form中只可以拥有一个main window且在form创建时已经默认创建,但是可以可以有多个secondary window,copies window,final window。

    列表输出:template 打印固定数据格式类型,可设置行高,列宽。

    table:打印动态数据表格,可设置列宽,换自动换行。若需要控制行高,需要在style改变段落高度

    table line:

    逻辑控制节点:Command ( 命令 ):执行特殊命令,下一页,段落,打印控制

    Loop:+ template ≈ table,可以控制行高。

    Alterantive ( 可选的 ):设置条件分支结构,

    其他:

    Program lines:通过此节点执行ABAP语句逻辑。

    Conditions:条件为真,显示节点。

    Smartform 调试:如果在smartform中增加了代码,调试的话则需要在 perform % 前面打上断点就可以了。

    FM中的F01 include 包含了form中的所有内容

    smartform  黑底白字logo : https://blog.csdn.net/LYHlyh_09/article/details/52152539

    展开全文
  • SmartForm说明

    2011-12-03 11:40:09
    该文档详细的介绍了SAP中的SMARTFORM技术
  • SmartForm介绍

    2021-04-16 14:07:37
    SmartForm是sap用来设计打印单据的基于可视化的一种技术,设计好后可以在程序里调用,传参,参数一般是内表。 smartform总的来说就3个主要步骤。 1,设置表格接口,就是指定该form显示哪个数据库的数据; 2,设计报...
  • Smartform 介绍

    2021-02-01 16:37:37
    Smartform是 SAP用来打印单据的一种可视化技术,可以在程序中调用,Smartform中除了可以设计格式之外还可以添加代码。 Smart forms是 SAP Script form的基础上产生的新的表单制作工具,但是smart forms使用更加方便...
  • smartform教程

    2009-11-17 11:01:19
    详细的建立smartform的教程,如何建立一个SMARTFORM的过程及如何生成请求、如何调用FUNCTION等。
  • smartform 调试

    千次阅读 2018-09-28 14:45:14
    开发smartform特别复杂的时候,避免不了要在里面加代码,如果这个代码有问题的时候改怎么调试追踪问题?我们接手别人做的form对里面的元素不明白的时候,如何定位到我们需要的元素节点呢?如果遇到这些问题了,那就...
  • K2 Smartform 介绍

    2014-05-08 12:00:40
    K2的表单设计器Smartform详细介绍
  • SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SAP SMARTFORM;SA
  • 控制连打smartform

    2013-01-03 11:21:35
    控制连打smartform例子,报表的代码见博客
  • ABAP开发 设置smartform的纸张格式
  • SAP ABAP中如何查找SmartForm对应的传输请求号,查找SmartForm对应的版本
  • ABAP Smartform实例

    千次阅读 2015-09-25 17:18:15
    abap smartform实例
  • 打印销售订单smartform

    2013-01-08 10:42:12
    smartform对应博客中的smartform连续打印,并自动补充空行这篇博客,该smartform实现分页打印,及自动补充空行,并显示当前页和总页数等功能
  • SAP_SMARTFORM FAQ

    2010-03-25 14:01:21
    SAP_SMARTFORM FAQSAP_SMARTFORM FAQSAP_SMARTFORM FAQSAP_SMARTFORM FAQSAP_SMARTFORM FAQSAP_SMARTFORM FAQ
  • SAP SMARTFORM 开发 标准教程 bc470教程
  • ABAP smartform 调试方法

    2021-06-29 17:05:22
    1、找到smartform对应的函数(通过smartform中的“环境”->“功能模块名称”);也在打印中可以执行,下一个界面的函数模块就是存放代码的位置。 2、SE37输入smartform对应的函数->转到main program(主程序...
  • 适用于sap gui730、740,smartform报错补丁包,与其他gui补丁包一样,安装完成后即可运行
  • smartform是对资源里销售订单smartform的完善,主要完善是用一个全局变量表示每页显示的行项目数,不需要每个流程里指定该数据,该smartform对应博客中的smartform连续打印,并自动补充空行这篇博客,该smartform...
  • SMARTFORM 注意事项

    2015-04-22 12:30:47
    SMARTFORM中,数量和金额类型的字段在显示的时候会和其他字段不在同一个水平面上,解决的方法:&ITAB-MENGE(C)& ,下面是SMARTFORM字段参数设置的几个注意事项: 使用SFSY-FORMPAGES显示总页数的时候,如果页数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,281
精华内容 512
关键字:

smartform