Saturday 4 September 2021

No device selection at Print screen list popup window

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.

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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.

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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

SAP ABAP Exam Prep, SAP ABAP Career, SAP ABAP Tutorial and Material, SAP ABAP Learning, SAP ABAP Guides, SAP ABAP Learning

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.

No comments:

Post a Comment