I'm not so sure that BES parameter supplies the next PO# for the ME23N screen. It's the ECC table ESDUS that contains the PO# that will be displayed when your ME23N Flavor is called. In table ESDUS you will see several entries for any given user. The entry that contains the next PO# to be displayed is in the record that has Action='MEPO' and Element='Application Po_Process'. The PO# is contained in the field named Active (possibly with a letter suffix). So ....
CALL FUNCTION 'ES_READ_USER_SETTINGS' " Read the current user's ESDUS settings
EXPORTING
IACTION = 'MEPO'
ILIKE = ' '
TABLES
IESDUS = LT_INTTAB. " int.table table of type ESDUSCOM
CALL FUNCTION 'ES_APPEND_USER_SETTINGS' " Update a specific setting
EXPORTING
IACTION = 'MEPO'
IELEMENT = 'Application Po_Process'
IACTIVE = p_pono. " including any letter suffix
CALL FUNCTION 'ES_SAVE_USER_SETTINGS'. " Save the settings back
Then, call the browser using the shortlink URL of the ME23N flavor.