<?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: blind scan in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655546#M2027464</link>
    <description>&lt;P&gt;Are you trying something such as &lt;A href="https://blindhelp.net/software/sudoku" target="_self"&gt;Sudoku at Blindhelp.net&lt;/A&gt;&amp;nbsp;?&lt;/P&gt;</description>
    <pubDate>Tue, 02 Apr 2024 09:15:58 GMT</pubDate>
    <dc:creator>RaymondGiuseppi</dc:creator>
    <dc:date>2024-04-02T09:15:58Z</dc:date>
    <item>
      <title>blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655484#M2027460</link>
      <description>&lt;P&gt;I want to do blind scan for sudoku I want to print that condition for that row and column I want to make it very simple.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;LI-PRODUCT title="ABAP Development" id="833755570260738661924709785639136"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;LI-PRODUCT title="SAP BTP, ABAP environment" id="73555000100800001164"&gt;&lt;/LI-PRODUCT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 08:47:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655484#M2027460</guid>
      <dc:creator>Arslan1</dc:creator>
      <dc:date>2024-04-02T08:47:47Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655529#M2027462</link>
      <description>&lt;P&gt;I know sudoku but what is "sudoku blind scan"?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 09:07:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655529#M2027462</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2024-04-02T09:07:22Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655532#M2027463</link>
      <description>&lt;P&gt;Why did you select all tags containing ABAP? Why didn't you just select the unique tag "ABAP Development"?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 09:09:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655532#M2027463</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2024-04-02T09:09:01Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655546#M2027464</link>
      <description>&lt;P&gt;Are you trying something such as &lt;A href="https://blindhelp.net/software/sudoku" target="_self"&gt;Sudoku at Blindhelp.net&lt;/A&gt;&amp;nbsp;?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 09:15:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13655546#M2027464</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2024-04-02T09:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656805#M2027477</link>
      <description>&lt;P&gt;For example, I will do 3 x 3 sudoku and with the values I set fixed in my program, the program will scan each row and column and give me the output when it places the appropriate numbers. so there will be no user interaction.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;I am looking for such a simple code, where can I actually find it?&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 07:01:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656805#M2027477</guid>
      <dc:creator>Arslan1</dc:creator>
      <dc:date>2024-04-03T07:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656818#M2027478</link>
      <description>&lt;P&gt;&lt;A href="https://en.wikipedia.org/wiki/Sudoku_solving_algorithms#Backtracking" target="_blank" rel="noopener"&gt;Sudoku solving algorithms - Backtracking (brute-force search) - Wikipedia&lt;/A&gt;:&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;&lt;EM&gt;"A brute force algorithm visits the empty cells in some order, filling in digits sequentially, or backtracking when the number is found to be not valid.&amp;nbsp;Briefly, a program would solve a puzzle by placing the digit "1" in the first cell and checking if it is allowed to be there. If there are no violations (checking row, column, and box constraints) then the algorithm advances to the next cell and places a "1" in that cell. When checking for violations, if it is discovered that the "1" is not allowed, the value is advanced to "2". If a cell is discovered where none of the 9 digits is allowed, then the algorithm leaves that cell blank and moves back to the previous cell. The value in that cell is then incremented by one. This is repeated until the allowed value in the last (81st) cell is discovered."&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 07:17:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656818#M2027478</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2024-04-03T07:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656843#M2027480</link>
      <description>&lt;P&gt;This is exactly what I wanted to say but I couldn't find a code like this. where can I find it?&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 07:30:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656843#M2027480</guid>
      <dc:creator>Arslan1</dc:creator>
      <dc:date>2024-04-03T07:30:03Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656984#M2027482</link>
      <description>&lt;P&gt;There are many such code examples in &lt;A href="https://github.com/search?q=Sudoku%20solver&amp;amp;type=repositories" target="_self"&gt;Github&lt;/A&gt;, now just convert to Abap&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 09:06:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13656984#M2027482</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2024-04-03T09:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13657061#M2027484</link>
      <description>&lt;P&gt;I you weren't successfukl to find any sample in GitHub, check at&amp;nbsp;&lt;A href="https://www.geeksforgeeks.org/sudoku-backtracking-7/?ref=lbp" target="_self"&gt;https://www.geeksforgeeks.org/sudoku-backtracking-7/?ref=lbp&lt;/A&gt;&amp;nbsp;there are samples in multiple languages (but not Abap)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 09:49:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13657061#M2027484</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2024-04-03T09:49:14Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13657090#M2027485</link>
      <description>&lt;P&gt;You may translate the text into ABAP code yourself quite easily I guess. Something like 100 lines of code.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2024 09:57:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13657090#M2027485</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2024-04-03T09:57:03Z</dc:date>
    </item>
    <item>
      <title>Re: blind scan</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13660203#M2027522</link>
      <description>&lt;P&gt;For information, for the fun, I could do the code from scratch in two hours by applying&amp;nbsp;&lt;A href="https://en.wikipedia.org/wiki/Sudoku_solving_algorithms#Backtracking" target="_blank" rel="noopener nofollow noreferrer"&gt;Sudoku solving algorithms - Backtracking (brute-force search) - Wikipedia&lt;/A&gt;), no need to convert C code.&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;&lt;EM&gt;"A brute force algorithm visits the empty cells in some order, filling in digits sequentially, or backtracking when the number is found to be not valid.&amp;nbsp;Briefly, a program would solve a puzzle by placing the digit "1" in the first cell and checking if it is allowed to be there. If there are no violations (checking row, column, and box constraints) then the algorithm advances to the next cell and places a "1" in that cell. When checking for violations, if it is discovered that the "1" is not allowed, the value is advanced to "2". If a cell is discovered where none of the 9 digits is allowed, then the algorithm leaves that cell blank and moves back to the previous cell. The value in that cell is then incremented by one. This is repeated until the allowed value in the last (81st) cell is discovered."&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;To help you start and learn by yourself, here are the start and the end of the program. I didn't use any subroutine/method, just loops and conditions. It must be approximately 120 lines of code.&lt;/P&gt;&lt;LI-CODE lang="abap"&gt;TYPES tv_row TYPE STANDARD TABLE OF i WITH EMPTY KEY.
TYPES tt_cell TYPE STANDARD TABLE OF tv_row WITH EMPTY KEY.

DATA(cells) = VALUE tt_cell(
    ( VALUE #( ( 5 ) ( 3 ) (   ) (   ) ( 7 ) (   ) (   ) (   ) (   ) ) )
    ( VALUE #( ( 6 ) (   ) (   ) ( 1 ) ( 9 ) ( 5 ) (   ) (   ) (   ) ) )
    ( VALUE #( (   ) ( 9 ) ( 8 ) (   ) (   ) (   ) (   ) ( 6 ) (   ) ) )
    ( VALUE #( ( 8 ) (   ) (   ) (   ) ( 6 ) (   ) (   ) (   ) ( 3 ) ) )
    ( VALUE #( ( 4 ) (   ) (   ) ( 8 ) (   ) ( 3 ) (   ) (   ) ( 1 ) ) )
    ( VALUE #( ( 7 ) (   ) (   ) (   ) ( 2 ) (   ) (   ) (   ) ( 6 ) ) )
    ( VALUE #( (   ) ( 6 ) (   ) (   ) (   ) (   ) ( 2 ) ( 8 ) (   ) ) )
    ( VALUE #( (   ) (   ) (   ) ( 4 ) ( 1 ) ( 9 ) (   ) (   ) ( 5 ) ) )
    ( VALUE #( (   ) (   ) (   ) (   ) ( 8 ) (   ) (   ) ( 7 ) ( 9 ) ) ) ).

DATA(backup_cells) = cells.

DATA(row_match) = 0.

DATA(row) = 1.
DATA(col) = 1.
DO.
  " 0 means that the digit is to be determined
  IF backup_cells[ row ][ col ] = 0.

    ...

  ENDIF.

  IF backup_cells[ row ][ col ] &amp;lt;&amp;gt; 0
      OR digit_determination_succeeded = abap_true.
    " go to the next cell
    IF col &amp;lt; 9.
      col = col + 1.
    ELSEIF row = 9.
      EXIT. " solved !
    ELSE.
      row = row + 1.
      col = 1.
    ENDIF.
  ENDIF.
ENDDO.

ASSERT cells = VALUE tt_cell(
    ( VALUE #( ( 5 ) ( 3 ) ( 4 ) ( 6 ) ( 7 ) ( 8 ) ( 9 ) ( 1 ) ( 2 ) ) )
    ( VALUE #( ( 6 ) ( 7 ) ( 2 ) ( 1 ) ( 9 ) ( 5 ) ( 3 ) ( 4 ) ( 8 ) ) )
    ( VALUE #( ( 1 ) ( 9 ) ( 8 ) ( 3 ) ( 4 ) ( 2 ) ( 5 ) ( 6 ) ( 7 ) ) )
    ( VALUE #( ( 8 ) ( 5 ) ( 9 ) ( 7 ) ( 6 ) ( 1 ) ( 4 ) ( 2 ) ( 3 ) ) )
    ( VALUE #( ( 4 ) ( 2 ) ( 6 ) ( 8 ) ( 5 ) ( 3 ) ( 7 ) ( 9 ) ( 1 ) ) )
    ( VALUE #( ( 7 ) ( 1 ) ( 3 ) ( 9 ) ( 2 ) ( 4 ) ( 8 ) ( 5 ) ( 6 ) ) )
    ( VALUE #( ( 9 ) ( 6 ) ( 1 ) ( 5 ) ( 3 ) ( 7 ) ( 2 ) ( 8 ) ( 4 ) ) )
    ( VALUE #( ( 2 ) ( 8 ) ( 7 ) ( 4 ) ( 1 ) ( 9 ) ( 6 ) ( 3 ) ( 5 ) ) )
    ( VALUE #( ( 3 ) ( 4 ) ( 5 ) ( 2 ) ( 8 ) ( 6 ) ( 1 ) ( 7 ) ( 9 ) ) ) ).&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Apr 2024 08:58:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/blind-scan/m-p/13660203#M2027522</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2024-04-05T08:58:28Z</dc:date>
    </item>
  </channel>
</rss>

