<?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: BDC data inconsistency in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447471#M828059</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;No luck!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Feb 2008 07:33:20 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-25T07:33:20Z</dc:date>
    <item>
      <title>BDC data inconsistency</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447469#M828057</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;  I am using a bdc  for mm02 to change the rounding value of a material. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;functionality:-&lt;/P&gt;&lt;P&gt;1)select matnr and werks, new rounding value&lt;/P&gt;&lt;P&gt;2)call bdc to change these values.&lt;/P&gt;&lt;P&gt;3)display the log. ie old value and new value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when displaying the log(ie after calling the transaction) i am reading from the datbase for the new value.It still shows me the old value.&lt;/P&gt;&lt;P&gt;Is it because the the transaction is happenng in the background and am displaing even before i committed the update?Because next time i run the program it gives me the new value of the last run. and also when i debug since there is more time gap btw my call transaction and display it shows the correct result. how to avoid this. how do i know when the transaction has finished.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT zrrbdcmm02 .


TABLES: mara , marc, zrrmm02.

DATA : BEGIN OF g_t_mara OCCURS 0,
       matnr LIKE mara-matnr,
       END OF g_t_mara,

       BEGIN OF g_t_marc OCCURS 0,
       matnr LIKE marc-matnr,
       werks LIKE marc-werks,
       END OF g_t_marc,

       BEGIN OF g_t_result OCCURS 0,
       matnr LIKE mara-matnr,
       werks LIKE marc-werks,
       oldval LIKE zrrmm02-oldval,
       newval LIKE zrrmm02-newval,
       msg LIKE zrrmm02-msg,
       END OF g_t_result,

       g_t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

 DATA itab TYPE TABLE OF bdcmsgcoll WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETER p_matnr TYPE mara-matnr.
PARAMETER p_werks TYPE marc-werks.
PARAMETER p_newval TYPE marc-BSTRF.
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

  DATA: g_f_valid(1), g_f_oldval type marc-BSTRF.
  g_f_valid = 'N'.
  PERFORM validate_input.
  IF g_f_valid EQ 'Y' .
  SELECT single bstrf INTO g_f_oldval  FROM marc WHERE  matnr = p_matnr
                                             AND werks = p_werks.

    PERFORM process_data.
    PERFORM display_result.
  ENDIF.

END-OF-SELECTION.

*---------------------------------------------------------------------*
*       FORM validate_input                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM validate_input.

  DATA: l_f_temp(20) TYPE c,
        l_f_check(1).
  l_f_check = 'Y'.
  SELECT SINGLE matnr INTO g_t_mara FROM mara WHERE matnr = p_matnr.
  IF sy-subrc EQ 0.
    SELECT SINGLE werks INTO l_f_temp FROM marc WHERE werks = p_werks.
    IF sy-subrc EQ 0.
      SELECT SINGLE matnr werks INTO g_t_marc FROM marc WHERE
                                                        werks = p_werks
                                                    AND matnr = p_matnr.
      IF sy-subrc NE 0.
        l_f_check = 'N'.
        WRITE: / 'No material found in this plant'.
      ENDIF.
    ELSEIF sy-subrc NE 0.
      l_f_check = 'N'.
      WRITE: / 'No such plant found'.
    ENDIF.
  ELSEIF sy-subrc NE 0.
    l_f_check = 'N'.
    WRITE: / 'No such material found'.
  ENDIF.
  IF l_f_check EQ 'Y'.
    g_f_valid = 'Y'.
  ENDIF.


ENDFORM.        "validate_input

*---------------------------------------------------------------------*
*       FORM process_data                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM process_data.

  data :l_f_val(3) type n.
  l_f_val = p_newval.

  PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'RMMG1-MATNR'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '=ENTR'.
  PERFORM bdc_field       USING 'RMMG1-MATNR' p_matnr.

  PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(03)'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '=ENTR'.
  PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(03)' 'X'.

  PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'RMMG1-WERKS'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '=ENTR'.
  PERFORM bdc_field       USING 'RMMG1-WERKS' p_werks.

  PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '=BU'.
  PERFORM bdc_field       USING 'MAKT-MAKTX' 'prod finito'.
  PERFORM bdc_field       USING 'MARA-MEINS' 'ST'.
  PERFORM bdc_field       USING 'MARC-DISGR' 'IM01'.
  PERFORM bdc_field       USING 'MARC-MAABC' 'A'.
  PERFORM bdc_field       USING 'MARC-DISMM' 'PD'.
  PERFORM bdc_field       USING 'MARC-DISPO' 'I01'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'MARC-BSTRF'.
  PERFORM bdc_field       USING 'MARC-DISLS' 'YX'.
  PERFORM bdc_field       USING 'MARC-BSTRF' l_f_val.

  CALL TRANSACTION 'MM02' USING g_t_bdcdata MODE 'N' MESSAGES INTO itab.


ENDFORM.    "process_data

*---------------------------------------------------------------------*
*       FORM bdc_dynpro                                               *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  PROGRAM                                                       *
*  --&amp;gt;  DYNPRO                                                        *
*---------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.

  g_t_bdcdata-program  = program.
  g_t_bdcdata-dynpro   = dynpro.
  g_t_bdcdata-dynbegin = 'X'.
  APPEND g_t_bdcdata.
  CLEAR  g_t_bdcdata.

ENDFORM.                    " bdc_dynpro

*---------------------------------------------------------------------*
*       FORM bdc_field                                                *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  FNAM                                                          *
*  --&amp;gt;  FVAL                                                          *
*---------------------------------------------------------------------*
FORM bdc_field USING  fnam fval.

  g_t_bdcdata-fnam   = fnam.
  g_t_bdcdata-fval   = fval.
  APPEND g_t_bdcdata.
  CLEAR  g_t_bdcdata.

ENDFORM.                    " bdc_field

*---------------------------------------------------------------------*
*       FORM display_result                                           *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM display_result.
  DATA: BEGIN OF l_t_itab OCCURS 0,
        matnr type zrrmm02-matnr,
        werks type zrrmm02-werks,
        bstrf  type marc-BSTRF,
        oldval type marc-BSTRF,
        ersda type sy-datum,
        timestamp type sy-uzeit,
        end of l_t_itab.
SELECT matnr werks bstrf INTO CORRESPONDING FIELDS OF l_t_itab FROM marc
                                          WHERE  matnr = p_matnr
                                             AND werks = p_werks.
    APPEND l_t_itab.
  ENDSELECT.
  LOOP AT l_t_itab.
    l_t_itab-oldval = g_f_oldval.
    l_t_itab-ersda = sy-datum.
    l_t_itab-timestamp = sy-uzeit.
    modify l_t_itab.
    clear l_t_itab.
  ENDLOOP.
  loop at l_t_itab.
  WRITE : / 'matnr' , l_t_itab-matnr,
          / 'werks' , l_t_itab-werks,
          / 'old value' , l_t_itab-oldval,
          / 'new value' , l_t_itab-bstrf,
          / l_t_itab-ersda,
          / l_t_itab-timestamp.
  endloop.

  write: / 'messages'.
  loop at itab.
  write / itab.
  endloop.

ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:10:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447469#M828057</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:10:07Z</dc:date>
    </item>
    <item>
      <title>Re: BDC data inconsistency</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447470#M828058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;after call transaction use &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH  g_t_bdcdata.&lt;/P&gt;&lt;P&gt;CLEAR  g_t_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;ravi shankar reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:18:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447470#M828058</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:18:29Z</dc:date>
    </item>
    <item>
      <title>Re: BDC data inconsistency</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447471#M828059</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;No luck!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:33:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447471#M828059</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:33:20Z</dc:date>
    </item>
    <item>
      <title>Re: BDC data inconsistency</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447472#M828060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The problem is resolved when i give the addition UPDATE 'S' to the call transaction!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 09:35:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bdc-data-inconsistency/m-p/3447472#M828060</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-27T09:35:52Z</dc:date>
    </item>
  </channel>
</rss>

