<?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: Loop Timeout in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129245#M111289</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sai:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can be increased these settings?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Feb 2006 16:25:41 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-02-07T16:25:41Z</dc:date>
    <item>
      <title>Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129241#M111285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a abap program, where a loop returns this dump:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nach einer bestimmten Zeit wird das Programm abgebrochen, um den     &lt;/P&gt;&lt;P&gt;Arbeitsbereich für einen anderen wartenden Benutzer zu räumen.       &lt;/P&gt;&lt;P&gt;Damit soll verhindert werden, daß ein Arbeitsbereich z.B. durch      &lt;/P&gt;&lt;P&gt;- Endlosschleifen (DO, WHILE, ...),                                  &lt;/P&gt;&lt;P&gt;- Datenbankzugriffe mit großer Ergebnismenge,                        &lt;/P&gt;&lt;P&gt;- Datenbankzugriffe ohne geeigneten Index (full table scan)          &lt;/P&gt;&lt;P&gt;unnötig lang blockiert wird.                                                                                &lt;/P&gt;&lt;P&gt;Die maximale Laufzeit eines Programms wird vom Systemprofilparameter &lt;/P&gt;&lt;P&gt;"rdisp/max_wprun_time" begrenzt. Die aktuelle Einstellung ist        &lt;/P&gt;&lt;P&gt;600 Sekunden. Nach Überschreiten dieser Zeitgrenze wird versucht,    &lt;/P&gt;&lt;P&gt;ein evtl. laufendes SQL-Statement abzubrechen bzw. dem ABAP-Prozessor&lt;/P&gt;&lt;P&gt;signalisiert, das laufende Programm abzubrechen. Danach wird nochmals&lt;/P&gt;&lt;P&gt;max. 60 Sekunden gewartet. Falls danach das Programm immer noch aktiv&lt;/P&gt;&lt;P&gt;ist, wird der Work-Prozeß durchgestartet.                            &lt;/P&gt;&lt;P&gt;erfolgreicher Bearbeitung nicht sofort abgebrochen wird, steht dem   &lt;/P&gt;&lt;P&gt;Programm nochmal die Zeit von 600 Sekunden zur Verfügung.            &lt;/P&gt;&lt;P&gt;Die maximale Laufzeit eines Programms beträgt dadurch mindestens den &lt;/P&gt;&lt;P&gt;doppelten Wert des Systemprofilparameters "rdisp/max_wprun_time".    &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea about this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Eduardo Campos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:10:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129241#M111285</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:10:50Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129242#M111286</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;   as per settings the maximum time allowed for the program to run in foreground is 10 Minutes(600 seconds)..as the loop is taking longer time than that..schedule the job in the background and after it is completed check the result&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Sai easwar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:14:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129242#M111286</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129243#M111287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It seems that the time limit for the dialog process has expired.  This is a system wide setting.  You can either choose to run your program in background process, or we can see if there is anyway to speed it up.  Can you please post the code of the program?  Also, point out where you think it is spending most of the time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:15:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129243#M111287</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T16:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129244#M111288</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;If you're loopin an internal table you can try to change the type, for example try to use a SORTED TABLE instead of STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:19:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129244#M111288</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129245#M111289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sai:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can be increased these settings?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:25:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129245#M111289</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:25:41Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129246#M111290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, you can, but it will be system wide.  If your program is running that long and there is really nothing that can be done about it by tuning the ABAP code, then the action is usually to run in the background, not change that time limit setting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;RIch Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:27:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129246#M111290</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T16:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129247#M111291</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rich:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the code, i think that in this perform       PERFORM f_obtener_plan_vigente USING lv_progc_var&lt;/P&gt;&lt;P&gt;                                           lv_objid_st&lt;/P&gt;&lt;P&gt;                                     CHANGING &lt;/P&gt;&lt;P&gt;lv_objid_sc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;spending most time sorry by the Spanish words.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_llenar_tabla_faltas .&lt;/P&gt;&lt;P&gt;  DATA: lv_faltas_just TYPE zcm_cab_ina-faltas,&lt;/P&gt;&lt;P&gt;        lv_progc_var   TYPE hrp1738-progc_var,&lt;/P&gt;&lt;P&gt;        lv_objid_sc    TYPE piqscobjid,&lt;/P&gt;&lt;P&gt;        lv_objid_st    TYPE piqstudent,&lt;/P&gt;&lt;P&gt;        lv_materia     TYPE hrp1001-sobid,&lt;/P&gt;&lt;P&gt;        lv_mess(100),&lt;/P&gt;&lt;P&gt;        lv_plan_short  TYPE hrp1000-short,&lt;/P&gt;&lt;P&gt;        v_tabix        LIKE sy-tabix,&lt;/P&gt;&lt;P&gt;        v_lin          TYPE i,&lt;/P&gt;&lt;P&gt;        v_cont         TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_lin  = 3000.&lt;/P&gt;&lt;P&gt;  v_cont = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Buscar, el plan de estudio, id del alumno y las faltas justificadas *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;para hacer el update o insert en la tabla zcm_cab_ina&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT gt_total_faltas INTO ga_total_faltas.&lt;/P&gt;&lt;P&gt;    v_tabix = sy-tabix.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;loop vacio cada 5000 mi registros para evitar el timeout.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF v_tabix &amp;gt; v_lin.&lt;/P&gt;&lt;P&gt;      v_cont = v_cont + 1.&lt;/P&gt;&lt;P&gt;      v_lin = v_lin * v_cont.&lt;/P&gt;&lt;P&gt;      LOOP AT i_vacia.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;  Buscar si tiene faltas justificadas.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE gt_faltas_just&lt;/P&gt;&lt;P&gt;         WITH KEY matricula    = ga_total_faltas-matricula&lt;/P&gt;&lt;P&gt;                  plan_estudio = ga_total_faltas-plan_estudio&lt;/P&gt;&lt;P&gt;                  anio         = ga_total_faltas-anio&lt;/P&gt;&lt;P&gt;                  periodo      = ga_total_faltas-periodo&lt;/P&gt;&lt;P&gt;                  materia_id   = ga_total_faltas-materia_id&lt;/P&gt;&lt;P&gt;         INTO ga_faltas_just.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      lv_faltas_just = ga_faltas_just-faltas.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      lv_faltas_just = 0.&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;  Obtener la clase de programa de la materia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE progc_var&lt;/P&gt;&lt;P&gt;    INTO lv_progc_var&lt;/P&gt;&lt;P&gt;    FROM hrp1738&lt;/P&gt;&lt;P&gt;    WHERE plvar = gc_plvar AND&lt;/P&gt;&lt;P&gt;          otype = gc_sm    AND&lt;/P&gt;&lt;P&gt;          objid = ga_total_faltas-materia_id AND&lt;/P&gt;&lt;P&gt;          endda &amp;gt;= sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Obtener el id del estudiante&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_obtener_id_estudiante USING ga_total_faltas-matricula&lt;/P&gt;&lt;P&gt;                                      CHANGING lv_objid_st.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CHECK lv_objid_st NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Obtener el plan de estudios vigente para la clase de programa&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    de la materia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_obtener_plan_vigente USING lv_progc_var&lt;/P&gt;&lt;P&gt;                                           lv_objid_st&lt;/P&gt;&lt;P&gt;                                     CHANGING lv_objid_sc.&lt;/P&gt;&lt;P&gt;      IF lv_objid_sc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Obtener el short del plan de estudios.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE short&lt;/P&gt;&lt;P&gt;          INTO lv_plan_short&lt;/P&gt;&lt;P&gt;        FROM hrp1000&lt;/P&gt;&lt;P&gt;        WHERE plvar =   gc_plvar     AND&lt;/P&gt;&lt;P&gt;              otype =   gc_sc        AND&lt;/P&gt;&lt;P&gt;              objid =   lv_objid_sc  AND&lt;/P&gt;&lt;P&gt;              endda &amp;gt;=  sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Validar si la materia si pertence al plan de estudios&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      regresado.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE sobid&lt;/P&gt;&lt;P&gt;          INTO lv_materia&lt;/P&gt;&lt;P&gt;        FROM hrp1001&lt;/P&gt;&lt;P&gt;        WHERE  otype = gc_sc       AND&lt;/P&gt;&lt;P&gt;               objid = lv_objid_sc AND&lt;/P&gt;&lt;P&gt;               plvar = gc_plvar    AND&lt;/P&gt;&lt;P&gt;               rsign = gc_rsign    AND   " A&lt;/P&gt;&lt;P&gt;               relat = gc_relat    AND                      " 500&lt;/P&gt;&lt;P&gt;               sclas = gc_sm.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          PERFORM f_actualizar USING ga_total_faltas&lt;/P&gt;&lt;P&gt;                                     lv_plan_short&lt;/P&gt;&lt;P&gt;                                     lv_objid_st&lt;/P&gt;&lt;P&gt;                                     lv_objid_sc&lt;/P&gt;&lt;P&gt;                                     lv_faltas_just.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          lv_mess = 'La materia no pertences al plan vigente'.&lt;/P&gt;&lt;P&gt;          PERFORM f_genera_log&lt;/P&gt;&lt;P&gt;                  USING ga_total_faltas-matricula&lt;/P&gt;&lt;P&gt;                        ga_total_faltas-materia_id&lt;/P&gt;&lt;P&gt;                        ga_total_faltas-anio&lt;/P&gt;&lt;P&gt;                        ga_total_faltas-periodo&lt;/P&gt;&lt;P&gt;                        lv_mess.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        lv_mess = 'El estudiante no tiene un plan vigente'.&lt;/P&gt;&lt;P&gt;        PERFORM f_genera_log&lt;/P&gt;&lt;P&gt;                USING ga_total_faltas-matricula&lt;/P&gt;&lt;P&gt;                      ga_total_faltas-materia_id&lt;/P&gt;&lt;P&gt;                      ga_total_faltas-anio&lt;/P&gt;&lt;P&gt;                      ga_total_faltas-periodo&lt;/P&gt;&lt;P&gt;                      lv_mess.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      lv_mess = 'No existe clase de plan para la materia'.&lt;/P&gt;&lt;P&gt;      PERFORM f_genera_log&lt;/P&gt;&lt;P&gt;              USING ga_total_faltas-matricula&lt;/P&gt;&lt;P&gt;                    ga_total_faltas-materia_id&lt;/P&gt;&lt;P&gt;                    ga_total_faltas-anio&lt;/P&gt;&lt;P&gt;                    ga_total_faltas-periodo&lt;/P&gt;&lt;P&gt;                    lv_mess.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:29:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129247#M111291</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:29:19Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129248#M111292</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Where is the code for that PERFORM?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:32:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129248#M111292</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T16:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129249#M111293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the code:&lt;/P&gt;&lt;P&gt;FORM f_obtener_plan_vigente  USING    p_lv_progc_var&lt;/P&gt;&lt;P&gt;                                      p_lv_objid_st&lt;/P&gt;&lt;P&gt;                             CHANGING p_lv_objid_sc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_is_student      TYPE hrobject,&lt;/P&gt;&lt;P&gt;        lt_et_program_info TYPE STANDARD TABLE OF piqmrproginfo,&lt;/P&gt;&lt;P&gt;        lt_et_segment      TYPE STANDARD TABLE OF piqstudysegment,&lt;/P&gt;&lt;P&gt;        la_et_program_info TYPE piqmrproginfo,&lt;/P&gt;&lt;P&gt;        la_et_segment      TYPE piqstudysegment,&lt;/P&gt;&lt;P&gt;        lv_vigente(1),&lt;/P&gt;&lt;P&gt;        lv_contador        TYPE i,&lt;/P&gt;&lt;P&gt;        lv_objid_sc        TYPE piqscobjid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: lt_et_program_info, lt_et_segment.&lt;/P&gt;&lt;P&gt;  REFRESH: lt_et_program_info, lt_et_segment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ejecutar la funcion HRIQ_STUDENT_MODREG_PROGS_GET para obtener los&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;planes de estudio del estudiante.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  lv_is_student-plvar = gc_plvar.&lt;/P&gt;&lt;P&gt;  lv_is_student-otype = gc_st.&lt;/P&gt;&lt;P&gt;  lv_is_student-objid = p_lv_objid_st.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'HRIQ_STUDENT_MODREG_PROGS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     is_student             = lv_is_student&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_KEYDATE              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_PERYR                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_PERID                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EV_LEADING_PROGRAM      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;P&gt;     et_program_info        = lt_et_program_info&lt;/P&gt;&lt;P&gt;     et_segment             = lt_et_segment&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ET_ADMISSION            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ET_REGISTRATION         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ET_STUDIES              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MISSING_OBJECT          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_DATA_FOUND           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PLVAR_NOT_FOUND         = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    lv_contador = 0.&lt;/P&gt;&lt;P&gt;    LOOP AT lt_et_program_info INTO la_et_program_info&lt;/P&gt;&lt;P&gt;                               WHERE progc_var = p_lv_progc_var.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Validar vigencia del plan.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT lt_et_segment INTO la_et_segment&lt;/P&gt;&lt;P&gt;                WHERE plvar   = gc_plvar                     AND&lt;/P&gt;&lt;P&gt;                      st_objid = p_lv_objid_st               AND&lt;/P&gt;&lt;P&gt;                      cs_objid = la_et_program_info-cs_objid AND&lt;/P&gt;&lt;P&gt;                      sc_objid = la_et_program_info-sc_objid AND&lt;/P&gt;&lt;P&gt;                      endda &amp;gt;= sy-datum.&lt;/P&gt;&lt;P&gt;        IF la_et_segment-endda &amp;gt;= sy-datum.&lt;/P&gt;&lt;P&gt;          lv_vigente = 'X'.&lt;/P&gt;&lt;P&gt;          lv_objid_sc = la_et_segment-sc_objid.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Si el plan es vigente incrementar en uno el contador.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF lv_vigente = 'X'.&lt;/P&gt;&lt;P&gt;        lv_contador = lv_contador + 1.&lt;/P&gt;&lt;P&gt;        lv_vigente = ' '.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Validar que solo haya salido un plan vigente.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF lv_contador = 1.&lt;/P&gt;&lt;P&gt;      p_lv_objid_sc = lv_objid_sc.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      lv_objid_sc = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    "Mensaje de error.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:43:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129249#M111293</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:43:53Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129250#M111294</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yuou might try:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
sort gt_faltas_just by matricula plan_estudio anio periodo materia_id.

LOOP AT gt_total_faltas INTO ga_total_faltas.
...
  READ TABLE gt_faltas_just
    WITH KEY matricula = ga_total_faltas-matricula
             plan_estudio = ga_total_faltas-plan_estudio
             anio = ga_total_faltas-anio
             periodo = ga_total_faltas-periodo
             materia_id = ga_total_faltas-materia_id
     BINARY SEARCH
    INTO ga_faltas_just.
...
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:49:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129250#M111294</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129251#M111295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So do you think that it is spending most of its time in the function module call, or the nested loop below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About how many records are present in each interal table after the function call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;


LOOP AT lt_et_program_info INTO la_et_program_info
        WHERE progc_var = p_lv_progc_var.
* Validar vigencia del plan.
LOOP AT lt_et_segment INTO la_et_segment
    WHERE plvar = gc_plvar AND
      st_objid = p_lv_objid_st AND
      cs_objid = la_et_program_info-cs_objid AND
      sc_objid = la_et_program_info-sc_objid AND
      endda &amp;gt;= sy-datum.
  IF la_et_segment-endda &amp;gt;= sy-datum.
       lv_vigente = 'X'.
       lv_objid_sc = la_et_segment-sc_objid.
       CONTINUE.
  ENDIF.
ENDLOOP.

* Si el plan es vigente incrementar en uno el contador.
   IF lv_vigente = 'X'.
       lv_contador = lv_contador + 1.
       lv_vigente = ' '.
   ENDIF.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:50:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129251#M111295</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T16:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129252#M111296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If there are a large number of records in both tables, performance of nested loops is slow. Change the inner loop to a binary read, followed by an indexed read.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at &lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="650769"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Rob Burbank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 16:55:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129252#M111296</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T16:55:05Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129253#M111297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think that function CALL FUNCTION 'HRIQ_STUDENT_MODREG_PROGS_GET'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is the cause.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 17:02:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129253#M111297</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T17:02:00Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129254#M111298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So it spends a lot of time in this function module.  If so, there is not really anything you can do about the performance, unless there are OSS notes to fix it.  You should probably be running this in background.  Is there a reason why background is not good for you?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 17:04:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129254#M111298</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T17:04:28Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129255#M111299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the inner loop only read 3 o 4 records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 17:11:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129255#M111299</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T17:11:41Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129256#M111300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rich:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program have writes how can I see this message, when i run this like a job? is there a way or i need to change the program?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 17:17:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129256#M111300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T17:17:08Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129257#M111301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can still view the spool via SM37.  When you submit it to background, it will show up in SM37, from there you can view the spool that is created by your write statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rich Heilman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 17:22:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129257#M111301</guid>
      <dc:creator>RichHeilman</dc:creator>
      <dc:date>2006-02-07T17:22:04Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129258#M111302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK - that's probably not it then. Have you done a runtime analysis (SE30) to pinpoint the bottleneck?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 19:25:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129258#M111302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T19:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129259#M111303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I run the program in background, in this way it doesn't return a error, I make some change to the code with your suggestions, I put some points to you by this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards.&lt;/P&gt;&lt;P&gt;Eduardo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 21:33:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129259#M111303</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T21:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Loop Timeout</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129260#M111304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It'd probably still be a good idea to do the runtime analysis. Even if it's run in the background, if it runs a long time and uses a lot of resources, it can slow down other processes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2006 21:39:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loop-timeout/m-p/1129260#M111304</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-07T21:39:59Z</dc:date>
    </item>
  </channel>
</rss>

