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.
Sure!
This is the function I wrote in PL/SQL and the Routing Rule, Routing Address, and Presentation Objects are all attached.
Hopefully that helps!
1FUNCTION 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 FROM TABLE(XMLSEQUENCE(XMLTYPE(doc_).EXTRACT('/OUTPUT/*'))) t; BEGIN FOR ack_row IN ACKS LOOP INSERT INTO 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;
@NSRJMITCHELL thank you so much for sharing! love the Black IFS… how’d you do that?
david.harmer wrote:
@NSRJMITCHELL thank you so much for sharing! love the Black IFS… how’d you do that?
Using the “Graphite” theme that comes with IFS