将2个参数从营销文档传递到Crystal Report中

2020-09-27 21:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的大师,

我现在正在设计销售发票,交货单,并在水晶报表中退还这些相关文件。

我发现它们中的大多数是相似的,并且想找出我是否可以使用1个水晶来完成所有文档。

根据我的理解,打印表格只会从SAP b1中传递单个参数DocKey。

我是否可以再添加一个参数,以指示该表格是从销售订单中打印出来的,例如 如此向水晶报告? 我想知道打印动作来自哪里。

还是我可以添加一个默认参数,该参数将自动传递给Crystal报表以执行相同的行为?

P.S。 可能不会考虑使用任何附加模块来解决该问题,但希望对此有所了解

非常感谢。

最好的问候

丹尼尔

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的大师,

我现在正在设计销售发票,交货单,并在水晶报表中退还这些相关文件。

我发现它们中的大多数是相似的,并且想找出我是否可以使用1个水晶来完成所有文档。

根据我的理解,打印表格只会从SAP b1中传递单个参数DocKey。

我是否可以再添加一个参数,以指示该表格是从销售订单中打印出来的,例如 如此向水晶报告? 我想知道打印动作来自哪里。

还是我可以添加一个默认参数,该参数将自动传递给Crystal报表以执行相同的行为?

P.S。 可能不会考虑使用任何附加模块来解决该问题,但希望对此有所了解

非常感谢。

最好的问候

丹尼尔

付费偷看设置
发送
9条回答
SAP砖家
1楼 · 2020-09-27 21:52.采纳回答

您好,丹尼尔,您曾经尝试创建1个水晶报表,添加一个表,比如说OINV,显示DocNum和CardCode。
将其导入发票布局。 按预期运行该报表,您将在报表上获得OINV DocNum和CardCode。

接下来,使用相同的水晶报表,将其加载到销售订单布局,甚至是采购发票布局中。
现在运行报告。 您会注意到SAP将为您处理它。 该报告将为您提供ORDR或OPCH中的数据。

Edy

暮风yp
2楼-- · 2020-09-27 21:47

您好,Daniel,
SAP知道哪个标准表属于Documents,在 在运行时,所有DOCUMENTS表都将被打印范围替换,即,在打印发票时,所有DOCUMENT表将被'INV'表替换。
但是,这里有2个问题:

  1. 如果使用SP,则运行时将无法检测到,并且将使SP保持完整。 因此,您需要自己处理SP中的分支。 即。 如果您使用表格作为主要来源来设计报告,那么这将起作用。
  2. 如果您要打印基于其他文档的发票,即基于订单的发票,并且需要显示ORDR表中的信息,则不能在CR中包括ORDR表,因为运行时会将" ORDR"替换为" OINV'表(因为ORDR是文档表,并且报告的范围是发票)。 为此,您需要在ORDR表中包含一个VIEW。

最后,在 runtime.ie 期间,还有其他参数传递给了CR。

  • 对象类型的'ObjectId @'
  • printbyusername @作为当前用户名
  • 用于当前用户代码的UserCode @(仅当您将CR导入为布局时可用。

这里可能不包含其他参数。

关于
Edy

小c菟菟
3楼-- · 2020-09-27 21:44

嗨,

在下面找到您问题的答案:-

我可以用1个水晶来完成所有文档吗?

是的,通过创建单个存储过程,您可以对所有销售单据使用一种晶体布局。 在此存储过程中,您必须为每个文档添加对象类型。 Dockey应该是文档的主体。

此致

Nagarajan

Climb_Ma
4楼-- · 2020-09-27 22:09

嗨,

能否请您提供有关对象类型的详细信息?

我应该使用它作为参数吗? 还是其他?

此致

Daniel

蓋茨
5楼-- · 2020-09-27 22:03

这里有对象类型的详细信息,并将其用作参数,

DECLARE @sTableID NVARCHAR(4)

IF @ ObjectId @ = '23'SELECT @sTableID ='QUT'

IF @ ObjectId @ ='17'SELECT @sTableID ='RDR'

IF @ ObjectId @ ='22'SELECT @sTableID ='POR'

如果@ ObjectId @ ='13'SELECT @sTableID ='INV'

如果@ ObjectId @ ='14'SELECT @ sTableID ='RIN'

IF @ ObjectId @ ='15'SELECT @sTableID ='DLN'

IF @ ObjectId @ ='203'SELECT @sTableID ='DPI'

IF @ ObjectId @ ='18'SELECT @sTableID ='PCH'

IF @ ObjectId @ ='19'SELECT @sTableID ='RPC'

IF @ ObjectId @ ='112 'SELECT @sTableID ='DRF'

clever101
6楼-- · 2020-09-27 22:02

在水晶报表中如何?

您能给我一个例子,说获得BP代码和Inv no。 在存储过程和水晶报表中?

致谢

Daniel

CJones
7楼-- · 2020-09-27 21:54

您好,Daniel

如果您使用其中一个SAP示例报告作为基础,则SAP存储过程将已经存在并且可以满足这些要求 要求。 如果您的数据库中还没有SAP示例报告,可以从文档区域下载

一周热门 更多>