如何在SAP业务1的SQL中显示发票行的批号

2020-09-09 00:45发布

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

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


您好,专家,我想获取AR发票上的行以及其他文档的批号。我有在Crystal Reports中使用的sql报表。
帮助我更改查询以获取此信息吗?

最好的问候

卡米拉

这是我的查询

选择T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName ] AS'Sprzedawca',I1。[ItemCode] AS'Indeks',I1。[Dscription] AS'Nazwausługi',
I1。[数量] AS'Ilość',I1。[价格] AS' Cena netto poupuście",当M1.MainCurncy <> I1.Currency然后I1.TotalFrgn ELSE I1.LineTotal END值,I1。[Currency] AS'Waluta',I1。[WhsCode] AS' Magazyn',I1。[OcrCode] AS'MPK',I1。[U_ContainerNo] AS'Nr Kontenera',P.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS' Typ Kontenera',T2。[ItmsGrpCod]从F0 OINV T0到IN1的内部联接IN1上T0。[DocEntry] = I1。[DocEntry]到I1的内部联接OITM T2上。[ItemCode] = T2。 [ItemCode]
内部联接OSLP T3到T0。[SlpCode] = T3。[SlpCode]
内部联接对象P ON I1。[ItemCode] = P. [ItemCode]
,OADM M1
在哪里T0。{?DataOd}和{?DataDo} AND之间的[DocDate] I1。[ItemCode]不像'UH026'和I1。[ItemCode]不像'UT%'和I1。[ItemCode]不一样 " ZK%"和I1。[ ItemCode]不类似于" UI%"
UNION ALL T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[ CardName],T0。[DocDate],T3。[SlpName] AS'Sprzedawca',K1。[ItemCode] AS'Indeks',K1。[Dscription] AS'Nazwausługi',
K1。[Quantity] AS' Ilość',-(K1。[Price])AS'Cena netto poupuście',
当M1.MainCurncy <> K1.Currency THEN-(K1.TotalFrgn)ELSE-(K1.LineTotal)END值时的情况,< br> K1。[Currency] AS'Waluta',K1。[WhsCode] AS'Magazyn',
K1。[OcrCode] AS'MPK',K1。[U_ContainerNo] AS'Nr Kontenera',P.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS'Typ Kontenera',T2。[ItmsGrpCod] 内部联接PCH1 K1到T0。[DocEntry] = K1。 [DocEntry]在K1上的内部联接OITM T2。[ItemCode] = T2。在T0上的[ItemCode]
内部联接OSLP T3。[SlpCode] = T3。[SlpCode]
在K1上的内部联接对象。 。[ItemCode] = P. [ItemCode]
,OADM M1 。在{?DataOd}与{?DataDo}
AND K1之间的[DocDate]。[ItemCode]与'UH026'和 K1。[ItemCode]不像'UT %'和K1。[ItemCode]不像'ZK%'和K1。[ItemCode]不像'UI%'
UNION ALL
SELECT T0。[DocEntry],T0。[DocType],T0。[ DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName] AS'Sprzedawca',T1。[ItemCode] AS'Indeks',T1。[ 说明] ​​AS'Nazwausługi',
SUM(T1。[Quantity])AS'Ilość',NULL'Cena netto po upuciecie',
SUM(当M1.MainCurncy <> T1.Currency THEN T1时。 TotalFrgn ELSE T1.LineTotal END)值,
T1。[货币] AS'Waluta',T1。[WhsCode] AS'Magazyn',T1。[OcrCode] AS'MPK',T1。[U_ContainerNo] AS'Nr Kontenera',P.DistNumber,(T2。[U_ContainerSize] +''+ [U_ContainerType])AS'Typ Kontenera',T2。[ItmsGrpCod]
FROM OCSI T0
内连接CSI1 T1开启T0。[DocEntry] = T1。[DocEntry]
内连接OITM T2开启T1。[ItemCode] = T2。[ItemCode]
内连接OSLP T3开启T0。[SlpCode] = T3。[SlpCode ]
T1上的内部联接对象。[ItemCode] = P. [ItemCode]
,OADM M1 T0。[DocDate]在{?DataOd}和{?DataDo}
AND T1之间 。[ItemCode]不喜欢'UH0 26'和T1。[ItemCode]不像'UT%'和T1。[ItemCode]不像'ZK%'和T1。[ItemCode]不像'UI%'
GROUP BY T0。[DocEntry],T0 .. [DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName],T1。[ItemCode],T1。[ Dscription],T1.Currency,T1.WhsCode,T1.OcrCode,T1.U_ContainerNo,T2.U_ContainerType,T2.U_ContainerSize,T2.ItmsGrpCod,P。[DistNumber]
求和(在M1.MainCurncy <> T1的情况下) 。货币然后T1.TotalFrgn ELSE T1.LineTotal END)<> 0 T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。 [CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName] AS'Sprzedawca',T1。[ItemCode] AS'Indeks',T1。[Dscription] AS'Nazwausługi',
SUM(T1。[Quantity])AS'Ilość',NULL'Cena netto poupuście',SUM(当M1.MainCurncy <> T1.Currency THEN-(T1.TotalFrgn)ELSE-(T1.LineTotal)时的情况 END)值,
T1。[货币] AS'Waluta',T1。[WhsCode] AS'Magazyn',T1。[OcrCode] AS'MPK',T1。[U_ContainerNo] AS'Nr Kontenera' ,P.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS'Typ Kontenera',T2。[ItmsGrpCod] OCPI T0
内连接CPI1 T1到T0。[DocEntry] = T1。 [DocEntry]
内部联接OITM T2处于T1。[ItemCode] = T2。[ItemCode]
内部联接OSLP T3处于T0。[SlpCode] = T3。[SlpCode]
内部联接对象TN1 .. [ItemCode] = P. [ItemCode]
,OADM M1 。在{?DataOd}与{?DataDo}
AND T1之间的[DocDate]。[ItemCode]与'UH026'和 T1。[ItemCode]不喜欢'UT%'和T1。[ItemCode]不喜欢'ZK%'和T1。[ItemCode]不喜欢'UI%'
GROUP BY T0。[DocEntry],T0。[DocType ],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName],T1。[ItemCode],T1。[Dscription], T1.Currency,T1.WhsCode,T1.OcrCode,T1.U_ContainerNo,T2.U_ContainerType,T2.U_ContainerSize,T2.ItmsGrpCod,P。[DistNumber] 正在求和(在M1.MainCurency <> T1.Currency的情况下) T1.TotalFrgn ELSE T1.LineTotal END)<> 0 T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode] ,0 .. [CardName],T0。[DocDate],T3。[SlpName] AS'Sprzedawca',T1。[ItemCode] AS'Indeks',T1。[Dscription] AS'Nazwausługi',
-(T1。[ 数量])AS'Ilość',-(T1。[价格])AS'Cena netto poupuście',
当M1.MainCurncy <> I1.Currency THEN-(I1.TotalFrgn)ELSE-(I1.LineTotal )结束值,
T1。[货币] AS'Waluta',T1。[WhsCode] AS'Magazyn',T1。[OcrCode] AS'MPK',T1。[U_ContainerNo] AS'Nr Kontenera' ,P.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS'Typ Kontenera',T2。[ItmsGrpCod]
FROM ORIN T0
内部联接RIN1 T1到T0。[ DocEntry] = T1。[DocEntry]
内部联接OITM T2上T1。[ItemCode] = T2。[ItemCode]
内部联接OSLP T3上T0。[SlpCode] = T3。[SlpCode]
INNER T1上的JOIN OBTNP。[ItemCode] = P. [ItemCode]
内部联接INV1 I1在I1.DocEntry = T1.BaseEntry和I1.LineNum = T1.BaseLine
,OADM M1在哪里T0。 在{?DataOd}和{?DataDo}
AND之间的[DocDate] T1。[ItemCode]不喜欢'UH026'和T1。[ItemCode]不喜欢'UT%'和T1。[ItemCode]不喜欢'ZK% ' 一个 nd T1。[ItemCode]不喜欢'UI%'
UNION ALL
SELECT T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode] ,T0。[CardName],T0。[DocDate],T3。[SlpName] AS'Sprzedawca',T1。[ItemCode] AS'Indeks',T1。[Dscription] AS'Nazwausługi',T1。[ 数量] AS'Ilość',T1。[价格] AS'Cena netto poupuście',
例M1.MainCurncy <> T1.Currency THEN T1.TotalFrgn ELSE T1.LineTotal END值,
T1。[ 货币] AS'Waluta',T1。[WhsCode] AS'Magazyn',T1。[OcrCode] AS'MPK',T1。[U_ContainerNo] AS'Nr Kontenera',P.DistNumber,
(T2 。[U_ContainerSize] +''+ [U_ContainerType])AS'Typ Kontenera',T2。[ItmsGrpCod]
FROM ORPC T0 内部联接RPC1 T1到T0。[DocEntry] = T1。[DocEntry]
内部联接OITM T2上T1。[ItemCode] = T2。[ItemCode]
内部联接OSLP T3上T0。[SlpCode] = T3。[SlpCode]
内部联接对象T1。[ItemCode] = P. [ItemCode]
INNER JOIN PCH1 K1 ON K1.DocEntry = T1.BaseEntry和K1.LineNum = T1.BaseLine
,OADM M1
T0。[DocDate]在{?DataOd}和{之间 ?DataDo}
AND T1。[ItemCode]不像'UH026'和T1。[ItemCode]不像'UT%'和T1。[ItemCode]不像'ZK%'和T1。[ItemCode]不像' UI%'
ORDER BY I1。[ItemCode]

付费偷看设置
发送
8条回答
哎,真难
1楼 · 2020-09-09 01:11.采纳回答

嗨,

我找到正确的JOIN。

非常感谢!

选择T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName ],Z1。[ItemCode],
Z1。[Dscription],Z1。[Quantity],Z1。[Price],当M1.MainCurncy <> Z1.Currency THEN Z1.TotalFrgn ELSE Z1.LineTotal时的情况 结束值,
Z1。[Currency],Z1。[WhsCode],
Z1。[OcrCode],P3.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS' 典型的Kontenera',T2。[ItmsGrpCod]从F0的OINV T0的内部连接INV1 Z1在T0。[DocEntry] = Z1。[DocEntry]的内部连接OITM T2在Z1上。[ItemCode] = T2。 [ItemCode]
内部联接OSLP T3到T0。[SlpCode] =内部联接OITL P0到P0。[ApplyEntry] = T0。[DocEntry]和P0。[ApplyType] = T0。 [ObjType]和P0。[ApplyLine] = Z1。[LineNum]
内部联接ITL1 P2在P0上。[LogEntry] = P2。[LogEntry]在内部联接OBTN P3在P3上。[AbsEntry] = P2。 [MdAbsEntry],OADM M1,其中Z1。[ItemCode]不像'UH026'和Z1。[ItemCode]不像'UT%'和Z1。[ItemCode]不像'ZK%'和Z1。 [ItemCode]不喜欢" UI%"

亦是此间程序员
2楼-- · 2020-09-09 01:06

我不知道应该在哪里添加CAST ...

compass1988
3楼-- · 2020-09-09 01:15

您必须从OITL和ITL1表中获取数据。 这些表包含每个文档中包含的批号。

问候

奥古斯丁

4楼-- · 2020-09-09 01:15

你好奥古斯丁,

不幸的是,我在OITL和ITL1表中看不到批次号。
哪个字段是OBTN,OITL,ITL1和INV1之间的映射键?

追夢秋陽
5楼-- · 2020-09-09 01:25

在oitl中,您好,您有文档条目和分配批次的文档类型。 在logentry字段中,您必须加入ITL1并获取批次的ID,并且必须加入OBTN表以获得批次号。

亲切的问候

Agustín

jovirus
6楼-- · 2020-09-09 01:24

我尝试按照您的建议进行操作,但仍然无法正常工作,如何解决以下错误? 我没有

值" I"的任何地方

95年老男孩
7楼-- · 2020-09-09 01:15

我解决了此错误,但此JOIN仍然有问题, 因为现在我没有任何结果。

这是怎么了?

选择T0。[DocEntry],T0。[DocType],T0。[DocNum],T0。[ObjType],T0。[CardCode],T0。[CardName],T0。[DocDate],T3。[SlpName ],Z1。[ItemCode],
Z1。[Dscription],Z1。[Quantity],Z1。[Price],当M1.MainCurncy <> Z1.Currency THEN Z1.TotalFrgn ELSE Z1.LineTotal时的情况 结束值,
Z1。[Currency],Z1。[WhsCode],
Z1。[OcrCode],P0.DistNumber,
(T2。[U_ContainerSize] +''+ [U_ContainerType])AS' 典型的Kontenera',T2。[ItmsGrpCod]从F0的OINV T0的内部连接INV1 Z1在T0。[DocEntry] = Z1。[DocEntry]的内部连接OITM T2在Z1上。[ItemCode] = T2。 [ItemCode]
内部联接OSLP T3上T0。[SlpCode] = T3。[SlpCode]
内部联接OITL P1上cast(P1。[DocType] as char)= T0。[DocType]和P1。[ DocEntry] = Z1。[DocEntry]
内部连接ITL1 P2在P1上。[LogEntry] = P2。[LogEntry] <内部>内部连接OBTN P0在P0上。[AbsEntry] = P2。[MdAbsEntry]和P0。[ ItemCode] = P2。[ItemCode]
,OADM M1
在哪里Z1。[ItemCode]不像'UH026'和Z1。[ItemCode]不像'UT%'和Z1。[ItemCode]不像'ZK %'和Z1。[ItemCode]不喜欢 'UI%'

一周热门 更多>