[go: up one dir, main page]

Weitere Fields, Parameter für Report auft_auftrag_offene_details.jrxml

Zusammenfassung

In einem Anwenderreport (##10015) sind eine Vielzahl von direkten Datenbankabfragen enthalten. Diese bremsen / blockieren vermutlich den Wildfly. Daher sollten diese direkt an den Report auft_auftrag_offene_details.jrxml angeliefert werden.

Modul, Maske, Terminal, API-Aufruf, Bericht

Auftrag, Journal, offene Details mit LagerstandsdetailauswertungAuftrag_Journal_offene_Details_mit_Lagerstandsdetail. Für den Test das Lagerstandsdetailauswertung anhaken.

Es werden folgende zusätzliche Parameter benötigt:

Es werden folgende zusätzliche Fields benötigt:

  • KundeFremdsystem: $P{P_SQLEXEC}.execute( "select c_fremdsystemnr from part_kunde where i_id=("+ "select kunde_i_id_auftragsadresse from auft_auftrag where c_nr='"+$F{Auftragcnr}+"');" )
  • Bestelldatum, aus dem Auftrag $P{P_SQLEXEC}.execute( "select t_bestelldatum from auft_auftrag where c_nr='"+$F{Auftragcnr}+"';" )
  • SchonGefertigt, vor allem um zu erkennen, ob das ein NeuTeil ist. Es gibt da auch eine Funktionalität ErstLos, was dieser Bedeutung entspricht. $P{P_SQLEXEC}.execute( "select count(I_ID) from fert_los where stueckliste_i_id="+ "(select i_id from stk_stueckliste where artikel_i_id="+ "(select i_id from ww_artikel where c_nr='"+$F{Artikelcnr}+"'))"+ "and (status_c_nr='Erledigt' or status_c_nr='Teilerledigt');" )
  • Forecastmenge dieses Artikels für die nächsten 12Monate ab morgen $P{P_SQLEXEC}.execute( "select sum(n_menge) from fc_forecastposition "+ "inner join fc_forecastauftrag on fc_forecastauftrag.i_id=fc_forecastposition.forecastauftrag_i_id "+ "where artikel_i_id = (select i_id from ww_artikel where c_nr='"+F{Artikelcnr}+"' and mandant_c_nr='"+P{P_MANDANT_OBJ}.getMandantCNr()+"') "+ "and fc_forecastauftrag.status_c_nr='Freigegeben' "+ "and fc_forecastposition.t_termin >= '"+$V{V_Jahr_VonStrg}+"' and fc_forecastposition.t_termin < '"+$V{V_Jahr_BisStrg}+"';" )

ACHTUNG: Bitte immer auch die Mandantenverknüpfung mit dazu, damit dies allgemeingültig wird.

Im Summary und damit als einmaliger Parameter werden folgende Subreports benötigt

$P{P_SQLEXEC}.subreport( "select c_nr, c_bez from ww_artikel "+ "inner join ww_artikelspr on ww_artikel.i_id = artikel_i_id "+ "where b_rahmenartikel=1 and not c_nr in ("+$V{Rahmenartikel}+") order by c_nr;", new String[] { "c_nr", "c_bez"})

Der $V{Rahmenartikel} ist eine Liste aller Artikel (aus dem Report) die keine Stücklistenposition sind und die Rahmenreservierungen haben. Das Thema ist hier die Frage, wie man so einen einmaligen P_SQLEXEC aus dem Jasper aufruft, sodass er nicht für jede Detailzeile ausgeführt wird.

Dieser Report wird nur übergeben, wenn NUR die Rahmenaufträge ausgewertet werden, also Nur_Rahmenauftraege

Edited by Andreas Daum