Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Submit statement to MB5B is not showing batch data - please help~

former_member367551
Participant
0 Likes
6,331

Dear forumers,

In my report codes, I will need to display the stock balance quantities along with the corresponding batch data.

For this, I have done the following:-


TYPES: BEGIN OF bestand,

         bwkey LIKE mbew-bwkey,

         werks LIKE mseg-werks,

         matnr LIKE mseg-matnr,

         charg LIKE mseg-charg,

         endmenge(09) TYPE p DECIMALS 3,

         anfmenge(09) TYPE p DECIMALS 3,

         meins LIKE mara-meins,

         endwert(09)          TYPE p    DECIMALS 2,

         anfwert(09)          TYPE p    DECIMALS 2,

         soll(09) TYPE p DECIMALS 3,

         haben(09) TYPE p DECIMALS 3,                              

         sollwert(09)         TYPE p    DECIMALS 2,         

         habenwert(09)        TYPE p    DECIMALS 2,        

         waers LIKE t001-waers,

         sort_criteria(52) TYPE c,

      END OF bestand.

DATA: gt_bestand TYPE STANDARD TABLE OF bestand.

  "Get Stock Closing Value from MB5B

  SUBMIT rm07mlbd WITH matnr    IN s_matnr

                  WITH werks    IN ls_werks

                  WITH datum    IN s_datum

                  WITH lgbst    EQ 'X'

                  WITH bwbst    EQ ''

                  WITH sbbst    EQ ''

                  WITH pa_sumfl EQ 'X'

                  EXPORTING LIST TO MEMORY AND RETURN.

  IMPORT bestand TO gt_bestand FROM MEMORY ID 'MB5B_RESULT'.

From the IMPORT statement above, I am able to see all the relevant data fields that have been populated from MB5B.

However, in all my tests, all of the batch data is always missing.

Is there something that I may have missed out in my codes?

Please help. Appreciate any inputs at all.

Many thanks.

Regards,

Deborah

1 ACCEPTED SOLUTION
Read only

former_member210770
Active Participant
0 Likes
3,801

Hi Deborah Tan ,

Please Use below code for Submit Syntax. Please make sure you have pass all necessary parameters in Submit Program syntax.

DATA: LR_PAY_CONF_DATA TYPE REF TO DATA,
LR_PAY_CONF_DATA1
TYPE REF TO DATA.

FIELD-SYMBOLS:
<LT_PAY_CONF_DATA>
TYPE STANDARD TABLE,
<LS_PAY_CONF_DATA>
TYPE ANY,
<LV_FIELD>        
TYPE ANY,

<LT_PAY_CONF_DATA1>
TYPE STANDARD TABLE,
<LS_PAY_CONF_DATA1>
TYPE ANY,
<LV_FIELD1>        
TYPE ANY.

DATA: GIT_DATA  TYPE stab_totals_flat WITH HEADER LINE,

      GWA_DATA TYPE stype_totals_flat.



  REFRESH : GIT_DATA[].
REFRESH : GIT_DATA.
CLEAR : LR_PAY_CONF_DATA.
CL_SALV_BS_RUNTIME_INFO
=>SET(
EXPORTING DISPLAY  = ABAP_FALSE
METADATA
= ABAP_FALSE
DATA     = ABAP_TRUE ).

SUBMIT RM07MLBD USING SELECTION-SCREEN 1000
WITH matnr    IN s_matnr

WITH werks    IN ls_werks

WITH datum    IN s_datum

WITH lgbst      EQ 'X'

WITH bwbst    EQ ''

                  WITH SBBST    EQ ''

  WITH pa_sumfl  EQ 'X'  AND RETURN.

CL_SALV_BS_RUNTIME_INFO
=>GET_DATA_REF(
IMPORTING R_DATA = LR_PAY_CONF_DATA ).

ASSIGN LR_PAY_CONF_DATA->* TO <LT_PAY_CONF_DATA>.

IF SY-SUBRC <> 0.
CLEAR : SY-UCOMM.
MESSAGE I076(ZMM) WITH 'No Actua Cost Found for ' IN_KSCHL-LOW  ' '.
ELSE.
LOOP AT <LT_PAY_CONF_DATA> ASSIGNING <LS_PAY_CONF_DATA>.
DO.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE <LS_PAY_CONF_DATA> TO
<LV_FIELD>
.
IF SY-SUBRC <> 0.
EXIT.
ELSE.

ENDIF.
ENDDO.
ENDLOOP.
APPEND LINES OF <LT_PAY_CONF_DATA> TO  GIT_DATA.
ENDIF.
CL_SALV_BS_RUNTIME_INFO
=>CLEAR_ALL( ).


In GIT_DATA you will get all relevant data.


Please let me know if it is helpful.


Regards,

Sagar

12 REPLIES 12
Read only

arivazhagan_sivasamy
Active Contributor
0 Likes
3,801

Hi,

Create zprogram and use submit <zprogram>.

Export this internal table G_T_TOTALS_FLAT to memory.

Arivazhagan S

Read only

0 Likes
3,801

Hi Arivazhagan,


Would you please elaborate on this further?


Thanks.



Deborah

Read only

0 Likes
3,801

Hi,

Create program ZRM07MLBD from RM07MLBD.

Find the internal table G_T_TOTALS_FLAT in program ZRM07MLBD.


Before Display the output (ALV) export the itab to memory.


Arivazhagan S



Read only

0 Likes
3,801

Thanks, Arivazhagan.

Read only

0 Likes
3,801

Hi Arivazhagan,


I've tried this as well - but in G_T_TOTALS_FLAT, the batch data field is still empty.


Can you please help?



Deborah

Read only

former_member210770
Active Participant
0 Likes
3,802

Hi Deborah Tan ,

Please Use below code for Submit Syntax. Please make sure you have pass all necessary parameters in Submit Program syntax.

DATA: LR_PAY_CONF_DATA TYPE REF TO DATA,
LR_PAY_CONF_DATA1
TYPE REF TO DATA.

FIELD-SYMBOLS:
<LT_PAY_CONF_DATA>
TYPE STANDARD TABLE,
<LS_PAY_CONF_DATA>
TYPE ANY,
<LV_FIELD>        
TYPE ANY,

<LT_PAY_CONF_DATA1>
TYPE STANDARD TABLE,
<LS_PAY_CONF_DATA1>
TYPE ANY,
<LV_FIELD1>        
TYPE ANY.

DATA: GIT_DATA  TYPE stab_totals_flat WITH HEADER LINE,

      GWA_DATA TYPE stype_totals_flat.



  REFRESH : GIT_DATA[].
REFRESH : GIT_DATA.
CLEAR : LR_PAY_CONF_DATA.
CL_SALV_BS_RUNTIME_INFO
=>SET(
EXPORTING DISPLAY  = ABAP_FALSE
METADATA
= ABAP_FALSE
DATA     = ABAP_TRUE ).

SUBMIT RM07MLBD USING SELECTION-SCREEN 1000
WITH matnr    IN s_matnr

WITH werks    IN ls_werks

WITH datum    IN s_datum

WITH lgbst      EQ 'X'

WITH bwbst    EQ ''

                  WITH SBBST    EQ ''

  WITH pa_sumfl  EQ 'X'  AND RETURN.

CL_SALV_BS_RUNTIME_INFO
=>GET_DATA_REF(
IMPORTING R_DATA = LR_PAY_CONF_DATA ).

ASSIGN LR_PAY_CONF_DATA->* TO <LT_PAY_CONF_DATA>.

IF SY-SUBRC <> 0.
CLEAR : SY-UCOMM.
MESSAGE I076(ZMM) WITH 'No Actua Cost Found for ' IN_KSCHL-LOW  ' '.
ELSE.
LOOP AT <LT_PAY_CONF_DATA> ASSIGNING <LS_PAY_CONF_DATA>.
DO.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE <LS_PAY_CONF_DATA> TO
<LV_FIELD>
.
IF SY-SUBRC <> 0.
EXIT.
ELSE.

ENDIF.
ENDDO.
ENDLOOP.
APPEND LINES OF <LT_PAY_CONF_DATA> TO  GIT_DATA.
ENDIF.
CL_SALV_BS_RUNTIME_INFO
=>CLEAR_ALL( ).


In GIT_DATA you will get all relevant data.


Please let me know if it is helpful.


Regards,

Sagar

Read only

0 Likes
3,801

Hi Sagar,

I've tried the codes you posted, but unfortunately, the structures, stab_totals_flat and  stype_totals_flat do not exist in my system. Any other ideas around this, perhaps?

Deborah

Read only

0 Likes
3,801

Hi Sagar,

Found the structures defined in the program, RM07MLDD.

Will let you know how this goes.

Deborah

Read only

0 Likes
3,801

Got this, Sagar. Thanks much.

Read only

0 Likes
3,801

Hi Deborah,

Thanks for the appreciation.

Regards,

Sagar

Read only

0 Likes
3,801

Hi Sagar,

I tested my codes again today, and found that the internal table GIT_DATA no longer contains batch data. Is there something that could have gone wrong? If so, how may I check & resolve this?

P/S:

I am using the same test data that I used yesterday. When I check the same test data in MB5B, there are stocks with batches - but all of these batch data are left blank in GIT_DATA.

Also, the production data has been copied to the development box (on which I am working on) yesterday evening.

Any idea on how I can proceed, please?

Deborah

Read only

0 Likes
3,801

Hi Deborah,

I Got the reason why you are not getting batch number in GIT_DATA. As i mentioned in my ans that you have to pass all mandatory parameters in SUBMIT syntax.

I just have pass the all parameters in SUBMIT and i got the o/p.

You can Refer Complete code : Run with any material and Plant Value.

*&---------------------------------------------------------------------*

*& Report  ZSAM_DEMO

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zsam_demo.

TYPE-POOLS : slis.

TYPES: BEGIN OF slis_specialcol_alv,

        fieldname TYPE slis_fieldname,

        color     TYPE slis_color,

        nokeycol(1) TYPE c,

      END OF slis_specialcol_alv.

TYPES: slis_t_specialcol_alv TYPE slis_specialcol_alv OCCURS 1.

TYPES : BEGIN OF stype_totals_flat,

          matnr              LIKE      mbew-matnr,

          maktx              LIKE      makt-maktx,

          bwkey              LIKE      mbew-bwkey,

          werks              LIKE      mseg-werks,

          charg              LIKE      mseg-charg,

          sobkz              LIKE      mslb-sobkz,

          name1              LIKE      t001w-name1,         "n999530

          start_date         LIKE      sy-datlo,

          end_date           LIKE      sy-datlo,

          anfmenge(09)       TYPE p    DECIMALS 3,

          meins              LIKE      mara-meins,

          soll(09)           TYPE p DECIMALS 3,

          haben(09)          TYPE p DECIMALS 3,

          endmenge(09)       TYPE p DECIMALS 3.

TYPES:    anfwert(09)        TYPE p    DECIMALS 2,

          waers LIKE t001-waers,             "Währungsschlüssel

          sollwert(09)       TYPE p    DECIMALS 2,

          habenwert(09)      TYPE p    DECIMALS 2,

          endwert(09)        TYPE p    DECIMALS 2,

          color              TYPE      slis_t_specialcol_alv,

        END OF stype_totals_flat.

TYPES :  stab_totals_flat TYPE STANDARD TABLE OF stype_totals_flat

                          WITH DEFAULT KEY.

DATA: lr_pay_conf_data TYPE REF TO data,

          lr_pay_conf_data1 TYPE REF TO data.

FIELD-SYMBOLS:

<lt_pay_conf_data> TYPE STANDARD TABLE,

<ls_pay_conf_data> TYPE any,

<lv_field>         TYPE any,

<lt_pay_conf_data1> TYPE STANDARD TABLE,

<ls_pay_conf_data1> TYPE any,

<lv_field1>         TYPE any.

DATA: git_data  TYPE stab_totals_flat WITH HEADER LINE,

      gwa_data  LIKE LINE OF git_data.

TABLES : t001w,mard,mkpf,t001l,mchb,mbew,mseg,t001.

SELECTION-SCREEN BEGIN OF BLOCK b1.

SELECT-OPTIONS : s_matnr  FOR mard-matnr MEMORY ID mat

                                  MATCHCODE OBJECT mat1,

                 s_bukrs  FOR t001-bukrs,

                 s_lgort  FOR t001l-lgort,

                 s_charg  FOR mchb-charg,

                 s_bwtar  FOR mbew-bwtar,

                 s_bwart  FOR mseg-bwart,

                 ls_werks FOR t001w-werks MEMORY ID wrk,

                 s_datum  FOR mkpf-budat NO-EXTENSION.

PARAMETERS : p_sobkz LIKE mseg-sobkz.

SELECTION-SCREEN END OF BLOCK b1.

REFRESH : git_data[].

REFRESH : git_data.

CLEAR : lr_pay_conf_data.

cl_salv_bs_runtime_info=>set(

EXPORTING display  = abap_false

metadata = abap_false

data     = abap_true ).

SUBMIT rm07mlbd USING SELECTION-SCREEN 1000

        WITH matnr    IN s_matnr

        WITH bukrs    IN s_bukrs

        WITH werks    IN ls_werks

        WITH lgort    IN s_lgort

        WITH charg    IN s_charg

        WITH bwtar    IN s_bwtar

        WITH bwart    IN s_bwart

        WITH datum    IN s_datum

        WITH sobkz    EQ p_sobkz

        WITH lgbst    EQ 'X'

        WITH bwbst    EQ ' '

        WITH sbbst    EQ ' '

        WITH xsum     EQ ' '

        WITH xchar    EQ ' '

        WITH nosto    EQ ' '

        WITH pa_sumfl EQ 'X'

        WITH xnomchb  EQ 'X'

        WITH archive  EQ ' '

        WITH pa_sflva EQ ' '

        WITH p_vari   EQ ' '  AND RETURN.

cl_salv_bs_runtime_info=>get_data_ref(

IMPORTING r_data = lr_pay_conf_data ).

ASSIGN lr_pay_conf_data->* TO <lt_pay_conf_data>.

IF sy-subrc <> 0.

  CLEAR : sy-ucomm.

*  error message

ELSE.

  LOOP AT <lt_pay_conf_data> ASSIGNING <ls_pay_conf_data>.

    DO.

      ASSIGN COMPONENT sy-index OF STRUCTURE <ls_pay_conf_data> TO

      <lv_field>.

      IF sy-subrc <> 0.

        EXIT.

      ELSE.

      ENDIF.

    ENDDO.

  ENDLOOP.

  APPEND LINES OF <lt_pay_conf_data> TO  git_data.

ENDIF.

cl_salv_bs_runtime_info=>clear_all( ).

BREAK-POINT.

Hope it will Helpful.

Regards,

Sagar