SAP的SYSTEM的函数列表和代码示例

    技术2022-05-11  63

    来源:http://blog.csdn.net/compassbutton/

     

    This chapter contains functions that could be associated with BASIS type of operations, suchas finding the IP address of a terminal and opening FTP sessions.ABAP4_CALL_TRANSACTIONSummaryInitiates a transaction in a separate window.DescriptionBasically a wrapper to CALL TRANSACTION. Within an ABAP program, this will startan additional transaction. The normal rules of authorisation to run the transaction naturallystill apply.ParametersEXPORTINGTCODE Contains the transaction code to be called.SKIP_SCREEN If set, will skip the first screen of the transaction.MODE_VAL Display mode:Value MeaningA (default) Display the screensE Only display screens if an error occursN Do not display (background mode)UPDATE_VAL Update mode:Value MeaningA (default) Asynchronous updateS Synchronous updateL Local updateTABLESUSING_TAB BDC data for the transactionSPAGPA_TAB Holds SPA/GPA parameters to fill input fieldsMESS_TAB Contains any error messages from the transaction2 Common SAP R/3 Functions ManualExampleREPORT ZEXAMPLE.DATA: BEGIN OF IMESS OCCURS 0.INCLUDE STRUCTURE BDCMSGCOLL.DATA: END OF IMESS.CALL FUNCTION ‘ABAP4_CALL_TRANSACTION’ STARTING NEW TASK ‘ZTSK’EXPORTINGTCODE = ‘SE38’ “START ABAP DEVELOPMENTTABLESMESS_TAB = IMESSEXCEPTIONSCALL_TRANSACTION_DENIED = 1TCODE_INVALID = 2OTHERS = 3.IF SY-SUBRC <> 0.LOOP AT IMESS.WRITE:/IMESS-MSGV1,IMESS-MSGV2,IMESS-MSGV3.ENDLOOP.ENDIF.See AlsoHLP_MODE_CREATE, TH_REMOTE_TRANSACTION, TRANSACTION_CALLARFC_GET_TIDSummaryReturns the IP address of the server in hexadecimal.DescriptionThe IP address is returned from the function in hexadecimal, so this should be formatted tothe normal dotted notation of an IP address before being displayed to the user. The examplewill do this for you.ParametersIMPORTINGTID Contains the IP address of the user’s computer that runs the function.ExampleREPORT ZEXAMPLE.DATA: TERM_IP LIKE ARFCTID,IP_ADDR(20) TYPE C,IP_BIT(3) TYPE C,HOSTADDR(4) TYPE X,HEX_CHAR TYPE X,HADDR_X(8) TYPE X,IP_LEN TYPE I,HEXIP_LEN TYPE I VALUE 0,HEXIP TYPE I,CHAR_HEX TYPE I.CALL FUNCTION ‘ARFC_GET_TID’IMPORTINGTID = TERM_IP.HOSTADDR = TERM_IP(8).HADDR_X = HOSTADDR.DESCRIBE FIELD HOSTADDR LENGTH HEXIP_LEN.HEXIP_LEN = HEXIP_LEN – 1.DO HEXIP_LEN TIMES.HEX_CHAR = HADDR_X + HEXIP(1).CHAR_HEX = HEX_CHAR.IP_BIT = CHAR_HEX.CONDENSE IP_BIT.IP_LEN = STRLEN(IP_ADDR).IP_ADDR + IP_LEN = IP_BIT.IP_LEN = STRLEN(IP_ADDR).IP_ADDR + IP_LEN = ‘.’.HEXIP = HEXIP + 1.ENDDO.HEX_CHAR = HADDR_X + HEXIP(1).CHAR_HEX = HEX_CHAR.IP_BIT = CHAR_HEX.CONDENSE IP_BIT.IP_LEN = STRLEN(IP_ADDR).IP_ADDR + IP_LEN = IP_BIT.WRITE:/ ‘SERVER IP ADDRESS IS:’, IP_ADDR.See AlsoTERMINAL_ID_GET, TH_USER_INFOAUTHORITY_CHECK_DATASETSummaryChecks file access authorisation.Chapter 1 • System 34 Common SAP R/3 Functions ManualDescriptionThis function module allows you to check the user’s authorisation to access files (with commandsOPEN DATASET, READ DATASET, TRANSFER and DELETE DATASET). A checkshould be performed before opening a file. This function is well documented.ParametersEXPORTINGPROGRAM Program containing file access command (default: current program)ACTIVITY Access type required to file:Value MeaningREAD Read fileWRITE Change fileREAD_WITH_FILTER Read file with filter functionWRITE_WITH_FILTER Change file with filter functionDELETE Delete fileFILENAME Name of accessed fileExampleREPORT ZEXAMPLE.DATA: BEGIN OF ITAB OCCURS 0,ATYPE(20),END OF ITAB.PARAMETER P_FNAME LIKE AUTHB-FILENAME.PARAMETERS:P_READ AS CHECKBOX DEFAULT ‘X’,P_WRITE AS CHECKBOX DEFAULT ‘X’,P_RWF AS CHECKBOX DEFAULT ‘X’,P_WWF AS CHECKBOX DEFAULT ‘X’,P_DELETE AS CHECKBOX DEFAULT ‘X’.CLEAR: ITAB, ITAB[].IF P_READ EQ ‘X’.ITAB-ATYPE = ‘READ’.APPEND ITAB.ENDIF.IF P_WRITE EQ ‘X’.ITAB-ATYPE = ‘WRITE’.APPEND ITAB.ENDIF.IF P_RWF EQ ‘X’.ITAB-ATYPE = ‘READ_WITH_FILTER’.APPEND ITAB.ENDIF.IF P_WWF EQ ‘X’.ITAB-ATYPE = ‘WRITE_WITH_FILTER’.APPEND ITAB.ENDIF.IF P_DELETE EQ ‘X’.ITAB-ATYPE = ‘DELETE’.APPEND ITAB.ENDIF.LOOP AT ITAB.CALL FUNCTION ‘AUTHORITY_CHECK_DATASET’EXPORTINGACTIVITY = ITAB-ATYPEFILENAME = P_FNAMEEXCEPTIONSNO_AUTHORITY = 1ACTIVITY_UNKNOWN = 2OTHERS = 3.CASE SY-SUBRC.WHEN 0.WRITE:/ ‘You have’, ITAB-ATYPE, ‘access to’, P_FNAME.WHEN 1.WRITE:/ ‘You do not have’, ITAB-ATYPE, ‘access to’, P_FNAME.WHEN OTHERS.WRITE:/ ‘Error with function’.ENDCASE.ENDLOOP.BP_EVENT_RAISESummaryTriggers an event in the background-processing system from an ABAP program.DescriptionEvents let you start background jobs under defined conditions. The event IDs are defined intransaction SM62 (event arguments are specified when the job is scheduled).When you define a new event, a transport request must be manually created if it is to betransported to another system.ParametersEXPORTINGEVENTID The event name, defined in SM62EVENTPARM Job can be scheduled to wait for an EVENTID or combination of EVENTIDand EVENTPARMExampleREPORT ZEXAMPLE.DATA: Q_EVENT LIKE TBTCJOB-EVENTID VALUE ‘SAP_QEVENT’,Q_EVENTPARM LIKE TBTCJOB-EVENTPARM.Chapter 1 • System 56 Common SAP R/3 Functions ManualCALL FUNCTION ‘BP_EVENT_RAISE’EXPORTINGEVENTID = Q_EVENTEVENTPARM = Q_EVENTPARMEXCEPTIONSBAD_EVENTID = 1EVENTID_DOES_NOT_EXIST = 2EVENTID_MISSING = 3RAISE_FAILED = 4OTHERS = 5.IF SY-SUBRC NE 0.WRITE:/ ‘EVENT’, Q_EVENT, ‘NOT RAISED’.ELSE.WRITE:/ ‘EVENT’, Q_EVENT, ‘RAISED SUCCESSFULLY’.ENDIF.See AlsoGET_JOB_RUNTIME_INFOCAT_CHECK_RFC_DESTINATIONSummaryChecks for the RFC destinations and connections on a client.DescriptionRFC destinations are defined within SAP using transaction code SM59.ParametersEXPORTINGRFCDESTINATION System to be testedIMPORTINGMSGV1 RFC messageMSGV2 RFC messageRFC_SUBRC RFC return codeExampleREPORT ZEXAMPLE.DATA: RFCDESTINATION LIKE RSCAT-RFCDEST,V_MSGV1 LIKE SY-MSGV1,V_MSGV2 LIKE SY-MSGV2,V_SUBRC LIKE SYST-SUBRC.CALL FUNCTION ‘CAT_CHECK_RFC_DESTINATION’EXPORTINGRFCDESTINATION = RFCDESTINATIONIMPORTINGMSGV1 = V_MSGV1MSGV2 = V_MSGV2RFC_SUBRC = V_SUBRC.IF V_SUBRC NE 0.WRITE:/ ‘ERROR:’, V_MSGV1, V_MSGV2.ELSE.SET PARAMETER ID ‘RFC’ FIELD RFCDESTINATION.WRITE:/ ‘CONNECTION TO’, RFCDESTINATION, ‘IS WORKING’.ENDIF.See AlsoCAT_PING, TH_SERVER_LISTCAT_PINGSummaryChecks RFC system and configuration.DescriptionTests if an RFC system is reachable and returns configuration data if possible.ParametersEXPORTINGRFCDESTINATION System to be testedIMPORTINGSYSINFO Structure with RFC system configuration informationExampleREPORT ZEXAMPLE.DATA: BEGIN OF SYSINFO.INCLUDE STRUCTURE CATFR.DATA: END OF SYSINFO.DATA RFC_DESTINATION LIKE RFCDES-RFCDEST.SYSINFO = SPACE.CALL FUNCTION ‘CAT_PING’ DESTINATION RFC_DESTINATIONIMPORTINGSYSINFO = SYSINFOChapter 1 • System 78 Common SAP R/3 Functions ManualEXCEPTIONSCOMMUNICATION_FAILURE = 1SYSTEM_FAILURE = 2.IF SY-SUBRC NE 0.WRITE:/ ‘COULD NOT CONNECT TO’, RFC_DESTINATION.ELSE.WRITE:/ SYSINFO.ENDIF.See AlsoCAT_CHECK_RFC_DESTINATIONDEQUEUE_ES_PROGSummaryReleases program locks.DescriptionThis function releases a lock in a program that has been set by ENQUEUE_ES_PROG.ParametersEXPORTINGNAME Program name to lockExampleREPORT ZEXAMPLE.DATA V_PGM TYPE PROGRAMM.CALL FUNCTION ‘DEQUEUE_ES_PROG’EXPORTINGNAME = V_PGM.WRITE:/ ‘PROGRAM’, V_PGM, ‘IS UNLOCKED’.See AlsoDEQUEUE_ESFUNCTION, ENQUEUE_ES_PROGENQUEUE_ES_PROGSummaryPrevents the parallel execution of a program.DescriptionThis function creates a lock in a program that should not be processed more than once, simultaneously.The lock remains in place until either the DEQUEUE_ES_PROG function moduleis called or the transaction is completed (with an implicit DEQUEUE_ALL call).ParametersEXPORTINGNAME Program name to lockSCOPE Controls how the lock is passed to the update program:Value Meaning1 The lock is not passed to the update program. The lockis removed when the transaction ends.2 (default) The lock is passed to the update program. The updateprogram is responsible for removing the lock.3 The lock is passed to the update program. The lock mustbe removed in both the interactive program and in theupdate program.ExampleREPORT ZEXAMPLE.DATA V_PGM TYPE PROGRAMM.CALL FUNCTION ‘ENQUEUE_ES_PROG’EXPORTINGNAME = V_PGMSCOPE = ‘3’EXCEPTIONSFOREIGN_LOCK = 1SYSTEM_FAILURE = 2OTHERS = 3.IF SY-SUBRC NE 0.WRITE:/ ‘LOCK FAILED ON PROGRAM ZPROGRAM’.ELSE.WRITE:/ V_PGM, ‘SUCCESSFULLY LOCKED AGAINST SIMULTANEOUS PROCESSING’.ENDIF.See AlsoDEQUEUE_ES_PROG, ENQUEUE_ESFUNCTIONFTP_COMMANDSummaryExecutes a command on an FTP server.Chapter 1 • System 910 Common SAP R/3 Functions ManualDescriptionPasses an FTP command to an FTP server for processing.ParametersEXPORTINGHANDLE Unique ID identifying FTP session (from FTP_CONNECT)COMMAND Any FTP command. For example, DIR lists files in a directoryTABLESDATA Results from FTP command. For example, filenames in a directoryExampleSee FTP_CONNECTSee AlsoFTP_CONNECTFTP_CONNECTSummaryOpens a connection to the FTP server.DescriptionFTP_CONNECT requires an encrypted password to work. It returns a unique ID (handle)that can be used with other FTP functions (e.g. FTP_COMMAND).For the RFC_DESTINATION value, you can use CAT_CHECK_RFC_DESTINATION todetermine the FTP server as defined in SAP.ParametersEXPORTINGUSER Username to the FTP serverPASSWORD Password valid for the FTP server (encrypted)HOST FTP server nameRFC_DESTINATION The server name as configured in SAPIMPORTINGHANDLE Unique ID created for this FTP sessionExampleREPORT ZEXAMPLE.DATA: FTP_USER(64) VALUE ‘FTPUSER’,FTP_PWD(64) VALUE ‘FTPPWD’,FTP_HOST(50) VALUE ‘FTPSERVER’,RFC_DEST LIKE RSCAT-RFCDEST VALUE ‘RFC_SERVER’.DATA: HDL TYPE I,KEY TYPE I VALUE 26101957,DSTLEN TYPE I.DATA: BEGIN OF FTP_DATA OCCURS 0,LINE(132) TYPE C,END OF FTP_DATA.DESCRIBE FIELD FTP_PWD LENGTH DSTLEN.CALL ‘AB_RFC_X_SCRAMBLE_STRING’ID ‘SOURCE’ FIELD FTP_PWDID ‘KEY’ FIELD KEYID ‘SCR’ FIELD ‘X’ID ‘DESTINATION’ FIELD FTP_PWDID ‘DSTLEN’ FIELD DSTLEN.CALL FUNCTION ‘FTP_CONNECT’EXPORTINGUSER = FTP_USERPASSWORD = FTP_PWDHOST = FTP_HOSTRFC_DESTINATION = RFC_DESTIMPORTINGHANDLE = HDLEXCEPTIONSNOT_CONNECTED = 1OTHERS = 2.IF SY-SUBRC NE 0.WRITE:/ ‘COULD NOT CONNECT TO’, FTP_HOST.ELSE.WRITE:/ ‘CONNECTED SUCCESSFULLY. SESSION HANDLE IS’, HDL.CALL FUNCTION ‘FTP_COMMAND’EXPORTINGHANDLE = HDLCOMMAND = ‘DIR’TABLESDATA = FTP_DATAEXCEPTIONSTCPIP_ERROR = 1COMMAND_ERROR = 2DATA_ERROR = 3OTHERS = 4.IF SY-SUBRC NE 0.WRITE:/ ‘COULD NOT EXECUTE FTP COMMAND’.Chapter 1 • System 1112 Common SAP R/3 Functions ManualELSE.LOOP AT FTP_DATA.WRITE: / FTP_DATA.ENDLOOP.CALL FUNCTION ‘FTP_DISCONNECT’EXPORTINGHANDLE = HDLEXCEPTIONSOTHERS = 1.IF SY-SUBRC NE 0.WRITE:/ ‘COULD NOT DISCONNECT FROM FTP SERVER’.ELSE.WRITE:/ ‘DISCONNECTED FROM FTP SERVER’.ENDIF.ENDIF.ENDIF.See AlsoCAT_CHECK_RFC_DESTINATION, FTP_COMMAND, FTP_DISCONNECTFTP_DISCONNECTSummaryCloses the connection and logs off the FTP server.DescriptionThis function also destroys the handle created by FTP_CONNECT, so it is no longer valid forsubsequent commands.ParametersEXPORTINGHANDLE Unique ID created by FTP_CONNECT to identify the FTP sessionExampleSee FTP_CONNECTSee AlsoFTP_CONNECT, FTP_COMMANDGET_JOB_RUNTIME_INFOSummaryGets information about a job.DescriptionThis function can also determine what event and argument triggered the start of a backgroundjob from within the background job. This is possible only in job steps that start ABAPprograms.ParametersIMPORTINGEVENTID Event that started the job (if any)EVENTPARM Event parametersJOBNAME Job returned by functionExampleREPORT ZEXAMPLE.PARAMETERS:V_EVTID LIKE TBTCM-EVENTID,V_EVTPRM LIKE TBTCM-EVENTPARM,V_JOBNAM LIKE TBTCM-JOBNAME.CALL FUNCTION ‘GET_JOB_RUNTIME_INFO’IMPORTINGEVENTID = V_EVTIDEVENTPARM = V_EVTPRMJOBNAME = V_JOBNAMEXCEPTIONSNO_RUNTIME_INFO = 1OTHERS = 2.IF SY-SUBRC NE 0.WRITE:/ ‘ERROR IN FUNCTION’.ELSE.WRITE:/ ‘JOB’, V_JOBNAM, ‘STARTED WITH EVENT’, V_EVTID, ‘AND PARAMETER’, V_EVTPRM.ENDIF.See AlsoBP_EVENT_ RAISEGUI_EXECSummaryStarts an external program asynchronously.Chapter 1 • System 1314 Common SAP R/3 Functions ManualDescriptionReplaces WS_EXECUTE to start an external application. This function is only available forWindows 32-bit clients and does not associate applications with file extensions.ParametersEXPORTINGCOMMAND Program namePARAMETER Optional field for parameters (if not specified in COMMAND)IMPORTINGRETURNCODE Function return code, assigned by Windows systemExampleREPORT ZEXAMPLE.DATA: PROGRAM(255) TYPE C VALUE ‘NOTEPAD’,PARAMETER(255) TYPE C VALUE ‘C:/DATAFILE.TXT’,RETCODE TYPE I.CALL FUNCTION ‘GUI_EXEC’EXPORTINGCOMMAND = PROGRAMPARAMETER = PARAMETERIMPORTINGRETURNCODE = RETCODE.IF RETCODE NE 0.WRITE:/ ‘PROGRAM’, PROGRAM, ‘NOT FOUND OR COULD NOT BE STARTED’.ENDIF.See AlsoGUI_RUN, EXECUTE_WINWORD,WS_EXECUTE,WS_EXCELGUI_GET_DESKTOP_INFOSummaryReturns information about the end-users client (the desktop).DescriptionThis function is platform specific. Replaces WS_QUERY.ParametersEXPORTINGTYPE: Indicates the information to be returned:Value Meaning–2 SAP system directory1 Computer name2 Windows directory3 Windows system directory4 Temporary directory5 Windows user name6 Windows OS7 Windows build number8 Windows version9 SAP GUI program name10 SAP GUI program path11 SAP current directory12 Desktop directoryCHANGINGRETURN Text information from functionExampleREPORT ZEXAMPLE.DATA: V_VALU(255) TYPE C,INFOREQ TYPE I VALUE ‘–2’.WHILE INFOREQ NE 13.CALL FUNCTION ‘GUI_GET_DESKTOP_INFO’EXPORTINGTYPE = INFOREQCHANGINGRETURN = V_VALU.CASE INFOREQ.WHEN ‘–2’.WRITE:/ ‘SAP SYSTEM DIRECTORY:’, V_VALU.WHEN ‘1’.WRITE:/ ‘COMPUTER NAME:’, V_VALU.WHEN ‘2’.WRITE:/ ‘WINDOWS DIRECTORY:’, V_VALU.WHEN ‘3’.WRITE:/ ‘WINDOWS SYSTEM DIRECTORY:’, V_VALU.WHEN ‘4’.WRITE:/ ‘TEMPORARY DIRECTORY:’, V_VALU.WHEN ‘5’.WRITE:/ ‘WINDOWS USER NAME:’, V_VALU.WHEN ‘6’.WRITE:/ ‘WINDOWS OS:’, V_VALU.WHEN ‘7’.WRITE:/ ‘WINDOWS BUILD NUMBER:’, V_VALU.WHEN ‘8’.WRITE:/ ‘WINDOWS VERSION:’, V_VALU.Chapter 1 • System 1516 Common SAP R/3 Functions ManualWHEN ‘9’.WRITE:/ ‘SAP GUI PROGRAM NAME:’, V_VALU.WHEN ‘10’.WRITE:/ ‘SAP GUI PROGRAM PATH:’, V_VALU.WHEN ‘11’.WRITE:/ ‘SAP CURRENT DIRECTORY:’, V_VALU.WHEN ‘12’.WRITE:/ ‘DESKTOP DIRECTORY:’, V_VALU.ENDCASE.INFOREQ = INFOREQ + 1.ENDWHILE.See AlsoIW_C_GET_FRONTEND_VERSION,WS_QUERYGUI_RUNSummaryStarts program asynchronously with ShellExecute.DescriptionThis function is only available for Windows 32-bit clients. If you enter a document name forCOMMAND, the document is displayed in its corresponding application.ParametersEXPORTINGCOMMAND File or program namePARAMETER Optional field for parameters (if not specified in COMMAND)IMPORTINGRETURNCODE Function return code, assigned by the Windows systemExampleREPORT ZEXAMPLE.DATA: PROGRAM(255) TYPE C VALUE ‘NOTEPAD’,PARAMETER(255) TYPE C VALUE ‘C:/DATAFILE.TXT’,RETCODE TYPE I.CALL FUNCTION ‘GUI_RUN’EXPORTINGCOMMAND = PROGRAMPARAMETER = PARAMETERIMPORTINGRETURNCODE = RETCODE.IF RETCODE NE 0.WRITE:/ ‘PROGRAM’, PROGRAM, ‘NOT FOUND OR COULD NOT BE STARTED’.ENDIF.See AlsoGUI_EXECGWY_READ_CONNECTIONSSummaryChecks if the gateway connection is open.DescriptionWhen the connection is broken, the entry is still in the connection tables. The length of timethis takes to clear (usually a few seconds) is defined in R/3.ParametersEXPORTINGGWHOST Local hostGWSERV Remote serverTABLESCONNECTIONS List of gateway connectionsExampleREPORT ZEXAMPLE.DATA: GW_HOST LIKE GWY_STRUCT-GWHOST,GW_SERV LIKE GWY_STRUCT-GWSERV,SAPSYS(2),CONVERSATION_ID(8).DATA: BEGIN OF GWCONN OCCURS 0.INCLUDE STRUCTURE GWY_CONN.DATA: END OF GWCONN.* 1 GET HOST AND SERVICECALL ‘C_SAPGPARAM’ ID ‘NAME’ FIELD ‘SAPLOCALHOST’ID ‘VALUE’ FIELD GW_HOST.CALL ‘C_SAPGPARAM’ ID ‘NAME’ FIELD ‘SAPSYSTEM’ID ‘VALUE’ FIELD SAPSYS.GW_SERV = ‘SAPGW’.GW_SERV + 5 = SAPSYS.Chapter 1 • System 1718 Common SAP R/3 Functions ManualCALL FUNCTION ‘GWY_READ_CONNECTIONS’EXPORTINGGWHOST = GW_HOSTGWSERV = GW_SERVTABLESCONNECTIONS = GWCONNEXCEPTIONSGWY_UNKNOWN_OPCODE = 01GWY_COMMUNICATION_FAILURE = 02GWY_GET_TAB_FAILED = 03GWY_NEWLINE_FAILED = 04GWY_TABLEN_TOO_SHORT = 05GWY_GET_OPCODE_FAILED = 06GWY_GET_GWHOST_FAILED = 07GWY_GET_GWSERV_FAILED = 08.IF SY-SUBRC NE 0.WRITE:/ ‘ERROR IN FUNCTION’.ELSE.WRITE:/2 ‘UNIT’, 11 ‘PROGRAM’, 20 ‘USER’, 33 ‘SYSTEM’, 50 ‘LAST REQUEST’.ULINE AT /1(70).LOOP AT GWCONN.WRITE: /2 GWCONN-LU,11 GWCONN-TP,20 GWCONN-GWUSER,33 GWCONN-SYMDEST,50 GWCONN-LAST_REQ.ENDLOOP.ENDIF.HLP_MODE_CREATESummaryCreates another session in the system.DescriptionThis function creates another session in your system with the transaction passed as parameterto the function module.ParametersEXPORTINGTCODE Transaction to call in new sessionExampleREPORT ZEXAMPLE.CALL FUNCTION ‘HLP_MODE_CREATE’EXPORTINGTCODE = ‘SE38’. “ABAP DEVELOPMENTSee AlsoABAP4_CALL_TRANSACTION, TH_REMOTE_TRANSACTION, TRANSACTION_CALLIW_C_GET_FRONTEND_VERSIONSummaryVersion of the SAP frontend installed on a PC.DescriptionDisplay the SAP logon screen (where you choose the server you want to logon), select the venddiagram (top right). Then choose “About Frontend”. There is a file version number:4640.2.0.2071 (as an example). The function returns this value.Find the path and name by clicking on “Loaded DLLs” pushbutton on the popup box. Onscrolling to the bottom of this list, you will see the path to the FRONT.EXE application.ParametersEXPORTINGCOMPPATH Path to the SAP GUICOMPNAME Name of the SAP GUI programIMPORTINGFILEVERSION Release version of the GUIExampleREPORT ZEXAMPLE.DATA FILEVERSION LIKE CNTLSTRINF-VERSION.CALL FUNCTION ‘IW_C_GET_FRONTEND_VERSION’EXPORTINGCOMPPATH = ‘C:/PROGRAM FILES/SAPPC/SAPGUI/’COMPNAME = ‘FRONT.EXE’IMPORTINGFILEVERSION = FILEVERSION.WRITE:/ ‘THE FRONT-END PROGRAM VERSION IS:’, FILEVERSION.See AlsoGUI_GET_DESKTOP_INFOChapter 1 • System 1920 Common SAP R/3 Functions ManualRFC_MAILSummarySends an e-mail to another SAP system.DescriptionTo view the function (as it cannot be seen in SE37), go to SM59, select “TCP/IP connections”,select and open “SERVER_EXEC” or “LOCAL_EXEC”, look on the pull down menu SYSTEMINFORMATION->FUNCTION LIST.ParametersEXPORTINGUSER E-mail address of recipientTABLESMAIL E-mail messageExampleREPORT ZEXAMPLE.DATA V_EMAIL(200) TYPE C OCCURS 0 WITH HEADER LINE.V_EMAIL = ‘MESSAGE BODY LINE 1’. APPEND V_EMAIL.V_EMAIL = ‘MESSAGE BODY LINE 2’. APPEND V_EMAIL.CALL FUNCTION ‘RFC_MAIL’ DESTINATION ‘LOCAL_EXEC’EXPORTINGUSER = ‘USERNAME@SOMEWHERE.COM’TABLESMAIL = V_EMAIL.IF SY-SUBRC EQ 0.WRITE ‘E-MAIL SENT SUCCESSFULLY.’.ELSE.WRITE ‘ERROR SENDING E-MAIL.’.ENDIF.See AlsoCAT_CHECK_RFC_DESTINATION, SO_NEW_DOCUMENT_ATT_SEND_API1,SO_ NEW_DOCUMENT_SEND_API1RSPO_FIND_SPOOL_REQUESTSSummaryFinds a spool number.DescriptionReturns spool number(s) for a user, SAP client, and/or printer ID.ParametersEXPORTINGRQOWNER Spool ownerALLCLIENTS SAP clientsRQDEST Printer nameTABLESSPOOLREQUESTS List of spool(s) informationExampleREPORT ZEXAMPLE.TYPE-POOLS:SLIS,SP01R.DATA: SPOOL_OWNER LIKE SY-UNAME,PRN LIKE TSP03-PADEST VALUE ‘LOCL’,SPOOL_NUMBER LIKE TSP01-RQIDENT.DATA: BEGIN OF IRQTAB OCCURS 0.INCLUDE STRUCTURE RSPORQ.DATA: END OF IRQTAB.DATA: LTAB TYPE SP01R_TVIEW WITH HEADER LINE,RS_SELFIELD TYPE SLIS_SELFIELD.SPOOL_OWNER = SY-UNAME.CALL FUNCTION ‘RSPO_FIND_SPOOL_REQUESTS’EXPORTINGRQOWNER = SPOOL_OWNERRQDEST = PRNTABLESSPOOLREQUESTS = IRQTAB.WRITE:/ ‘PRINTING SPOOLS OF’, SPOOL_OWNER, ‘ON PRINTER’, PRN, ‘NOW.’.LOOP AT IRQTAB.SPOOL_NUMBER = IRQTAB-RQIDENT.CALL FUNCTION ‘RSPO_OUTPUT_SPOOL_REQUEST’EXPORTINGDEVICE = PRNSPOOL_REQUEST_ID = SPOOL_NUMBEREXCEPTIONSOTHERS = 1.SKIP.IF SY-SUBRC EQ 0.WRITE: IRQTAB-RQIDENT,‘PRINTED ON’, PRN.EXIT. “ONLY PRINT ONE IN THIS EXAMPLEChapter 1 • System 2122 Common SAP R/3 Functions ManualELSE.WRITE: IRQTAB-RQIDENT, ‘NOT PRINTED ON’, PRN.ENDIF.ENDLOOP.* PRINT THE LAST ONE, WITH NO PRINT DIALOG BOXMOVE-CORRESPONDING IRQTAB TO LTAB.APPEND LTAB.CALL FUNCTION ‘RSPO_RPRINT_SPOOLREQ’EXPORTINGTEND = SPOOL_NUMBERPOPUP = ‘ ’TABLESREQ_VIEW = LTABCHANGINGRS_SELFIELD = RS_SELFIELDEXCEPTIONSOTHERS = 1.IF SY-SUBRC EQ 0.WRITE:/ LTAB-RQIDENT, ‘PRINTED ON DEFAULT PRINTER’.ELSE.WRITE:/ LTAB-RQIDENT, ‘NOT PRINTED’.ENDIF.* DOWNLOAD A SPOOLJOB TO A FILECALL FUNCTION ‘RSPO_DOWNLOAD_SPOOLJOB’EXPORTINGID = LTAB-RQIDENTFNAME = ‘C:/TEMP/SPOOLFILE.TXT’.WRITE:/ LTAB-RQIDENT, ‘DOWNLOADED TO C:/TEMP/SPOOLFILE.TXT’.RSPO_OUTPUT_SPOOL_REQUESTSummaryOutputs the same request on a different printer.DescriptionPicks up a spool on one printer and sends it to another for printing.ParametersEXPORTINGDEVICE Printer nameSPOOL_REQUEST_ID Spool numberExampleSee RSPO_FIND_SPOOL_REQUESTSSee AlsoGET_PRINT_PARAMETERS, RSPO_FIND_SPOOL_REQUESTSRSPO_RPRINT_SPOOLREQSummaryTriggers spool to print automatically.DescriptionPrints the data from the spool number which is passed into it.ParametersEXPORTINGTEND Spool request numberPOPUP Display print parameters (default X = Yes)TABLESREQ_VIEW Spool informationCHANGINGRS_SELFIELD Spool ALV display informationExampleSee RSPO_FIND_SPOOL_REQUESTSSee AlsoRSPO_FIND_SPOOL_REQUESTS, GET_PRINT_PARAMETERSSAPWL_GET_SUMMARY_STATISTICSummaryObject usage statistics summary.DescriptionReturns summary of usage statistics on a variety of objects, such as users of transactions andreports.Chapter 1 • System 2324 Common SAP R/3 Functions ManualParametersEXPORTINGPERIODTYPE Period to report:Value MeaningD DailyW WeeklyM MonthlyY YearlyHOSTID ClientSTARTDATE Start date to calculate statisticsTABLESSUMMARY Statistical summaryExampleREPORT ZEXAMPLE.DATA: BEGIN OF SUMMARY OCCURS 0.INCLUDE STRUCTURE SAPWLSUMRY.DATA: END OF SUMMARY.DATA: PERIODTYPE LIKE SAPWLACCTP-PERIODTYPE VALUE ‘D’,HOSTID LIKE SAPWLSERV-HOSTSHORT,STARTDAT LIKE SAPWLACCTP-STARTDATE.DATA AVG(5).STARTDAT = SY-DATUM.HOSTID = SY-HOST.CALL FUNCTION ‘SAPWL_GET_SUMMARY_STATISTIC’EXPORTINGPERIODTYPE = PERIODTYPEHOSTID = HOSTIDSTARTDATE = STARTDATTABLESSUMMARY = SUMMARY.LOOP AT SUMMARY.IF SUMMARY-TASKTYPE = ‘DIALOG’.AVG = SUMMARY-RESPTI / SUMMARY-COUNT.EXIT.ENDIF.ENDLOOP.WRITE:/ ‘AVERAGE RESPONSE TIME:’, AVG.See AlsoSAPWL_WORKLOAD_GET_DIRECTORY, SAPWL_WORKLOAD_GET_STATISTICSAPWL_WORKLOAD_GET_DIRECTORYSummaryTimeframe of statistics on SAP database.ParametersTABLESDIRECTORY Table of contentsExampleREPORT ZEXAMPLE.DATA: WL_DIR LIKE SAPWLDIR OCCURS 1 WITH HEADER LINE,NUM_LINES LIKE SYST-INDEX.DATA: BEGIN OF ITIME_FRAME OCCURS 1,FILLER(14) TYPE C,VALUE(7) TYPE C,END OF ITIME_FRAME.CALL FUNCTION ‘SAPWL_WORKLOAD_GET_DIRECTORY’TABLESDIRECTORY = WL_DIR.DESCRIBE TABLE WL_DIR LINES NUM_LINES.IF NUM_LINES > 0.LOOP AT WL_DIR WHERE PERIODTYPE = ‘M’ AND HOSTID <> ‘TOTAL’.CONCATENATE WL_DIR-STARTDATE + 4(2)WL_DIR-STARTDATE + 0(4)INTO ITIME_FRAME-VALUE SEPARATED BY ‘/’.APPEND ITIME_FRAME.ENDLOOP.ELSE.CONCATENATE SYST-DATUM + 4(2) SYST-DATUM + 0(4)INTO ITIME_FRAME-VALUE SEPARATED BY ‘/’.APPEND ITIME_FRAME.ENDIF.* DELETE DUPLICATE INFO FROM MULTIPLE APP. SERVERSSORT ITIME_FRAME BY VALUE + 3(4) VALUE(2) ASCENDING.DELETE ADJACENT DUPLICATES FROM ITIME_FRAME COMPARING VALUE.LOOP AT ITIME_FRAME.WRITE:/ ITIME_FRAME-VALUE.ENDLOOP.See AlsoSAPWL_GET_SUMMARY_STATISTIC, SAPWL_WORKLOAD_GET_STATISTICChapter 1 • System 2526 Common SAP R/3 Functions ManualSAPWL_WORKLOAD_GET_STATISTICSummaryObject usage statistics.DescriptionReturns usage statistics on a variety of objects, such as users of transactions and reports.ParametersEXPORTINGPERIODTYPE Period to report:Value MeaningD DailyW WeeklyM MonthlyY YearlyHOSTID ClientSTARTDATE Start date to calculate statisticsTABLESUSER_STATISTIC Users of transactions and reportsExampleREPORT ZEXAMPLE.DATA: BEGIN OF USER_STATISTIC OCCURS 0.INCLUDE STRUCTURE SAPWLUENTI.DATA: END OF USER_STATISTIC.DATA: PERIODTYPE LIKE SAPWLACCTP-PERIODTYPE VALUE ‘D’,HOSTID LIKE SAPWLSERV-HOSTSHORT,STARTDAT LIKE SAPWLACCTP-STARTDATE.STARTDAT = SY-DATUM.HOSTID = SY-HOST.CALL FUNCTION ‘SAPWL_WORKLOAD_GET_STATISTIC’EXPORTINGPERIODTYPE = PERIODTYPEHOSTID = HOSTIDSTARTDATE = STARTDATTABLESUSER_STATISTIC = USER_STATISTICEXCEPTIONSNO_DATA_FOUND = 1.IF SY-SUBRC EQ 0.LOOP AT USER_STATISTIC.WRITE:/ USER_STATISTIC-TTYPE,USER_STATISTIC-ENTRY_ID,USER_STATISTIC-ACCOUNT.ENDLOOP.ELSE.WRITE:/ ‘NO USER STATISTICS’.ENDIF.See AlsoSAPWL_GET_SUMMARY_STATISTIC, SAPWL_WORKLOAD_GET_STATISTICSHOW_JOBSTATESummaryChecks the status of a job.ParametersEXPORTINGJOBCOUNT ID number of jobJOBNAME Job nameIMPORTINGABORTED Job terminated abnormallyFINISHED Job completed successfullyPRELIMINARY Job not released to run or no start conditionREADY Job scheduled, released, start condition fulfilled, but job notyet startedRUNNING Job in progressSCHEDULED Job scheduled and released, waiting for start condition to befulfilledExampleREPORT ZEXAMPLE.TABLES: TBIST, TBIER.DATA: BEGIN OF I_TJOBS OCCURS 0.INCLUDE STRUCTURE TBIER_S.DATA: END OF I_TJOBS.DATA: I_TBIZU LIKE TBIZU OCCURS 0 WITH HEADER LINE.DATA: ABORTED,FINISHED,PRELIMINARY,READY,RUNNING,SCHEDULED.* JOB NAMESSELECT * FROM TBIZU INTO TABLE I_TBIZU.* CURRENT JOBSSELECT * FROM TBIST.MOVE-CORRESPONDING TBIST TO I_TJOBS.I_TJOBS-JOBID = TBIST-JOBNAME.Chapter 1 • System 2728 Common SAP R/3 Functions ManualAPPEND I_TJOBS.ENDSELECT.* COMPLETED JOBSSELECT * FROM TBIER.MOVE-CORRESPONDING TBIER TO I_TJOBS.I_TJOBS-JOBID = TBIER-JOBNAME.APPEND I_TJOBS.ENDSELECT.LOOP AT I_TJOBS.READ TABLE I_TBIZU WITH KEY JOBID = I_TJOBS-JOBID BINARY SEARCH.IF SY-SUBRC = 0.I_TJOBS-JOBTEXT = I_TBIZU-JOBTEXT.I_TJOBS-BTCJOB = I_TBIZU-BTCJOB.ENDIF.CALL FUNCTION ‘SHOW_JOBSTATE’EXPORTINGJOBCOUNT = I_TJOBS-JOBCOUNTJOBNAME = I_TJOBS-BTCJOBIMPORTINGABORTED = ABORTEDFINISHED = FINISHEDPRELIMINARY = PRELIMINARYREADY = READYRUNNING = RUNNINGSCHEDULED = SCHEDULEDEXCEPTIONSJOBCOUNT_MISSING = 01JOBNAME_MISSING = 02JOB_NOTEX = 03OTHERS = 99.IF SY-SUBRC <> 0.I_TJOBS-STATUSTEXT = ‘ERROR IN FUNCTION CALL’.ELSE.IF ABORTED = ‘X’.I_TJOBS-STATUSTEXT = ‘JOB ABORTED’.ELSEIF FINISHED = ‘X’.I_TJOBS-STATUSTEXT = ‘JOB FINISHED’.ELSEIF SCHEDULED = ‘X’.I_TJOBS-STATUSTEXT = ‘JOB SCHEDULED’.ELSEIF RUNNING = ‘X’.I_TJOBS-STATUSTEXT = ‘JOB RUNNING’.ELSEIF READY = ‘X’.I_TJOBS-STATUSTEXT = ‘JOB READY’.ELSE.I_TJOBS-STATUSTEXT = ‘JOB UNKNOWN’.ENDIF.MODIFY I_TJOBS.ENDIF.ENDLOOP.WRITE:/‘JOB ID’, 10 ‘JOB STATUS’.LOOP AT I_TJOBS.WRITE:/I_TJOBS-JOBID,I_TJOBS-STATUSTEXT.ENDLOOP.SO_SPOOL_READSummaryReturns printer spool information.DescriptionRetrieves data from a spool.ParametersEXPORTINGSPOOL_NUMBER Printer spool numberTABLESOBJCONT Data from printer spoolExampleREPORT ZEXAMPLE.DATA: BEGIN OF OBJCONT OCCURS 0.INCLUDE STRUCTURE SOLI.DATA: END OF OBJCONT.DATA: SPOOL_NUMBER LIKE RSPOTYPE-RQNUMBER,OWNER LIKE SOUD-USRNAM,CONT_SIZE LIKE RSTSTYPE-LINELENGTH.OWNER = SY-UNAME.CALL FUNCTION ‘SO_WIND_SPOOL_LIST’ “DISPLAY ALL SPOOL NUMBERS FOR OWNEREXPORTINGOWNER = OWNERIMPORTINGSPOOL_NUMBER = SPOOL_NUMBER.CALL FUNCTION ‘SO_SPOOL_READ’ “GET SPOOL INFOMATIONEXPORTINGSPOOL_NUMBER = SPOOL_NUMBERTABLESOBJCONT = OBJCONTEXCEPTIONSCONVERT_ERROR = 1OBJECT_NOT_EXIST = 2OPERATION_NO_AUTHORIZATION = 3SPOOL_CLOSE_ERROR = 4Chapter 1 • System 2930 Common SAP R/3 Functions ManualSPOOL_OPEN_ERROR = 5SPOOL_READ_ERROR = 6OTHERS = 7.IF SY-SUBRC EQ 0.CALL FUNCTION ‘RSPO_SPOOLDATA_WRITE_INIT’.LOOP AT OBJCONT.CONT_SIZE = STRLEN(OBJCONT).CALL FUNCTION ‘RSPO_SPOOLDATA_WRITE’ “DISPLAY SPOOLEXPORTINGSPOOL_DATA = OBJCONTDATA_LENGTH = CONT_SIZESTART_POS = 1EXCEPTIONSOTHERS = 1.ENDLOOP.ELSE.WRITE:/ ‘COULD NOT DISPLAY SPOOL:’, SPOOL_NUMBER.ENDIF.See AlsoRSPO_RETURN_ABAP_SPOOLJOB, SO_WIND_SPOOL_LISTSO_WIND_SPOOL_LISTSummaryPopup dialogue to browse printer spool numbers.ParametersEXPORTINGOWNER Name of printer spool creatorIMPORTINGSPOOL_NUMBER Printer spool numberExampleSee SO_SPOOL_READSee AlsoSO_SPOOL_READSXPG_CALL_SYSTEMSummaryCalls a command external to the SAP system.DescriptionThe function checks the user’s authorisation to run a command and runs the command onthe system on which the function module is executed. Internally, it calls SXPG_COMMAND_LIST_GET and SXPG_COMMAND_EXECUTE. Use with caution!!ParametersIMPORTINGCOMMANDNAME Name of the external command, as defined in the maintenancefunction (transaction SM69)PARAMETERS Arguments for the external commandEXPORTINGSTATUS Returns the final execution status of the external command:Value MeaningO Command started and completed successfullyE Command failedTABLESEXEC_PROTOCOL Contains output of the command and host systemExampleREPORT ZEXAMPLE.DATA: BEGIN OF COMMAND_LIST OCCURS 0.INCLUDE STRUCTURE SXPGCOLIST.DATA: END OF COMMAND_LIST .DATA: BEGIN OF EXEC_PROTOCOL OCCURS 0.INCLUDE STRUCTURE BTCXPM.DATA: END OF EXEC_PROTOCOL.DATA: STATUS LIKE BTCXP3-EXITSTAT,COMMANDNAME LIKE SXPGCOLIST-NAME VALUE ‘*’,SEL_NO LIKE SY-TABIX.* GET LIST OF EXTERNAL COMMANDSCALL FUNCTION ‘SXPG_COMMAND_LIST_GET’EXPORTINGCOMMANDNAME = COMMANDNAMEOPERATINGSYSTEM = SY-OPSYSTABLESCOMMAND_LIST = COMMAND_LISTChapter 1 • System 3132 Common SAP R/3 Functions ManualEXCEPTIONSOTHERS = 1.IF SY-SUBRC EQ 0.CALL FUNCTION ‘POPUP_WITH_TABLE_DISPLAY’EXPORTINGENDPOS_COL = 100ENDPOS_ROW = 20STARTPOS_COL = 2STARTPOS_ROW = 2TITLETEXT = ‘CHOOSE A COMMAND TO EXECUTE:’IMPORTINGCHOISE = SEL_NOTABLESVALUETAB = COMMAND_LISTEXCEPTIONSBREAK_OFF = 1OTHERS = 2.IF SY-SUBRC EQ 0.READ TABLE COMMAND_LIST INDEX SEL_NO.* CHECK AUTHORIZATIONCALL FUNCTION ‘SXPG_COMMAND_CHECK’EXPORTINGCOMMANDNAME = COMMAND_LIST-NAMEOPERATINGSYSTEM = SY-OPSYSEXCEPTIONSNO_PERMISSION = 1COMMAND_NOT_FOUND = 2PARAMETERS_TOO_LONG = 3SECURITY_RISK = 4WRONG_CHECK_CALL_INTERFACE = 5X_ERROR = 6TOO_MANY_PARAMETERS = 7PARAMETER_EXPECTED = 8ILLEGAL_COMMAND = 9COMMUNICATION_FAILURE = 10SYSTEM_FAILURE = 11OTHERS = 12.CASE SY-SUBRC.WHEN 0.CALL FUNCTION ‘SXPG_COMMAND_EXECUTE’EXPORTINGCOMMANDNAME = COMMAND_LIST-NAMETABLESEXEC_PROTOCOL = EXEC_PROTOCOLEXCEPTIONSNO_PERMISSION = 1COMMAND_NOT_FOUND = 2PARAMETERS_TOO_LONG = 3SECURITY_RISK = 4WRONG_CHECK_CALL_INTERFACE = 5PROGRAM_START_ERROR = 6PROGRAM_TERMINATION_ERROR = 7X_ERROR = 8PARAMETER_EXPECTED = 9TOO_MANY_PARAMETERS = 10ILLEGAL_COMMAND = 11WRONG_ASYNCHRONOUS_PARAMETERS = 12CANT_ENQ_TBTCO_ENTRY = 13JOBCOUNT_GENERATION_ERROR = 14OTHERS = 15.IF SY-SUBRC EQ 0.WRITE:/ COMMAND_LIST-NAME, ‘RAN SUCCESSFULLY’.ELSE.WRITE:/ ‘ERROR WITH COMMAND’, COMMAND_LIST-NAME.ENDIF.WHEN 1.WRITE:/‘YOU ARE NOT AUTHORIZED TO RUN’, COMMAND_LIST-NAME.WHEN OTHERS.WRITE:/‘ERROR WITH FUNCTION WITH COMMAND’, COMMAND_LIST-NAME.ENDCASE.ENDIF. “POPUP_WITH_TABLE_DISPLAYENDIF. “SXPG_COMMAND_LIST_GETSee AlsoSXPG_COMMAND_EXECUTESXPG_COMMAND_CHECKSummaryChecks authorisation to run a command.DescriptionChecks user’s authorisation to execute the command on the host system with the specifiedarguments, and then carry out the command.ParametersIMPORTINGADDITIONAL_PARAMETERS Arguments for the external commandCOMMANDNAME Name of the external command, as defined in the maintenancefunction (transaction SM69)OPERATINGSYSTEM The host system on which the command is to be executedOPERATINGSYSTEM value is defined as part of the commanddefinition (transaction SM69)TARGETSYSTEM System upon which the command is to runChapter 1 • System 3334 Common SAP R/3 Functions ManualEXPORTINGPROGRAMNAME Name and path to the command to be executed. Arguments arenot includedDEFINED_PARAMETERS Returns argument string from the command definitionALL_PARAMETERS Returns complete argument string for the command,consisting of ADDITIONAL_PARAMETERS and DEFINED_PARAMETERSExampleSee SXPG_CALL_SYSTEMSXPG_COMMAND_EXECUTESummaryExecutes a command on remote system.DescriptionChecks user’s authorisation to run the command and if the authorisation check is successful,then the command is executed on the target host system. Commands are defined with SM69and can be tested with SM49. Use with caution!ParametersIMPORTINGCOMMANDNAME Name of the external command, as defined in the maintenancefunction (transaction SM69)OPERATINGSYSTEM The host system on which the command is to be executedOPERATINGSYSTEM value is defined as part of the commanddefinition (transaction SM69)TARGETSYSTEM System upon which the command is to runSTDOUT Log STDOUT output from the external command in parameterEXEC_PROTOCOLSTDERR Log STDERR output from the external command in parameterEXEC_PROTOCOLTERMINATIONWAIT Wait for termination of external command and event logTRACE Trace execution through CALL “writetrace” and through thelocal trace function of the commandADDITIONAL_PARAMETERS Arguments for the external commandABAPPROG ABAP program nameABAPFORM ABAP procedure (FORM) in program ABAPPROGEXPORTINGSTATUS Returns the final status of the execution of the externalcommand:Value MeaningO Command started and completed successfullyE Command failedTABLESEXEC_PROTOCOL Contains output of the command and host system.ExampleSee SXPG_CALL_SYSTEMSee AlsoSXPG_CALL_SYSTEMSXPG_COMMAND_LIST_GETSummaryReads a list of the external commands that have been defined in R/3 into an internal table.DescriptionYou can loop through the table to select a command, or offer the list to your user for selection.You can pass the selection onto SXPG_COMMAND_EXECUTE for an authorisation checkand execution of the command.ParametersIMPORTINGCOMMANDNAME Name of the external command, as defined in the maintenancefunction (transaction SM69).OPERATINGSYSTEM The host system on which the command is to be executed.OPERATINGSYSTEM value is defined as part of the commanddefinition (transaction SM69).TARGETSYSTEM System upon which the command is to run.TABLESCOMMAND_LIST Contains list of selected commands in the format shown intransaction SM49 or SM69.ExampleSee SXPG_CALL_SYSTEMTERMINAL_ID_GETSummaryReturns the IP address and terminal ID.ParametersEXPORTINGUSERNAME SAP userChapter 1 • System 3536 Common SAP R/3 Functions ManualIMPORTINGTERMINAL IP address and terminal informationExampleREPORT ZEXAMPLE.DATA TERMINAL LIKE USR41-TERMINAL.CALL FUNCTION ‘TERMINAL_ID_GET’EXPORTINGUSERNAME = SY-UNAMEIMPORTINGTERMINAL = TERMINALEXCEPTIONSMULTIPLE_TERMINAL_ID = 1NO_TERMINAL_FOUND = 2OTHERS = 3.IF SY-SUBRC EQ 0.WRITE:/‘USER’, SY-UNAME, ‘IS USING TERMINAL’, TERMINAL.ELSE.WRITE:/‘ERROR IN FUNCTION’.ENDIF.See AlsoARFC_GET_TID, TH_USER_INFOTH_DELETE_USERSummaryLogoffs a user.DescriptionResults are similar to using transaction SM04. Does not actually delete the user’s ID from SAP!ParametersEXPORTINGUSER SAP username to logoff the systemCLIENT SAP client to log users offExampleREPORT ZEXAMPLE.PARAMETERS V_BNAME LIKE SY-UNAME.CALL FUNCTION ‘TH_DELETE_USER’EXPORTINGUSER = V_BNAMECLIENT = SY-MANDTEXCEPTIONSAUTHORITY_ERROR = 1OTHERS = 2.IF SY-SUBRC EQ 0.WRITE:/ V_BNAME, ‘LOGGED OFF THE SYSTEM’.ELSE.WRITE:/ V_BNAME, ‘NOT LOGGED OFF THE SYSTEM’.ENDIF.TH_ENVIRONMENTSummaryGets values in SAP environment variables.DescriptionReturns the values of SAP systems environment variables.ParametersTABLESENVIRONMENT Holds names and values of environment variables.ExampleREPORT ZEXAMPLE.DATA: BEGIN OF IENV OCCURS 0.INCLUDE STRUCTURE THENV.DATA: END OF IENV.DATA: V_VAR(20), V_VALUE(235).CALL FUNCTION ‘TH_ENVIRONMENT’TABLESENVIRONMENT = IENV.WRITE:/ ‘VARIABLE’, 30 ‘VALUE’.ULINE.LOOP AT IENV.SPLIT IENV-LINE AT ‘=’ INTO V_VAR V_VALUE.WRITE:/ V_VAR, 30 V_VALUE.CLEAR: V_VAR, V_VALUE.ENDLOOP.Chapter 1 • System 3738 Common SAP R/3 Functions ManualTH_REMOTE_TRANSACTIONSummaryRuns a transaction on a remote server.DescriptionThe transaction may be run as a BDC by filling in the BDCTAB table parameter.ParametersEXPORTINGTCODE Transaction code to be runDEST RFC-capable server on which to run transactionIMPORTINGCOMM_MESSAGE Error messagesSYST_MESSAGE Success messagesTABLESBDCTAB BDC dataExampleREPORT ZEXAMPLE.DATA: BEGIN OF SERVER_LIST OCCURS 0 .INCLUDE STRUCTURE MSXXLIST .DATA: END OF SERVER_LIST .DATA: MESSAGE_SERVER LIKE MSXXLIST-HOST,V_LINE TYPE I,COMM_MESSAGE(256),SYST_MESSAGE(256).CALL FUNCTION ‘TH_SERVER_LIST’TABLESLIST = SERVER_LISTEXCEPTIONSOTHERS = 1.IF SY-SUBRC NE 0.CALL ‘C_SAPGPARAM’ ID ‘NAME’ FIELD ‘RDISP/MSHOST’ID ‘VALUE’ FIELD MESSAGE_SERVER.SERVER_LIST-NAME = MESSAGE_SERVER.APPEND SERVER_LIST.ENDIF.DESCRIBE TABLE SERVER_LIST LINES V_LINE.IF V_LINE GE 1.READ TABLE SERVER_LIST INDEX 1. “RUN TXN ON FIRST SERVER FOUNDCALL FUNCTION ‘TH_REMOTE_TRANSACTION’EXPORTINGTCODE = ‘SE37’DEST = SERVER_LIST-NAMEIMPORTINGCOMM_MESSAGE = COMM_MESSAGESYST_MESSAGE = SYST_MESSAGE.IF COMM_MESSAGE <> SPACE.WRITE:/ COMM_MESSAGE.ELSE.WRITE:/ SYST_MESSAGE.ENDIF.ELSE.WRITE:/ ‘NO SERVERS FOUND’.ENDIF.See AlsoABAP4_CALL_TRANSACTION, HLP_MODE_CREATE, TRANSACTION_CALLTH_SERVER_LISTSummaryList of RFC servers.ParametersTABLESLIST List of serversExampleSee TH_REMOTE_TRANSACTIONSee AlsoCAT_CHECK_RFC_DESTINATIONTH_USER_INFOSummaryReturns information about user.Chapter 1 • System 3940 Common SAP R/3 Functions ManualParametersIMPORTINGHOSTADDR IP address of the frontend computerTERMINAL Terminal name of the userACT_SESSIONS Current number of open sessionsMAX_SESSIONS Maximum number of sessions allowedMY_SESSION Currently active sessionMY_INTERNAL_SESSION Current internal sessionTASK_STATE Task stateExampleREPORT ZEXAMPLE.TABLES: MSXXLIST.DATA: HOSTADDR LIKE MSXXLIST-HOSTADR,TERMINAL(255),ACT_SESSIONS LIKE SM04DIC-COUNTER,MAX_SESSIONS LIKE SM04DIC-COUNTER,MY_SESSION LIKE SM04DIC-COUNTER,MY_INTERNAL_SESSION LIKE SM04DIC-COUNTER,TASK_STATE LIKE SM04DIC-COUNTER.DATA: DOT VALUE ‘.’,IP1 TYPE I,IP2 TYPE I,IP3 TYPE I,IP4 TYPE I,C_IP1(3) TYPE C,C_IP2(3) TYPE C,C_IP3(3) TYPE C,C_IP4(3) TYPE C,V_IPADDR(15).CALL FUNCTION ‘TH_USER_INFO’IMPORTINGHOSTADDR = HOSTADDRTERMINAL = TERMINALACT_SESSIONS = ACT_SESSIONSMAX_SESSIONS = MAX_SESSIONSMY_SESSION = MY_SESSIONMY_INTERNAL_SESSION = MY_INTERNAL_SESSIONTASK_STATE = TASK_STATE.* FORMAT THE IP ADDRESSC_IP1 = IP1 = HOSTADDR(1).C_IP2 = IP2 = HOSTADDR + 1(1).C_IP3 = IP3 = HOSTADDR + 2(1).C_IP4 = IP4 = HOSTADDR + 3(1).CONCATENATE C_IP1 DOT C_IP2 DOT C_IP3 DOT C_IP4 INTO V_IPADDR.CONDENSE V_IPADDR NO-GAPS.WRITE:/ SY-UNAME, ‘INFORMATION:’.ULINE.WRITE:/ ‘IP ADDRESS:’, 20 V_IPADDR,/ ‘TERMINAL:’, 20 TERMINAL,/ ‘OPEN SESSIONS:’, 20 ACT_SESSIONS,/ ‘MAXIMUM SESSIONS:’, 20 MAX_SESSIONS,/ ‘CURRENT SESSION:’, 20 MY_SESSION,/ ‘INTERNAL SESSION:’, 20 MY_INTERNAL_SESSION,/ ‘TASK STATE:’, 20 TASK_STATE.See AlsoARFC_GET_TID, TERMINAL_ID_GET, TH_USER_LISTTH_USER_LISTSummaryDisplays users logged onto a server.ParametersTABLESLIST List of users logged into the systemExampleREPORT ZEXAMPLE.DATA: BEGIN OF IUSRTBL OCCURS 0.INCLUDE STRUCTURE UINFO.DATA: END OF IUSRTBL.DATA NUMBER_OF_USERS TYPE I.CALL FUNCTION ‘TH_USER_LIST’TABLESLIST = IUSRTBLEXCEPTIONSOTHERS = 1.DESCRIBE TABLE IUSRTBL LINES NUMBER_OF_USERS.WRITE:/ NUMBER_OF_USERS, ‘ARE LOGGED IN NOW’.LOOP AT IUSRTBL.WRITE:/ IUSRTBL-BNAME.ENDLOOP.Chapter 1 • System 4142 Common SAP R/3 Functions ManualSee AlsoTH_USER_INFOTRANSACTION_CALLSummaryInitiates a transaction in a separate window.DescriptionAn extremely simple function,which issues a CALL TRANSACTION command. This functioncannot process exceptions (so will crash if a non-existent transaction code is passed into it).Use one of the alternative functions in the “See Also:” section instead.ParametersEXPORTINGTRANSACTION_NAME Transaction code to callExampleREPORT ZEXAMPLE.CALL FUNCTION ‘TRANSACTION_CALL’EXPORTINGTRANSACTION_NAME = ‘SE37’ “FUNCTION MODULESEXCEPTIONSOTHERS = 1.WRITE:/ ‘FUNCTION CALLED’.See AlsoABAP4_CALL_TRANSACTION, HLP_MODE_CREATE, TH_REMOTE_TRANSACTIONUSER_EXISTSSummaryChecks whether user ID is valid.ParametersEXPORTINGBNAME User IDCLIENT Client to check for user IDIMPORTINGLOCKED Flag whether user ID is lockedExampleSee F4_USERSee AlsoF4_USERWS_EXECUTESummaryCalls an external program from ABAP.DescriptionReplaced by GUI_EXEC.ParametersEXPORTINGCOMMANDLINE File to load with external applicationPROGRAM Path and name of external applicationExampleREPORT ZEXAMPLE.DATA:V_PGM(100) VALUE ‘C:/PROGRAM FILES/MICROSOFT OFFICE/OFFICE/WINWORD.EXE’,V_FNAME LIKE RLGRAP-FILENAME VALUE ‘C:/DOCUMENT.DOC’.CALL FUNCTION ‘WS_EXECUTE’EXPORTINGCOMMANDLINE = V_FNAMEPROGRAM = V_PGMEXCEPTIONSFRONTEND_ERROR = 1NO_BATCH = 2PROG_NOT_FOUND = 3ILLEGAL_OPTION = 4GUI_REFUSE_EXECUTE = 5OTHERS = 6.Chapter 1 • System 4344 Common SAP R/3 Functions ManualIF SY-SUBRC NE 0.WRITE:/ V_FNAME, ‘NOT OPENED WITH’, V_PGM.ELSE.WRITE:/ ‘EXTERNAL APPLICATION CALLED SUCCESSFULLY’.ENDIF.See AlsoSXPG_COMMAND_EXECUTE, GUI_RUN, GUI_EXECWS_QUERYSummaryExecutes query function on frontend.DescriptionReplaced by GUI_GET_DESKTOP_INFO. The query command “OS” under UNIX returnsthe output of the UNIX command “uname”.ParametersEXPORTINGENVIRONMENT Environment variable for EN query, e.g. TEMPFILENAME Variable requirement for FC/FE/FL/FT/DE queriesQUERY Query command:Value MeaningCD Current directoryDE Directory existsEN Value of environment variableFC Filename creator (Apple only)FE Filename existsFL File lengthFT Filetype and status (UNIX only)GM GMUX version (internal use only)LF Linefeed codeOS Operating system of presentation serverRC Last return codeWI Window ID graphics programWS Windows System of presentation serverXP Execution path (UNIX only)WINID Variable requirement for WI queryIMPORTINGRETURN Result of the query:Command Return value (non-exhaustive)OS AIXDOSHP-UXMACNTOS2OS/2OSF1SINIXSunOSULTRIXVMSWS MC (Macintosh)MF (UNIX-Motif)NT (Windows NT)PM (OS/2)WN (DOS/Windows 3.xx)WN32 (32-bit Windows)WN32_95WN32_98WN32_SExampleREPORT ZEXAMPLE.DATA: WINSYS(20),OSSYS(20).START-OF-SELECTION.CALL FUNCTION ‘WS_QUERY’EXPORTINGQUERY = ‘WS’IMPORTINGRETURN = WINSYSEXCEPTIONSINV_QUERY = 1NO_BATCH = 2FRONTEND_ERROR = 3OTHERS = 4.CALL FUNCTION ‘WS_QUERY’EXPORTINGQUERY = ‘OS’IMPORTINGRETURN = OSSYSEXCEPTIONSINV_QUERY = 1NO_BATCH = 2FRONTEND_ERROR = 3OTHERS = 4.PERFORM WSQUERY_CODE CHANGING WINSYS OSSYS.WRITE:/ ‘RUNNING’, WINSYS, ‘ON THE’, OSSYS, ‘OPERATING SYSTEM’.*&--------------------------------------------------------------------------------------**& FORM WSQUERY_CODE*&--------------------------------------------------------------------------------------*FORM WSQUERY_CODE CHANGING P_WINSYSP_OSSYS.Chapter 1 • System 4546 Common SAP R/3 Functions Manual* READABLE TEXTS:CASE P_WINSYS.WHEN ‘MC’.P_WINSYS = ‘MACINTOSH’.WHEN ‘MF’.P_WINSYS = ‘UNIX’.WHEN ‘NT’.P_WINSYS = ‘WINDOWS NT’.WHEN ‘PM’.P_WINSYS = ‘OS/2’.WHEN ‘WN’.P_WINSYS = ‘WINDOWS 3.XX’.WHEN ‘WN32’.P_WINSYS = ‘32-BIT WINDOWS’.WHEN ‘WN32_95’.P_WINSYS = ‘WINDOWS 95’.WHEN ‘WN32_98’.P_WINSYS = ‘WINDOWS 98’.WHEN OTHERS.P_WINSYS = ‘UNKNOWN’.ENDCASE.CASE P_OSSYS.WHEN ‘AIX’.P_OSSYS = ‘AIX’.WHEN ‘DOS’.P_OSSYS = ‘DOS’.WHEN ‘HP-UX’.P_OSSYS = ‘HP-UX’.WHEN ‘MAC’.P_OSSYS = ‘MAC’.WHEN ‘NT’.P_OSSYS = ‘NT’.WHEN ‘OS2’ OR ‘OS/2’.P_OSSYS = ‘OS/2’.WHEN ‘OSF1’.P_OSSYS = ‘OSF1’.WHEN ‘SINIX’.P_OSSYS = ‘SINIX’.WHEN ‘SUNOS’.P_OSSYS = ‘SUNOS’.WHEN ‘ULTRIX’.P_OSSYS = ‘ULTRIX’.WHEN ‘VMS’.P_OSSYS = ‘VMS’.WHEN OTHERS.P_OSSYS = ‘UNKNOWN’.ENDCASE.ENDFORM. “ WSQUERY_CODESee AlsoGUI_GET_DESKTOP_INFO

     

    最新回复(0)