36 - ABAP Programming - Best Performance Guidelines(Parallel Cursor) Part6

Поделиться
HTML-код
  • Опубликовано: 10 дек 2024

Комментарии • 39

  • @Rajasekharabap
    @Rajasekharabap 4 месяца назад +2

    U are god sir thank u
    Now clearly understood when we go for read table,nestedloops,parellel cursor

  • @syedsabeer1027
    @syedsabeer1027 24 дня назад +1

    Thankyou so much sir 😊

  • @mohammed5711
    @mohammed5711 7 месяцев назад

    Crystal clear explanation. Thank you so much sir

  • @rajatkushwaha388
    @rajatkushwaha388 2 дня назад

    Hi Rahul, i think total iteration should be 11 as we are also hitting exit statement three times so loop will run 8 times for the data record and 3 times for exit statement. Correct me if i'm wrong.

  • @venkateshbathula-ub7pd
    @venkateshbathula-ub7pd 2 месяца назад +1

    Hi Sir Please tell about the parallel processing concept
    sir I have one query can we do a parallel processing technique for submitting reports by using job open and job close if you have any info on that please share any blogs

  • @vikharkhan3953
    @vikharkhan3953 9 месяцев назад +1

    Great explaination. I have a question. Does the sy-tabix returns current loop iteration or returns the index number from where data transferred to work area?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  9 месяцев назад

      Thank you. If you are Looping or reading based upon a condition then in that case, it will return the index of the matching record based upon that condition. In some cases, we need index of matching record in that case we don't even use work area.

  • @sairahulreddy9127
    @sairahulreddy9127 10 месяцев назад +1

    Heloo sir my query is - Loop at it_data1 into lwa_data1 from lv_index . Let say lv_index is 4 so it read from 4th row after that how it read from 5th row because we havent incremented lv_index it should always read from 4th row only please clarify this is from v_index will work only for first time from next time it will not consider. ???

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  10 месяцев назад

      LOOP means - It will process the records one by one. If loop is processing for 4th record, so in next iteration, it will process the record 5, 6 and so on. We started the loop from Index - 4, but it will point to next record in next iteration.

  • @mohammednabeel4381
    @mohammednabeel4381 Месяц назад

    Hello Sir, how does it make difference in performance if we sort both tables based on key first and then use nested loops with where condition using key field without using parallel cursor?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Месяц назад

      LOOP always take all the records in to consideration. Suppose an internal table has 10000 records and based upon where condition there are 2000 records. So loop takes 10000 records in to consideration not 2000. Yes for 2000 the condition is true. We need to stop those 8000 extra iterations. So we make of parallel cursor.

    • @mohammednabeel4381
      @mohammednabeel4381 Месяц назад +1

      @@sapabapbyrahulmehta , correct but that can stopped if we use nested loops with where condition based on main table?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Месяц назад

      @@mohammednabeel4381 I am not getting the question. How we can put a where condition on main loop as main loop needs to take all records into consideration. Please elaborate your question.

    • @mohammednabeel4381
      @mohammednabeel4381 Месяц назад +1

      ​@@sapabapbyrahulmehta , what I meant is below.
      sort itab1 by matnr.
      sort itab2 by matnr.
      loop at itab1 into lwa1.
      loop at iatb2 into lwa2 where matnr = lwa1-matnr.
      endloop.
      endloop.
      Now the nested loop will execute only based on material number from main loop which has multiple line items in sub loop. It will not execute for other material numbers. Correct? In this way how parallel cursor is more efficient?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Месяц назад

      @@mohammednabeel4381 No, the second loop takes all the records into consideration. Example - Suppose outer internal table has 5 records and inner internal table has 1000 records. So, for record of outer loop inner loop will continue 1000 times. Passing the where condition only means that it displays the matching records. We need to reduce these 5000 iterations to only 1000 iterations. So we are using parallel cursor.

  • @sireeshaande9102
    @sireeshaande9102 Год назад +1

    Hi, can we use parallel cursors for more than 2 loops..?

  • @yuvrajkarwar4713
    @yuvrajkarwar4713 Год назад +1

    Sirji, what if key columns are not in order?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад

      Hello Yuvraj, Can you please explore your query?

    • @GauravSingh-lz8mb
      @GauravSingh-lz8mb Год назад +1

      @@sapabapbyrahulmehta I have the similar question sir, What if it is not in sequence as Order No 1,2,3,4,5,6 and so on. What if the order numbers are like 001abc, 005xyz, means the sequence is not followed it could be anything numeric characters. then how can do this parrellal cursor sir?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад +1

      @@GauravSingh-lz8mb Hello Gaurav, order number is a numeric field, So a-z is not allowed. It will only accept numbers.

    • @VISHALKUMARSHARMA-u7y
      @VISHALKUMARSHARMA-u7y 8 месяцев назад +1

      @@sapabapbyrahulmehta Sir, So can we say that for implementing parallel cursor conditional column of both the internal table should be sorted?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  8 месяцев назад

      @@VISHALKUMARSHARMA-u7y At least the inner internal table on which we are applying the Binary Search, that must be sorted.

  • @AliAsim-ks8br
    @AliAsim-ks8br Год назад +1

    Hi Rahul Do you give online training on Abap?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад +2

      Hello Ali. I am not providing any online training as such,but if you stuck somewhere, you can ask those queries.

    • @AliAsim-ks8br
      @AliAsim-ks8br Год назад

      @@sapabapbyrahulmehta thanks for the reply, can you pls share your email. thanks Ali

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад +1

      @@AliAsim-ks8br My Email address is rahul3620023@gmail.com.

  • @grzewicz1109
    @grzewicz1109 Год назад

    Hi. Thanks for great explanation. From my understanding, each loop has its own sy-tabix value, right? When these values are reseted? When program finishes?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад +1

      Hello Grewicz, Thank you for the feedback. Your understanding is right, each loop has it's own sy-tabix value. When the loop ends, it will reset at that time.

    • @grzewicz1109
      @grzewicz1109 Год назад

      @@sapabapbyrahulmehta but the internal loop keeps its sy-tabix incrementing even when external loop goes to next iteration ( its tabix goes from 0 to 1). Does that mean that inner loop is truly finished (sy-tabix resets) only when outer loop, that contains it, is finished?

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  Год назад +1

      @@grzewicz1109 When we see any internal table in the Debugging Mode, the first column is always the index of the rows, the name of the colum is ROW. Whatever the records processed in the first iteration Internally it will mark as processed and in the next iteration SAP simply check the value of ROW column for the new record and that will act as SY-TABIX.

  • @charan3059
    @charan3059 7 месяцев назад +1

    In the parallel curser also we have do the bug analysis like if we add new record in header table. It was not reflecting in the output. You have explained about bug analysis for the normal process. Do We have to do the same process for the parallel cursor?
    ruclips.net/video/t9H0aGah3ow/видео.htmlsi=2VUvDPlWGQ96WQXv

    • @sapabapbyrahulmehta
      @sapabapbyrahulmehta  7 месяцев назад

      Yes. As the requirement is same. You can add there also.