Wednesday, 9 November 2016
Auto Amount Charge In PeopleSoft
Follow the following steps to configure Auto Charge in Peoplesoft.
Delete the data of that ID you want to auto-Charge from Quick Post Table
Write this code on :
Button1 Field Change
SQLExec("delete from ps_QUICK_POST_TBL where oprid in (select distinct oprid from PS_DUMMY_TRANS_PST) and grp_timestamp in (select distinct grp_timestamp from PS_DUMMY_TRANS_PST) and line_seq_nbr in (select distinct line_seq_nbr from PS_DUMMY_TRANS_PST) and post_flag<>'Y'");
SQLExec("delete from PS_DUMMY_TRANS_PST");
&datetime = AddToDateTime(%Datetime, 0, 0, 0, 0, 0, &j);
&institution = "PSUNI"; /*Institute ID*/
/* INSERT DATA INTO QUICK POST TABLE*/
&REC = CreateRecord(Record.QUICK_POST_TBL);
&REC.BUSINESS_UNIT.value = "PSUNI";
&REC.oprid.value = %UserId;
&REC.REF1_DESCR.value = "OPTIONAL FEE(AUTO CHARGE)";
&REC.EMPLID.value = %EmployeeID;/*ID on which you want to charge*/
&REC.ACCOUNT_TYPE_SF.VALUE = "OPT"; /*Account type in which you want to charge*/
&REC.ITEM_TYPE.VALUE = DUMMY_TRNSPT_WRK.DUMMY_ITEM_TYPE.Value; /*Item Type*/
&REC.LINE_SEQ_NBR.value = "1";
&REC.GRP_TIMESTAMP.value = &datetime;
&REC.ITEM_EFFECTIVE_DT.value = %Date;
&REC.STRM.value = &sstrm; /*Term or Year Value in which you want to chare*/
&REC.ITEM_AMT.value = DUMMY_TRNSPT_WRK.DUMMY_TRANS_AMT.Value; /*Amount*/
&REC.ORIGNL_ITEM_AMT.value = DUMMY_TRNSPT_WRK.DUMMY_TRANS_AMT.Value; /*Amount*/
&REC.ITEM_TYPE_CD.value = "C"; /*Item Code*/
&REC.RESTRICT_ACCT_FLG.value = "N";
&REC.CURRENCY_CD.value = "PKR";
&REC.ORIGNL_CURRENCY_CD.value = "PKR";
&REC.EXC_ACCT_TYPE_FLG.value = "N";
&REC.RESTRICT_ACCT_FLG.value = "N";
&REC.SF_REVERSAL_IND.value = "N";
&REC.Insert();
/*INSERT DATA INTO DUMMY TABLE*/
&REC1 = CreateRecord(Record.DUMMY _TRANS_PST);
&REC1.BUSINESS_UNIT.value = "PSUNI";
&REC1.oprid.value = %UserId;
&REC1.DESCR.value = "(AUTO CHARGE)";
&REC1.REF1_DESCR.value = "(AUTO CHARGE)";
&REC1.EMPLID.value = %EmployeeID; /*ID on which you want to charge*/
&REC1.ACCOUNT_TYPE_SF.VALUE = "OPT";
&REC1.ITEM_TYPE.VALUE = DUMMY_TRNSPT_WRK.DUMMY_ITEM_TYPE.Value;
&REC1.LINE_SEQ_NBR.value = "1";
&REC1.GRP_TIMESTAMP.value = &datetime;
&REC1.ITEM_EFFECTIVE_DT.value = %Date;
&REC1.STRM.value = &sstrm;
&REC1.ITEM_AMT.value = DUMMY_TRNSPT_WRK.DUMMY_TRANS_AMT.Value;
&REC1.ORIGNL_ITEM_AMT.value = DUMMY_TRNSPT_WRK.DUMMY_TRANS_AMT.Value;
&REC1.ITEM_TYPE_CD.value = "C";
&REC1.CURRENCY_CD.value = "PKR";
&REC1.ORIGNL_CURRENCY_CD.value = "PKR";
&REC1.EXC_ACCT_TYPE_FLG.value = "N";
&REC1.RESTRICT_ACCT_FLG.value = "N";
&REC1.SF_REVERSAL_IND.value = "N";
&get = &REC1.Insert();
Do this on a button, now make another button and run the following code, because remote call and insertion can not be done on the same button
Button2 Field Change Code:
Component string &strm;
Local Rowset &qukPost = CreateRowset(Record.DUMMY_TRANS_PST);
&qukPost.Fill();
For &j = 1 To &qukPost.ActiveRowCount
&oprid = &qukPost.GetRow(&j).DUMMY_TRANS_PST.OPRID.Value;
&datetime = &qukPost.GetRow(&j).DUMMY_TRANS_PST.GRP_TIMESTAMP.Value;
&strm = &qukPost.GetRow(&j).DUMMY_TRANS_PST.STRM.Value;
RemoteCall("PSRCCBL", "PSCOBOLPROG", "SFPQKDRV", "BUSINESS_UNIT", "PSUNI", "GRP_TIMESTAMP", &datetime, "OPRID", &oprid, "SF_REVERSAL_IND", "N", "ITEM_TYPE_CD", "C", "POST_FLAG", &POSTED, "POST_DT", &POST_DATE, "ERROR_WARN", &ERRWARN);
rem MessageBox(0, "", 0, 0, "Post:" | &POSTED);
rem MessageBox(0, "", 0, 0, "Warn:" | &ERRWARN);
End-For;
If &POSTED = "Y" Then
WinMessage("Successfully Posted");
End-If;
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment