<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: program to lock users in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979598#M71633</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is how you proceed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_ERDAT TYPE D,&lt;/P&gt;&lt;P&gt;        LAST_DATE TYPE D,&lt;/P&gt;&lt;P&gt;        LV_RELEASE LIKE sy-saprl,&lt;/P&gt;&lt;P&gt;        LV_RELEASE1 LIKE sy-saprl,&lt;/P&gt;&lt;P&gt;        lv_tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;        lv_lines like sy-dbcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LAST_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;  LAST_DATE = LAST_DATE - DAYS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_ERDAT = SY-DATUM - 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT BNAME  &lt;/P&gt;&lt;P&gt;         ERDAT&lt;/P&gt;&lt;P&gt;         TRDAT&lt;/P&gt;&lt;P&gt;         UFLAG&lt;/P&gt;&lt;P&gt;         into (w_usr02-bname,w_usr02-erdat,w_usr02-trdat,w_usr02-uflag)&lt;/P&gt;&lt;P&gt;         from usr02&lt;/P&gt;&lt;P&gt;         WHERE USTYP = 'A'&lt;/P&gt;&lt;P&gt;         AND BNAME IN S_UNAME&lt;/P&gt;&lt;P&gt;         AND ERDAT LT LV_ERDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF w_USR02-TRDAT &amp;lt; LAST_DATE.&lt;/P&gt;&lt;P&gt;      IF w_USR02-TRDAT = '00000000' AND cb_nlog = 'X'.&lt;/P&gt;&lt;P&gt;        IF w_USR02-ERDAT &amp;lt; LAST_DATE.&lt;/P&gt;&lt;P&gt;          APPEND w_usr02 to i_usr02.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF w_USR02-TRDAT &amp;lt;&amp;gt; '00000000' AND cb_llog = 'X'.&lt;/P&gt;&lt;P&gt;        APPEND w_usr02 to i_usr02.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.  &lt;/P&gt;&lt;P&gt;  describe table i_usr02 lines lv_lines.&lt;/P&gt;&lt;P&gt;  if lv_lines gt 0.&lt;/P&gt;&lt;P&gt;    if rb_lock eq 'X'.&lt;/P&gt;&lt;P&gt;      delete i_usr02 where uflag ne 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the FM to lock users:&lt;/P&gt;&lt;P&gt;Try it out.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_USER_LOCK'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  username = w_usr02-bname&lt;/P&gt;&lt;P&gt;             TABLES&lt;/P&gt;&lt;P&gt;                  return   = i_RET.&lt;/P&gt;&lt;P&gt;      Read table i_ret with key type = 'S'. " Lock successfull&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have done 1 &amp;amp; 2 of ur requirements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the above gives u some tips to start off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anjali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Jun 2005 04:36:35 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-06-30T04:36:35Z</dc:date>
    <item>
      <title>program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979596#M71631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Pros,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As a security admin. I would appreciate if someone could help me program to lock users vis following requiremnt:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)       Has logged onto the system in the past, but has not logged on in the last 90 days.&lt;/P&gt;&lt;P&gt;2)       Has never logged onto the system in the past 30 days.&lt;/P&gt;&lt;P&gt;3)       Does NOT belong to User Group &amp;#147;SUPER&amp;#148;.&lt;/P&gt;&lt;P&gt;4)       Dialog Users ONLY.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Thanks for any help or suggestion&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jun 2005 17:17:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979596#M71631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-06-29T17:17:06Z</dc:date>
    </item>
    <item>
      <title>Re: program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979597#M71632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   Try with this program or you can modify:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------" /&gt;&lt;P&gt;Selection Text &lt;/P&gt;&lt;P&gt;001	Program Parameter&lt;/P&gt;&lt;P&gt;002	User Lockeds&lt;/P&gt;&lt;P&gt;003	User Erased&lt;/P&gt;&lt;P&gt;004	Report of User Lokeds and Erased&lt;/P&gt;&lt;P&gt;005	User&lt;/P&gt;&lt;P&gt;006	Last  Access Date&lt;/P&gt;&lt;P&gt;007	Creation Date&lt;/P&gt;&lt;P&gt;008	Result&lt;/P&gt;&lt;P&gt;009	Full Name&lt;/P&gt;&lt;P&gt;010	Exception (Not to erase these users)&lt;/P&gt;&lt;P&gt; -&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;CHECK_T Test ejecution&lt;/P&gt;&lt;P&gt;CLASS	Users Group&lt;/P&gt;&lt;P&gt;MESBL	Months to Lock&lt;/P&gt;&lt;P&gt;MESBO	Months to Delete&lt;/P&gt;&lt;P&gt;S_EXCEP	Users&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------" /&gt;&lt;P&gt;REPORT ZBAR0009 NO STANDARD PAGE HEADING LINE-SIZE 155 LINE-COUNT 60.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: USR02,              "Datos logon&lt;/P&gt;&lt;P&gt;        USR21,              "Asignación nombre usuario - clave dirección&lt;/P&gt;&lt;P&gt;        ADRP.               "Personas (gestión de direcciones central)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_USBOR OCCURS 0,&lt;/P&gt;&lt;P&gt;          BNAME LIKE USR02-BNAME, "Nombre de usuario según maestro de us&lt;/P&gt;&lt;P&gt;          ERDAT LIKE USR02-ERDAT, "Fecha de creación del maestro de usua&lt;/P&gt;&lt;P&gt;          TRDAT LIKE USR02-TRDAT. "Fecha del último acceso al sistema&lt;/P&gt;&lt;P&gt;DATA END OF IT_USBOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_USBLO OCCURS 0,&lt;/P&gt;&lt;P&gt;          BNAME LIKE USR02-BNAME, "Nombre de usuario según maestro de us&lt;/P&gt;&lt;P&gt;          ERDAT LIKE USR02-ERDAT, "Fecha de creación del maestro de usua&lt;/P&gt;&lt;P&gt;          TRDAT LIKE USR02-TRDAT. "Fecha del último acceso al sistema&lt;/P&gt;&lt;P&gt;DATA END OF IT_USBLO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF BDCDATAC OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCDATA.&lt;/P&gt;&lt;P&gt;DATA: END OF BDCDATAC.                 "Estructura Batch Input&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tablas de mensajes generados por el batch input de modificación.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF BDCMSGCOLLM OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE BDCMSGCOLL.&lt;/P&gt;&lt;P&gt;DATA: END OF BDCMSGCOLLM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FECHA1 LIKE USR02-TRDAT,&lt;/P&gt;&lt;P&gt;      FECHA2 LIKE USR02-TRDAT,&lt;/P&gt;&lt;P&gt;      FECHA3 LIKE USR02-TRDAT,&lt;/P&gt;&lt;P&gt;      TR_MS(30),&lt;/P&gt;&lt;P&gt;      I      TYPE I,&lt;/P&gt;&lt;P&gt;      P      TYPE I,&lt;/P&gt;&lt;P&gt;      CONT   TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PARAMETERS: MESBL(2) DEFAULT '03',&lt;/P&gt;&lt;P&gt;                MESBO(2) DEFAULT '06',&lt;/P&gt;&lt;P&gt;                CLASS LIKE USR02-CLASS DEFAULT 'UPSTREAM',&lt;/P&gt;&lt;P&gt;                CHECK_T AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK C1 WITH FRAME TITLE TEXT-010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT-OPTIONS: S_EXCEP FOR USR02-BNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK C1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Armado de Fechas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SY-DATUM TO FECHA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FECHA2 = FECHA1 - ( 30 * MESBL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FECHA3 = FECHA1 - ( 30 * MESBO ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM EXTRACCIÓN_US_BLOQUEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM EXTRACCIÓN_US_BORRAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDAR_EXCEPCIONES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM EJECUTAR_TRANS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR 4 ON.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;      WRITE: /57 TEXT-004, 134 'Fecha: ', SY-DATUM.&lt;/P&gt;&lt;P&gt;      WRITE: /134 'Página: ', SY-PAGNO, 151 ' '.&lt;/P&gt;&lt;P&gt;      SKIP.&lt;/P&gt;&lt;P&gt;  END-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EXTRACCIÓN_US_BORRAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EXTRACCIÓN_US_BORRAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selección de los Usuarios a Borrar que han entrado alguna vez&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT BNAME ERDAT TRDAT APPENDING CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                       IT_USBOR FROM USR02 WHERE TRDAT LT FECHA3 AND&lt;/P&gt;&lt;P&gt;                                            TRDAT NE '00000000' AND&lt;/P&gt;&lt;P&gt;                                            CLASS EQ CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selección de los Usuarios a Borrar que aún no han entrado&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT BNAME ERDAT TRDAT APPENDING CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                       IT_USBOR FROM USR02 WHERE ERDAT LT FECHA3 AND&lt;/P&gt;&lt;P&gt;                                            TRDAT EQ '00000000' AND&lt;/P&gt;&lt;P&gt;                                            CLASS EQ CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EXTRACCIÓN_US_BORRAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EXTRACCIÓN_US_BLOQUEAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EXTRACCIÓN_US_BLOQUEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selección de los Usuarios a Bloquear que han entrado alguna vez&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT BNAME ERDAT TRDAT APPENDING CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                     IT_USBLO FROM USR02 WHERE TRDAT LT FECHA2 AND&lt;/P&gt;&lt;P&gt;                                            TRDAT GE FECHA3 AND&lt;/P&gt;&lt;P&gt;                                            CLASS EQ CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selección de los Usuarios a Bloquear que aún no han entrado&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT BNAME ERDAT TRDAT APPENDING CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                   IT_USBLO FROM USR02 WHERE ERDAT LT FECHA2 AND&lt;/P&gt;&lt;P&gt;                                            ERDAT GE FECHA3 AND&lt;/P&gt;&lt;P&gt;                                            TRDAT EQ '00000000' AND&lt;/P&gt;&lt;P&gt;                                            CLASS EQ CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EXTRACCIÓN_US_BLOQUEAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDAR_EXCEPCIONES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM VALIDAR_EXCEPCIONES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF S_EXCEP NE SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE IT_USBLO WHERE BNAME EQ 'SAP*' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'DDIC' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'MAILADM' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'SAPGUEST' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'WF-BATCH' OR&lt;/P&gt;&lt;P&gt;                              BNAME IN S_EXCEP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE IT_USBOR WHERE BNAME EQ 'SAP*' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'DDIC' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'MAILADM' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'SAPGUEST' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'WF-BATCH' OR&lt;/P&gt;&lt;P&gt;                              BNAME IN S_EXCEP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE IT_USBLO WHERE BNAME EQ 'SAP*' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'DDIC' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'MAILADM' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'SAPGUEST' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'WF-BATCH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE IT_USBOR WHERE BNAME EQ 'SAP*' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'DDIC' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'MAILADM' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'SAPGUEST' OR&lt;/P&gt;&lt;P&gt;                              BNAME EQ 'WF-BATCH'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDAR_EXCEPCIONES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EJECUTAR_TRANS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EJECUTAR_TRANS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: L TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE IT_USBLO LINES L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT IT_USBLO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ADD 1 TO CONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF CHECK_T EQ SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                PERFORM EJECUTAR_US01 USING 'LOCK' IT_USBLO-BNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM LISTAR USING IT_USBLO-BNAME IT_USBLO-ERDAT&lt;/P&gt;&lt;P&gt;                                 IT_USBLO-TRDAT TR_MS 'LOCK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            AT LAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                ULINE /1(152).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE IT_USBOR LINES L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CLEAR CONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT IT_USBOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ADD 1 TO CONT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF CHECK_T EQ SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                PERFORM EJECUTAR_US01 USING 'DELE' IT_USBOR-BNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM LISTAR USING IT_USBOR-BNAME IT_USBOR-ERDAT&lt;/P&gt;&lt;P&gt;                                 IT_USBOR-TRDAT TR_MS 'DELE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            AT LAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                ULINE /1(152).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EJECUTAR_TRANS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EJECUTAR_US01&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0154   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EJECUTAR_US01 USING VALCODE USUARIO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH BDCDATAC.&lt;/P&gt;&lt;P&gt;MOVE: 'SAPLSUU5' TO BDCDATAC-PROGRAM,&lt;/P&gt;&lt;P&gt;      '0050'     TO BDCDATAC-DYNPRO,&lt;/P&gt;&lt;P&gt;      'X'        TO BDCDATAC-DYNBEGIN.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'USR02-BNAME' TO BDCDATAC-FNAM, "Usuario SAP&lt;/P&gt;&lt;P&gt;       USUARIO TO BDCDATAC-FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF VALCODE EQ 'LOCK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'BDC_OKCODE' TO BDCDATAC-FNAM, "OK_CODE&lt;/P&gt;&lt;P&gt;      '=LOCK' TO BDCDATAC-FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'SAPLSUU5' TO BDCDATAC-PROGRAM,&lt;/P&gt;&lt;P&gt;      '0500'     TO BDCDATAC-DYNPRO,&lt;/P&gt;&lt;P&gt;      'X'        TO BDCDATAC-DYNBEGIN.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'BDC_OKCODE' TO BDCDATAC-FNAM, "OK_CODE&lt;/P&gt;&lt;P&gt;      '=LOCK' TO BDCDATAC-FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF VALCODE EQ 'DELE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'BDC_OKCODE' TO BDCDATAC-FNAM, "OK_CODE&lt;/P&gt;&lt;P&gt;      '=DELE' TO BDCDATAC-FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'SAPLSPO1' TO BDCDATAC-PROGRAM,&lt;/P&gt;&lt;P&gt;      '0300'     TO BDCDATAC-DYNPRO,&lt;/P&gt;&lt;P&gt;      'X'        TO BDCDATAC-DYNBEGIN.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE: 'BDC_OKCODE' TO BDCDATAC-FNAM, "OK_CODE&lt;/P&gt;&lt;P&gt;      '=YES' TO BDCDATAC-FVAL.&lt;/P&gt;&lt;P&gt;APPEND BDCDATAC.&lt;/P&gt;&lt;P&gt;CLEAR  BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'SU01' USING BDCDATAC&lt;/P&gt;&lt;P&gt;       MODE 'N'&lt;/P&gt;&lt;P&gt;       UPDATE 'S'&lt;/P&gt;&lt;P&gt;       MESSAGES INTO BDCMSGCOLLM.&lt;/P&gt;&lt;P&gt;  REFRESH BDCDATAC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE BDCMSGCOLLM-MSGV1(30) TO TR_MS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR BDCMSGCOLLM.&lt;/P&gt;&lt;P&gt;      REFRESH BDCMSGCOLLM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EJECUTAR_US01&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LISTAR&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_USBLO_USUARIO  text                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM LISTAR USING CODUS FECHA1 FECHA2 MENSAGE ACC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: NOMBRE(50), LOCKSTATE LIKE  USLOCK .  "RM 06-04-05&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Búsqueda del Nombre Completo del Usuario&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR NOMBRE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT PERSNUMBER INTO USR21-PERSNUMBER FROM USR21&lt;/P&gt;&lt;P&gt;                      WHERE BNAME EQ CODUS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT NAME_FIRST NAME_LAST INTO (ADRP-NAME_FIRST, ADRP-NAME_LAST)&lt;/P&gt;&lt;P&gt;                      FROM ADRP&lt;/P&gt;&lt;P&gt;                      WHERE PERSNUMBER EQ USR21-PERSNUMBER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE ADRP-NAME_FIRST ADRP-NAME_LAST INTO NOMBRE&lt;/P&gt;&lt;P&gt;                                SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ACC EQ 'LOCK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ADD 1 TO I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF I EQ 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ULINE /1(30).&lt;/P&gt;&lt;P&gt;            WRITE: / SY-VLINE,  2  TEXT-002, 30 SY-VLINE.&lt;/P&gt;&lt;P&gt;            ULINE /1(152).&lt;/P&gt;&lt;P&gt;            WRITE: / SY-VLINE, 2 TEXT-005, 15 SY-VLINE, 17 TEXT-009,&lt;/P&gt;&lt;P&gt;                   68 SY-VLINE, 70 TEXT-007, 93 SY-VLINE, 95 TEXT-006,&lt;/P&gt;&lt;P&gt;                   118 SY-VLINE, 120 TEXT-008, 152 SY-VLINE.&lt;/P&gt;&lt;P&gt;            ULINE /1(152).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF CONT EQ 1.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 2 INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;        ELSEIF CONT EQ 2.&lt;/P&gt;&lt;P&gt;            CLEAR CONT.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 2 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Búsqueda del Status de Bloqueo del Usuario&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'SUSR_USER_LOCKSTATE_GET'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  USER_NAME           =  CODUS&lt;/P&gt;&lt;P&gt;             IMPORTING&lt;/P&gt;&lt;P&gt;                  LOCKSTATE           =  LOCKSTATE&lt;/P&gt;&lt;P&gt;             EXCEPTIONS&lt;/P&gt;&lt;P&gt;                  USER_NAME_NOT_EXIST = 1&lt;/P&gt;&lt;P&gt;                  OTHERS              = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF LOCKSTATE-LOCAL_LOCK EQ 'X'.   "RM 06-04-05&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           MOVE 'BLOQUEADO' TO MENSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           CLEAR MENSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: / SY-VLINE, 2 CODUS, 15 SY-VLINE, 17 NOMBRE,&lt;/P&gt;&lt;P&gt;                 68 SY-VLINE, 70 FECHA1, 93 SY-VLINE, 95 FECHA2,&lt;/P&gt;&lt;P&gt;                 118 SY-VLINE, 120 MENSAGE, 152 SY-VLINE.&lt;/P&gt;&lt;P&gt;    ELSEIF ACC EQ 'DELE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ADD 1 TO P.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF P EQ 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ULINE /1(30).&lt;/P&gt;&lt;P&gt;            WRITE: / SY-VLINE,  2  TEXT-003, 30 SY-VLINE.&lt;/P&gt;&lt;P&gt;            ULINE /1(152).&lt;/P&gt;&lt;P&gt;            WRITE: / SY-VLINE, 2 TEXT-005, 15 SY-VLINE, 17 TEXT-009,&lt;/P&gt;&lt;P&gt;                    68 SY-VLINE, 70 TEXT-007, 93 SY-VLINE, 95 TEXT-006,&lt;/P&gt;&lt;P&gt;                    118 SY-VLINE, 120 TEXT-008, 152 SY-VLINE.&lt;/P&gt;&lt;P&gt;            ULINE /1(152).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF CONT EQ 1.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 2 INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;        ELSEIF CONT EQ 2.&lt;/P&gt;&lt;P&gt;            CLEAR CONT.&lt;/P&gt;&lt;P&gt;            FORMAT COLOR 2 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE: / SY-VLINE, 2 CODUS, 15 SY-VLINE, 17 NOMBRE,&lt;/P&gt;&lt;P&gt;                 68 SY-VLINE, 70 FECHA1, 93 SY-VLINE, 95 FECHA2,&lt;/P&gt;&lt;P&gt;                 118 SY-VLINE, 120 MENSAGE, 152 SY-VLINE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " LISTAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jun 2005 18:02:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979597#M71632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-06-29T18:02:52Z</dc:date>
    </item>
    <item>
      <title>Re: program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979598#M71633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is how you proceed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LV_ERDAT TYPE D,&lt;/P&gt;&lt;P&gt;        LAST_DATE TYPE D,&lt;/P&gt;&lt;P&gt;        LV_RELEASE LIKE sy-saprl,&lt;/P&gt;&lt;P&gt;        LV_RELEASE1 LIKE sy-saprl,&lt;/P&gt;&lt;P&gt;        lv_tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;        lv_lines like sy-dbcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LAST_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;  LAST_DATE = LAST_DATE - DAYS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_ERDAT = SY-DATUM - 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT BNAME  &lt;/P&gt;&lt;P&gt;         ERDAT&lt;/P&gt;&lt;P&gt;         TRDAT&lt;/P&gt;&lt;P&gt;         UFLAG&lt;/P&gt;&lt;P&gt;         into (w_usr02-bname,w_usr02-erdat,w_usr02-trdat,w_usr02-uflag)&lt;/P&gt;&lt;P&gt;         from usr02&lt;/P&gt;&lt;P&gt;         WHERE USTYP = 'A'&lt;/P&gt;&lt;P&gt;         AND BNAME IN S_UNAME&lt;/P&gt;&lt;P&gt;         AND ERDAT LT LV_ERDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF w_USR02-TRDAT &amp;lt; LAST_DATE.&lt;/P&gt;&lt;P&gt;      IF w_USR02-TRDAT = '00000000' AND cb_nlog = 'X'.&lt;/P&gt;&lt;P&gt;        IF w_USR02-ERDAT &amp;lt; LAST_DATE.&lt;/P&gt;&lt;P&gt;          APPEND w_usr02 to i_usr02.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF w_USR02-TRDAT &amp;lt;&amp;gt; '00000000' AND cb_llog = 'X'.&lt;/P&gt;&lt;P&gt;        APPEND w_usr02 to i_usr02.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.  &lt;/P&gt;&lt;P&gt;  describe table i_usr02 lines lv_lines.&lt;/P&gt;&lt;P&gt;  if lv_lines gt 0.&lt;/P&gt;&lt;P&gt;    if rb_lock eq 'X'.&lt;/P&gt;&lt;P&gt;      delete i_usr02 where uflag ne 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the FM to lock users:&lt;/P&gt;&lt;P&gt;Try it out.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_USER_LOCK'&lt;/P&gt;&lt;P&gt;             EXPORTING&lt;/P&gt;&lt;P&gt;                  username = w_usr02-bname&lt;/P&gt;&lt;P&gt;             TABLES&lt;/P&gt;&lt;P&gt;                  return   = i_RET.&lt;/P&gt;&lt;P&gt;      Read table i_ret with key type = 'S'. " Lock successfull&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have done 1 &amp;amp; 2 of ur requirements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope the above gives u some tips to start off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anjali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2005 04:36:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979598#M71633</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-06-30T04:36:35Z</dc:date>
    </item>
    <item>
      <title>Re: program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979599#M71634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks ron and anjali.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jul 2005 12:22:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979599#M71634</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-07-05T12:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979600#M71635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your input has helped me a lot and solve the problem as well!. There is one more twist to the program. If i want to delete the "locked users" I know i have to use FM "BAPI_USER_DELETE" in the reqd. program. Is there a FM&lt;/P&gt;&lt;P&gt;like "BAPI_USER_UNDELETE" just to be on the safe side.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used "BAPI_USER_UNLOCK" along with "BAPI_USER_LOCK" to play it safe. But for user deletion I can't find "UNDELETE". &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jul 2005 19:08:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979600#M71635</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-07-15T19:08:33Z</dc:date>
    </item>
    <item>
      <title>Re: program to lock users</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979601#M71636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you wont find UNDELETE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you need to use&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; BAPI_TRANSACTION_COMMIT to commit the changes or&lt;/P&gt;&lt;P&gt; BAPI_TRANSACTION_ROLLBACK to roll back the changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Raja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jul 2005 06:42:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-lock-users/m-p/979601#M71636</guid>
      <dc:creator>athavanraja</dc:creator>
      <dc:date>2005-07-16T06:42:23Z</dc:date>
    </item>
  </channel>
</rss>

