
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Generate Multiple Report with Unique Name in PeopleSoft SQR	</title>
	<atom:link href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr</link>
	<description>Tips for Those Who Want to Learn</description>
	<lastBuildDate>Fri, 12 Aug 2016 13:55:54 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>
		By: Brandon		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-551</link>

		<dc:creator><![CDATA[Brandon]]></dc:creator>
		<pubDate>Fri, 12 Aug 2016 13:55:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-551</guid>

					<description><![CDATA[Hello Nayan,

I am trying to figure out how to incorporate the NEW-REPORT into a SQR report I am working on. I was wondering if you could help me out. I am not sure where to add the code. I have an unknown number of reports that will be generated. Please help

&lt;code&gt;
#include &#039;setenv.sqc&#039; !Set environment

!**********
begin-setup
!**********

! page-size 15000 500

  #include &#039;ptpsl177.sqc&#039; !Printer and page-size initialization  

end-setup

!***********
begin-report
!***********

  do Init-DateTime
  do Init-Number
  do Get-Current-DateTime
  do Init-Report
  do Init-Arrays
  do Reset-Arrays
  do Process-Main
  do Reset
  do Stdapi-Term

end-report

!**************
begin-heading 8
!**************

#include &#039;stdhdg01.sqc&#039;

  print &#039;From RunID&#039;		(+1,1)
  print $FromPayRunID           (0,+1)
  print &#039;Thru&#039;			(0,+1)
  print $ThruPayRunID		(0,+1)

  print &#039;Current&#039;		(+2,44,10)
  print &#039;Current&#039;		(0,55,10)
  print &#039;Earnings&#039;		(0,103,10)
  print &#039;Earnings&#039;		(0,114,13)
  print &#039;Estimated&#039;		(0,128,10)
  print &#039;Variance&#039;		(0,139,10)
  print &#039;Variance&#039;		(0,150,10)

  print &#039;Name&#039;			(+1,1,30)
  print &#039;EmplID&#039;		(0,32,11)
  print &#039;Status&#039;		(0,44,10)
  print &#039;Class&#039;			(0,55,10)
  print &#039;Earnings Code&#039;		(0,68,34)
  print &#039;Hrs&#039;  			(0,103,10)
  print &#039;Gross&#039;			(0,114,13)
  print &#039;Biweekly&#039;		(0,128,10)
  print &#039;Amount&#039;		(0,139,10)
  print &#039;Percentage&#039;		(0,150,10)

  print &#039;-&#039;			(+1,1,30) fill
  print &#039;-&#039;			(0,32,11) fill
  print &#039;-&#039;			(0,44,10) fill
  print &#039;-&#039;			(0,55,10) fill
  print &#039;-&#039;			(0,68,34)  fill 
  print &#039;-&#039;			(0,103,10) fill
  print &#039;-&#039;			(0,114,13) fill
  print &#039;-&#039;			(0,128,10) fill
  print &#039;-&#039;			(0,139,10) fill
  print &#039;-&#039;			(0,150,10) fill

end-heading

!**************************
begin-procedure Init-Report
!**************************

  move &#039;ccwpay09c&#039; to $ReportID
  move &#039;Variance Report - Hours &#038; Earnings Totals&#039; to $ReportTitle
  display $ReportTitle

  do Stdapi-Init

  if $prcs_process_instance = &#039;&#039;
    display &#039; &#039;
    input $FromPayRunID maxlen=10 &#039;From pay run id: &#039;
    let $FromPayRunID = upper($FromPayRunID)
    display &#039; &#039;
    input $ThruPayRunID maxlen=10 &#039;Thru pay run id: &#039;
    let $ThruPayRunID = upper($ThruPayRunID)
    display &#039; &#039;
  end-if

end-procedure

!**************************
begin-procedure Init-Arrays
!**************************

  create-array name  = ErnYTDArray
               size  = 50
               field = ErnYTDCd:char
               field = ErnYTDHrs:number
               field = ErnYTDErn:number

  create-array name  = SummaryErnYTDArray
               size  = 100
               field = SummaryErnYTDCd:char
               field = SummaryErnYTDHrs:number
               field = SummaryErnYTDErn:number

  move -1 to #Summary_Earnings_Rows

end-procedure

!***************************
begin-procedure Reset-Arrays
!***************************

  move 0 to #i
  while #i &#060;= 49
    put &#039; &#039; 0 0 into ErnYTDArray(#i) 
    add 1 to #i
  end-while
  move -1 to #Earnings_Rows

end-procedure

!***************************
begin-procedure Process-Main
!***************************
! Gets all the pay lines between the two pay run ids specified.
! Gets the employees current status based on the report run date.

begin-select

J.DEPTID		() on-break
                           print=never
                           before=Print-Dept-Subheading
                           after=Print-Dept-Subtotals
                           level=1

PL.NAME			() on-break
                           print=never
                           after=Test-If-Variance
                           save=$Name
                           level=2

PL.COMPANY
PL.PAYGROUP
PL.PAY_END_DT
PL.OFF_CYCLE
PL.PAGE_NUM
PL.LINE_NUM
PL.EMPLID
  move &#038;PL.EMPLID to $EmplID
PL.EMPL_RCD
PL.BUSINESS_UNIT
PC.PAY_END_DT

J.EMPL_CLASS
  move &#038;J.EMPL_CLASS to $Empl_Class
J.EMPL_STATUS
  move &#038;J.EMPL_STATUS to $Empl_Status
J.BUSINESS_UNIT
J.DAILY_RT
  move &#038;J.DAILY_RT to #Empl_Daily_Rt

  do Get-Earnings
  do Get-Overtime
  do Get-Other-Earnings

FROM PS_PAY_CALENDAR PC,
     PS_PAY_LINE PL,
     PS_JOB J

WHERE PC.RUN_ID BETWEEN $FromPayRunID AND $ThruPayRunID
  AND PL.COMPANY = PC.COMPANY
!  AND PL.PAYGROUP IN (&#039;TWS&#039;)  !*******************uncomment this code to run Transit Windsor
  AND PL.PAYGROUP = PC.PAYGROUP  
  AND PL.PAY_END_DT = PC.PAY_END_DT
  AND PL.PAYGROUP  &#039;RBG&#039;
  AND J.EMPLID = PL.EMPLID
  AND J.EMPL_RCD = PL.EMPL_RCD
!  AND J.COMPANY = PL.COMPANY
!  AND J.PAYGROUP = PL.PAYGROUP
  AND (J.EFFDT = (SELECT MAX(EFFDT)
                    FROM PS_JOB
                   WHERE EMPLID = J.EMPLID
                     AND EMPL_RCD = J.EMPL_RCD
                     AND EFFDT &#060;= PC.PAY_END_DT)
                     AND J.EFFSEQ = (SELECT MAX(EFFSEQ)
                                       FROM PS_JOB
                                      WHERE EMPLID = J.EMPLID
                                        AND EMPL_RCD = J.EMPL_RCD
                                        AND EFFDT = J.EFFDT))

ORDER BY J.DEPTID, PL.NAME

end-select

  do Print-Grand-Totals
  do Print-Earning-Code-Totals

end-procedure

!***************************
begin-procedure Get-Earnings
!***************************
! Searches the payroll earnings table to get all earnings for the employee
! based on the pay lines passed.  Stores the values in the earnings array.

  move &#039;N&#039; to $Found
  move 0 to #Row

begin-select

PE.ERNCD_REG_HRS
PE.REG_HRS+PE.REG_EARN_HRS     &#038;Hours
PE.REG_EARNS+PE.REG_HRLY_EARNS &#038;Earnings

  while (#Row &#060;= #Earnings_Rows) and ($Found = &#039;N&#039;) and (&#038;Earnings  0)
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd
    if $Temp_ErnCd = &#038;PE.ERNCD_REG_HRS
      array-add &#038;Hours &#038;Earnings to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn
      move &#039;Y&#039; to $Found
    end-if
    add 1 to #Row
  end-while

  if $Found = &#039;N&#039; and (&#038;Earnings  0)
    add 1 to #Earnings_Rows
    put &#038;PE.ERNCD_REG_HRS &#038;Hours &#038;Earnings into ErnYTDArray(#Earnings_Rows)
  end-if

  move &#039;N&#039; to $Found
  move 0 to #Row

FROM PS_PAY_EARNINGS PE   

WHERE PE.COMPANY = &#038;PL.COMPANY
  AND PE.PAYGROUP = &#038;PL.PAYGROUP
  AND PE.PAY_END_DT = &#038;PL.PAY_END_DT
  AND PE.OFF_CYCLE = &#038;PL.OFF_CYCLE
  AND PE.PAGE_NUM = &#038;PL.PAGE_NUM
  AND PE.LINE_NUM = &#038;PL.LINE_NUM

ORDER BY PE.ERNCD_REG_HRS

end-select

end-procedure

!***************************
begin-procedure Get-Overtime
!***************************
! Searches the payroll earnings table to get all overtime for the employee
! based on the pay lines passed.  Stores the values in the earnings array.

  move &#039;N&#039; to $Found
  move 0 to #Row

begin-select

PE1.ERNCD_OT_HRS
PE1.OT_HRS
PE1.OT_HRLY_EARNS

  while (#Row &#060;= #Earnings_Rows) and ($Found = &#039;N&#039;) and (&#038;PE1.OT_HRLY_EARNS  0)
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd
    if $Temp_ErnCd = &#038;PE1.ERNCD_OT_HRS
      array-add &#038;PE1.OT_HRS &#038;PE1.OT_HRLY_EARNS to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn
      move &#039;Y&#039; to $Found
    end-if
    add 1 to #Row
  end-while

  if $Found = &#039;N&#039; and (&#038;PE1.OT_HRLY_EARNS  0)
    add 1 to #Earnings_Rows
    put &#038;PE1.ERNCD_OT_HRS &#038;PE1.OT_HRS &#038;PE1.OT_HRLY_EARNS into ErnYTDArray(#Earnings_Rows)
  end-if

  move &#039;N&#039; to $Found
  move 0 to #Row

FROM PS_PAY_EARNINGS PE1

WHERE PE1.COMPANY = &#038;PL.COMPANY
  AND PE1.PAYGROUP = &#038;PL.PAYGROUP
  AND PE1.PAY_END_DT = &#038;PL.PAY_END_DT
  AND PE1.OFF_CYCLE = &#038;PL.OFF_CYCLE
  AND PE1.PAGE_NUM = &#038;PL.PAGE_NUM
  AND PE1.LINE_NUM = &#038;PL.LINE_NUM

ORDER BY PE1.ERNCD_OT_HRS

end-select

end-procedure

!*********************************
begin-procedure Get-Other-Earnings
!*********************************
! Searches the payroll other earnings table to get all other earnings for the
! employee based on the pay lines passed.  Stores the values in the earnings array.

  move &#039;N&#039; to $Found
  move 0 to #Row

begin-select

POE.ERNCD
POE.OTH_HRS
  move &#038;POE.OTH_HRS to #Oth_Hrs
POE.OTH_EARNS
ET.PAYMENT_TYPE

  evaluate &#038;ET.PAYMENT_TYPE
    when = &#039;U&#039; !Units - when units, only show the earnings and 0 out the hours
      move 0 to #Oth_Hrs
  end-evaluate

  while (#Row &#060;= #Earnings_Rows) and ($Found = &#039;N&#039;)
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd
    if $Temp_ErnCd = &#038;POE.ERNCD
      array-add #Oth_Hrs &#038;POE.OTH_EARNS to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn
      move &#039;Y&#039; to $Found
    end-if
    add 1 to #Row
  end-while

  if $Found = &#039;N&#039;
    add 1 to #Earnings_Rows
    put &#038;POE.ERNCD #Oth_Hrs &#038;POE.OTH_EARNS into ErnYTDArray(#Earnings_Rows)
  end-if

  move &#039;N&#039; to $Found
  move 0 to #Row

FROM PS_PAY_OTH_EARNS POE,
     PS_EARNINGS_TBL ET

WHERE POE.COMPANY = &#038;PL.COMPANY
  AND POE.PAYGROUP = &#038;PL.PAYGROUP
  AND POE.PAY_END_DT = &#038;PL.PAY_END_DT
  AND POE.OFF_CYCLE = &#038;PL.OFF_CYCLE
  AND POE.PAGE_NUM = &#038;PL.PAGE_NUM
  AND POE.LINE_NUM = &#038;PL.LINE_NUM
  AND (POE.ADD_GROSS  &#039;N&#039; OR POE.ERNCD IN (&#039;HB1&#039;, &#039;HB2&#039;))
  AND POE.ERNCD = ET.ERNCD
  AND ET.EFFDT = (SELECT MAX(EFFDT)
                    FROM PS_EARNINGS_TBL
                   WHERE ERNCD = ET.ERNCD
                     AND EFFDT  0
    move 0 to #Empl_Variance_Pct
    let #Empl_Variance_Pct = round(((#Empl_YTDErn - #Empl_Est_Biweekly)/#Empl_Est_Biweekly)*100,2)
  end-if

  print #Empl_Variance_Pct (0,150,10) edit 999,999.99

  position 		(+1)

  add #Empl_YTDHrs    to #Dept_YTDHrs
  add #Empl_YTDErn    to #Dept_YTDErn

  add 1 to #Dept_Empl_Count

  do Reset-Arrays

end-procedure

!***************************
begin-procedure Print-Report
!***************************

  move 0 to #Empl_YTDHrs
  move 0 to #Empl_YTDErn

  move &#039;EMPL_CLASS&#039; to $FieldName
  move $Empl_Class to $FieldValue
  do Read-Translate-Table
  move $XlatShortName to $Empl_Class

  move &#039;EMPL_STATUS&#039; to $FieldName
  move $Empl_Status to $FieldValue
  do Read-Translate-Table
  move $XlatShortName to $Empl_Status

  print $Name		(+1,1,30)
  print $Emplid	   	(0,32,11)
  print $Empl_Status	(0,44,10)
  print $Empl_Class	(0,55,10)

  move 0 to #i

  move #Earnings_Rows to #Total_Rows

  while #i &#060;= #Total_Rows
   
    get $ErnYTDCd #ErnYTDHrs #ErnYTDErn from ErnYTDArray(#i)

    if $ErnYTDCd  &#039; &#039;
      move $ErnYTDCd to $ErnCd
      do Get-Earnings-Name
      print $ErnYTDCd		(0,68,3)
      print &#039;-&#039;			(0,71,1)
      print $EarningsName	(0,72,30) 
      print #ErnYTDHrs		(0,103,10)  edit 999,999.99
      print #ErnYTDErn		(0,114,13) edit 99,999,999.99
      add #ErnYTDHrs to #Empl_YTDHrs
      add #ErnYTDErn to #Empl_YTDErn
    end-if

    position			(+1)

    move &#039;N&#039; to $Found
    move 0 to #Row

    while (#Row &#060;= #Summary_Earnings_Rows) and ($Found = &#039;N&#039;) and (#ErnYTDErn  0)
      get $Temp_ErnCd from SummaryErnYTDArray(#Row) SummaryErnYTDCd
      if $Temp_ErnCd = $ErnYTDCd
        array-add #ErnYTDHrs #ErnYTDErn to SummaryErnYTDArray(#Row) SummaryErnYTDHrs SummaryErnYTDErn
        move &#039;Y&#039; to $Found
      end-if
      add 1 to #Row
    end-while

    if $Found = &#039;N&#039; and (#ErnYTDErn  0)
      add 1 to #Summary_Earnings_Rows
      put $ErnYTDCd #ErnYTDHrs #ErnYTDErn into SummaryErnYTDArray(#Summary_Earnings_Rows)
    end-if

    add 1 to #i

  end-while

  do Print-Empl-Subtotals

end-procedure

!*********************************
begin-procedure Print-Grand-Totals
!*********************************

  print &#039;Grand Totals:&#039;		(+2,1)
  print &#039;YTD Hours:&#039;		(+2,5,15)
  print #Grand_YTDHrs		(0,+1) edit 999,999,999.99
  print &#039;YTD Earnings:&#039;		(+1,5,15)
  print #Grand_YTDErn		(0,+1) edit 999,999,999.99
  print &#039;Employees:&#039;		(+1,5,15)
  print #Grand_Empl_Count	(0,+1) edit 999,999,999.99

end-procedure

!****************************************
begin-procedure Print-Earning-Code-Totals
!****************************************

  new-page

  print &#039;Grand Totals By Earnings Code&#039;	(+2,1)

  print &#039;Cd&#039;			(+2,5,3)
  print &#039;YTD Hrs&#039;		(0,9,15)
  print &#039;YTD Gross&#039;		(0,25,15)

  print &#039;-&#039;			(+1,5,3)  fill
  print &#039;-&#039;			(0,9,15)   fill
  print &#039;-&#039;			(0,25,15) fill

  move 0 to #i

  while #i &#060;= #Summary_Earnings_Rows

    get $SummaryErnYTDCd #SummaryErnYTDHrs #SummaryErnYTDErn from SummaryErnYTDArray(#i)

      print $SummaryErnYTDCd		(+1,5,3)

      move $SummaryErnYTDCd to $ErnCd
      do Get-Earnings-Name
      print &#039;-&#039;			(0,9,1)
      print $EarningsName	(0,10,30) 

      print #SummaryErnYTDHrs		(0,41,15)  edit 999,999,999.99
      print #SummaryErnYTDErn		(0,57,15) edit 999,999,999.99

    add 1 to #i

  end-while

end-procedure

!*******************************
begin-procedure Test-If-Variance
!*******************************

  move 0 to #Empl_YTDHrs
  move 0 to #Empl_YTDErn


  move 0 to #i

  move #Earnings_Rows to #Total_Rows

  while #i &#060;= #Total_Rows

    get $ErnYTDCd #ErnYTDHrs #ErnYTDErn from ErnYTDArray(#i)
    if $ErnYTDCd  &#039; &#039;

      move $ErnYTDCd to $ErnCd
      do Get-Earnings-Name

      add #ErnYTDHrs to #Empl_YTDHrs
      add #ErnYTDErn to #Empl_YTDErn
    end-if

  move &#039;N&#039; to $Found
  move 0 to #Row

!  while (#Row &#060;= #Summary_Earnings_Rows) and ($Found = &#039;N&#039;) and (#ErnYTDErn  0)
!    get $Temp_ErnCd from SummaryErnYTDArray(#Row) SummaryErnYTDCd
!    if $Temp_ErnCd = $ErnYTDCd
!      array-add #ErnYTDHrs #ErnYTDErn to SummaryErnYTDArray(#Row) SummaryErnYTDHrs SummaryErnYTDErn
!      move &#039;Y&#039; to $Found
!    end-if
!    add 1 to #Row
!  end-while

!  if $Found = &#039;N&#039; and (#ErnYTDErn  0)
!    add 1 to #Summary_Earnings_Rows
!    put $ErnYTDCd #ErnYTDHrs #ErnYTDErn into SummaryErnYTDArray(#Summary_Earnings_Rows)
!  end-if

  add 1 to #i

  end-while

  move 0 to #Empl_Est_Biweekly
  let #Empl_Est_Biweekly = round(#Empl_Daily_Rt * 10,2)

  move 0 to #Empl_Variance
  let #Empl_Variance = #Empl_YTDErn - #Empl_Est_Biweekly

  if #Empl_Est_Biweekly &#062; 0
    move 0 to #Empl_Variance_Pct
    let #Empl_Variance_Pct = round(((#Empl_YTDErn - #Empl_Est_Biweekly)/#Empl_Est_Biweekly)*100,2)
  end-if

  if #Empl_Variance_Pct  0
    do print-Report
  else
    do Reset-Arrays
  end-if

end-procedure


!*************************
begin-procedure Get-Values
!*************************

end-procedure

#include &#039;curdttim.sqc&#039; !Get-Current_dateTime procedure
#include &#039;datetime.sqc&#039; !Routines for date and time formatting
#include &#039;number.sqc&#039;   !Routines to format numbers
#include &#039;stdapi.sqc&#039;   !Update Process API
#include &#039;reset.sqc&#039;	!Reset printer procedure
#include &#039;readxlat.sqc&#039; !Read-Translate-Table procedure
#include &#039;getdptnm.sqc&#039; !Get-Department-Name procedure
#include &#039;askftd.sqc&#039;	!Ask-From-Thru-Date procedure
#include &#039;askftdep.sqc&#039;	!Ask-From-Thru-Dept procedure
#include &#039;geternnm.sqc&#039; !Get-Earnings-Name procedure
&lt;/code&gt;]]></description>
			<content:encoded><![CDATA[<p>Hello Nayan,</p>
<p>I am trying to figure out how to incorporate the NEW-REPORT into a SQR report I am working on. I was wondering if you could help me out. I am not sure where to add the code. I have an unknown number of reports that will be generated. Please help</p>
<p><code><br />
#include 'setenv.sqc' !Set environment</p>
<p>!**********<br />
begin-setup<br />
!**********</p>
<p>! page-size 15000 500</p>
<p>  #include 'ptpsl177.sqc' !Printer and page-size initialization  </p>
<p>end-setup</p>
<p>!***********<br />
begin-report<br />
!***********</p>
<p>  do Init-DateTime<br />
  do Init-Number<br />
  do Get-Current-DateTime<br />
  do Init-Report<br />
  do Init-Arrays<br />
  do Reset-Arrays<br />
  do Process-Main<br />
  do Reset<br />
  do Stdapi-Term</p>
<p>end-report</p>
<p>!**************<br />
begin-heading 8<br />
!**************</p>
<p>#include 'stdhdg01.sqc'</p>
<p>  print 'From RunID'		(+1,1)<br />
  print $FromPayRunID           (0,+1)<br />
  print 'Thru'			(0,+1)<br />
  print $ThruPayRunID		(0,+1)</p>
<p>  print 'Current'		(+2,44,10)<br />
  print 'Current'		(0,55,10)<br />
  print 'Earnings'		(0,103,10)<br />
  print 'Earnings'		(0,114,13)<br />
  print 'Estimated'		(0,128,10)<br />
  print 'Variance'		(0,139,10)<br />
  print 'Variance'		(0,150,10)</p>
<p>  print 'Name'			(+1,1,30)<br />
  print 'EmplID'		(0,32,11)<br />
  print 'Status'		(0,44,10)<br />
  print 'Class'			(0,55,10)<br />
  print 'Earnings Code'		(0,68,34)<br />
  print 'Hrs'  			(0,103,10)<br />
  print 'Gross'			(0,114,13)<br />
  print 'Biweekly'		(0,128,10)<br />
  print 'Amount'		(0,139,10)<br />
  print 'Percentage'		(0,150,10)</p>
<p>  print '-'			(+1,1,30) fill<br />
  print '-'			(0,32,11) fill<br />
  print '-'			(0,44,10) fill<br />
  print '-'			(0,55,10) fill<br />
  print '-'			(0,68,34)  fill<br />
  print '-'			(0,103,10) fill<br />
  print '-'			(0,114,13) fill<br />
  print '-'			(0,128,10) fill<br />
  print '-'			(0,139,10) fill<br />
  print '-'			(0,150,10) fill</p>
<p>end-heading</p>
<p>!**************************<br />
begin-procedure Init-Report<br />
!**************************</p>
<p>  move 'ccwpay09c' to $ReportID<br />
  move 'Variance Report - Hours &amp; Earnings Totals' to $ReportTitle<br />
  display $ReportTitle</p>
<p>  do Stdapi-Init</p>
<p>  if $prcs_process_instance = ''<br />
    display ' '<br />
    input $FromPayRunID maxlen=10 'From pay run id: '<br />
    let $FromPayRunID = upper($FromPayRunID)<br />
    display ' '<br />
    input $ThruPayRunID maxlen=10 'Thru pay run id: '<br />
    let $ThruPayRunID = upper($ThruPayRunID)<br />
    display ' '<br />
  end-if</p>
<p>end-procedure</p>
<p>!**************************<br />
begin-procedure Init-Arrays<br />
!**************************</p>
<p>  create-array name  = ErnYTDArray<br />
               size  = 50<br />
               field = ErnYTDCd:char<br />
               field = ErnYTDHrs:number<br />
               field = ErnYTDErn:number</p>
<p>  create-array name  = SummaryErnYTDArray<br />
               size  = 100<br />
               field = SummaryErnYTDCd:char<br />
               field = SummaryErnYTDHrs:number<br />
               field = SummaryErnYTDErn:number</p>
<p>  move -1 to #Summary_Earnings_Rows</p>
<p>end-procedure</p>
<p>!***************************<br />
begin-procedure Reset-Arrays<br />
!***************************</p>
<p>  move 0 to #i<br />
  while #i &lt;= 49<br />
    put &#039; &#039; 0 0 into ErnYTDArray(#i)<br />
    add 1 to #i<br />
  end-while<br />
  move -1 to #Earnings_Rows</p>
<p>end-procedure</p>
<p>!***************************<br />
begin-procedure Process-Main<br />
!***************************<br />
! Gets all the pay lines between the two pay run ids specified.<br />
! Gets the employees current status based on the report run date.</p>
<p>begin-select</p>
<p>J.DEPTID		() on-break<br />
                           print=never<br />
                           before=Print-Dept-Subheading<br />
                           after=Print-Dept-Subtotals<br />
                           level=1</p>
<p>PL.NAME			() on-break<br />
                           print=never<br />
                           after=Test-If-Variance<br />
                           save=$Name<br />
                           level=2</p>
<p>PL.COMPANY<br />
PL.PAYGROUP<br />
PL.PAY_END_DT<br />
PL.OFF_CYCLE<br />
PL.PAGE_NUM<br />
PL.LINE_NUM<br />
PL.EMPLID<br />
  move &amp;PL.EMPLID to $EmplID<br />
PL.EMPL_RCD<br />
PL.BUSINESS_UNIT<br />
PC.PAY_END_DT</p>
<p>J.EMPL_CLASS<br />
  move &amp;J.EMPL_CLASS to $Empl_Class<br />
J.EMPL_STATUS<br />
  move &amp;J.EMPL_STATUS to $Empl_Status<br />
J.BUSINESS_UNIT<br />
J.DAILY_RT<br />
  move &amp;J.DAILY_RT to #Empl_Daily_Rt</p>
<p>  do Get-Earnings<br />
  do Get-Overtime<br />
  do Get-Other-Earnings</p>
<p>FROM PS_PAY_CALENDAR PC,<br />
     PS_PAY_LINE PL,<br />
     PS_JOB J</p>
<p>WHERE PC.RUN_ID BETWEEN $FromPayRunID AND $ThruPayRunID<br />
  AND PL.COMPANY = PC.COMPANY<br />
!  AND PL.PAYGROUP IN (&#039;TWS&#039;)  !*******************uncomment this code to run Transit Windsor<br />
  AND PL.PAYGROUP = PC.PAYGROUP<br />
  AND PL.PAY_END_DT = PC.PAY_END_DT<br />
  AND PL.PAYGROUP  'RBG'<br />
  AND J.EMPLID = PL.EMPLID<br />
  AND J.EMPL_RCD = PL.EMPL_RCD<br />
!  AND J.COMPANY = PL.COMPANY<br />
!  AND J.PAYGROUP = PL.PAYGROUP<br />
  AND (J.EFFDT = (SELECT MAX(EFFDT)<br />
                    FROM PS_JOB<br />
                   WHERE EMPLID = J.EMPLID<br />
                     AND EMPL_RCD = J.EMPL_RCD<br />
                     AND EFFDT &lt;= PC.PAY_END_DT)<br />
                     AND J.EFFSEQ = (SELECT MAX(EFFSEQ)<br />
                                       FROM PS_JOB<br />
                                      WHERE EMPLID = J.EMPLID<br />
                                        AND EMPL_RCD = J.EMPL_RCD<br />
                                        AND EFFDT = J.EFFDT))</p>
<p>ORDER BY J.DEPTID, PL.NAME</p>
<p>end-select</p>
<p>  do Print-Grand-Totals<br />
  do Print-Earning-Code-Totals</p>
<p>end-procedure</p>
<p>!***************************<br />
begin-procedure Get-Earnings<br />
!***************************<br />
! Searches the payroll earnings table to get all earnings for the employee<br />
! based on the pay lines passed.  Stores the values in the earnings array.</p>
<p>  move &#039;N&#039; to $Found<br />
  move 0 to #Row</p>
<p>begin-select</p>
<p>PE.ERNCD_REG_HRS<br />
PE.REG_HRS+PE.REG_EARN_HRS     &amp;Hours<br />
PE.REG_EARNS+PE.REG_HRLY_EARNS &amp;Earnings</p>
<p>  while (#Row &lt;= #Earnings_Rows) and ($Found = &#039;N&#039;) and (&amp;Earnings  0)<br />
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd<br />
    if $Temp_ErnCd = &amp;PE.ERNCD_REG_HRS<br />
      array-add &amp;Hours &amp;Earnings to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn<br />
      move 'Y' to $Found<br />
    end-if<br />
    add 1 to #Row<br />
  end-while</p>
<p>  if $Found = 'N' and (&amp;Earnings  0)<br />
    add 1 to #Earnings_Rows<br />
    put &amp;PE.ERNCD_REG_HRS &amp;Hours &amp;Earnings into ErnYTDArray(#Earnings_Rows)<br />
  end-if</p>
<p>  move 'N' to $Found<br />
  move 0 to #Row</p>
<p>FROM PS_PAY_EARNINGS PE   </p>
<p>WHERE PE.COMPANY = &amp;PL.COMPANY<br />
  AND PE.PAYGROUP = &amp;PL.PAYGROUP<br />
  AND PE.PAY_END_DT = &amp;PL.PAY_END_DT<br />
  AND PE.OFF_CYCLE = &amp;PL.OFF_CYCLE<br />
  AND PE.PAGE_NUM = &amp;PL.PAGE_NUM<br />
  AND PE.LINE_NUM = &amp;PL.LINE_NUM</p>
<p>ORDER BY PE.ERNCD_REG_HRS</p>
<p>end-select</p>
<p>end-procedure</p>
<p>!***************************<br />
begin-procedure Get-Overtime<br />
!***************************<br />
! Searches the payroll earnings table to get all overtime for the employee<br />
! based on the pay lines passed.  Stores the values in the earnings array.</p>
<p>  move 'N' to $Found<br />
  move 0 to #Row</p>
<p>begin-select</p>
<p>PE1.ERNCD_OT_HRS<br />
PE1.OT_HRS<br />
PE1.OT_HRLY_EARNS</p>
<p>  while (#Row &lt;= #Earnings_Rows) and ($Found = &#039;N&#039;) and (&amp;PE1.OT_HRLY_EARNS  0)<br />
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd<br />
    if $Temp_ErnCd = &amp;PE1.ERNCD_OT_HRS<br />
      array-add &amp;PE1.OT_HRS &amp;PE1.OT_HRLY_EARNS to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn<br />
      move 'Y' to $Found<br />
    end-if<br />
    add 1 to #Row<br />
  end-while</p>
<p>  if $Found = 'N' and (&amp;PE1.OT_HRLY_EARNS  0)<br />
    add 1 to #Earnings_Rows<br />
    put &amp;PE1.ERNCD_OT_HRS &amp;PE1.OT_HRS &amp;PE1.OT_HRLY_EARNS into ErnYTDArray(#Earnings_Rows)<br />
  end-if</p>
<p>  move 'N' to $Found<br />
  move 0 to #Row</p>
<p>FROM PS_PAY_EARNINGS PE1</p>
<p>WHERE PE1.COMPANY = &amp;PL.COMPANY<br />
  AND PE1.PAYGROUP = &amp;PL.PAYGROUP<br />
  AND PE1.PAY_END_DT = &amp;PL.PAY_END_DT<br />
  AND PE1.OFF_CYCLE = &amp;PL.OFF_CYCLE<br />
  AND PE1.PAGE_NUM = &amp;PL.PAGE_NUM<br />
  AND PE1.LINE_NUM = &amp;PL.LINE_NUM</p>
<p>ORDER BY PE1.ERNCD_OT_HRS</p>
<p>end-select</p>
<p>end-procedure</p>
<p>!*********************************<br />
begin-procedure Get-Other-Earnings<br />
!*********************************<br />
! Searches the payroll other earnings table to get all other earnings for the<br />
! employee based on the pay lines passed.  Stores the values in the earnings array.</p>
<p>  move 'N' to $Found<br />
  move 0 to #Row</p>
<p>begin-select</p>
<p>POE.ERNCD<br />
POE.OTH_HRS<br />
  move &amp;POE.OTH_HRS to #Oth_Hrs<br />
POE.OTH_EARNS<br />
ET.PAYMENT_TYPE</p>
<p>  evaluate &amp;ET.PAYMENT_TYPE<br />
    when = 'U' !Units - when units, only show the earnings and 0 out the hours<br />
      move 0 to #Oth_Hrs<br />
  end-evaluate</p>
<p>  while (#Row &lt;= #Earnings_Rows) and ($Found = &#039;N&#039;)<br />
    get $Temp_ErnCd from ErnYTDArray(#Row) ErnYTDCd<br />
    if $Temp_ErnCd = &amp;POE.ERNCD<br />
      array-add #Oth_Hrs &amp;POE.OTH_EARNS to ErnYTDArray(#Row) ErnYTDHrs ErnYTDErn<br />
      move &#039;Y&#039; to $Found<br />
    end-if<br />
    add 1 to #Row<br />
  end-while</p>
<p>  if $Found = &#039;N&#039;<br />
    add 1 to #Earnings_Rows<br />
    put &amp;POE.ERNCD #Oth_Hrs &amp;POE.OTH_EARNS into ErnYTDArray(#Earnings_Rows)<br />
  end-if</p>
<p>  move &#039;N&#039; to $Found<br />
  move 0 to #Row</p>
<p>FROM PS_PAY_OTH_EARNS POE,<br />
     PS_EARNINGS_TBL ET</p>
<p>WHERE POE.COMPANY = &amp;PL.COMPANY<br />
  AND POE.PAYGROUP = &amp;PL.PAYGROUP<br />
  AND POE.PAY_END_DT = &amp;PL.PAY_END_DT<br />
  AND POE.OFF_CYCLE = &amp;PL.OFF_CYCLE<br />
  AND POE.PAGE_NUM = &amp;PL.PAGE_NUM<br />
  AND POE.LINE_NUM = &amp;PL.LINE_NUM<br />
  AND (POE.ADD_GROSS  'N' OR POE.ERNCD IN ('HB1', 'HB2'))<br />
  AND POE.ERNCD = ET.ERNCD<br />
  AND ET.EFFDT = (SELECT MAX(EFFDT)<br />
                    FROM PS_EARNINGS_TBL<br />
                   WHERE ERNCD = ET.ERNCD<br />
                     AND EFFDT  0<br />
    move 0 to #Empl_Variance_Pct<br />
    let #Empl_Variance_Pct = round(((#Empl_YTDErn - #Empl_Est_Biweekly)/#Empl_Est_Biweekly)*100,2)<br />
  end-if</p>
<p>  print #Empl_Variance_Pct (0,150,10) edit 999,999.99</p>
<p>  position 		(+1)</p>
<p>  add #Empl_YTDHrs    to #Dept_YTDHrs<br />
  add #Empl_YTDErn    to #Dept_YTDErn</p>
<p>  add 1 to #Dept_Empl_Count</p>
<p>  do Reset-Arrays</p>
<p>end-procedure</p>
<p>!***************************<br />
begin-procedure Print-Report<br />
!***************************</p>
<p>  move 0 to #Empl_YTDHrs<br />
  move 0 to #Empl_YTDErn</p>
<p>  move 'EMPL_CLASS' to $FieldName<br />
  move $Empl_Class to $FieldValue<br />
  do Read-Translate-Table<br />
  move $XlatShortName to $Empl_Class</p>
<p>  move 'EMPL_STATUS' to $FieldName<br />
  move $Empl_Status to $FieldValue<br />
  do Read-Translate-Table<br />
  move $XlatShortName to $Empl_Status</p>
<p>  print $Name		(+1,1,30)<br />
  print $Emplid	   	(0,32,11)<br />
  print $Empl_Status	(0,44,10)<br />
  print $Empl_Class	(0,55,10)</p>
<p>  move 0 to #i</p>
<p>  move #Earnings_Rows to #Total_Rows</p>
<p>  while #i &lt;= #Total_Rows</p>
<p>    get $ErnYTDCd #ErnYTDHrs #ErnYTDErn from ErnYTDArray(#i)</p>
<p>    if $ErnYTDCd  ' '<br />
      move $ErnYTDCd to $ErnCd<br />
      do Get-Earnings-Name<br />
      print $ErnYTDCd		(0,68,3)<br />
      print '-'			(0,71,1)<br />
      print $EarningsName	(0,72,30)<br />
      print #ErnYTDHrs		(0,103,10)  edit 999,999.99<br />
      print #ErnYTDErn		(0,114,13) edit 99,999,999.99<br />
      add #ErnYTDHrs to #Empl_YTDHrs<br />
      add #ErnYTDErn to #Empl_YTDErn<br />
    end-if</p>
<p>    position			(+1)</p>
<p>    move 'N' to $Found<br />
    move 0 to #Row</p>
<p>    while (#Row &lt;= #Summary_Earnings_Rows) and ($Found = &#039;N&#039;) and (#ErnYTDErn  0)<br />
      get $Temp_ErnCd from SummaryErnYTDArray(#Row) SummaryErnYTDCd<br />
      if $Temp_ErnCd = $ErnYTDCd<br />
        array-add #ErnYTDHrs #ErnYTDErn to SummaryErnYTDArray(#Row) SummaryErnYTDHrs SummaryErnYTDErn<br />
        move 'Y' to $Found<br />
      end-if<br />
      add 1 to #Row<br />
    end-while</p>
<p>    if $Found = 'N' and (#ErnYTDErn  0)<br />
      add 1 to #Summary_Earnings_Rows<br />
      put $ErnYTDCd #ErnYTDHrs #ErnYTDErn into SummaryErnYTDArray(#Summary_Earnings_Rows)<br />
    end-if</p>
<p>    add 1 to #i</p>
<p>  end-while</p>
<p>  do Print-Empl-Subtotals</p>
<p>end-procedure</p>
<p>!*********************************<br />
begin-procedure Print-Grand-Totals<br />
!*********************************</p>
<p>  print 'Grand Totals:'		(+2,1)<br />
  print 'YTD Hours:'		(+2,5,15)<br />
  print #Grand_YTDHrs		(0,+1) edit 999,999,999.99<br />
  print 'YTD Earnings:'		(+1,5,15)<br />
  print #Grand_YTDErn		(0,+1) edit 999,999,999.99<br />
  print 'Employees:'		(+1,5,15)<br />
  print #Grand_Empl_Count	(0,+1) edit 999,999,999.99</p>
<p>end-procedure</p>
<p>!****************************************<br />
begin-procedure Print-Earning-Code-Totals<br />
!****************************************</p>
<p>  new-page</p>
<p>  print 'Grand Totals By Earnings Code'	(+2,1)</p>
<p>  print 'Cd'			(+2,5,3)<br />
  print 'YTD Hrs'		(0,9,15)<br />
  print 'YTD Gross'		(0,25,15)</p>
<p>  print '-'			(+1,5,3)  fill<br />
  print '-'			(0,9,15)   fill<br />
  print '-'			(0,25,15) fill</p>
<p>  move 0 to #i</p>
<p>  while #i &lt;= #Summary_Earnings_Rows</p>
<p>    get $SummaryErnYTDCd #SummaryErnYTDHrs #SummaryErnYTDErn from SummaryErnYTDArray(#i)</p>
<p>      print $SummaryErnYTDCd		(+1,5,3)</p>
<p>      move $SummaryErnYTDCd to $ErnCd<br />
      do Get-Earnings-Name<br />
      print &#039;-&#039;			(0,9,1)<br />
      print $EarningsName	(0,10,30) </p>
<p>      print #SummaryErnYTDHrs		(0,41,15)  edit 999,999,999.99<br />
      print #SummaryErnYTDErn		(0,57,15) edit 999,999,999.99</p>
<p>    add 1 to #i</p>
<p>  end-while</p>
<p>end-procedure</p>
<p>!*******************************<br />
begin-procedure Test-If-Variance<br />
!*******************************</p>
<p>  move 0 to #Empl_YTDHrs<br />
  move 0 to #Empl_YTDErn</p>
<p>  move 0 to #i</p>
<p>  move #Earnings_Rows to #Total_Rows</p>
<p>  while #i &lt;= #Total_Rows</p>
<p>    get $ErnYTDCd #ErnYTDHrs #ErnYTDErn from ErnYTDArray(#i)<br />
    if $ErnYTDCd  ' '</p>
<p>      move $ErnYTDCd to $ErnCd<br />
      do Get-Earnings-Name</p>
<p>      add #ErnYTDHrs to #Empl_YTDHrs<br />
      add #ErnYTDErn to #Empl_YTDErn<br />
    end-if</p>
<p>  move 'N' to $Found<br />
  move 0 to #Row</p>
<p>!  while (#Row &lt;= #Summary_Earnings_Rows) and ($Found = &#039;N&#039;) and (#ErnYTDErn  0)<br />
!    get $Temp_ErnCd from SummaryErnYTDArray(#Row) SummaryErnYTDCd<br />
!    if $Temp_ErnCd = $ErnYTDCd<br />
!      array-add #ErnYTDHrs #ErnYTDErn to SummaryErnYTDArray(#Row) SummaryErnYTDHrs SummaryErnYTDErn<br />
!      move 'Y' to $Found<br />
!    end-if<br />
!    add 1 to #Row<br />
!  end-while</p>
<p>!  if $Found = 'N' and (#ErnYTDErn  0)<br />
!    add 1 to #Summary_Earnings_Rows<br />
!    put $ErnYTDCd #ErnYTDHrs #ErnYTDErn into SummaryErnYTDArray(#Summary_Earnings_Rows)<br />
!  end-if</p>
<p>  add 1 to #i</p>
<p>  end-while</p>
<p>  move 0 to #Empl_Est_Biweekly<br />
  let #Empl_Est_Biweekly = round(#Empl_Daily_Rt * 10,2)</p>
<p>  move 0 to #Empl_Variance<br />
  let #Empl_Variance = #Empl_YTDErn - #Empl_Est_Biweekly</p>
<p>  if #Empl_Est_Biweekly &gt; 0<br />
    move 0 to #Empl_Variance_Pct<br />
    let #Empl_Variance_Pct = round(((#Empl_YTDErn - #Empl_Est_Biweekly)/#Empl_Est_Biweekly)*100,2)<br />
  end-if</p>
<p>  if #Empl_Variance_Pct  0<br />
    do print-Report<br />
  else<br />
    do Reset-Arrays<br />
  end-if</p>
<p>end-procedure</p>
<p>!*************************<br />
begin-procedure Get-Values<br />
!*************************</p>
<p>end-procedure</p>
<p>#include 'curdttim.sqc' !Get-Current_dateTime procedure<br />
#include 'datetime.sqc' !Routines for date and time formatting<br />
#include 'number.sqc'   !Routines to format numbers<br />
#include 'stdapi.sqc'   !Update Process API<br />
#include 'reset.sqc'	!Reset printer procedure<br />
#include 'readxlat.sqc' !Read-Translate-Table procedure<br />
#include 'getdptnm.sqc' !Get-Department-Name procedure<br />
#include 'askftd.sqc'	!Ask-From-Thru-Date procedure<br />
#include 'askftdep.sqc'	!Ask-From-Thru-Dept procedure<br />
#include 'geternnm.sqc' !Get-Earnings-Name procedure<br />
</code></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adrian C		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-485</link>

		<dc:creator><![CDATA[Adrian C]]></dc:creator>
		<pubDate>Fri, 03 Jul 2015 01:19:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-485</guid>

					<description><![CDATA[Hi, just found this article.
Is there a way to use the USE-REPORT to have multiple report styles in the SAME PDF output?
My problem is you can only have one DECLARE-LAYOUT and there no ALTER for it like the ALTER-PRINTER as I want to adjust the Line height on a new page to print some smaller text. The line height doesnt seem to be able to be adjusted so the alter-printer command I use - alter-printer point-size=6 font=4 - has the same line height for smaller text. Theres a pitch option but i cant see how to dynamically adjust that either..

So Im trying a 2nd DECLARE_LAYOUT and USE-REPORT for it but cant get it to print in the same PDF...

Thanks, Adrian]]></description>
			<content:encoded><![CDATA[<p>Hi, just found this article.<br />
Is there a way to use the USE-REPORT to have multiple report styles in the SAME PDF output?<br />
My problem is you can only have one DECLARE-LAYOUT and there no ALTER for it like the ALTER-PRINTER as I want to adjust the Line height on a new page to print some smaller text. The line height doesnt seem to be able to be adjusted so the alter-printer command I use &#8211; alter-printer point-size=6 font=4 &#8211; has the same line height for smaller text. Theres a pitch option but i cant see how to dynamically adjust that either..</p>
<p>So Im trying a 2nd DECLARE_LAYOUT and USE-REPORT for it but cant get it to print in the same PDF&#8230;</p>
<p>Thanks, Adrian</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nayan		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-479</link>

		<dc:creator><![CDATA[Nayan]]></dc:creator>
		<pubDate>Tue, 07 Apr 2015 06:36:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-479</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-478&quot;&gt;Madanpal Singh RAjpoot&lt;/a&gt;.

Glad to know that helps you.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-478">Madanpal Singh RAjpoot</a>.</p>
<p>Glad to know that helps you.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Madanpal Singh RAjpoot		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-478</link>

		<dc:creator><![CDATA[Madanpal Singh RAjpoot]]></dc:creator>
		<pubDate>Tue, 07 Apr 2015 05:30:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-478</guid>

					<description><![CDATA[Thanks a lot for sharing Awesome documnet for Generate Multiple Report with Unique Name in PeopleSoft SQR. Its very useful.]]></description>
			<content:encoded><![CDATA[<p>Thanks a lot for sharing Awesome documnet for Generate Multiple Report with Unique Name in PeopleSoft SQR. Its very useful.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nayan		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-445</link>

		<dc:creator><![CDATA[Nayan]]></dc:creator>
		<pubDate>Wed, 07 Jan 2015 10:59:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-445</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-444&quot;&gt;P Balaji&lt;/a&gt;.

On System Process Request or Any other run control page you should selection Format As &quot;PDF&quot; from drop down menu.then it will produce PDF documents.
Let Say an example - Company Car Report (CAR003) run this report from System Process Request then Select PDF as Format.

Please let me know still you are not clear about that.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-444">P Balaji</a>.</p>
<p>On System Process Request or Any other run control page you should selection Format As &#8220;PDF&#8221; from drop down menu.then it will produce PDF documents.<br />
Let Say an example &#8211; Company Car Report (CAR003) run this report from System Process Request then Select PDF as Format.</p>
<p>Please let me know still you are not clear about that.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: P Balaji		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-444</link>

		<dc:creator><![CDATA[P Balaji]]></dc:creator>
		<pubDate>Tue, 06 Jan 2015 05:44:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-444</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-442&quot;&gt;Nayan&lt;/a&gt;.

Hi Nayan,
 My requirement is &quot;How generate PDF  file using Sqr program&quot;?

Thanks,
Balaji]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-442">Nayan</a>.</p>
<p>Hi Nayan,<br />
 My requirement is &#8220;How generate PDF  file using Sqr program&#8221;?</p>
<p>Thanks,<br />
Balaji</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nayan		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-442</link>

		<dc:creator><![CDATA[Nayan]]></dc:creator>
		<pubDate>Tue, 23 Dec 2014 10:52:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-442</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-441&quot;&gt;P Balaji&lt;/a&gt;.

Hi , I can&#039;t understand your requirements, If please explain or elaborate more.

Thanks,
Nayan]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-441">P Balaji</a>.</p>
<p>Hi , I can&#8217;t understand your requirements, If please explain or elaborate more.</p>
<p>Thanks,<br />
Nayan</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: P Balaji		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-441</link>

		<dc:creator><![CDATA[P Balaji]]></dc:creator>
		<pubDate>Fri, 19 Dec 2014 09:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-441</guid>

					<description><![CDATA[Hi ,
I am new to SQR here my requirement is creating a &quot;pdf file&quot; using sqr program itself?
Note:I have selected &#039;PDF&#039; format in process scheduler but here my requirement says write a code in sqr program itself..]]></description>
			<content:encoded><![CDATA[<p>Hi ,<br />
I am new to SQR here my requirement is creating a &#8220;pdf file&#8221; using sqr program itself?<br />
Note:I have selected &#8216;PDF&#8217; format in process scheduler but here my requirement says write a code in sqr program itself..</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nayan		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-107</link>

		<dc:creator><![CDATA[Nayan]]></dc:creator>
		<pubDate>Tue, 29 Oct 2013 09:40:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-107</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-105&quot;&gt;Subhodip Chakraborty&lt;/a&gt;.

Thanks Subhodip for visiting and comments over the article.If you have a time you can look for Our Quiz Section on PeopleSoft &#038; Others Application. Here is the Link -  &lt;a href=&quot;https://www.dbtutor.com/skilltest&quot; rel=&quot;nofollow&quot;&gt;Quiz Section&lt;/a&gt;

:)

Thanks,]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-105">Subhodip Chakraborty</a>.</p>
<p>Thanks Subhodip for visiting and comments over the article.If you have a time you can look for Our Quiz Section on PeopleSoft &amp; Others Application. Here is the Link &#8211;  <a href="https://www.dbtutor.com/skilltest" rel="nofollow">Quiz Section</a></p>
<p>🙂</p>
<p>Thanks,</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Subhodip Chakraborty		</title>
		<link>https://www.dbtutor.com/2013/10/04/generate-multiple-report-unique-name-sqr#comment-105</link>

		<dc:creator><![CDATA[Subhodip Chakraborty]]></dc:creator>
		<pubDate>Sat, 26 Oct 2013 16:26:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbtutor.com/?p=491#comment-105</guid>

					<description><![CDATA[Dear Nayan, I gone through your article on &quot;Multiple report&quot; which I found very compact helps to fulfill any  requirement relates to generation multiple reports on PS and also very well explained.]]></description>
			<content:encoded><![CDATA[<p>Dear Nayan, I gone through your article on &#8220;Multiple report&#8221; which I found very compact helps to fulfill any  requirement relates to generation multiple reports on PS and also very well explained.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
