Can someone help or point me where to figure out how I can drop a file into the file reader, read it in, and create a new record in a custom logic unit?
I know I could do this with existing LUs using BizAPI but the LU I’m using is custom and has no BizAPI for it.
Best answer by NSRJMITCHELL
I ended up creating a custom PL/SQL package function that accepts a clob and extracts the values using a cursor. I then iterate over the cursor and insert the values into the custom table. I call this custom function from a Routing Rule and Routing Address when the file is read in.
I ended up creating a custom PL/SQL package function that accepts a clob and extracts the values using a cursor. I then iterate over the cursor and insert the values into the custom table. I call this custom function from a Routing Rule and Routing Address when the file is read in.
@NSRJMITCHELL are you able to share screen images of your routing rule and routing address? i am interested in this side of IFS but have no experience, anything like this i find helpful and interesting.
This is the function I wrote in PL/SQL and the Routing Rule, Routing Address, and Presentation Objects are all attached.
Hopefully that helps!
FUNCTION Receive_EDI_Acknowledgements(doc_ IN CLOB) RETURN CLOB IS
PROCEDURE Core(doc_ IN CLOB) IS
CURSOR ACKS IS
SELECT EXTRACTVALUE(COLUMN_VALUE, '/DocumentAck/AckStatusNotes') as NOTES,
EXTRACTVALUE(COLUMN_VALUE, '/DocumentAck/AckStatus') as STATUS,
TO_DATE(EXTRACTVALUE(COLUMN_VALUE, '/DocumentAck/Date'),
'YYMMDDHH24:MI:SS') as REC_DATE,
EXTRACTVALUE(COLUMN_VALUE, '/DocumentAck/DocumentNumber') as DOCUMENT_NUMBER,
EXTRACTVALUE(COLUMN_VALUE, '/DocumentAck/DocumentType') as DOCUMENT_TYPE
FROMTABLE(XMLSEQUENCE(XMLTYPE(doc_).EXTRACT('/OUTPUT/*'))) t;BEGINFOR ack_row IN ACKS LOOP
INSERTINTO EDI_ACKNOWLEDGEMENT_CLT
(CF$_ACK_NOTES,
CF$_ACK_STATUS,
CF$_DATE,
CF$_DOCUMENT_NUMBER,
CF$_DOCUMENT_TYPE,
ROWVERSION)
VALUES
(ack_row.NOTES,
ack_row.STATUS,
ack_row.REC_DATE,
ack_row.DOCUMENT_NUMBER,
ack_row.DOCUMENT_TYPE,
SYSDATE);END LOOP;COMMIT;END Core;BEGIN
Core(doc_);
RETURN NULL;
END Receive_EDI_Acknowledgements;
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.