XML FILE CREATION and uploading to FTP Using Peoplecode
Local XmlDoc &inXMLDoc;
Local XmlNode &rootNode, &childNode1, &childNode2, &textNode2;
Local string &xmlStr;
Local File &xmlFile;
Local number &i;
&XML_FILE_PATH = GetEnv("PS_SERVDIR") | "\LOGS\";
SQLExec("SELECT B.LM_CS_LONG_NM FROM PS_LM_ACT A, PS_LM_CI_TBL B WHERE B.LM_CI_ID = A.LM_CI_ID AND A.LM_ACT_ID=:1 AND B.EFFDT =(SELECT MAX(B_ED.EFFDT) FROM PS_LM_CI_TBL B_ED WHERE B.LM_CI_ID = B_ED.LM_CI_ID AND B_ED.EFFDT <= GETDATE())", &Acivity_ID, &LM_CS_LONG_NM);
&FILE_NAME = &LM_CS_LONG_NM | "_" | %Date | ".XML";
&xmlFile = GetFile(&XML_FILE_PATH | &FILE_NAME, "W", "", %FilePath_Absolute);
&inXMLDoc = CreateXmlDoc("");
&rootNode = &inXMLDoc.CreateDocumentElement("Start");
rem SQLExec("SELECT B.LM_CS_LONG_NM FROM PS_LM_ACT A, PS_LM_CI_TBL B WHERE B.LM_CI_ID = A.LM_CI_ID AND A.LM_ACT_ID=:1 AND B.EFFDT =(SELECT MAX(B_ED.EFFDT) FROM PS_LM_CI_TBL B_ED WHERE B.LM_CI_ID = B_ED.LM_CI_ID AND B_ED.EFFDT <= GETDATE())", &Acivity_ID, &LM_CS_LONG_NM);
Local Record &rec = CreateRecord(Record.PCS_GE_GDC_VW);
Local SQL &sql = CreateSQL("SELECT * FROM PS_TEST_REC where LM_CS_LONG_NM=:1", &LM_CS_LONG_NM);
While &sql.Fetch(&rec)
&childNode1 = &rootNode.AddElement(&rec.Name);
For &i = 1 To &rec.FieldCount
&childNode2 = &childNode1.AddElement(&rec.GetField(&i).Name);
&textNode2 = &childNode2.AddText(&rec.GetField(&i).Value);
End-For;
End-While;
&xmlStr = &inXMLDoc.GenFormattedXmlString();
&xmlFile.WriteLine(&xmlStr);
/* Pushing xml file into FTP path from the local server path */
&xmlFile.Close();
&FTP_URL = "ftp Path”
&FILE_PATH_NAME = &FTP_URL;
&FILE_NAME_FTP = &LM_CS_LONG_NM | "_" | %Date | ".XML";
&PutAttachment = PutAttachment(&FILE_PATH_NAME, &FILE_NAME_FTP, &XML_FILE_PATH | &FILE_NAME);
No comments:
Post a Comment