Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Jigang_Zhang张吉刚
Active Contributor
A user surprisingly finds out the option 'Windows Device' is missing at the print screen list popup window for all transactions at one system but another not.


I could ask Basis for help to get a quick answer like below by check SPAD setting:



Spool: Deactivate Selection


For access method 'F', you can use this option to always use the target device specified for the SAP output device and not display a field in the print dialog box for the user to select a device.

For access method 'M', you can use this option to prevent the mail address of the creator of the output request being used or the display of a field in the Print dialog box.

 

As Basis is not available at the moment and I have some time on Friday afternoon, so I decide to find out from technical.

  • 1, Get screen field name and program name&screen number from Technical info button





  • 2, Go to screen program LSPRIO04 and search field name 'PRIPAR_EXT-OSPRINTER', we can find when this field will be hidden. As IS_FRONTEND is always true while using SAP GUI, so focus on the field: no_directory_box.





  • 3. keep searching 'no_directory_box' will find out it's been set as True by FM:'RSPO_FRONTEND_PRINTERS_FOR_DEV'





  • 4. Now just continue to check when no_choice has been updated as true inside the above FM.



Here it's, as TSP03-PAMETHOD is 'F' for tested output devices at two systems, so the TSP03-PASTATUS is the key.



data: hex type x, 
res type x,
C_RSPOPNOCHOICE TYPE X VALUE 128.

"----For system which windows device not been hidden ----
"tsp03-pastatus = 32
hex = tsp03-pastatus.
" hex = 20 now! C_RSPOPNOCHOICE = 80
res = hex bit-and C_RSPOPNOCHOICE.
" res = 20 bit-and 128 = 00


"----For system which windows device been hidden ----
"tsp03-pastatus = 160
hex = tsp03-pastatus.
" hex = A0 now! C_RSPOPNOCHOICE = 80
res = hex bit-and C_RSPOPNOCHOICE.
" res = A0 bit-and 80 = 80

(little confused about bit-and operator but it doesn't matter here as they're different :D)

RES is 80 which leads to no_choice = true, then leads to no_directory_box = true, then leads to 'windows device' been hidden at print screen list popup screen. TSP03 is a table of Spool: Printer declaration so can compare& find out the checkbox of 'No device selection at front end' by printer setting TCODE: SPAD.