Home › Forum › Allgemeines › Allgemeines zu Nuclos › VLP Parameter Unterstrich
- Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 2 Monaten von
Dieter Mennig.
-
AutorBeiträge
-
23 September 2017 um 14:58 Uhr #9727
Martin Rithos
TeilnehmerHallo,
es wird nun beim Speichern von VLP abgefragt, ob der Parametername ein Unterstrich enthält. Ist dies der Fall, ist keine Speicherung möglich. Das bedeutet, dass ich vorhandene VLP nicht mehr editieren kann ohne den Parameter umzustellen.
Nur leider bin ich scheinbar zu blöd… VLP, die einen Parameternamen ohne _ enthalten, bekomme ich nicht mehr zum Laufen.
Was ist zu ändern? Kann mir jemand am Beispiel des VLP „VLP Adresse je Lieferant“ kurz aufzeigen, was zu ändern ist?
Ich hätte gedacht ich ändere den Parametername in intidlieferant und in der SQL-Abfrage folgende Zeile:
T3.“intid_strlieferant“ = $intid_lieferant
in
T3.“intid_strlieferant“ = $intidlieferantAber danach funktioniert der VLP nicht mehr.
Parametername: intid_lieferant
Datentyp: integer
SELECT
T3."intid_strlieferant" "intid_strlieferant",
T3."intid" "intid",
T3."strname" || ' ' || T4."strplz" || ' ' || T4."strort" "Adresse",
T3."blnstandard" "DEFAULT"
FROM
Z2KF_ADRESSE T3
LEFT OUTER JOIN Z2KF_POSTLEITZAHLEN T4 ON T3.intid_strplzort = T4.intid
WHERE
(
T3."intid_strlieferant" = $intid_lieferant
)Vielen Dank.
Attachments:23 September 2017 um 16:48 Uhr #9728Dieter Mennig
TeilnehmerHi priorditch,
wo hast du denn Anpassungen vorgenommen?
Du musst den Parameter in der WHERE Klausel ändern.
WHERE
(
T3.“intid_strlieferant“ = $intid_lieferant
)wird z.B. zu
WHERE
(
T3.“intid_strlieferant“ = $intidlieferant
)Hier mal meine SQL Anweisung
SELECT
T3.“intid_strlieferant“ „intid_strlieferant“,
T3.“intid“ „intid“,
T3.“strname“ || ‚ ‚ || T4.“strplz“ || ‚ ‚ || T4.“strort“ „Adresse“,
T3.“blnstandard“ „DEFAULT“
FROM
BF2Y_ADRESSE T3
LEFT OUTER JOIN BF2Y_POSTLEITZAHLEN T4 ON T3.intid_strplzort = T4.intid
WHERE
(
T3.“intid_strlieferant“ = $intid… funktioniert einwandfrei.
Hope this helps.
23 September 2017 um 17:09 Uhr #9730Martin Rithos
TeilnehmerGenau das habe ich gemacht. Das Beispiel aus dem Ursprungsbeitrag ist ein VLP aus dem Basistemplate des Nuclosteams. Dies funktioniert. Sobald ich den Paratername ändere und dies ebenso in der Where-Klausel, funktioniert es nicht mehr. (siehe Anhang)
Masken und alles weitere habe ich bereits kontrolliert und neugeladen. Dies ist wie gesagt bei meinen selbst erstellten VLPs genauso.
Attachments:23 September 2017 um 18:18 Uhr #9731Dieter Mennig
TeilnehmerVersuche als Parameter mal $intid
Ich arbeite so nicht mit den Objekten aus dem Basistemplate. Ich habe mir ein Partnerobjekt gemacht. Hier mal ein select dazu. Damit werden die Ansprechpartner je Partner selektiert. Das funktioniert. Ich habe den Parameter auch mal umbenannt in intidap, funktioniert auch.
SELECT
T1.“intid_strrpartner“ „rPartner“,
T1.“intid“ „intidap“,
T3.“intid“ „„,
case when T1.“intid_strranrede“ is null then T1.“strtnachname“ || ‚ ‚ || T1.“strtvorname“ else
T2.“strtname“ || ‚ ‚ || T1.“strtnachname“ || ‚ ‚ || T1.“strtvorname“ end as strapname,
T1.“strtnachname“ „tNachname“,
T1.“strtvorname“ „tVorname“,
T1.“blnstandard“ „blnstandard“,
T2.“strtname“ „tNname“
FROM
bf2y_ansprechpartner T1
INNER JOIN bf2y_anrede T2 ON T1.intid_strranrede = T2.intid
INNER JOIN (SELECT * FROM bf2y_partner WHERE STRUID_NUCLOSMANDATOR in (‚$mandator‘)) T3 ON T1.intid_strrpartner = T3.intid
WHERE
(
T3.“intid“ = $intid
)
ORDER BY T1.“strtnachname“Kommt bei dir denn eine Fehlermeldung o.ä. oder findet er keine Datensätze?
-
AutorBeiträge