sap smartforms采购订单单据步骤Word下载.docx

上传人:b****8 文档编号:22707536 上传时间:2023-02-05 格式:DOCX 页数:18 大小:386.77KB
下载 相关 举报
sap smartforms采购订单单据步骤Word下载.docx_第1页
第1页 / 共18页
sap smartforms采购订单单据步骤Word下载.docx_第2页
第2页 / 共18页
sap smartforms采购订单单据步骤Word下载.docx_第3页
第3页 / 共18页
sap smartforms采购订单单据步骤Word下载.docx_第4页
第4页 / 共18页
sap smartforms采购订单单据步骤Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

sap smartforms采购订单单据步骤Word下载.docx

《sap smartforms采购订单单据步骤Word下载.docx》由会员分享,可在线阅读,更多相关《sap smartforms采购订单单据步骤Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

sap smartforms采购订单单据步骤Word下载.docx

  设置:

数据-〉loop循环-〉操作数:

GTD_HEADERintoGTH_HEADER

  作用:

循环表头内表中的数据,每次打印一个凭证的行项目数据。

由于内表在这里不能有工作区,因此将每个表头数据放置到另外的工作区。

如图:

 2、%LOOP2循环明细数据,统计单张凭证行数

作用:

由于在打印每张凭证及行项目之前,需要知道该凭证的总页数,因此需要首先计算gtd_ITEMS内表中有多少条当前凭证的行记录数。

3.统计总页数:

4.%loop3循环明细数据,

 

记录单张凭证数和积累行数:

5.明细模板

根据纸张要求设置它的宽度和显示高度还有根据要显示的数据列出表格数量和每格宽度高度。

在文本中写入变量:

注意:

在设置金额时,须将变量加个(c),变成字符串形式,否则显示时候会不齐。

6.计算当前页:

7.记录空行:

8.空数据条目循环:

where条件为空

循环内表GTD_BLANKS,次数为内表中的记录数,即空行数,打印输出空行。

空数据条目循环模板设置要与前面的明细模板一只

主窗口的高度必须等于你需要的高度,不要多,也不要少,在本例中,高度为10行x11mm=110mm,不一致分页效果将出现两页数据在一页而分页正常,导致错误。

9.强制分页:

一般属性——>

转到新页

条件:

WINDOW1中模板设置一下行与列的值就行了,很简单,如图所示:

差点忘了一点,就是上面的清空数据一定要有:

清空数据才能保证数据经过循环后达到想要的值

最后实现效果:

本例中g_line1和g_page可以不设,设置是为了其他功能,想实现简单的单据完全可以不设置。

下面是调用程序:

*&

---------------------------------------------------------------------*

ReportZMM_TEST04

*Program:

采购订单打印

*Author:

杨路

*Date:

2011/8/4

*Description:

打印采购订单

REPORTZMM_TEST04.

EKKO,EKPO,EKET,MAKT.

DATA:

GTD_DATATYPESTANDARDTABLEOFZMM_TEST01,

GTH_DATATYPEZMM_TEST01.

GWK_FORMNAMETYPESTXFTXT-FORMNAME,

GWK_FNAMETYPERS38L_FNAM.

GTD_HEADERTYPESTANDARDTABLEOFZMM_TESTHEADER01,

GTH_HEADERTYPEZMM_TESTHEADER01.

GTD_ITEMTYPESTANDARDTABLEOFZMM_TESTITEM01,

GTH_ITEMTYPEZMM_TESTITEM01.

LTD_HEADERTYPESTANDARDTABLEOFZMM_TESTHEADER01,

LTH_HEADERTYPEZMM_TESTHEADER01,

LTD_ITEMTYPESTANDARDTABLEOFZMM_TESTITEM01,

LTH_ITEMTYPEZMM_TESTITEM01.

*--------------------------------------------------------------------------*

*selection-screen

SELECTION-SCREENBEGINOFBLOCKB1WITHFRAMETITLETEXT-001.

SELECT-OPTIONS:

S_BSARTFOREKKO-BSART,

S_AEDATFOREKKO-AEDAT,

S_EBELNFOREKKO-EBELN,

S_EKORGFOREKKO-EKGRP,

S_EKGRPFOREKKO-EKORG,

S_LIFNRFOREKKO-LIFNR.

SELECTION-SCREENENDOFBLOCKB1.

*----------------------------------------------------------------------*

*START-OF-SELECTION

START-OF-SELECTION.

PERFORMSUB_GET_DATA.

PERFORMSUB_PRINT.

FORMSUB_GET_DATA.

SELECT

EKKO~LIFNR

EKKO~EKORG

EKPO~WERKS

EKKO~EBELN

EKKO~AEDAT

INTOCORRESPONDINGFIELDSOFTABLEGTD_HEADER

FROMEKKO

INNERJOINEKPOONEKKO~EBELN=EKPO~EBELN

WHEREEKKO~BSARTINS_BSART

ANDEKKO~AEDATINS_AEDAT

ANDEKKO~EBELNINS_EBELN

ANDEKKO~EKORGINS_EKORG

ANDEKKO~EKGRPINS_EKGRP

ANDEKKO~LIFNRINS_LIFNR.

EKPO~EBELP

MAKT~MATNR

MAKT~MAKTX

EKPO~MENGE

EKPO~MEINS

EKPO~NETPR

EKKO~WAERS

EKET~EINDT

INTOCORRESPONDINGFIELDSOFTABLEGTD_ITEM

LEFTJOINEKETONEKPO~EBELN=EKET~EBELN

ANDEKPO~EBELP=EKET~EBELP

LEFTJOINMAKTONEKPO~MATNR=MAKT~MATNR

intotableGTD_DATA

ENDFORM.

FORMSUB_PRINT.

CLEAR:

LTD_HEADER,LTD_ITEM.

LOOPATGTD_DATAINTOGTH_DATA.

READTABLEGTD_HEADERINTOGTH_HEADERWITHKEYEBELN=GTH_DATA-EBELN.

IFSY-SUBRC=0.

MOVE-CORRESPONDINGGTH_HEADERTOLTH_HEADER.

COLLECTLTH_HEADERINTOLTD_HEADER.

CLEARLTH_HEADER.

ENDIF.

READTABLEGTD_ITEMINTOGTH_ITEMWITHKEYEBELN=GTH_DATA-EBELN

EBELP=GTH_DATA-EBELP.

MOVE-CORRESPONDINGGTH_ITEMTOLTH_ITEM.

COLLECTLTH_ITEMinTOLTD_ITEM.

CLEARLTH_ITEM.

ENDLOOP.

CALLFUNCTION'

SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME='

ZMM_TEST04'

IMPORTING

FM_NAME=GWK_FNAME.

CALLFUNCTIONGWK_FNAME

TABLES

GTD_HEADER=LTD_HEADER"

headertable

GTD_ITEM=LTD_ITEM"

itemtable

EXCEPTIONS

FORMATTING_ERROR=1

INTERNAL_ERROR=2

SEND_ERROR=3

USER_CANCELED=4

OTHERS=5.

IFSY-SUBRC<

>

0.

MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO

WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.

ENDFORM."

SUB_PRINT

新到公司用sap,开始学习sapabap,什么都不太会,做了好几天才搞出来个单据和一个报表,将过程写出来分享,希望高手指出不足,我会非常之感激。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1