Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ahoj,
- tak jsem procházel tu #836.
- Ve zkratce.
- Jde o prackage B2BG_TRANSFER_ACT2CAT;
- konrétně metodu P_CHECK_VALIDITY_OF_CONFIRMED;
- ovšem chyba se dá nalést i na metodě P_TRANSFER_VALID;
- obě dvě totiž volají pod proceduru P_TRANSFER_ARTICLECARDCOLLECT
- problém dělá tento kód:
- select * into r_artCollectionDst from B2BT_T_CATARTICLECOLLECTION catCol
- where catCol.ARTICLECARD_ID = n_catAcId;
- proč dělá problém? :
- protože se snaží do r_artCollectionDst B2BT_T_CATARTICLECOLLECTION%rowtype; nakopírovat něco, co řádek není. Je tam více než jeden záznam. (Jako výskedek dotazu)
- proč je t am více než jeden záznam ?
- protože pokud pro cursor c_articleCollection(n_acId B2BT_T_ACTARTICLECARD.id%type) is
- select * from B2BT_T_ACTARTICLECOLLECTION col where col.aarticlecard_id = n_actAcId;
- vyjde pro stejné n_actAcId více záznamů, tak se odehraje následující.
- Kupříkladu takhle:
- vznikne výjimka no data found --> takže vytvoříme data do B2BT_T_CATARTICLECOLLECTION;(řádek 286) (insertne kupříkladu tři řádky pro aarticlecard_id = 4914)
- no a poté protože stejné id máme minimálně ještě jednou v c_articleCollection.
- tak select * into r_artCollectionDst from B2BT_T_CATARTICLECOLLECTION catCol
- where catCol.ARTICLECARD_ID = n_catAcId; se snaží nakopírovat více než řádek(3 řádky) do jednoho řádku. Což žpůsobí přiloženou chybu na ticketu.
- ------------------------------------------
- Zítra si s vámi dám ještě meeting na 9tou a ještě to nějak povysvětlím osobně.
- Petr N
Add Comment
Please, Sign In to add comment