Monday, January 30, 2017

get attachent

Component File &logFile;

&Delimiter = Char(9);
&logFile = GetFile(GetEnv("PSPRCSLOGDIR") | "\Upload logFile.XLS", "W", %FilePath_Absolute);
&logFile.WriteLine("Claim Req Id" | &Delimiter | "Claim Status" | &Delimiter | "Expense Document Number" | &Delimiter | "Expense Document Date" | &Delimiter | "Payment Document Number" | &Delimiter | "Payment Document Date");

import ZIN_COMMON:*;

Local File &APPL_FILE;
Local array of string &APP_ARY;
Local string &APPL_DATA;
Component File &logFile;

&Delimiter = Char(9);
Local ZIN_COMMON:AppEngineBase &AppEngine = create ZIN_COMMON:AppEngineBase();
Local ZIN_COMMON:ReportBase &Value = create ZIN_COMMON:ReportBase();

rem SQLExec("Select Z_FILE_PATH from PS_ECL_SAP_TBL WHERE OPRID = :1 AND RUN_CNTL_ID = :2", Z_DC_AET.OPRID, Z_DC_AET.RUN_CNTL_ID, &FILE_PATH);
REM &FILE_PATH = "d:\Files\INVC.csv";
rem &FILE_PATH = "C:\temp\SAP.txt";
REM &FILE_PATH = "C:\Documents and Settings\Admin\Desktop\SAP.txt";
rem MessageBox(0, "", 0, 0, "File Path :" | &FILE_PATH);

&Filepath = GetAttachment("ftp://Admin:Mphasis123@10.32.16.26/", "SAP.txt", "C:\temp\SAP.txt");

&APPL_FILE = GetFile("C:\temp\SAP.txt", "E", %FilePath_Absolute);

If &APPL_FILE.IsOpen Then
   While &APPL_FILE.ReadLine(&APPL_DATA);
      
      &APP_ARY = Split(&APPL_DATA, ";");
      &id = &APP_ARY [1];
      &empl_id = &APP_ARY [2];
      &exp_doc_no = &APP_ARY [3];
      &date = &APP_ARY [4];
      &exp_doc_date = DateValue(&date);
      &pay_doc_no = &APP_ARY [5];
      &date_1 = &APP_ARY [6];
      &pay_doc_date = DateValue(&date_1);
      SQLExec("SELECT ECL_STATUS FROM PS_ECL_CLAIMS_HDR WHERE ECL_CLAIM_REQ_ID =:1", &id, &ecl_status);
      SQLExec("SELECT ECL_STATUS FROM PS_ECL_ARF_HDR WHERE ECL_ARF_REQ_ID =:1", &id, &arf_status);
      
      
      &id_type = Substring(&id, 1, 3);
      MessageBox(0, "", 0, 0, &id_type);
      <*
      MessageBox(0, "", 0, 0, &id);
      MessageBox(0, "", 0, 0, &empl_id);
      MessageBox(0, "", 0, 0, &Sap_id);
      MessageBox(0, "", 0, 0, &first_date);
      MessageBox(0, "", 0, 0, &arf_id);
      MessageBox(0, "", 0, 0, &second_date);
*>
      
      Local Record &ECL_SAP = CreateRecord(Record.ECL_CLAIMS_HDR);
      &ECL_SAP.SelectByKey();
      If &id_type = "EXP" Then
         If &ecl_status = "PT" Then
            SQLExec("UPDATE PS_ECL_CLAIMS_HDR SET ECL_EXP_DOC_NUM=:1,ECL_EXP_DOC_DATE=:2,ECL_PAY_DOC_NUM=:3,ECL_PAY_DOC_DATE=:4,ECL_STATUS='PD' WHERE ECL_CLAIM_REQ_ID=:5 AND EMPLID=:6", &exp_doc_no, &exp_doc_date, &pay_doc_no, &pay_doc_date, &id, &empl_id);
            <*
         &ECL_SAP.ECL_CLAIM_REQ_ID.Value = &id;
         &ECL_SAP.EMPLID.Value = &empl_id;
         &ECL_SAP.ECL_EXP_DOC_NUM.Value = &exp_doc_no;
         &ECL_SAP.ECL_EXP_DOC_DATE.Value = &exp_doc_date;
         &ECL_SAP.ECL_PAY_DOC_NUM.Value = &pay_doc_no;
         &ECL_SAP.ECL_PAY_DOC_DATE.Value = &pay_doc_date;
         &ECL_SAP.ECL_STATUS.Value = "PD";
         &ECL_SAP.Update();
*>
         End-If;
      End-If;
      
      If &id_type = "ARF" Then
         If &arf_status = "PT" Then
            SQLExec("UPDATE PS_ECL_ARF_HDR SET ECL_EXP_DOC_NUM=:1,ECL_EXP_DOC_DATE=:2,ECL_PAY_DOC_NUM=:3,ECL_PAY_DOC_DATE=:4,ECL_STATUS='PD' WHERE ECL_ARF_REQ_ID=:5 AND EMPLID=:6", &exp_doc_no, &exp_doc_date, &pay_doc_no, &pay_doc_date, &id, &empl_id);
            
         End-If;
      End-If;
      
      If &id_type = "EXP" Then
         SQLExec("SELECT XLATLONGNAME  FROM PSXLATITEM A WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM PSXLATITEM A_ED WHERE A.FIELDNAME = A_ED.FIELDNAME AND A.FIELDVALUE = A_ED.FIELDVALUE AND A_ED.EFFDT <= GETDATE()) AND FIELDNAME='ECL_STATUS' AND FIELDVALUE =:1", &ecl_status, &Claim_Status);
      End-If;
      If &id_type = "ARF" Then
         SQLExec("SELECT XLATLONGNAME  FROM PSXLATITEM A WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM PSXLATITEM A_ED WHERE A.FIELDNAME = A_ED.FIELDNAME AND A.FIELDVALUE = A_ED.FIELDVALUE AND A_ED.EFFDT <= GETDATE()) AND FIELDNAME='ECL_STATUS' AND FIELDVALUE =:1", &arf_status, &Claim_Status);
      End-If;
      
      If &ecl_status = "PT" Then
         &Claim_Status = "Paid";
      End-If;
      If &arf_status = "PT" Then
         &Claim_Status = "Paid";
      End-If;
      
      If (&Claim_Status <> "Paid") Then
         &exp_doc_no = "";
         &exp_doc_date = "";
         &pay_doc_no = "";
         &pay_doc_date = "";
      End-If;
      
      &logFile.WriteLine(&id | &Delimiter | &Claim_Status | &Delimiter | &exp_doc_no | &Delimiter | &exp_doc_date | &Delimiter | &pay_doc_no | &Delimiter | &pay_doc_date);
      
   End-While;
   &APPL_FILE.Close();
Else
   &Msg_Str = "File could not be opened.  Please check the File Path";
   MessageBox(0, "", 0, 0, &Msg_Str);
End-If;



<*########################################################################
Developer: Kondal 
Date: 07-02-2012
Description:To Upload the Form16 letter  
##########################################################################*>

Local array of string &FNAMES;
Local File &MYFILE, &logfile;
Local string &file_name;

&delimeter = Char(9);

&logfile = GetFile("test.xls", "W", %FilePath_Absolute);
&logfile.WriteLine("Employee ID" | &delimeter | "Year" | &delimeter | "Status");

SQLExec("Select SETID,ZIN_FIELD7 from PS_ZIN_FORM16_RCR WHERE OPRID = :1 AND RUN_CNTL_ID = :2", %OperatorId, Z_DC_AET.RUN_CNTL_ID, &Bsn, &FILE_PATH);

MessageBox(0, "", 0, 0, "&FILE_PATH: " | &FILE_PATH);

&FNAMES = FindFiles(&FILE_PATH | "*" | "F16.pdf", %FilePath_Absolute);

MessageBox(0, "", 0, 0, "&FNAMES: " | &FNAMES);

While &FNAMES.Len > 0
   
   &MYFILE = GetFile(&FNAMES.Shift(), "R", %FilePath_Absolute); /* Open each file */
   
   /* Process the file contents */
   &file_name = &MYFILE.Name;
   MessageBox(0, "", 0, 0, &file_name);
   
   &URL_ID = "ZIN_FORM16_UPL";
   &URL_ID = "URL." | &URL_ID;
   &URL = GetURL(@&URL_ID);
   
   &ATTACHSYSFILENAME = &file_name;
   &ATTACHUSERFILE = &file_name;
   
   MessageBox(0, "", 0, 0, &ATTACHUSERFILE);
   
   If FileExists(&ATTACHUSERFILE, %FilePath_Absolute) Then
      
      &RETCODE = PutAttachment(&URL, &ATTACHSYSFILENAME, &ATTACHUSERFILE);
      
      If (&RETCODE = %Attachment_Success) Then
         MessageBox(0, "Letter Upload Status", 21000, 82, "Letter upload succeeded" | &file_name);
         
         &emplid = Substring(&file_name, 17, 7); /*change the year field length*/
         &year = Substring(&file_name, 25, 9); /*change the year field length*/
         &logfile.WriteLine(&emplid | &delimeter | &year | &delimeter | "Success");
         
      End-If;
      
      If (&RETCODE = %Attachment_Cancelled) Then
         MessageBox(0, "Letter Upload Status", 21000, 83, "Letter upload cancelled" | &file_name);
         &emplid = Substring(&file_name, 17, 7); /*change the year field length*/
         &year = Substring(&file_name, 25, 9); /*change the year field length*/
         &logfile.WriteLine(&emplid | &delimeter | &year | &delimeter | "Failure");
      End-If;
      
   Else
      MessageBox(0, "Letter Upload Status", 21000, 84, "Letter does not exists" | &file_name);
   End-If;
   
   &MYFILE.Close();
End-While;

No comments: