Hallo peterw,
schönen dank für deine Antwort und den Hinweis auf die Informationen.
Habe das Script eingebunden und einen Artikel erfasst.
Dabei bekam ich bei der Script-Ausführung den Fehler, das die
Procedure "P_BPROPBSA_LESEN" unbekannt ist.
Woran liegt das?
Mfg.
A. Seeger
ParamByName für IB_StoredProc ist falsch
StoredProc-Name: StP_Universal
IB-PROCEDURE-Name: P_BPROPBSA_LESEN
Name von ParamByName: BSA_ID
SQL-Anweisung: EXECUTE PROCEDURE P_BPROPBSA_LESEN
Aufruf erfolgte von:
IB-Exception: Meldung von der AVERP-Datenbank
Errcode: 335544569
ErrorMessage: ISC Fehlernummer:335544569
ISC Fehlermeldung:
Dynamic SQL Error
SQL error code = -204
Procedure unknown
P_BPROPBSA_LESEN[/b]
STATEMENT:
TIB_StoredProc: "<TApplication>.frmData.StP_Universal."
SQLMessage: EXECUTE PROCEDURE P_BPROPBSA_LESEN
SQLCODE: -204
Artikelnummer automatisch generieren anhand von Sachmerkmale
Moderator: SYNERPY
-
- Beiträge: 2
- Registriert: Do Aug 17, 2006 5:32 pm
- Wohnort: Dortmund
-
- Site Admin
- Beiträge: 2673
- Registriert: Di Feb 10, 2004 5:48 am
- Wohnort: Bayreuth
Code: Alles auswählen
SET TERM ^ ;
CREATE PROCEDURE P_BPROPBSA_LESEN(
BSA_ID INTEGER,
BPROP_ID INTEGER,
WERTART SMALLINT)
RETURNS (
INHALT VARCHAR(100))
AS
DECLARE VARIABLE nStart INTEGER;
DECLARE VARIABLE sWertTrenner VARCHAR(1);
DECLARE VARIABLE AUSWAHL VARCHAR(1000);
BEGIN
/* LETZTER STAND: 16.07.2003 14:24:19 GK */
/* Inhalt bzw. Teil eines Inhalts eines Sachmerkmale lesen
z.B. wenn Inhalt: 020=130/225 ist */
/* PROTOKOLLIEREN, DAS AKTION HIER DURCHGELAUFEN IST */
IF (GEN_ID(GEN_ENTWICKLUNG,0) = 0) THEN
INSERT INTO A_WASMACHTIB (PROGRAMMTEIL) VALUES ('P_BPROPBSA_LESEN');
INHALT = NULL;
IF ((BSA_ID IS NULL) OR (BPROP_ID IS NULL)) THEN
BEGIN
SUSPEND;
EXIT;
END
IF (WERTART IS NULL) THEN WERTART = 0;
/* Trenner momentan fest - später aus BPROP auslesen */
IF (BPROP_ID = 2) THEN
sWertTrenner = '/';
ELSE
sWertTrenner = '';
SELECT VA.INHALT
FROM BPROPBSA VA
WHERE VA.BSA_ID_LINKKEY = :BSA_ID AND VA.BPROP_ID = :BPROP_ID
INTO :INHALT;
AUSWAHL = NULL;
SELECT F_STRINGLISTITEM(VB.AUSWAHL,:INHALT)
FROM BPROP VB
WHERE VB.ID = :BPROP_ID AND VB.AUSWAHL IS NOT NULL
INTO :AUSWAHL;
IF (AUSWAHL IS NOT NULL) THEN
INHALT = AUSWAHL;
/* ACHTUNG F_SUBSTR fängt bei 0 an zu zählen */
IF (WERTART IN (1,2,3,4)) THEN
nStart = F_SUBSTR('=',INHALT);
ELSE
nStart = -1;
IF ((nStart > 0) AND (WERTART IN (2,3,4))) THEN
nStart = nStart + 1;
IF (nStart > 0) THEN
IF (WERTART = 1) THEN
/* linken Teil = Names zurückgeben */
INHALT = F_LEFT(INHALT,nStart);
ELSE
IF (WERTART = 2) THEN
/* rechten Teil komplett = Values zurückgeben */
INHALT = F_MID(INHALT,nStart,100);
ELSE
IF ((WERTART = 3) AND (sWertTrenner <> '')) THEN
BEGIN
/* Nur linken Teil von Value zurückgeben
momentan fest programmiert - später aus Tabelle BPROP auslesen */
INHALT = F_MID(INHALT,nStart,100);
nStart = F_SUBSTR(sWertTrenner,INHALT);
IF (nStart > 0) THEN
INHALT = F_LEFT(INHALT,nStart);
END
ELSE
IF ((WERTART = 4) AND (sWertTrenner <> '')) THEN
BEGIN
/* Nur rechten Teil von Value zurückgeben
momentan fest programmiert - später aus Tabelle BPROP auslesen */
INHALT = F_MID(INHALT,nStart,100);
nStart = F_SUBSTR(sWertTrenner,INHALT)+1;
IF (nStart > 2) THEN
INHALT = F_MID(INHALT,nStart,100);
END
SUSPEND;
END
^
SET TERM ; ^
GRANT INSERT ON A_WASMACHTIB TO PROCEDURE P_BPROPBSA_LESEN;
GRANT SELECT ON BPROPBSA TO PROCEDURE P_BPROPBSA_LESEN;
GRANT SELECT ON BPROP TO PROCEDURE P_BPROPBSA_LESEN;
GRANT EXECUTE ON PROCEDURE P_BPROPBSA_LESEN TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE P_BPROPBSA_LESEN TO SYSDBA;